Заметки о платёжных интеграциях

Практические записи о подключении эквайринга, вебхуках и сверке платежей для небольших интернет-магазинов.

Идемпотентность вебхуков: почему один платёж приходит дважды

Платёжный шлюз повторяет уведомление, если не получил ответ 200 за несколько секунд. Обработчик должен узнавать повтор по идентификатору операции, а не по сумме и времени.

Сверка реестров: что делать с расхождением в копейках

Округление комиссии на стороне банка и магазина почти всегда расходится. Удобнее хранить суммы в копейках целыми числами и сверять по операции, а не по итогу дня.

Возвраты и частичные возвраты в 54-ФЗ

Чек возврата формируется отдельно от чека прихода и должен ссылаться на исходную позицию. Частичный возврат — это новый чек только на возвращаемые позиции.