На странице
Получение
Получайте вывод по идентификатору, проверяйте его состояние и ссылку на транзакцию и сверяйте завершение по подписанному вебхуку.
API-ключ: Payout
Возвращает текущее состояние вывода. Поля tx_hash и explorer_url заполняются, как только в блокчейне появляется отслеживаемая транзакция, — это происходит раньше completed. Признак завершения — status и is_final, а не наличие хеша.
Ответ (200 OK)
{
"withdrawal_id": "wdr_2M8K6Q4P9X1Z7A3B",
"external_order_id": "payout-001",
"status": "completed",
"is_final": true,
"is_test": false,
"amount": "100.00",
"fee": "1.00",
"currency": "USDT",
"network": "TRC20",
"destination_address": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9",
"tx_hash": "9f3b8c2a1d0e4f6789abc123def4567890abc123def4567890abc123def45678",
"explorer_url": "https://tronscan.org/#/transaction/9f3b8c2a1d0e4f6789abc123def4567890abc123def4567890abc123def45678",
"created_at": 1739289600,
"completed_at": 1739289932
}
Статусы вывода
| Статус | Описание | Терминальный |
|---|---|---|
created |
Вывод создан и ещё не ушёл в сеть | Нет |
signed |
Транзакция подписана и отправлена в блокчейн | Нет |
cancelling |
Вывод отменяется; чем это кончится, скажет следующий статус | Нет |
completed |
Транзакция подтверждена в блокчейне, средства доставлены | Да |
failed |
Вывод не ушёл. Средства вернулись на баланс | Да |
cancelled |
Мерчант отменил вывод, он не ушёл. Средства вернулись на баланс | Да |
pending_review |
Транзакция ещё не подтверждена в сети, сумма остаётся в резерве. В дашборде этот статус показан как «Не подтверждён» | Нет |
Как это читать в коде
Финальных статусов три — completed, failed и cancelled. В каждом ответе и каждом вебхуке есть поле is_final: ветвитесь по нему, а не по списку имён, который вам придётся поддерживать самим.
Отменить вывод можно, только пока он в created. Дальше запрос на отмену отклоняется — см. Отмену вывода. Причину, по которой вывод не ушёл, API не возвращает: у failed есть статус, но нет поля с объяснением.
В песочнице вывод переводится из created в completed вызовом POST /v1/sandbox/withdrawals/{id}/simulate-completion — без подписания и без блокчейна.
Ошибки
Payment-ключ (pk_) получает 403 payout_key_required. См. Коды ошибок — полный каталог. URI в поле type каждой ошибки ведёт сразу на нужную строку.