Тема
Двухстадийные платежи
Обычный платёж списывает деньги сразу. Двухстадийный разделяет операцию на две: сначала сумма блокируется на карте плательщика, а списывается позже — когда мерчант подтвердит, что готов её забрать. Между этими моментами могут пройти часы или дни.
Зачем это нужно
Сценарий возникает там, где в момент оплаты ещё неизвестно, состоится ли сделка или какой будет окончательная сумма. Классические примеры — бронирование, где деньги замораживают как гарантию, и доставка товара, который может не оказаться на складе. Мерчанту важно зарезервировать средства, не списывая их.
Как это выглядит целиком
Три операции вместо одной
Авторизация — то же, что обычный платёж, включая выбор гейта, 3DS и переспрос статуса, но банк не списывает деньги, а блокирует их на карте.
Списание — мерчант подтверждает операцию. Можно списать всю заблокированную сумму или меньшую: если заказ уменьшился, лишнее просто не берут. Больше заблокированного списать нельзя.
Отмена — мерчант отказывается от операции, блокировка снимается, деньги возвращаются плательщику без отдельного возврата.
Если мерчант не сделал ничего, блокировка спадает сама по правилам банка — срок зависит от эмитента, и мы им не управляем.
Как это выражено в системе
Транзакция остаётся одной, а стадии отражаются расширенным статусом — это третье поле состояния, о котором говорится в статусах и стадиях. Оно и сообщает, находится операция в состоянии «авторизована», «списана» или «отменена».
Заблокированная и списанная суммы хранятся отдельно, потому что могут не совпадать. Расширенный статус уходит мерчанту в уведомлении отдельным полем, и именно по нему его интеграция понимает, на каком этапе операция.
Для основного статуса транзакции авторизация — это ещё не завершение: платёж считается доведённым до конца после списания.
Что важно помнить
Поддержка зависит от гейта. Не каждый банк умеет двухстадийные операции, и каскад для них настраивается соответственно.
Деньги мерчанту приходят после списания, а не после авторизации. До этого момента сумма лишь недоступна плательщику.
Частичное списание — норма, а не исключение. Логика, предполагающая равенство заблокированной и списанной сумм, рано или поздно ошибётся.
Куда дальше
- Платёж картой server-to-server — авторизация проходит тем же путём.
- Статусы и стадии — третье поле состояния и зачем оно.
- Возвраты и чарджбэки — чем отмена блокировки отличается от возврата.