tabpayДокументация
Разделы документации

Документация/API

Статусы платежа

Жизненный цикл и финальные статусы

СтатусФинальныйЧто означает
CREATEDнетПлатёж создан, покупатель ещё не начал оплату. Ссылка payUrl не сгорает, пока оплата не начата; ненужный платёж можно отменить по API.
PENDINGнетПокупатель начал оплату: выставлен счёт, показан QR или открыта страница банка. С этого момента на оплату отводится 20 минут.
SUCCESSдаОплачено. Заполняется paidAt, начисление появляется в балансе магазина.
FAILEDдаОплата не прошла: отказ банка или отмена. Деньги не списаны; для повторной попытки создайте новый платёж. При поздней оплате может смениться на SUCCESS (см. «Жизненный цикл»).
EXPIREDдаВремя на оплату истекло. Для повторной попытки создайте новый платёж. При поздней оплате может смениться на SUCCESS (см. «Жизненный цикл»).
REFUNDEDдаПлатёж возвращён покупателю после SUCCESS. Возвраты выполняются через поддержку TabPay.
CANCELEDдаПлатёж отменён вами по API до начала оплаты (из статуса CREATED). Ссылка payUrl показывает покупателю экран «Счёт отменён», оплатить его нельзя.

Жизненный цикл

CREATED, затем PENDING, затем один из финальных: SUCCESS, FAILED или EXPIRED. Из SUCCESS платёж может перейти в REFUNDED, из CREATED - в CANCELED (отмена по API, доступна только пока покупатель не начал оплату). Единственное исключение из финальности - поздняя оплата: QR СБП может быть оплачен и после нашего таймаута, тогда EXPIRED или FAILED сменится на SUCCESS и придёт вебхук. Поэтому не закрывайте заказ у себя безвозвратно по EXPIRED: поздний вебхук SUCCESS означает, что деньги пришли и заказ нужно выполнить. Других переходов из финальных статусов нет.

На каждый переход в финальный статус - включая REFUNDED после SUCCESS и CANCELED - ваш магазин получает вебхук. Обрабатывайте неизвестные вашему коду статусы безопасно: подтверждайте ответом 200 и логируйте - набор статусов может расширяться.