Skip to content

Sync Transfer

Updated: 9/11/26, 8:21:59 PM

Description

Actively sync the transfer status from the payment channel. Call it when the transfer status is processing to obtain the latest result. Useful when channel callbacks are delayed, when a WeChat transfer awaits payee confirmation, or when you need to confirm the final state.

Syncing a non-processing order is idempotent (returns the current status with adjust=false); repeated calls are harmless.

Request

POST /unipay/sync/order/transfer

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

Parameters

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

ParameterTypeRequiredMaxDescription
transferNostringNo*100Platform transfer number
channelstringNo*32Transfer channel (paired with merchant transfer number)
bizTransferNostringNo*100Merchant transfer number (paired with channel)

*One of two locating modes: transferNo alone; or bizTransferNo together with channel (matching the initiation idempotency key "channel + bizTransferNo + mchNo" — the same merchant transfer number can exist once per channel).

Request Example

json
{
  "mchNo": "M200000001",
  "appId": "APP001",
  "reqId": "REQ20241201041",
  "reqTime": "2024-12-01 12:41:00",
  "sign": "Base64Signature",
  "transferNo": "TF2024120112345700001"
}

Response

DaxResult<TransferSyncResult>, the data field:

ParameterTypeDescription
orderStatusstringTransfer status after sync (PayFundStatusEnum)
adjustbooleanWhether an adjustment was triggered (local status changed due to this sync)

Response Example

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

Best Practices

  • Callback fallback: the platform auto-registers a delayed sync after initiation and pushes the final state to notifyUrl (events transfer.success / transfer.fail / transfer.close); use this endpoint for reconciliation fallback or when no notification arrives.
  • Vs. query: Query Transfer Order only reads the local record without calling the channel; this endpoint queries the channel in real time and writes the result back.

Official Website · Released under the GNU LGPL v3.0