Skip to main content
Депозит несёт два уровня статуса:
  • бизнес-статус — поле status в объекте депозита (например check, process, paid);
  • on-chain статус — поле transaction.networkStatus, которое появляется, когда замечена входящая транзакция.
Бизнес-статус отвечает за вашу логику (зачислить клиенту, запросить доплату, вернуть средства), а on-chain статус показывает, что именно сейчас происходит с транзакцией в сети.

Бизнес-статусы (status)

Поток статусов

Что означает каждый переход

1

check → process

Платформа заметила первую входящую транзакцию на адрес (и memo) депозита. В этот момент появляется объект transaction. Срабатывает webhook deposit.tx_detected.
2

process → confirm_check

Транзакция набрала требуемое число подтверждений (transaction.confirmations достигло transaction.requiredConfirmations). Платформа выполняет финальную сверку фактической суммы с ожидаемой. Промежуточный статус, webhook не шлётся.
3

confirm_check → paid | paid_over | wrong_amount

Депозит финализирован. Исход зависит от суммы: paid — получено ровно expectedAmount; paid_over — получено больше; wrong_amount — получено меньше. Срабатывает webhook deposit.finalized.
4

check → expired

Истекло окно мониторинга (expiresAt), а оплата так и не пришла. Срабатывает webhook deposit.failed.
5

check → cancel | fail | system_fail

Депозит отменён (cancel) либо завершился ошибкой обработки (fail) или внутренней ошибкой платформы (system_fail). Для fail / system_fail срабатывает webhook deposit.failed.
6

paid* → refund_process → refund_paid | refund_fail

Запущен возврат средств отправителю. По завершении статус становится refund_paid (возврат отправлен, срабатывает webhook deposit.refunded) или refund_fail (возврат не удался).
paid, paid_over и wrong_amount — все три считаются «оплаченными» исходами. Сравните transaction.receivedAmount с expectedAmount, чтобы выбрать действие: зачислить клиенту, вернуть разницу при переплате или запросить доплату при недоплате. Если expectedAmount равен "0", принимается любая сумма и исход всегда paid.

On-chain статусы (transaction.networkStatus)

Появляются внутри объекта transaction, как только замечена входящая tx.
Для сетей с детерминированной финальностью (например TON) транзакция может прийти сразу со статусом confirmed и confirmations равным requiredConfirmations — депозит финализируется практически мгновенно. Для EVM-подобных сетей confirmations растёт постепенно от 0 до требуемого порога.

Когда приходят webhooks

См. также Webhooks, Обзор депозитов.