[postal-savings-rs] Транзакции дублируются
osipxd opened this issue · 4 comments
Использую Foreign currency (EUR) счёт.
Транзакции добавляется дважды:
- Первый раз в момент совершения. Транзакция подгружается как "ISPLATA VISA", без мерчанта.
- Второй раз через несколько дней (видимо когда проходит авторизация). Предыдущая версия транзакции исчезает из выдачи API, у новой транзакции есть мерчант (в редких случах нет), и сумма немного меняется в сторону уменьшения (так как пересчитывается по актуальному курсу, а в первый раз считается по среднему курсу плюс несколько процентов в качестве буфера).
Возможно ли при синхронизации обновлять существующую транзакцию - добавлять мерчанта и корректировать сумму - вместо добавления новой транзакции? Как я понял, список транзакций парсится с сайта и у них нет никакого ID, чтобы понять что это одна и та же транзакция.
Кажется, что связующим звеном может выступать выписка по карте, так как там указывается и дата платежа и дата авторизации транзакции. Но при этом сумма транзакции указывается только в валюте мерчанта, так что список транзакций по счёту всё равно понадобится.
Ещё один возможный источник - SMS. Так как они приходят тоже в момент транзакции и в них есть информация о мерчанте и сумма в валюте мерчанта. Но это, конечно, сделает синхронизацию более хрупкой.
@osipxd чтобы транзакция обновлялась, надо чтобы у первой был статус hold: true, а последующего акцепта статус hold: false. И главное, чтобы совпадала либо sum операции (сумма в валюте счета), либо invoice: { sum, instrument } - валюта и сумма в валюте операции, а не счета.
главное, чтобы совпадала либо sum операции (сумма в валюте счета), либо invoice: { sum, instrument } - валюта и сумма в валюте операции, а не счета.
С этим есть сложность потому что в выдаче операций по счёту указана только валюта счёта, а в выдаче операций по карте только валюта транзакции. Чтобы определять соответствие транзакций, хотел конвертировать валюту транзакции в валюту счёта, и сравнивать с каким-то допущением, но не знаю возможно ли это.
О, нашёл в банке страницу kursl.jsp, где можно получить текущий банковский курс. Попробую через него сделать.