稳定币收款对账指南:订单、状态、Webhook 与月底那张表

企业开始收稳定币后,第一个真正的运营问题不是"能不能收到钱",而是**"月底怎么对账"**。链上转账是匿名的、无备注的、金额还可能带尾数差——如果收款流程设计错了,财务每个月都要人肉核对几百笔"不知道是谁付的"入账。

这篇讲清楚一套能对账的稳定币收款体系长什么样。

为什么裸收链上转账没法对账

直接把钱包地址发给客户收款,会遇到四个结构性问题:

  1. 无法关联订单:链上转账没有"备注"字段可靠可用,一笔 5,000 USDT 入账,对应哪张发票?
  2. 金额对不上:客户可能扣掉自己链上手续费后转账,5,000 变 4,998.5,人工判断"算不算付清"。
  3. 链搞错:客户把 TRON 链的 USDT 打到你的 ERC-20 地址(或反过来),钱卡在路上。
  4. 时间差:链上确认时间不定,财务记账日期和到账日期对不齐。

能对账的体系:订单制 + 状态机 + Webhook

订单制:每一笔应收都先创建一张收款订单(金额、币种、链、有效期),系统为订单分配收款地址或标识——入账自动匹配订单,"这笔钱是谁的"从源头解决。

状态机:订单只在有限状态里流转,每个状态变化都有时间戳:

created → pending(等待支付)→ paid(链上确认)→ settled(入账完成)
                    ↘ expired(超时未付)

财务对账时不看链上原始流水,看订单状态表——每条记录天然带着"是谁、多少钱、什么时候、什么状态"。

Webhook:状态每次变化,系统主动推送到你的业务系统(ERP/订单系统/群机器人)。你的系统不需要轮询链上,也不会漏掉任何一次状态变化。收到 payment.succeeded 就发货,收到 expired 就催单——业务动作和资金状态严格同步。

月底对账的正确姿势

有了上面三件套,月底对账变成三步:

  1. 导出当月订单表(订单号/金额/状态/时间戳)
  2. 和业务系统的应收记录按订单号对齐——不是按金额猜
  3. 差异项只剩两类:过期未付(催收)和部分支付(按合同处理),各自有明确处理流程

一个 500 单/月的商户,人肉对账要 2-3 人日;订单制体系下是导一张表的事。

常见问题

问:客户少付了几 U(手续费差额)怎么办? 答:好的收款系统支持配置容差规则——差额在阈值内自动视为付清,超出则标记为部分支付等人工决定。规则明确后,财务不需要逐笔做判断。

问:一定要接 API 吗? 答:不一定。后台手动创建订单同样走完整的状态机和对账记录,适合单量小的阶段;单量上来后再接 API,对账逻辑不变。


Copay 的稳定币收银台按这套体系设计:订单、状态机、webhook、对账导出是默认能力。想看你的业务跑在上面的样子,预约 Demo,或直接读 Merchant API 文档

延伸阅读 · Copay 指南
实操:按订单开票与对账
这篇指南展开讲了完整流程、常见问题与实际操作细节。