Скрытые комиссии: как агрегаторы зарабатывают на ошибках округления
Агрегатор любит не тарифы, а дроби. Ваш чек в 199.99, курс с шестью знаками, комиссия в процентах, а потом где-то в цепочке появляется округление вверх — и вот уже копейка легально испарилась. На одном платеже это мусор, на потоке — тихий слив, который в отчётах прячется под «расхождениями».
Где обычно живёт этот костыль:
— пересчёт валюты на стороне шлюза и на стороне банка;
— округление комиссии отдельно от суммы авторизации;
— split-платежи, где части считаются по разным правилам;
— частичные возвраты, которые считают от округлённой базы, а не от исходника.
Идемпотентность или смерть. Если у вас нет жёсткой фиксации исходной суммы, валюты, курса, precision и правила округления на каждый этап — потом не докажете, кто именно съел копейку. Документация — это ложь, логи — истина: сверяйте не «итог в кабинете», а сырой payload, ответ шлюза, банковский клиринг и сеттлмент.
Что делать без магии:
— хранить сумму в минимальной единице валюты, а не в float;
— считать комиссию и возвраты по одному и тому же правилу rounding;
— отдельно логировать все промежуточные преобразования;
— ставить алерт на накопленную дельту, а не на единичный платёж.
Если агрегатор не может показать формулу, по которой у вас уехала копейка, это не баг, а бизнес-модель. Ваш мерчант забанен без объяснения причин — только здесь сначала банят баланс, а потом уже начинают искать округление.
Интеграция платежных решений
@payment_integration_ops_arb
Скрытые комиссии: как агрегаторы зарабатывают на ошибках округления
Этот пост опубликован в Telegram-канале Интеграция платежных решений. Подписаться можно по ссылке: @payment_integration_ops_arb.