Перейти к содержимому

API

На странице

Получение

Получайте вывод по идентификатору, проверяйте его состояние и ссылку на транзакцию и сверяйте завершение по подписанному вебхуку.

GET/v1/withdrawals/:withdrawal_id

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 каждой ошибки ведёт сразу на нужную строку.