Skip to content

Sync Refund ​

Updated: 9/16/26, 11:08:10 AM

Description ​

When a refund order is in progress (refunding), the merchant can actively call this endpoint to sync the latest refund result from the payment channel. Useful when refund callbacks are delayed or manual confirmation is needed.

Endpoint ​

POST /unipay/sync/order/refund

  • Auth: RSA signature (@PaymentVerify)
  • Response: DaxResult<RefundSyncResult>

Request Parameters ​

Common params same as Pay - Common Parameters. Business parameters:

ParameterTypeRequiredMax LengthDescription
refundNostringno*100Platform refund number (refundNo returned by Refund)
bizRefundNostringno*100Merchant refund number

*At least one of the two refund numbers is required; the platform refundNo takes precedence.

Request Example ​

json
{
  "mchNo": "M200000001",
  "appId": "APP001",
  "reqId": "REQ20241201005",
  "reqTime": "2024-12-01 12:35:00",
  "nonceStr": "RANDOMSTR123",
  "sign": "Base64Signature",
  "refundNo": "R2024120112345700001"
}

Response Parameters ​

DaxResult<RefundSyncResult>, structure of data:

ParameterTypeDescription
orderStatusstringRefund status after sync (RefundOrderStatusEnum)
adjustbooleanWhether a status adjustment was triggered (status changed by this sync)

Response Example ​

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "orderStatus": "success",
    "adjust": true
  },
  "sign": "Base64Signature",
  "resTime": "2024-12-01 12:35:00",
  "reqId": "REQ20241201005"
}

Usage Tips ​

  • Sync is idempotent: repeated calls will not double-refund or re-notify.
  • If sync triggers a status change, the platform re-sends the event=refund.success notification following the Async Callback flow.
  • If the channel reports "refund not found", the platform marks the local refund order as fail or close per its rules — check the adjust flag.