USDT / USDC 代付接口:单笔付款、费用与未知结果处理
代付接入的验收终点是链上确认和业务结算一致。创建接口成功只是开始,应在付款前核对来源资金、网络费、收款地址和业务单号,并保存后续状态。
选择网络与业务模式
公开 API 提供单笔代付,批量付款在商户后台使用。支持 TRON-USDT、BSC-USDT、BSC-USDC、SOL-USDC;目标地址必须匹配网络,不能是商户自己的钱包地址。导入观察钱包不能作为平台签名付款来源。
接口参数与接入步骤
POST /openapi/payout/orders 填写币种、网络、金额、toAddress、merchantOrderNo 和 notifyUrl;fromAddress 可指定,也可由系统选择满足条件的地址。示例中的目标占位符必须替换为自己核验的地址。默认不要启用付款后删除来源地址。
以下为请求体演示,未发送请求,不含真实商户、密钥或交易。完整调用还需在服务端按文档填写 UID、API Key、时间戳、nonce 与签名。金额使用字符串;不要用前端浮点计算作为资金入账依据。
{
"chainCode": "TRON",
"tokenSymbol": "USDT",
"toAddress": "REPLACE_WITH_VERIFIED_TRON_ADDRESS",
"amount": "35.50",
"merchantOrderNo": "DEMO_PAYOUT_001",
"notifyUrl": "https://merchant.example.com/payouts/notify"
}
状态、回调与异常处理
保存 PO 平台单号,用 GET /openapi/payout/orders/{orderNo} 查询。confirmed 表示成功,failed 表示失败;submitted、broadcasted 或结果未知不能直接标记已结算,也不能换商户单号重新付款。已签名但结果未知时先核验原交易,不能改签发起第二笔。
商户钱包本金与费用账户分开管理。付款前核对真实来源余额及足够支付网络费的费用余额;负费用余额会阻断关键操作。套餐月费、地址额度与付款 / 归集网络费分别查看当前套餐,不把历史价格或链上 Gas 估算当作平台实际扣费。
验签使用创建原订单时的 API Key 和原始 rawBody,校验 HMAC-SHA256(timestamp + "." + nonce + "." + rawBody) 与 x-callback-signature。验签后再核对身份、订单、币种、网络与金额,以数据库事务和唯一约束保证只处理一次。业务已可靠持久化后返回 HTTP 2xx;浏览器跳转或截图不能代替到账结果。
演示案例:从接口到业务完成
演示:向合作方结算 35.50 USDT,创建一张代付单并保存 orderNo。网络中断后从原单查询,确认 confirmed 后只记一次结算;若状态未知,保留处理中并核对 txHash。失败先查原因与原交易结果,再按接口规则处理。此处没有实际付款。
上线前逐项验证
- 合法签名可通过,修改原始回调内容后验签失败。
- 相同通知重复投递只入账一次;处理中断后可恢复。
- 查询结果与回调、业务账目和链上交易能够对应。
- 错链、金额异常、过期或未知结果进入排查流程,不直接标记业务成功。
继续接入与技术资料
- 接口参数
- 请求签名
- 回调验签
- 套餐与网络费
- 相关教程
- USDT 收款接口
- USDC 收款接口
- 独享地址收款
- Node.js SDK
- PHP / Laravel SDK
- Node.js: HMAC and timing-safe comparison
这些资料解释底层标准和实现方法,不代表官方机构为 UUGate 背书。具体接入参数以 UUGate 当前文档为准。
USDT批量付款:后台入口、整批费用与结果核对
公开 API 只提供单笔代付,USDT批量付款在商户后台使用。需要批量付款接口的开发者应先确认这一边界:循环调用单笔接口不等于平台提供原子批量 API,也不能承诺所有付款同时成功或同时回滚。
按付款教程准备收款地址和金额,核对每个目标网络、来源资金以及足够支付整批网络费的费用余额,并完成当前入口要求的 2FA。商户钱包本金与费用账户分别检查。
提交后按每笔付款记录、状态和交易哈希核对业务结算。部分失败或结果未知时保留原记录,先查原单;已签名的未知结果只核验或重播原签名,不改签重复付款。