订单回调通知
支付成功后平台向商户通知订单结果。
回调响应要求
商户收到通知后请返回 OK,否则平台可能重试。
商户收到通知后请返回 OK,否则平台可能重试。
通知示例
{
"appId": "Zu78qwe1",
"orderNo": "OR202601010001",
"merchantOrderNo": "Order202409291231",
"chainType": "1",
"payMoney": "10.00",
"actualPayMoney": "10.00",
"fee": "0.50",
"status": "2",
"attach": "user001",
"signature": "6F3B90783FABE56DBB771D03E0EAADD0"
}
处理建议
| 步骤 | 说明 |
|---|---|
| 1 | 先验签,再处理业务 |
| 2 | 按 merchantOrderNo 做幂等 |
| 3 | 成功后返回 OK |
| 4 | 若失败,平台会重试通知 |
回调响应
OK
微信直连回调扩展
XPay 校验微信支付公钥签名、回调时间窗、商户号、AppID、平台订单号和金额,并使用 APIv3 密钥解密通知。确认成功后,平台将结果以表单方式 POST 到原订单 notifyUrl。
商户收到的表单字段
appId=Zu78qwe1
platformOrderNo=WXP20260814120000ABCDEF
merchantOrderNo=WX202608140001
payType=WECHAT
amount=0.01
status=PAID
payTime=1786670400
tradeNo=4200000000202608140000000001
attach=user-10001
signature=...
商户应验签并按订单号幂等处理,成功后返回
success、OK 或 {"code":0}。其他响应会由 wechat:notify-retry 补偿重试。支付宝直连回调扩展
XPay 验证支付宝 RSA2 签名、支付宝 AppID、平台订单号和金额后,将支付结果以 application/x-www-form-urlencoded POST 到下单时的 notifyUrl。
商户收到的表单字段
appId=Zu78qwe1
platformOrderNo=ALI20260807110917E2BF35
merchantOrderNo=ALI202608070001
payType=ALIPAY
amount=20.00
status=PAID
payTime=1786072157
tradeNo=2026080722000000000001
attach=user-10001
signature=...
商户必须使用自己的 XPay AppSecret 对除
signature 外的所有非空字段重新计算签名,并按 merchantOrderNo 做幂等处理。处理成功后请返回纯文本 success、OK,或 JSON {"code":0}。其他响应(包括正文不符合要求的 HTTP 200)均视为失败,平台最多尝试通知 10 次。
通知失败后平台按递增间隔自动重试;商户也应使用查单接口主动补偿。redirectUrl 只用于用户浏览器同步跳转,不能作为支付成功依据;入账必须以异步通知或查单结果为准。