跳到正文

API

本页内容

获取

按 ID 获取一笔转出,查看其当前状态和交易引用,并配合签名 webhook 完成对账。

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。每个响应和每个 webhook 都带 is_final 字段,按它分支,而不是按一份需要你自己维护的名称清单。

只有处于 created 时才能取消转出,之后取消请求会被拒绝,参见取消转出。转出没有发出的原因,API 不返回:failed 只有状态,没有解释字段。

在沙盒里,POST /v1/sandbox/withdrawals/{id}/simulate-completion 把转出从 created 变为 completed——不签名,也不上链。

错误

Payment(pk_)key 会被拒绝并返回 403 payout_key_required。完整目录见 错误码。每个错误响应中的 type URI 直接链接到对应条目。