Skip to content

分账异步通知

转账异步通知 ​

当请求同步返回 PROCESSING,或商户需要确认最终结果时,平台会向已配置的异步通知地址推送结果通知。收到通知后,应先按签名规则校验 sign,再解析 bizData,并基于 outBatchNo、batchNo、orderNo 做幂等处理。最终到账以结算状态为主

json
{
  "bizData": "{\"batchNo\":\"BH<DEMO_ID>\",\"extParam\":\"12\",\"note\":\"处理中\",\"orderList\":\"[{\\\"amount\\\":1000,\\\"body\\\":\\\"测试\\\",\\\"feeType\\\":\\\"ACCOUNT\\\",\\\"mchFee\\\":30,\\\"note\\\":\\\"00\\\",\\\"orderNo\\\":\\\"AP<DEMO_ID>\\\",\\\"outOrderNo\\\":\\\"Item<DEMO_ID>\\\",\\\"payeeAcctNo\\\":\\\"VA<DEMO_ID>\\\",\\\"payerAcctNo\\\":\\\"VA<DEMO_ID>\\\",\\\"realAmount\\\":1000,\\\"state\\\":\\\"SUCCESS\\\"}]\",\"outBatchNo\":\"BT2605270EMPW82CBC93\",\"state\":\"SUCCESS\"}",
  "code": "000000",
  "msg": "请求成功",
  "sign": "<SIGNATURE>",
  "signType": "MD5",
  "timestamp": "<DEMO_ID>"
}
字段名变量名必填类型示例值描述
公共状态码code是String000000通知投递成功状态码,000000 表示本次通知报文有效
公共描述msg是String请求成功公共返回描述
时间戳timestamp是String<DEMO_ID>通知发送时间,格式 yyyyMMddHHmmss
签名值sign是String<SIGNATURE>按签名规则对通知报文验签
签名类型signType是StringMD5当前示例为 MD5
业务报文bizData是String见示例JSON 字符串,验签通过后再解析
字段名变量名必填类型示例值描述
平台批次号batchNo是StringBH<DEMO_ID>平台生成的分账批次号
外部批次号outBatchNo是StringBT2605270EMPW82CBC93商户侧传入的外部批次号
批次状态state是StringSUCCESS批次最终或当前状态,建议结合查询接口统一判定
INIT:初始化
PROCESSING:处理中SUCCESS:成功PART_SUCCESS:部分成功CLOSE:关闭
FAIL:失败
商户扩展参数extParam否String12请求时透传的扩展参数,原样返回
描述note否String处理中批次处理描述或失败原因
订单明细orderList是String见示例子订单明细列表,JSON 字符串
字段名变量名必填类型示例值描述
平台订单号orderNo是StringAP<DEMO_ID>平台生成的子订单号
外部订单号outOrderNo是StringItem<DEMO_ID>商户侧子订单号
订单标题body是String测试子订单标题
金额amount是Long1000分账金额,单位分
实际入账金额realAmount是Long1000实际分账成功金额,单位分
手续费mchFee否Long30手续费金额,单位分
手续费扣费方式feeType否StringACCOUNTORDER 为订单内扣,ACCOUNT 为外扣
付款方账号payerAcctNo是StringVA<DEMO_ID>付款方虚拟账户
收款方账号-----
子订单状态state是StringSUCCESS批次最终或当前状态,建议结合查询接口统一判定
子订单状态
INIT:初始化
PROCESSING:处理中SUCCESS:成功
CLOSE:关闭
FAIL:失败
结算状态settleState是StringINIT结算状态
INIT:初始化PROCESSING:处理中SUCCESS:成功
CLOSE:关闭
FAIL:失败
当前状态表示资金是否到账,如果失败则表示资金没到账
针对结算失败的订单可以根据结算失败内容调用订单重新结算接口发起重新发起结算
结算备注settleRemark否String对方行账户状态异常[SPS]结算备注
子订单描述note否String00子订单结果描述或结果码,具体以平台返回为准
  • 验签通过前,不要直接信任或入库 bizData 内容。

  • 以 outBatchNo + outOrderNo 或 batchNo + orderNo 作为幂等键,避免重复处理通知。

  • 若通知中的批次状态为 PROCESSING,建议继续等待后续通知,或调用“分账结果查询”接口确认最终状态。

  • 若批次或子订单状态为 SUCCESS / PART_SUCCESS / FAIL 等终态,应按终态更新本地业务单据。

  • note、msg 适合用于排障记录,但最终业务判断应优先使用 state、batchNo、orderNo 等结构化字段。