Sync Payment Order
Description
When an order is in progress status, the merchant can actively sync the order status from the payment channel. Useful when callbacks are delayed or manual confirmation is needed.
Request
POST /unipay/sync/order/pay
- Auth: RSA signature (
@PaymentVerify) - Response:
DaxResult<NormalPaySyncResult>
Parameters
Common params same as Pay - Common Parameters. Business parameters:
| Parameter | Type | Required | Max | Description |
|---|---|---|---|---|
| orderNo | string | No* | 100 | Platform order number |
| bizOrderNo | string | No* | 100 | Merchant order number |
| outOrderNo | string | No* | 150 | Channel order number |
*At least one required. Priority: orderNo > bizOrderNo > outOrderNo
Example
json
{
"mchNo": "M200000001",
"appId": "APP001",
"reqId": "REQ20241201004",
"reqTime": "2024-12-01 12:15:00",
"sign": "Base64Signature",
"orderNo": "P2024120112345700001"
}Response
DaxResult<NormalPaySyncResult>, data fields:
| Field | Type | Description |
|---|---|---|
| orderStatus | string | Order status after sync (PayStatusEnum) |
| adjust | boolean | Whether status was adjusted (changed) |
Example
json
{
"code": 0,
"msg": "success",
"data": {
"orderStatus": "success",
"adjust": true
},
"sign": "Base64Signature",
"resTime": "2024-12-01T04:15:00Z",
"reqId": "REQ20241201004"
}Usage Tips
- Sync is idempotent — safe to call repeatedly; no duplicate charges or notifications.
- When sync triggers a status change, the platform re-sends the notification per Async Callback.
- If the channel returns "order not found", the platform marks the local order as
failortimeoutper rules — check theadjustflag.