Skip to content

Sync Payment Order

Updated: 7/26/26, 9:23:52 PM

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:

ParameterTypeRequiredMaxDescription
orderNostringNo*100Platform order number
bizOrderNostringNo*100Merchant order number
outOrderNostringNo*150Channel 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:

FieldTypeDescription
orderStatusstringOrder status after sync (PayStatusEnum)
adjustbooleanWhether 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 fail or timeout per rules — check the adjust flag.

Released under the GNU LGPL v3.0