协议支付

商户使用绑卡确认或绑卡查询获得的支付协议号发起协议扣款。含 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 系统异常,请稍后重试 请稍后重试