Скрытые комиссии: как агрегаторы доят вас на округлении и тишине в логах
Агрегатор редко ворует “в лоб”. Он берет по копейке, по милли-единице, по расхождению между тем, как сумму считает ваш бэк, и тем, как её режет его биллинг. Идемпотентность или смерть — потому что при ретраях и повторных коллбэках именно округление превращается в маленькую фабрику двойных списаний и недосчитанных возвратов.
Классика жанра:
— деньги хранятся в float, а не в minor units;
— комиссия считается на одном шаге, а сеттлмент — на другом;
— валюта округляется по-разному в авторизации, capture и refund;
— часть операций уходит в “adjustment”, который никто не сверяет вручную.
Документация тут обычно улыбается и молчит. Логи, наоборот, показывают правду: сумма на входе одна, на выходе другая, а разница размазана по тысячам транзакций. Потом вам рассказывают про “естественную погрешность”, хотя это просто костыль на костыле и финтехом погоняет.
Что делать: хранить суммы только в minor units, фиксировать правила округления на уровне контракта, сверять авторизацию/капчер/рефанд отдельными отчетами, а любые “служебные” корректировки тащить в алертинг. Если провайдер не может показать формулу расчета до последнего цента, ваш мерчант уже платит за чужую магию.
Сверяйте деньги не по красивому кабинету, а по расхождениям между входом, вебхуками и выпиской. Документация — это ложь, логи — истина.
Интеграция платежных решений
@payment_integration_ops_arb
Скрытые комиссии: как агрегаторы доят вас на округлении и тишине в логах
Этот пост опубликован в Telegram-канале Интеграция платежных решений. Подписаться можно по ссылке: @payment_integration_ops_arb.