Статусы счёта

Жизненный цикл счёта линейный и короткий: из created через pending в один из финальных статусов. Финальный статус меняется только возвратом.

API v1 · обновлено 2026-09-12

Диаграмма переходов

Переходы статусов счёта: created → pending → paid, failed или expired; paid → refunded или partially_refundedcreatedpendingpaidfailedexpiredrefundedpartially_refundedоткрыл страницуоплата окотказтаймервозвратЦветные — финальные статусы; created и pending — промежуточные

Текстом: created → pending → paid | failed | expired; затем paid → refunded | partially_refunded. Переход created → expired тоже возможен, если покупатель так и не открыл страницу до истечения срока.

Справочник

СтатусОписаниеФинальный?Вебхук
createdСчёт создан через API или кабинет. Покупатель ещё не открыл страницу оплаты.нет
pendingПокупатель открыл страницу и выбрал способ; платёж в обработке у банка.нет
paidОплата подтверждена, сумма зачислена на баланс.даinvoice.paid
failedБанк или покупатель отклонил платёж.даinvoice.failed
expiredИстёк срок оплаты (expire), платежа не было.даinvoice.expired
partially_refundedПокупателю возвращена часть суммы; остаток остаётся у мерчанта.даrefund.succeeded
refundedПокупателю возвращена вся сумма счёта.даrefund.succeeded

Правила

  • Финальный статус не откатывается. paid не станет pending; failed и expired не станут paid. Для повторной попытки создайте новый счёт.
  • Один платёж на счёт. После paid страница оплаты закрыта, повторно заплатить нельзя.
  • Возврат меняет статус, но не создаёт событие invoice.* — приходит refund.succeeded с объектом возврата, а счёт в нём уже в новом статусе.
  • pending может длиться от секунд (СБП) до нескольких минут (карта с 3-D Secure). Не показывайте покупателю ошибку по таймауту на своей стороне — дождитесь вебхука или проверьте статус.
  • expired выставляется фоновой задачей раз в минуту, так что счёт может прожить до 60 секунд дольше expiresAt.

Как отражать у себя

Статус PaydexЧто показать покупателюЧто сделать с заказом
created, pending«Ожидаем оплату», кнопка «Перейти к оплате» на тот же urlДержать резерв
paid«Оплачено»Выдать товар / активировать услугу
failed, expired«Не оплачено», кнопка «Попробовать снова»Создать новый счёт с новым orderId, снять резерв
refunded, partially_refunded«Возврат выполнен»Отменить заказ полностью или частично