同步支付订单
接口说明
当订单状态为 progress(处理中)时,商户可主动调用本接口向支付通道发起状态同步,获取最新的支付结果。适用于回调延迟或商户需要主动确认状态的场景。
请求地址
POST /unipay/sync/order/pay
- 认证:RSA 签名(
@PaymentVerify) - 响应:
DaxResult<NormalPaySyncResult>
请求参数
基础参数同 统一支付 - 基础参数,业务参数:
| 参数 | 类型 | 必填 | 最大长度 | 描述 |
|---|---|---|---|---|
| orderNo | string | 否* | 100 | 平台业务单号 |
| bizOrderNo | string | 否* | 100 | 商户订单号 |
| outOrderNo | string | 否* | 150 | 通道订单号 |
*三个订单号至少传一个,优先级:orderNo > bizOrderNo > outOrderNo
请求示例
json
{
"mchNo": "M200000001",
"appId": "APP001",
"reqId": "REQ20241201004",
"reqTime": "2024-12-01 12:15:00",
"sign": "Base64签名值",
"orderNo": "P2024120112345700001"
}响应参数
DaxResult<NormalPaySyncResult>,data 字段结构:
| 参数 | 类型 | 描述 |
|---|---|---|
| orderStatus | string | 同步后的订单状态(PayStatusEnum) |
| adjust | boolean | 是否触发了状态调整(同步前后状态是否变化) |
响应示例
json
{
"code": 0,
"msg": "success",
"data": {
"orderStatus": "success",
"adjust": true
},
"sign": "Base64签名值",
"resTime": "2024-12-01T04:15:00Z",
"reqId": "REQ20241201004"
}使用建议
- 同步是幂等操作,可重复调用,不会重复扣款或重复通知。
- 同步触发状态变更后,平台会按 异步回调 流程重新发送通知。
- 若通道返回「订单不存在」,平台会按规则将本地订单置为
fail或timeout,需结合adjust判断。