Жизненный цикл
Платёж создаётся в статусе pending и переходит в один из финальных статусов. Подтверждением оплаты является только paid. Отмена платежа передаётся как canceled — с одной буквой l. У подписок отдельный статус cancelled.
- pending
- Ожидает оплаты · промежуточный
Платёж создан, ссылка на оплату выдана. Клиент ещё не завершил оплату. Нефинальный статус - paid
- Оплачен · финальный
Средства получены и зачислены. Финальный статус - именно по нему отгружайте товар или услугу - canceled
- Отменён · финальный
Провайдер подтвердил отмену платежа. Этот статус не подтверждает оплату: не выдавайте товар или услугу - failed
- Ошибка · финальный
Оплата отклонена провайдером или не прошла инициацию. Финальный статус - expired
- Истёк · финальный
Срок жизни платёжной ссылки истёк до оплаты (см. expires_at). Финальный статус - refunded
- Возврат · финальный
По платежу выполнен возврат средств. Финальный статус - chargeback
- Чарджбэк · финальный
Оспаривание платежа на стороне банка-эмитента. Финальный статус
Отгружайте по paid
Единственный статус, подтверждающий получение средств, - paid. Все остальные финальные статусы (canceled, failed, expired, refunded, chargeback) означают, что денег у вас нет.
Финальные и промежуточные
- Промежуточные:
pending- ждём действия клиента - Финальные:
paid,canceled,failed,expired,refunded,chargeback
Учитывайте последующие события
После canceled, failed или expired может прийти paid, если провайдер позднее подтвердит оплату. Обработайте его идемпотентно, сверив сумму, валюту и идентификатор заказа. После paid также возможны refunded и chargeback.
Статусы приходят в вебхуках и доступны через запрос статуса.
