转账同步
接口说明
主动向支付通道同步转账状态。当转账状态为 processing 时调用,获取最新转账结果。适用于通道回调延迟、微信待收款人确认、或需要主动确认终态的场景。
非处理中的订单调用同步为幂等操作(直接返回当前状态,adjust=false),重复调用无害。
请求地址
POST /unipay/sync/order/transfer
- 认证:RSA 签名(
@PaymentVerify) - 响应:
DaxResult<TransferSyncResult>
请求参数
基础参数同 统一支付 - 基础参数,业务参数:
| 参数 | 类型 | 必填 | 最大长度 | 描述 |
|---|---|---|---|---|
| transferNo | string | 否* | 100 | 平台转账单号 |
| channel | string | 否* | 32 | 转账通道(与商户转账号配对使用) |
| bizTransferNo | string | 否* | 100 | 商户转账号(与转账通道配对使用) |
*定位方式二选一:
transferNo单独可查;bizTransferNo必须配channel(与发起幂等维度「通道+商户转账号+商户号」保持一致,同一商户转账号可在不同通道各存在一笔)。
请求示例
json
{
"mchNo": "M200000001",
"appId": "APP001",
"reqId": "REQ20241201041",
"reqTime": "2024-12-01 12:41:00",
"sign": "Base64签名值",
"transferNo": "TF2024120112345700001"
}响应参数
DaxResult<TransferSyncResult>,data 字段结构:
| 参数 | 类型 | 描述 |
|---|---|---|
| orderStatus | string | 同步后的转账状态(PayFundStatusEnum) |
| adjust | boolean | 是否触发了调整(本地状态因本次同步发生了变更) |
响应示例
json
{
"code": 0,
"msg": "success",
"data": {
"orderStatus": "success",
"adjust": true
},
"sign": "Base64签名值",
"resTime": "2024-12-01 12:41:00",
"reqId": "REQ20241201041"
}使用建议
- 回调兜底:平台在转账受理后会自动注册延迟同步,并在终态时按
notifyUrl推送异步通知(事件transfer.success/transfer.fail/transfer.close);本接口用于商户侧对账兜底或未收到通知时主动拉取。 - 与查询的区别:转账单查询 只查本地记录不调通道;本接口会实时向通道查询并回写本地状态。