- бизнес-статус — поле
statusв объекте депозита (напримерcheck,process,paid); - on-chain статус — поле
transaction.networkStatus, которое появляется, когда замечена входящая транзакция.
Бизнес-статусы (status)
| Статус | Терминальный | Значение |
|---|---|---|
check | нет | депозит создан, ждём входящую оплату |
process | нет | транзакция замечена, набирает подтверждения |
confirm_check | нет | подтверждения достигнуты, идёт финальная проверка суммы |
paid | да | оплачено ровно ожидаемой суммой |
paid_over | да | оплачено больше ожидаемого (переплата) |
wrong_amount | да | оплачено меньше ожидаемого (недоплата) |
expired | да | окно мониторинга истекло без оплаты |
cancel | да | депозит отменён |
fail | да | ошибка обработки депозита |
system_fail | да | внутренняя ошибка платформы |
refund_process | нет | инициирован возврат средств |
refund_paid | да | возврат отправлен |
refund_fail | да | возврат не удался |
Поток статусов
Что означает каждый переход
check → process
Платформа заметила первую входящую транзакцию на адрес (и memo) депозита. В этот момент
появляется объект
transaction. Срабатывает webhook deposit.tx_detected.process → confirm_check
Транзакция набрала требуемое число подтверждений (
transaction.confirmations достигло
transaction.requiredConfirmations). Платформа выполняет финальную сверку фактической
суммы с ожидаемой. Промежуточный статус, webhook не шлётся.confirm_check → paid | paid_over | wrong_amount
Депозит финализирован. Исход зависит от суммы:
paid — получено ровно expectedAmount; paid_over — получено больше;
wrong_amount — получено меньше. Срабатывает webhook deposit.finalized.check → expired
Истекло окно мониторинга (
expiresAt), а оплата так и не пришла. Срабатывает webhook
deposit.failed.check → cancel | fail | system_fail
Депозит отменён (
cancel) либо завершился ошибкой обработки (fail) или внутренней
ошибкой платформы (system_fail). Для fail / system_fail срабатывает webhook
deposit.failed.paid, paid_over и wrong_amount — все три считаются «оплаченными» исходами. Сравните
transaction.receivedAmount с expectedAmount, чтобы выбрать действие: зачислить клиенту,
вернуть разницу при переплате или запросить доплату при недоплате. Если expectedAmount
равен "0", принимается любая сумма и исход всегда paid.On-chain статусы (transaction.networkStatus)
Появляются внутри объекта transaction, как только замечена входящая tx.
| Статус | Значение |
|---|---|
pending | транзакция создана/замечена, ещё не в блоке |
mempool | в мемпуле, набирает подтверждения |
confirmed | подтверждена сетью |
fail | транзакция отклонена сетью |
Когда приходят webhooks
| Событие | Триггер |
|---|---|
deposit.tx_detected | первая входящая tx замечена (переход в process) |
deposit.finalized | финализация: paid / paid_over / wrong_amount |
deposit.failed | fail / system_fail / expired |
deposit.refunded | refund_paid |