异步通知(notify_url)
说明
- 调用方向:宝付 → 商户(
POST至进线时传入的notify_url) - 通知格式:JSON Body,
Content-Type: application/json - 安全:商户须验签;含敏感字段时按统一网关规范解密
- 地址约定:
- 分账结果通知:使用订单分账/余额分账请求上送的
notify_url;未上送则不通知
- 分账结果通知:使用订单分账/余额分账请求上送的
- 失败重试:商户须应答 HTTP 状态码
200,响应体为字符串OK;否则系统按固定频率重试。须按out_trade_no(或约定业务单号)幂等
Header 参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Baofu-Timestamp | string | true | 秒级 Unix 时间戳 |
| Baofu-Nonce | string | true | 随机串 |
| Baofu-Serial | string | true | 证书序列号 |
| Request-ID | string | true | 通知链路 ID |
| Baofu-Signature-Type | string | true | 签名算法 |
| Baofu-Signature | string | true | 签名值 |
商户身份 Header(不在 Body 中重复):通知随请求回传进线时的 Baofu-Mch-ID;若进线时上送了 Baofu-App-ID 则一并回传,未上送则通知中不出现该头。
商户验签(待签串)
与开放网关应答侧约定一致:
- 取 Header 中秒级时间戳、随机串;数字信封若本次通知无则传空串(拼接时仍保留单独一行)。
- 取 HTTP Body 原始字节 对应的 JSON 字符串(与接收到的完全一致,勿重新格式化)。
- 按 「时间戳 +
\n+ 随机串 +\n+ 数字信封 +\n+ Body +\n」 拼接(每行以换行结束,包括最后一行)。 - 按
Baofu-Signature-Type使用约定证书验签Baofu-Signature。
对应 Header 分别为 Baofu-Timestamp、Baofu-Nonce;数字信封无则空串,拼接时仍占一行。
商户应答
验签通过后处理业务。须应答 HTTP 状态码 200,响应体为字符串 OK;否则系统按固定频率重试。须按业务单号幂等。本约定适用于全部异步通知。
应答示例
200 OK
OK分账结果通知
宝付向商户 notify_url 发送异步通知(MerchantNotifyService)
接口说明
请求方式:【POST】商户 notify_url
请求域名:商户在进线请求中上送的回调地址
请求参数
Header 参数
通知请求头与异步通知说明中的 Header 参数相同。
Body 参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| trans_id | string | true | 分账请求单号 |
| member_id | string | true | 商户号 |
| terminal_id | string | true | 终端号 |
| share_no | string | true | 宝付分账单号 |
| txn_state | string | true | SUCCESS / FAIL / PROCESSING / ABNORMAL |
| fail_msg | string | true | 失败时错误说明 |
| sharing_info | string | true | 分账明细 JSON 数组(通知字段名;同步 API 为 sharding_info) |
| sharing_info.detail_no | string | false | detail_no |
| sharing_info.payee_acct_no | string | false | 收款账户号 |
| sharing_info.acct_type | string | false | 收款账户类型 |
| sharing_info.split_amt | string | false | 分账金额,单位分(字符串) |
| sharing_info.detail_desc | string | false | 分账说明 |
处理建议:验签通过后处理业务;须应答 HTTP 状态码 200,响应体为字符串 OK;否则系统按固定频率重试。须按 out_trade_no(或约定业务单号)幂等。