9.2 订单状态推送
订单扣款并创建成功后的初始 pending 不发送。订单进入 processing、取消等后续状态时发送;充值结果和退款结果也使用本消息:
{
"eventId": "order.changed:status:10001:1753776100",
"eventType": "order.changed",
"occurredAt": 1785216001,
"clientOrderRef": "PO-20260728-0001",
"platformOrderRef": "D202607290001",
"orderState": "success",
"rechargeResult": "充值成功,到账100元"
}字段 | JSON 类型 | 必填 | 含义 |
|---|---|---|---|
| string | 是 | 本次消息编号;第三方按该编号防止重复处理 |
| string | 是 | 固定为 |
| integer | 是 | 消息产生时间,10 位 Unix 秒级时间戳 |
| string | 是 | 第三方订单号 |
| string | 是 | 平台订单号 |
| string | 是 | 平台订单状态: |
| string | 充值商品是 | 本次状态变化时最新的充值返回信息,最多 100 个字符;没有内容时为空字符串,卡密商品不返回 |
| string | 退款时是 | 平台退款编号;与两个退款金额字段同时返回 |
| number | 退款时是 | 本次退款金额,单位为人民币元,最多保留两位小数 |
| number | 退款时是 | 订单累计已退款金额,单位为人民币元,最多保留两位小数 |
充值商品每次产生新的处理结果时,order.changed 会同时携带当前 orderState 和可直接展示给用户的最新 rechargeResult。即使处理前后的订单状态值相同,只要本次产生了新的充值返回信息,也会发送一条新的 Webhook;充值成功发送 order.changed(success)。
退款完成时仍发送 order.changed,并额外返回本次退款编号、本次退款金额和累计退款金额:
{
"eventId": "order.changed:refund:10001:RF202607290001",
"eventType": "order.changed",
"occurredAt": 1785216010,
"clientOrderRef": "PO-20260728-0001",
"platformOrderRef": "D202607290001",
"orderState": "partially_refunded",
"refundRef": "RF202607290001",
"refundAmount": 50.00,
"cumulativeRefundedAmount": 50.00
}同一次退款只发送一条 order.changed。再次部分退款时,即使订单状态仍为 partially_refunded,也会使用新的 refundRef 发送新消息。没有收到通知时,可以调用 GET /orders/{clientOrderRef} 查询最新结果。卡密订单成功只发送 order.credentials.ready,其中的 orderState 为 success,不会再重复发送 order.changed(success)。