USDT会员充值接口:独享地址绑定、回调入账与对账
会员余额充值首先要解决资金属于哪位会员。USDT 收款接口可处理固定金额订单;长期充值更适合为会员绑定独享地址,让重复充值继续关联同一业务对象。
选择网络与业务模式
USDT 当前支持 TRON(TRC20)与 BSC(BEP20)。按会员实际钱包选择网络,为每个会员保存 bindKey、链、币种、bindingId 和地址;会员与商户费用充值是不同业务,不能混用平台费用充值地址。
接口参数与接入步骤
使用 POST /openapi/payin/exclusive-bindings 创建或复用绑定。bindKey 来自你系统的稳定会员标识,notifyUrl 指向你的 HTTPS 充值回调。用 GET /openapi/payin/exclusive-bindings/{bindKey}?chainCode=TRON&tokenSymbol=USDT&recentLimit=10 查询地址与近期记录;不要拿 bindKey 当平台 orderNo。
以下为请求体演示,未发送请求,不含真实商户、密钥或交易。完整调用还需在服务端按文档填写 UID、API Key、时间戳、nonce 与签名。金额使用字符串;不要用前端浮点计算作为资金入账依据。
{
"chainCode": "TRON",
"tokenSymbol": "USDT",
"bindKey": "MEMBER_DEMO_001",
"label": "Demo member",
"notifyUrl": "https://merchant.example.com/member-topups/notify"
}
状态、回调与异常处理
独享地址到账会生成充值订单。核对 bindKey 与真实会员、completed 状态、paidAmount 和网络,再逐笔入账;不能把累计 stats 当作每次新增金额。排查遗漏时读取 recentOrders 后按平台订单号查详情,用同一个幂等入口补偿。
固定金额收款创建超时且没有拿到 orderNo 时,先在后台核实原业务单,不能假定 merchantOrderNo 提供自动幂等重试保证。已有 orderNo 时按平台单号查单;回调幂等和下单重试是两个不同问题。
验签使用创建原订单时的 API Key 和原始 rawBody,校验 HMAC-SHA256(timestamp + "." + nonce + "." + rawBody) 与 x-callback-signature。验签后再核对身份、订单、币种、网络与金额,以数据库事务和唯一约束保证只处理一次。业务已可靠持久化后返回 HTTP 2xx;浏览器跳转或截图不能代替到账结果。
演示案例:从接口到业务完成
演示:会员 MEMBER_DEMO_001 在绑定的 TRON 地址分别充值 10.00 与 5.00 USDT。两个已验证的充值订单各入账一次,余额增加合计 15.00;第二笔回调再次投递不会再加 5.00。示例没有真实会员或付款,首次上线仍需在自己的业务里验收。
上线前逐项验证
- 合法签名可通过,修改原始回调内容后验签失败。
- 相同通知重复投递只入账一次;处理中断后可恢复。
- 查询结果与回调、业务账目和链上交易能够对应。
- 错链、金额异常、过期或未知结果进入排查流程,不直接标记业务成功。
继续接入与技术资料
- 接口参数
- 请求签名
- 回调验签
- 套餐与网络费
- 相关教程
- USDT 收款接口
- USDC 收款接口
- 独享地址收款
- Node.js SDK
- PHP / Laravel SDK
- TRON: TRC-20 protocol interface
这些资料解释底层标准和实现方法,不代表官方机构为 UUGate 背书。具体接入参数以 UUGate 当前文档为准。