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.

Official Website · Released under the GNU LGPL v3.0