本页内容
获取
按 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 直接链接到对应条目。