网站如何接入 USDT 收款接口:下单、验签与到账通知

2026-05-02 · 更新 2026-09-28 · UUGate · 约 3 分钟阅读

接入 USDT 收款接口,需要把网站订单与链上付款可靠地关联起来。UUGate 支持 TRC20-USDT 和 BEP20-USDT;下单、付款展示、状态查询与到账回调应使用同一个订单和网络。本文以一次固定金额的 TRC20 收款为例。

准备商户身份与回调地址

在商户后台准备 Merchant UID、API Key 和自己的公网 HTTPS 回调地址。API Key 只保存在服务端环境变量或受保护配置中,不放到网页、插件公开目录或浏览器请求里。先核对商户状态、费用账户和套餐限制,完整鉴权方式见请求签名说明。

创建订单并保存返回结果

服务端向 POST /openapi/payin/orders 发送以下请求体。它不是可直接执行的完整请求;仍需使用 SDK 或按文档添加五个鉴权请求头。

{
  "chainCode": "TRON",
  "tokenSymbol": "USDT",
  "merchantOrderNo": "EXAMPLE-20260928-001",
  "amount": "10.00",
  "notifyUrl": "https://merchant.example.com/payments/uugate"
}

金额使用字符串。保存返回的 orderNo、merchantOrderNo、cashierUrl 和 expireAt,再把收银台链接交给付款人。返回 waiting_payment 表示已创建待付款订单,不代表收到资金。参数和响应见创建收款订单。

验证回调后完成业务

使用创建该订单时的 API Key,按回调时间戳、nonce 和原始请求体校验签名;不要重新序列化 JSON 再验签。还要核对商户、订单、网络、币种和实收金额。以平台订单号建立唯一约束,在同一事务中写付款记录和业务状态,成功持久化后返回 2xx;重复通知只确认已处理结果,避免再次发货或充值。实现细节见收款回调。

超时和缺失通知怎么处理

浏览器返回成功页不能作为付款依据。已经拿到平台订单号时,使用订单查询核对最终状态;本地业务确认成功以 status=completed 为准。创建请求超时但未拿到订单号时,先在后台核实创建结果,不能假定商户订单号具有自动幂等重试保证并直接再次下单。

上线前逐项验收

下一步

稳定币内容中心

准备接入稳定币收付?

先用测试环境跑通收款、代付、回调和对账,再切换生产链路。