协议支付
商户使用绑卡确认或绑卡查询获得的支付协议号发起协议扣款。含 payment_protocol_no 等敏感字段时须数字信封加密。生产环境 risk_control_info 必填,须传真实交易风控信息。支持可选分账标识 profit_sharing,不支持实时分账(传入 profit_sharing_info 即参数错误)。同步返回可能为 SUCCESS 或 PROCESSING;终态以支付订单查询或 notify_url 异步通知为准。
接口说明
请求方式:【POST】/v1/protocol/pay
请求域名:【主域名】https://api.baofu.com
请求参数
Header 参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Authorization | string | true | 请参考【开发指引-整体说明】生成认证信息 |
| Accept | string | true | 请设置为 application/json |
| Content-Type | string | true | 请设置为 application/json |
Body 参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| out_trade_no | string | true | 商户订单号,6~64 字符 |
| payment_amount | integer | true | 支付金额,单位分,≥1 |
| payment_protocol_no | string | true | 支付协议号(绑卡确认后获得),1~126 字符;敏感字段,请求由商户数字信封加密 |
| merchant_user_id | string | false | 商户用户 ID,≤50 字符 |
| notify_url | string | false | 异步通知地址,URI,≤256 字符 |
| profit_sharing | boolean | false | 分账标识:true 后分账;false 显式不分账;不传走收单现状 |
| profit_sharing_info | object | false | 不支持实时分账;传入即参数错误 |
| risk_control_info | object | true | 风控参数,键值对结构;生产必填;按商户开通行业传真实交易信息,禁止固定占位值 |
| fee_bearer_merchant_id | string | false | 手续费承担方商户号,≤128,纯数字 |
| billing_merchant_id | string | false | 计费商户号,≤128,纯数字 |
risk_control_info 为键值对对象,协议支付生产环境必填;须按商户开通行业与风控参数附录传真实交易信息,禁止固定占位值。常见通用字段见数据字典 risk_control_info。
请求示例
{
"out_trade_no": "20260609120001001",
"payment_amount": 100,
"payment_protocol_no": "20250608143022000123456789012345",
"merchant_user_id": "U998877",
"notify_url": "https://merchant.example.com/notify/cutpayment",
"risk_control_info": {
"goodsCategory": "06",
"userLoginId": "U998877",
"userMobile": "13800138000",
"chPayIp": "203.0.113.10"
},
"fee_bearer_merchant_id": "100000749",
"billing_merchant_id": "100000749"
}
应答参数
200 OK
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| trade_status | string | true | 交易状态,见 trade_status 枚举 |
| trade_status_desc | string | false | 状态说明(中文) |
| out_trade_no | string | false | 商户订单号(成功时返回) |
| channel_order_no | string | false | 宝付订单号(成功时返回) |
| trade_no | string | false | 宝付交易号(成功时返回) |
| payment_total_amount | integer | false | 成功金额,单位分(成功时返回) |
| successful_payment_time | string | false | 成功支付时间,ISO 8601(成功时返回) |
应答示例
200 OK
{
"trade_status": "SUCCESS",
"trade_status_desc": "交易成功",
"out_trade_no": "20260609120001001",
"channel_order_no": "20260609120001001",
"trade_no": "202606091200019876543210",
"payment_total_amount": 100,
"successful_payment_time": "2026-06-09T12:00:15+08:00"
}
应答示例
200 OK
{
"trade_status": "PROCESSING",
"trade_status_desc": "交易处理中",
"out_trade_no": "20260609120001001"
}
错误码
公共错误码
| 状态码 | 错误码 | 描述 | 解决方案 |
|---|---|---|---|
| 401 | SIGN_ERROR | 验证不通过 | 请参阅【开发指引-整体说明】排查签名 |
| 400 | PARAM_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
| 500 | SYSTEM_ERROR | 系统异常,请稍后重试 | 请稍后重试 |