- 1. 文档说明
- 1.1 文档目的
- 1.2 阅读对象
- 1.3 技术支持
- 2. 接口须知
- 2.1 术语定义
- 2.2 接口准备
- 2.3 代付申请流程
- 3.代付接口
- 支付方式说明
- 接口开发说明
- 3.1 接口公共参数定义
- 3.2 代付交易接口(BF0040001)
- 3.2.1 交易URL
- 3.2.2 功能说明
- 3.2.3 加密串报文格式定义
- XML格式样例
- JSON格式样例
- 3.2.4 同步响应报文说明
- XML格式样例
- JSON格式样例
- 3.3 代付交易状态查证接口(BF0040002)
- 3.3.1交易URL
- 3.3.2功能说明
- 3.3.3加密串报文格式定义
- XML格式样例
- JSON格式样例
- 3.3.4 同步响应报文说明
- XML格式样例
- JSON格式样例
- 3.4 代付交易退款查证接口(BF0040003)
- 3.4.1交易URL
- 3.4.2功能说明
- 3.4.3加密串报文格式定义
- XML格式样例
- JSON格式样例
- 3.4.4 同步响应报文说明
- XML格式样例
- JSON格式样例
- 3.5 代付交易拆分接口(BF0040004)
- 3.5.1交易URL
- 3.5.2功能说明
- 3.5.3加密串报文格式定义
- XML格式样例
- JSON格式样例
- 3.5.4 同步响应报文说明
- XML格式样例
- JSON格式样例
- 3.8 宝付账户实时交易接口(BF0040007)
- 3.8.1交易URL
- 3.8.2功能说明
- 3.8.3加密串报文格式定义
- XML格式样例
- JSON格式样例
- 3.8.4 同步响应报文说明
- XML格式样例
- JSON格式样例
- 3.9 账户收款方交易查证接口(BF0040010)
- 3.9.1交易URL
- 3.9.2功能说明
- 3.9.3加密串报文格式定义
- XML格式样例
- JSON格式样例
- 3.9.4 同步响应报文说明
- XML格式样例
- JSON格式样例
- 3.10 代付宝付回调接口
- 3.10.1功能说明
- 3.10.2加密串报文格式定义
- XML格式样例
- 3.10.3 同步响应报文说明
- 3.11 代付交易接口(BF0042001)
- 3.11.1 交易URL
- 3.11.2 功能说明
- 3.11.3 加密串报文格式定义
- XML格式样例
- JSON格式样例
- 3.11.4 同步响应报文说明
- XML格式样例
- JSON格式样例
- 4.注意事项
- 附录1: 《宝付代付介绍手册》响应码信息
- 附录2:证书加密说明
- 附录3:银行字典
- 附录4:扩展参数
- 附录5:行业类目
注意事项(重要):
代付API在请求出现异常和(查询/交易)接口文档中标识出状态为未知的订单不得直接判断为失败,必须注意以下几点:
1、代付交易付款状态为未知时(接口文档附录中已使用红字描述),需使用查询接口查询订单最终状态,只有查询到state状态时才能判定订单状态。其他情况可以继断查询或以最终对账文件中状态为准。
2、return_code(查询/交易)不是订单状态,值为0000只表示受理成功;订单状态以查询接口中state字段为订单状态。
3、文档中(查询/交易)付款状态为未知状态,禁止此订单重发代付交易(除订单查询state有明确的失败的状态以外)。
包括但不限于以上事项,详见代付常见问题。
1. 文档说明
1.1 文档目的
本文档的目的是为宝付代付定义一个接口规范,以帮助商户技术人员快速接入宝付代付API接口,并快速掌握代付API接口中的相关功能,便于尽快的投入使用。
1.2 阅读对象
- 商户开发人员、维护人员和管理人员
- 宝付代付相关的技术人员
1.3 技术支持
在开发或使用宝付代付API接口时,如果您有任何技术上的疑问,请按如下方式寻求帮助,宝付技术支持人员会及时处理,给予您答复:
技术支持热线:021-68819999-8005
技术支持Email:support@baofoo.com
技术支持QQ:800066689
2. 接口须知
2.1 术语定义
符号 | 符号性质 | 符号说明 |
---|---|---|
M | 强制域(Mandatory) | 必须填写的域 |
C | 条件域(Conditional) | 某条件成立时必须填写的域 |
O | 选用域(Optional) | 选填属性(可选预) |
R | 原样返回域(Returned) | 必须与先前报文中对应域的值相同的域 |
- 代付业务:指商户从自身单位结算账户向持卡人指定银行卡账户进行款项划付的业务。
- 签约:与宝付签订商业合作协议,使用宝付提供的互联网支付、wap支付、代付等金融服务功能。
- 商户:与宝付签订合约并使用宝付提供的互联网产品的商户或者个人。
- 终端:商户在与宝付签订某项具体互联网金融功能合作协议自动分配的会员属性,终端将用于进行具体的金融交易必要参数。
- 订单:是指商户在使用宝付金融功能时产生的交易记录,商户和宝付之间采用订单作为结算的唯一依据。
- 密钥:是指宝付分配给商户用于进行安全通讯验证的随机字符串或者是数字证书。
2.2 接口准备
仔细阅读代付API接口相关的文档
请先进行测试环境联调(测试环境信息查看文档“代付API测试环境信息”);
生产环境的商户号和终端号请登录商户前台自行查看,如若不知商户号和终端号请联系技术支持人员;
生产环境的公私钥证书需自行生成并上传生成的公钥,下载宝付公钥;
2.3 代付申请流程
代付交易处理流程
- 1.商户系统发送代付请求调用接口BF0040001(用户身份信息+银行卡号)提交代付数据至宝付代付系统(服务器方式);
- 2.宝付代付系统同步通知商户系统受理响应结果(服务器方式);
- 3.宝付代付系统将持卡人身份和银行卡信息提交给银行,请求银行处理订单;
- 4.宝付异步查询银行订单处理结果;
- 5.商户调用接口BF0040002查询订单状态(服务器方式);
账户间转账处理流程
- 1.商户系统创建转账订单调用接口BF0040007提交转账请求(服务器方式);
- 2.宝付代付系统同步通知商户订单处理结果(服务器方式);
- 3.若订单状态不明确,商户调用接口BF0040002查询订单状态(服务器方式);
3.代付接口
所有报文域以key/value的表单方式通过HTTP Post到宝付代付平台,交易结果同步响应给商户。
- 1.data_content请求内容中的字段需要用国密进行对称加密
- 2.对称加密秘钥储存在dgtl_envlp中,请求时需要用商户公钥进行国密加密,请求时需要用宝付公钥进行解密
- 3.signature,请求时使用商户私钥对公共字段排序后签名,返回时使用宝付私钥对以上字段排序后签名
支付方式说明
支付方式说明:对私可不填写省、市、支行;对公必须填写。
接口开发说明
因不同商户开通产品不同,建议开发接口如下:
- 付款到银行(订单无需拆分):BF0040001、BF0040002、BF0040003;
- 付款到银行(订单需拆分):BF0040004、BF0040002、BF0040003;
- 账户间转账:BF0040007、BF0040002;
3.1 接口公共参数定义
请求公共参数
参数名称 | 参数含义 | 出现要求 | 参数备注 |
---|---|---|---|
member_id | 商户号 | M | 商户签约后宝付提供给商户的唯一编号,例:member_id=100000178 |
terminal_id | 终端号 | M | 商户签约后宝付提供给商户,交易时必要的参数,例:terminal_id=100000859 |
data_type | 数据类型 | M | data_type=xml或json;data_content依据data_type类型定义 |
data_content | 请求报文(加密串) | M | |
version | 版本号 | M | 4.0.3 |
ncrptn_sn | 宝付证书编号 | M | 宝付公私钥证书编号 |
sign_sn | 商户证书编号 | M | 商户公私钥证书编号 |
verify_type | 加密类型 | M | 10:国密 |
dgtl_envlp | 数字信封 | C | 对称密钥,用宝付公钥国密加密,用于敏感字段加解密 (有敏感字段时才有) |
signature | 签名 | M | 请求时使用商户私钥对以上字段排序后签名 |
返回公共参数
参数名称 | 参数含义 | 出现要求 | 参数备注 |
---|---|---|---|
data_content | 请求报文 | M | 敏感字段需要用国密对称加密 |
dgtl_envlp | 数字信封 | C | 对称密钥,用商户公钥国密加密,用于敏感字段加解密 (有敏感字段时才有) |
signature | 签名 | M | 返回时使用宝付私钥对以上字段排序后签名 |
3.2 代付交易接口(BF0040001)
3.2.1 交易URL
- 测试环境地址:https://paytest.baofoo.com/baofoo-fopay/pay/BF0040001.do
- 正式环境地址:https://public.baofoo.com/baofoo-fopay/pay/BF0040001.do
3.2.2 功能说明
- 该接口的主要功能为代付交易。商户根据定义的报文格式组装报文发送给宝付,宝付同步处理完后返回所示格式的报文给商户。
- 如果宝付收单成功,将会在返回给商户的报文中的return_code字段返回一个0000,该交易查证需要调用代付订单查证(BF0040002)交易。
- 如果宝付收单失败,将会在返回给商户的报文中的return_code字段返回一个错误码,根据错误码在错误信息表里可以查看到具体的错误信息。
限制条件:
代付交易一次处理的请求条数(trans_reqData)有限制,不超过5个,超过5个:交易请求记录条数超过上限!
请求报文体中的trans_no要求全局唯一,如果发现有重复则报错;注意:测试环境为模拟各种生产上出现的订单问题,交易结果为随机
3.2.3 加密串报文格式定义
参数名称 | 描述 | 出现要求 | 参数备注 |
trans_content➤trans_reqDatas➤trans_reqData(循环域) | |||
trans_no | 商户订单号 | M | 循环域,商户唯一流水号,格式只支持数字和英文,具体格式建议:商户编号+14位日期+3位随机数,如:100000178201412011230405687 |
trans_money | 转账金额 | M | 循环域,单位:元 |
to_acc_name | 收款人姓名 | M | 循环域,如:张三 |
to_acc_no | 收款人银行帐号 | M | 循环域,如:6222601234567890 |
to_bank_name | 收款人银行名称 | M | 循环域,如:中国工商银行 |
to_pro_name | 收款人开户行省名 | C | 循环域,如:上海市【见支付方式说明】 |
trans_cnap | 联行号 | C | 循环域,如: 11375211076 |
to_city_name | 收款人开户行市名 | C | 循环域,如:上海市【见支付方式说明】 |
to_acc_dept | 收款人开户行机构名 | C | 循环域,如:世纪大道支行【见支付方式说明】 |
trans_card_id | 银行卡身份证件号码 | C | 循环域,出现要求遵循双方约定,注:目前身份证件只支持身份证,填写身份证号码即可; |
trans_mobile | 银行卡预留手机号 | C | 循环域,出现要求遵循双方约定,注:建议商户填写预留手机号码,若无预留手机号可填写本人其它手机号; |
trans_summary | 摘要 | R | 循环域,可为空,最大支持256字符 |
trans_reserved | 用途 | R | 循环域,可为空,最大支持256字符 |
trans_audit_info | 附加字段 | R | 扩展参数,以json格式传输 |
XML格式样例
<?xml version="1.0" encoding="UTF-8" ?>
<trans_content>
<trans_reqDatas>
<trans_reqData>
<trans_no>1234567A</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>周小忍</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_bank_name>工商银行</to_bank_name>
<to_pro_name>上海市</to_pro_name>
<to_city_name>上海市</to_city_name>
<to_acc_dept>张江支行</to_acc_dept>
<trans_card_id>22032319930425218X</trans_card_id>
<trans_mobile>18217550000</trans_mobile>
<trans_summary></trans_summary>
<trans_reserved></trans_reserved>
</trans_reqData>
<trans_reqData>
<trans_no>1234567B</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>周小忍</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_bank_name>工商银行</to_bank_name>
<to_pro_name>上海市</to_pro_name>
<to_city_name>上海市</to_city_name>
<to_acc_dept>张江支行</to_acc_dept>
<trans_card_id>22032319930425218X</trans_card_id>
<trans_mobile>18217550000</trans_mobile>
<trans_summary></trans_summary>
<trans_reserved></trans_reserved>
</trans_reqData>
</trans_reqDatas>
</trans_content>
JSON格式样例
{
"trans_content": {
"trans_reqDatas": [{
"trans_reqData": [{
"trans_no": "1234567A",
"trans_money": "1.23",
"to_acc_name": "周小忍",
"to_acc_no": "6222601234567890",
"to_bank_name": "工商银行",
"to_pro_name": "上海市",
"to_city_name": "上海市",
"to_acc_dept": "张江支行",
"trans_card_id": "22032319930425218X",
"trans_mobile": "18217550000",
"trans_summary": "",
"trans_reserved": ""
}, {
"trans_no": "1234567B",
"trans_money": "2.34",
"to_acc_name": "周小忍",
"to_acc_no": "6222601234567890",
"to_bank_name": "工商银行",
"to_pro_name": "上海市",
"to_city_name": "上海市",
"to_acc_dept": "张江支行",
"trans_card_id": "22032319930425218X",
"trans_mobile": "18217550000",
"trans_summary": "",
"trans_reserved": ""
}]
}]
}
}
3.2.4 同步响应报文说明
请求响应结果的数据类型根据请求参数字段“data_type”来决定,输出内容包括:
参数名称 | 描述 | 出现要求 | 参数备注 |
trans_content➤trans_head | |||
return_code | 响应码元素返回交易处理状态码 | M | 具体描述请参考附录1 |
return_msg | 响应信息元素交易处理状态中文信息 | M | |
trans_content➤trans_reqDatas➤trans_reqData(循环域) | |||
trans_orderid | 宝付订单号 | M | 循环域,宝付订单号返回唯一 |
trans_batchid | 宝付批次号 | M | 循环域 |
trans_no | 商户订单号 | M | 循环域; 商户唯一流水号, 具体格式建议:商户编号+14位日期+3位随机数 如:100000178201412011230405687 |
trans_money | 转账金额 | M | 单位:元 |
to_acc_name | 收款人姓名 | M | 循环域 |
to_acc_no | 收款人银行帐号 | M | 循环域 |
to_acc_dept | 收款人开户行机构名 | M | 循环域,返回格式:省|市|支行 |
trans_summary | 摘要 | R | 循环域 |
trans_reserved | 用途 | R | 循环域 |
同步响应数据案例如下:
XML格式样例
<?xml version="1.0" encoding="UTF-8" ?>
<trans_content>
<trans_head>
<return_code>0000</return_code>
<return_msg>代付申请成功</return_msg>
</trans_head>
<trans_reqDatas>
<trans_reqData>
<trans_orderid>10001</trans_orderid>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567A</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>周小忍</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_acc_dept>上海市|上海市|工商银行张江支行</to_acc_dept>
<trans_summary></trans_summary>
<trans_reserved></trans_reserved>
</trans_reqData>
<trans_reqData>
<trans_orderid>10002</trans_orderid>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567B</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>周小忍</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_acc_dept>上海市|上海市|工商银行张江支行</to_acc_dept>
<trans_summary></trans_summary>
<trans_reserved></trans_reserved>
</trans_reqData>
</trans_reqDatas>
</trans_content>
JSON格式样例
{
"trans_content": {
"trans_head": {
"return_code": "0000",
"return_msg": "代付申请成功"
},
"trans_reqDatas": [{
"trans_reqData": [{
"trans_orderid": "10001",
"trans_batchid": "20001",
"trans_no": "1234567A",
"trans_money": "1.23",
"to_acc_name": "周小忍",
"to_acc_no": "6222601234567890",
"to_acc_dept": "上海市|上海市|工商银行张江支行",
"trans_summary": "",
"trans_reserved": ""
}, {
"trans_orderid": "10002",
"trans_batchid": "20001",
"trans_no": "1234567B",
"trans_money": "2.34",
"to_acc_name": "周小忍",
"to_acc_no": "6222601234567890",
"to_acc_dept": "上海市|上海市|工商银行张江支行",
"trans_summary": "",
"trans_reserved": ""
}]
}]
}
}
3.3 代付交易状态查证接口(BF0040002)
重要提醒
1、当交易请求超时,不建议立即发起查询,建议延后再查询。
2、在查询时return_code不是订单状态,值为0000只表示受理成功;订单状态必须以查询接口中state字段为订单状态。在状态不明的情况下订单不得处理为终态。
3.3.1交易URL
测试环境地址:https://paytest.baofoo.com/baofoo-fopay/pay/BF0040002.do
正式环境地址:https://public.baofoo.com/baofoo-fopay/pay/BF0040002.do
3.3.2功能说明
- 该接口的主要功能为查询代付交易状态。商户根据定义的报文格式组装报文发送给宝付,宝付处理完后返回所示格式的报文给商户。商户根据宝付返回的报文可以查看到相关交易信息。
- 如果请求宝付成功,宝付返回给商户的报文中的return_code字段返回一个000,该查证订单交易最终状态请按state参数说明。
- 其他的情况必须继续查询。
限制条件:
代付交易查证一次处理的请求条数(trans_reqData)有限制,不超过5个,超过5报:交易请求记录条数超过上限!
批量查询的多笔订单每笔订单时间间隔不得超过24小时
3.3.3加密串报文格式定义
参数名称 | 描述 | 出现要求 | 参数备注 |
trans_content➤trans_reqDatas➤trans_reqData(循环域) | |||
trans_batchid | 宝付批次号 | O | 宝付代付交易返回批次号 |
trans_no | 商户订单号 | M | 商户提交的订单编号 |
XML格式样例
<?xml version="1.0" encoding="UTF-8" ?>
<trans_content>
<trans_reqDatas>
<trans_reqData>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567A</trans_no>
</trans_reqData>
<trans_reqData>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567B</trans_no>
</trans_reqData>
</trans_reqDatas>
</trans_content>
JSON格式样例
{
"trans_content": {
"trans_reqDatas": [{
"trans_reqData": [{
"trans_batchid": "20001",
"trans_no": "1234567A"
}, {
"trans_batchid": "20001",
"trans_no": "1234567B"
}]
}]
}
}
3.3.4 同步响应报文说明
请求响应结果的数据类型根据请求参数字段“data_type”来决定,输出内容包括:
参数名称 | 描述 | 出现要求 | 参数备注 |
trans_content➤trans_head | |||
return_code | 响应码元素返回交易处理状态码 | M | 具体描述请参考附录1 |
return_msg | 响应信息元素交易处理状态中文信息 | M | |
trans_content➤trans_reqDatas➤trans_reqData(循环域) | |||
trans_orderid | 宝付订单号 | M | 循环域,宝付订单号返回唯一 |
trans_batchid | 宝付批次号 | M | 循环域 |
trans_no | 商户订单号 | M | 循环域,商户唯一流水号,格式只支持数字和英文,具体格式建议:商户编号+14位日期+3位随机数,如:100000178201412011230405687 |
trans_money | 转账金额 | M | 循环域,单位:元 |
to_acc_name | 收款人姓名 | M | 循环域 |
to_acc_no | 收款人银行帐号 | M | 循环域 |
to_acc_dept | 收款人开户行机构名 | M | 循环域,返回格式:省|市|支行 |
trans_fee | 交易手续费 | M | 循环域 |
state | 订单交易处理状态 | M | 循环域,0:转账中;1:转账成功;-1:转账失败;2:转账退款; |
trans_summary | 摘要 | R | 循环域 |
trans_remark | 备注(错误信息) | O | 循环域,错误信息备注 |
trans_starttime | 交易申请时间 | M | 循环域,格式:YYYY-MM-DD HH:mm:ss |
trans_endtime | 交易完成时间 | O | 循环域,格式:YYYY-MM-DD HH:mm:ss |
to_member_id | 收款方宝付会员号 | O | 循环域,(宝付账户交易返回) |
trans_reserved | 用途 | R | 循环域 |
resp_code | 返回码 | O | 8888:转账成功 1000:余额不足 1001:其他失败 |
XML格式样例
<?xml version="1.0" encoding="UTF-8" ?>
<trans_content>
<trans_head>
<return_code>0000</return_code>
<return_msg>代付请求成功</return_msg>
</trans_head>
<trans_reqDatas>
<trans_reqData>
<trans_orderid>200014</trans_orderid>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567A</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>周小忍</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_acc_dept>上海市|上海市|工商银行张江支行</to_acc_dept>
<trans_fee>2.0</trans_fee>
<state>1</state>
<trans_summary></trans_summary>
<trans_remark>转账成功</trans_remark>
<trans_starttime>20141210030455</trans_starttime>
<trans_endtime>20141210030755</trans_endtime>
<trans_reserved></trans_reserved>
</trans_reqData>
<trans_reqData>
<trans_orderid>200015</trans_orderid>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567B</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>周小忍</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_acc_dept>上海市|上海市|工商银行张江支行</to_acc_dept>
<trans_fee>2.0</trans_fee>
<state>-1</state>
<trans_summary></trans_summary>
<trans_remark>余额不足</trans_remark>
<trans_starttime>20141210030455</trans_starttime>
<trans_endtime>20141210030755</trans_endtime>
<trans_reserved></trans_reserved>
</trans_reqData>
</trans_reqDatas>
</trans_content>
JSON格式样例
{
"trans_content": {
"trans_head": {
"return_code": "0000",
"return_msg": "代付请求成功"
},
"trans_reqDatas": [{
"trans_reqData": [{
"trans_batchid": "20001",
"trans_no": "1234567A",
"trans_money": "1.23",
"to_acc_name": "周小忍",
"to_acc_no": "6222601234567890",
"to_acc_dept": "上海市|上海市|张江支行",
"trans_fee": "2.0",
"state": "1",
"trans_summary": "",
"trans_remark": "转账成功",
"trans_starttime": "20141210030455",
"trans_endtime": "201412100304755",
"trans_reserved": ""
}, {
"trans_batchid": "20001",
"trans_no": "1234567B",
"trans_money": "2.34",
"to_acc_name": "周小忍",
"to_acc_no": "6222601234567890",
"to_acc_dept": "上海市|上海市|张江支行",
"trans_fee": "2.0",
"state": "-1",
"trans_summary": "",
"trans_remark": "余额不足",
"trans_starttime": "20141210030455",
"trans_endtime": "201412100304755",
"trans_reserved": ""
}]
}]
}
}
3.4 代付交易退款查证接口(BF0040003)
3.4.1交易URL
测试环境地址:https://paytest.baofoo.com/baofoo-fopay/pay/BF0040003.do
正式环境地址:https://public.baofoo.com/baofoo-fopay/pay/BF0040003.do
3.4.2功能说明
- 该接口的主要功能为查询代付交易退款订单。商户根据定义的报文格式组装报文发送给宝付,宝付处理完后返回所示格式的报文给商户。商户根据宝付返回的报文可以查看到相关交易信息。
- 如果请求宝付成功,宝付返回给商户的报文中的return_code字段返回一个0000,该查证订单交易最终状态请按state参数说明。
- 如果请求宝付失败,将会在返回给商户的报文中的reuturn_code字段返回一个错误码,根据错误码在错误信息表里可以查看到具体的错误信息。
限制条件:
代付交易退款查证一次处理的请求条数(trans_reqData)有限制,不超过1个,超过1报:交易请求记录条数超过上限!
3.4.3加密串报文格式定义
参数名称 | 描述 | 出现要求 | 参数备注 |
trans_content➤trans_reqDatas➤trans_reqData | |||
trans_btime | 查询起始时间 | M | 格式:YYYYMMDD(最多查询一天记录) |
trans_etime | 查询结束时间 | M | 格式:YYYYMMDD(最多查询一天记录) |
XML格式样例
<?xml version="1.0" encoding="UTF-8" ?>
<trans_content>
<trans_reqDatas>
<trans_reqData>
<trans_btime>20141210</trans_btime>
<trans_etime>20141210</trans_etime>
</trans_reqData>
</trans_reqDatas>
</trans_content>
JSON格式样例
{
"trans_content": {
"trans_reqDatas": [{
"trans_reqData": [{
"trans_btime": "20141210",
"trans_etime": "20141210"
}]
}]
}
}
3.4.4 同步响应报文说明
请求响应结果的数据类型根据请求参数字段“data_type”来决定,输出内容包括:
参数名称 | 描述 | 出现要求 | 参数备注 |
trans_content➤trans_head | |||
return_code | 响应码元素返回交易处理状态码 | M | 具体描述请参考附录1 |
return_msg | 响应信息元素交易处理状态中文信息 | M | |
trans_content➤trans_reqDatas➤trans_reqData(循环域) | |||
trans_orderid | 宝付订单号 | M | 循环域,宝付订单号返回唯一 |
trans_batchid | 宝付批次号 | M | 循环域 |
trans_no | 商户订单号 | M | 循环域,商户唯一流水号,格式只支持数字和英文,具体格式建议:商户编号+14位日期+3位随机数,如:100000178201412011230405687 |
trans_money | 转账金额 | M | 循环域,单位:元 |
to_acc_name | 收款人姓名 | M | 循环域 |
to_acc_no | 收款人银行帐号 | M | 循环域 |
to_acc_dept | 收款人开户行机构名 | M | 循环域,返回格式:省|市|支行 |
trans_fee | 交易手续费 | M | 循环域 |
state | 订单交易处理状态 | M | 循环域,0:转账中;1:转账成功;-1:转账失败;2:转账退款; |
trans_summary | 摘要 | R | 循环域 |
trans_remark | 备注(错误信息) | O | 循环域,错误信息备注 |
trans_starttime | 交易申请时间 | O | 循环域,格式:YYYY-MM-DD HH:mm:ss |
trans_endtime | 交易完成时间 | O | 循环域,格式:YYYY-MM-DD HH:mm:ss |
XML格式样例
<?xml version="1.0" encoding="UTF-8" ?>
<trans_content>
<trans_head>
<return_code>0000</return_code>
<return_msg>代付请求成功</return_msg>
</trans_head>
<trans_reqDatas>
<trans_reqData>
<trans_orderid>200014</trans_orderid>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567A</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>周小忍</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_acc_dept>上海市|上海市|工商银行张江支行</to_acc_dept>
<trans_fee>2.0</trans_fee>
<state>2</state>
<trans_remark>已退款</trans_remark>
<trans_starttime>20141210030455</trans_starttime>
<trans_endtime>20141210030755</trans_endtime>
</trans_reqData>
<trans_reqData>
<trans_orderid>200015</trans_orderid>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567B</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>周小忍</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_acc_dept>上海市|上海市|工商银行张江支行</to_acc_dept>
<trans_fee>2.0</trans_fee>
<state>2</state>
<trans_remark>已退款</trans_remark>
<trans_starttime>20141210030455</trans_starttime>
<trans_endtime>20141210030755</trans_endtime>
</trans_reqData>
</trans_reqDatas>
</trans_content>
JSON格式样例
{
"trans_content": {
"trans_head": {
"return_code": "0000",
"return_msg": "代付请求成功"
},
"trans_reqDatas": [{
"trans_reqData": [{
"trans_batchid": "20001",
"trans_no": "1234567A",
"trans_money": "1.23",
"to_acc_name": "周小忍",
"to_acc_no": "6222601234567890",
"to_acc_dept": "上海市|上海市|张江支行",
"trans_fee": "2.0",
"state": "2",
"trans_remark": "已退款",
"trans_starttime": "20141210030455",
"trans_endtime": "201412100304755"
}, {
"trans_batchid": "20001",
"trans_no": "1234567B",
"trans_money": "2.34",
"to_acc_name": "周小忍",
"to_acc_no": "6222601234567890",
"to_acc_dept": "上海市|上海市|张江支行",
"trans_fee": "2.0",
"state": "2",
"trans_remark": "已退款",
"trans_starttime": "20141210030455",
"trans_endtime": "201412100304755"
}]
}]
}
}
3.5 代付交易拆分接口(BF0040004)
3.5.1交易URL
测试环境地址:https://paytest.baofoo.com/baofoo-fopay/pay/BF0040004.do
正式环境地址:https://public.baofoo.com/baofoo-fopay/pay/BF0040004.do
3.5.2功能说明
- 该接口的主要功能为代付交易。原接口BF0040001不能对代付订单进行拆分,不能满足客户需求,故增加本接口,商户根据定义的报文格式组装报文发送给宝付,宝付同步处理完后返回所示格式的报文给商户。
- 如果宝付收单成功,将会在返回给商户的报文中的return_code字段返回一个0000,该交易查证需要调用代付订单查证(BF0040002)交易。
- 如果宝付收单失败,将会在返回给商户的报文中的return_code字段返回一个错误码,根据错误码在错误信息表里可以查看到具体的错误信息。
- 订单手续费会按照拆分后的实际订单笔数来收,持卡人看到的到账笔数也和实际拆分的笔数一致。
- 订单拆分接口请求成功后,具体订单的到账状态查询接口会逐笔返回,商户需要逐笔判断订单状态。
限制条件:
代付交易一次处理的请求条数(trans_reqData)有限制,不超过5个,超过5个:交易请求记录条数超过上限!
请求报文体中的trans_no要求全局唯一,如果发现有重复则报错;
3.5.3加密串报文格式定义
参数名称 | 描述 | 出现要求 | 参数备注 |
trans_content➤trans_head | |||
trans_count | 交易总笔数 | M | 交易总笔数 |
trans_totalMoney | 交易总金额 | M | 交易总金额,单位:元,实际数字是(15,2)小数点占一位,整数部分占13位 |
trans_content➤trans_reqDatas➤trans_reqData(循环域) | |||
trans_no | 商户订单号 | M | 循环域,商户唯一流水号,格式只支持数字和英文,具体格式建议:商户编号+14位日期+3位随机数,如:100000178201412011230405687 |
trans_money | 转账金额 | M | 循环域,单位:元 |
to_acc_name | 收款人姓名 | M | 循环域,如:张三 |
to_acc_no | 收款人银行帐号 | M | 循环域,如:6222601234567890 |
to_bank_name | 收款人银行名称 | M | 循环域,如:中国工商银行 |
to_pro_name | 收款人开户行省名 | C | 循环域,如:上海市【见支付方式说明】 |
trans_cnap | 联行号 | C | 循环域,如: 11375211076 |
to_city_name | 收款人开户行市名 | C | 循环域,如:上海市【见支付方式说明】 |
to_acc_dept | 收款人开户行机构名 | C | 循环域,如:世纪大道支行【见支付方式说明】 |
trans_card_id | 银行卡身份证件号码 | C | 循环域,出现要求遵循双方约定,注:目前身份证件只支持身份证,填写身份证号码即可; |
trans_mobile | 银行卡预留手机号 | C | 循环域,出现要求遵循双方约定,注:建议商户填写预留手机号码,若无预留手机号可填写本人其它手机号; |
trans_summary | 摘要 | R | 循环域,可为空,最大支持256字符 |
trans_reserved | 用途 | R | 循环域,可为空,最大支持256字符 |
trans_audit_info | 附加信息 | R | 扩展参数 |
XML格式样例
<?xml version="1.0" encoding="UTF-8" ?>
<trans_content>
<trans_head>
<trans_count>2</trans_count>
<trans_totalMoney>99980</trans_totalMoney>
</trans_head>
<trans_reqDatas>
<trans_reqData>
<trans_no>1234567A</trans_no>
<trans_money>20000</trans_money>
<to_acc_name>张三</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_bank_name>工商银行</to_bank_name>
<to_pro_name>上海市</to_pro_name>
<to_city_name>上海市</to_city_name>
<to_acc_dept>张江支行</to_acc_dept>
<trans_card_id>22032319930425218X</trans_card_id>
<trans_mobile>18217550000</trans_mobile>
<trans_summary></trans_summary>
<trans_reserved></trans_reserved>
</trans_reqData>
<trans_reqData>
<trans_no>1234567B</trans_no>
<trans_money>79980</trans_money>
<to_acc_name>李四</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_bank_name>工商银行</to_bank_name>
<to_pro_name>上海市</to_pro_name>
<to_city_name>上海市</to_city_name>
<to_acc_dept>张江支行</to_acc_dept>
<trans_card_id>22032319930425218X</trans_card_id>
<trans_mobile>18217550000</trans_mobile>
<trans_summary></trans_summary>
<trans_reserved></trans_reserved>
</trans_reqData>
</trans_reqDatas>
</trans_content>
JSON格式样例
{
"trans_content": {
"trans_head": {
"trans_count": 2,
"trans_totalMoney": 20
},
"trans_reqDatas": [{
"trans_reqData": [{
"trans_no": "1234567A",
"trans_money": 10,
"to_acc_name": "张三",
"to_acc_no": 6222601234567890,
"to_bank_name": "工商银行",
"to_pro_name": "上海市",
"to_city_name": "上海市",
"to_acc_dept": "张江支行",
"trans_card_id": "22032319930425218X",
"trans_mobile": "18217550000",
"trans_summary": "",
"trans_reserved": ""
}, {
"trans_no": "1234567B",
"trans_money": 10,
"to_acc_name": "李四",
"to_acc_no": 6222601234567890,
"to_bank_name": "工商银行",
"to_pro_name": "上海市",
"to_city_name": "上海市",
"to_acc_dept": "张江支行",
"trans_card_id": "22032319930425218X",
"trans_mobile": "18217550000",
"trans_summary": "",
"trans_reserved": ""
}]
}]
}
}
3.5.4 同步响应报文说明
请求响应结果的数据类型根据请求参数字段“data_type”来决定,输出内容包括:
参数名称 | 描述 | 出现要求 | 参数备注 |
trans_content➤trans_head | |||
return_code | 响应码元素返回交易处理状态码 | M | 具体描述请参考附录1 |
return_msg | 响应信息元素交易处理状态中文信息 | M | |
trans_content➤trans_reqDatas➤trans_reqData(循环域) | |||
trans_orderid | 宝付订单号 | M | 循环域,宝付订单号返回唯一 |
trans_batchid | 宝付批次号 | M | 循环域 |
trans_no | 商户订单号 | M | 循环域,商户唯一流水号,格式只支持数字和英文,具体格式建议:商户编号+14位日期+3位随机数,如:100000178201412011230405687 |
trans_money | 转账金额 | M | 循环域,单位:元 |
to_acc_name | 收款人姓名 | M | 循环域 |
to_acc_no | 收款人银行帐号 | M | 循环域 |
to_acc_dept | 收款人开户行机构名 | M | 循环域,返回格式:省|市|支行 |
trans_summary | 摘要 | R | 循环域,可为空,最大支持256字符 |
trans_reserved | 用途 | R | 循环域,可为空,最大支持256字符 |
XML格式样例
<?xml version="1.0" encoding="UTF-8" ?>
<trans_content>
<trans_head>
<return_code>0000</return_code>
<return_msg>代付申请成功</return_msg>
</trans_head>
<trans_reqDatas>
<trans_reqData>
<trans_orderid>100001</trans_orderid>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567A</trans_no>
<trans_money>20000</trans_money>
<to_acc_name>张三</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_acc_dept>上海市|上海市|工商银行张江支行</to_acc_dept>
<trans_summary></trans_summary>
<trans_reserved></trans_reserved>
</trans_reqData>
<trans_reqData>
<trans_orderid>100002</trans_orderid>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567B</trans_no>
<trans_money>49990</trans_money>
<to_acc_name>李四</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_acc_dept>上海市|上海市|工商银行张江支行</to_acc_dept>
<trans_summary></trans_summary>
<trans_reserved></trans_reserved>
</trans_reqData>
<trans_reqData>
<trans_orderid>100003</trans_orderid>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567B</trans_no>
<trans_money>29990</trans_money>
<to_acc_name>李四</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_acc_dept>上海市|上海市|工商银行张江支行</to_acc_dept>
<trans_summary></trans_summary>
<trans_reserved></trans_reserved>
</trans_reqData>
</trans_reqDatas>
</trans_content>
JSON格式样例
{
"trans_content": {
"trans_head": {
"return_code": "0000",
"return_msg": "代付申请成功"
},
"trans_reqDatas": [{
"trans_reqData": [{
"trans_orderid": "100001",
"trans_batchid": "20001",
"trans_no": "1234567A",
"trans_money": "20000",
"to_acc_name": "张三",
"to_acc_no": "6222601234567890",
"to_acc_dept": "上海市|上海市|工商银行张江支行",
"trans_summary": ""
}, {
"trans_orderid": "100002",
"trans_batchid": "20001",
"trans_no": "1234567B",
"trans_money": "79980",
"to_acc_name": "李四",
"to_acc_no": "6222601234567890",
"to_acc_dept": "上海市|上海市|工商银行张江支行",
"trans_summary": "",
"trans_reserved": ""
}, {
"trans_orderid": "100003",
"trans_batchid": "20001",
"trans_no": "1234567B",
"trans_money": "29990",
"to_acc_name": "李四",
"to_acc_no": "6222601234567890",
"to_acc_dept": "上海市|上海市|工商银行张江支行",
"trans_summary": "",
"trans_reserved": ""
}]
}]
}
}
3.8 宝付账户实时交易接口(BF0040007)
3.8.1交易URL
测试环境地址:http://paytest.baofoo.com/baofoo-fopay/pay/BF0040007.do
正式环境地址:https://public.baofoo.com/baofoo-fopay/pay/BF0040007.do
3.8.2功能说明
- 该接口的主要功能为宝付账户实时交易。商户根据定义的报文格式组装报文发送给宝付,宝付同步处理完后返回所示格式的报文给商户。
- 如果宝付交易成功(以state交易转态为准),该交易可通过代付订单交易查证(BF0040002)查询。
- 如果宝付交易失败(以state交易转态为准),将会在返回给商户的报文中的return_code字段返回一个错误码,根据错误码在错误信息表里可以查看到具体的错误信息。
3.8.3加密串报文格式定义
参数名称 | 描述 | 出现要求 | 参数备注 |
trans_content➤trans_reqDatas➤trans_reqData(循环域) | |||
trans_no | 商户订单号 | M | 循环域,商户唯一流水号,格式只支持数字和英文,具体格式建议:商户编号+14位日期+3位随机数,如:100000178201412011230405687 |
trans_money | 交易金额 | M | 循环域,单位:元 |
to_acc_name | 收款人宝付会员名 | M | 循环域,如:好买基金 |
to_acc_no | 收款人宝付会员帐号 | M | 循环域,如:skyline@baofoo.com |
to_member_id | 收款方会员号 | M | 循环域,收款方的商户号,如:100016487 |
trans_summary | 摘要 | R | 循环域,可为空,最大支持256字符 |
trans_audit_info | 附加信息 | R | 扩展参数 |
XML格式样例
<?xml version="1.0" encoding="UTF-8" ?>
<trans_content>
<trans_reqDatas>
<trans_reqData>
<trans_no>1234567A</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>好买基金</to_acc_name>
<to_acc_no>skyline@baofoo.com</to_acc_no>
<to_member_id>100016487</to_member_id>
<trans_summary></trans_summary>
</trans_reqData>
</trans_reqDatas>
</trans_content>
JSON格式样例
{
"trans_content": {
"trans_reqDatas": [{
"trans_reqData": [{
"trans_no": "1234567A",
"trans_money": "1.23",
"to_acc_name": "好买基金",
"to_acc_no": "skyline@baofoo.com",
"to_member_id": "100016487",
"trans_summary": ""
}]
}]
}
}
3.8.4 同步响应报文说明
请求响应结果的数据类型根据请求参数字段“data_type”来决定,输出内容包括:
参数名称 | 描述 | 出现要求 | 参数备注 |
trans_content➤trans_head | |||
return_code | 响应码元素返回交易处理状态码 | M | 具体描述请参考附录1 |
return_msg | 响应信息元素交易处理状态中文信息 | M | |
trans_content➤trans_reqDatas➤trans_reqData(循环域) | |||
trans_orderid | 宝付订单号 | M | 循环域,宝付订单号返回唯一 |
trans_batchid | 宝付批次号 | M | 循环域 |
trans_no | 商户订单号 | M | 循环域,商户唯一流水号,格式只支持数字和英文,具体格式建议:商户编号+14位日期+3位随机数,如:100000178201412011230405687 |
trans_money | 交易金额 | M | 循环域,单位:元 |
to_acc_name | 收款人宝付商户名 | M | 循环域,如:好买基金 |
to_acc_no | 收款人宝付注册帐号 | M | 循环域,如:skyline@baofoo.com |
to_member_id | 收款方会员号 | M | 循环域,如:100016487 |
state | 交易处理状态 | M | 循环域,0:转账中;1:转账成功;-1:转账失败;2:转账退款 |
trans_summary | 摘要 | R | |
trans_remark | 备注(错误信息) | O | 循环域,错误信息备注 |
XML格式样例
<?xml version="1.0" encoding="UTF-8" ?>
<trans_content>
<trans_head>
<return_code>0000</return_code>
<return_msg>代付申请成功</return_msg>
</trans_head>
<trans_reqDatas>
<trans_reqData>
<trans_orderid>10001</trans_orderid>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567A</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>好买基金</to_acc_name>
<to_acc_no>skyline@baofoo.com</to_acc_no>
<to_member_id>100016487</to_member_id>
<state>1</state>
<trans_summary></trans_summary>
<trans_remark></trans_remark>
</trans_reqData>
</trans_reqDatas>
</trans_content>
JSON格式样例
{
"trans_content": {
"trans_head": {
"return_code": "0000",
"return_msg": "代付申请成功"
},
"trans_reqDatas": [{
"trans_reqData": {
"trans_orderid": "10001",
"trans_batchid": "20001",
"trans_no": "1234567A",
"trans_money": "1.23",
"to_acc_name": "好买基金",
"to_acc_no": "skyline@baofoo.com",
"to_member_id": "100016487",
"state": "1",
"trans_summary": "",
"trans_remark": ""
}
}]
}
}
3.9 账户收款方交易查证接口(BF0040010)
3.9.1交易URL
测试环境地址:http://paytest.baofoo.com/baofoo-fopay/pay/BF0040010.do
正式环境地址:https://public.baofoo.com/baofoo-fopay/pay/BF0040010.do
3.9.2功能说明
- 该接口的主要功能为账户间转账的收款方进行收款交易状态的查询;
- 商户根据定义的报文格式组装报文发送给宝付,宝付处理完后返回所示格式的报文给商户。商户根据宝付返回的报文可以查看到相关交易信息。
- 如果请求宝付成功,宝付返回给商户的报文中的return_code字段返回一个0000,该查证订单交易最终状态请按state参数说明。
- 如果请求宝付失败,将会在返回给商户的报文中的reuturn_code字段返回一个错误码,根据错误码在错误信息表里可以查看到具体的错误信息。
限制条件:
代付交易查证一次处理的请求条数(trans_reqData)有限制,不超过5个,超过5报:交易请求记录条数超过上限!
3.9.3加密串报文格式定义
参数名称 | 描述 | 出现要求 | 参数备注 |
>trans_content➤trans_reqDatas➤trans_reqData(循环域) | |||
to_acc_no | 收款方宝付会员帐号 | O | 循环域,如:skyline@baofoo.com |
to_member_id | 收款方会员号 | O | 循环域,如:100016487 |
trans_no | 付款方商户订单号 | M | 付款商户提交的订单编号 |
trans_member_id | 付款方会员号 | M | 付款商户会员号 |
trans_batchid | 宝付批次号 | O | 宝付代付交易返回批次号 |
trans_orderid | 宝付订单号 | O | 循环域,宝付订单号返回唯一 |
XML格式样例
<?xml version="1.0" encoding="UTF-8" ?>
<trans_content>
<trans_reqDatas>
<trans_reqData>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567A</trans_no>
</trans_reqData>
<trans_reqData>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567B</trans_no>
</trans_reqData>
</trans_reqDatas>
</trans_content>
JSON格式样例
{
"trans_content": {
"trans_reqDatas": [{
"trans_reqData": {
"trans_batchid": "20001",
"trans_no": "1234567A"
}
}]
}
}
3.9.4 同步响应报文说明
请求响应结果的数据类型根据请求参数字段“data_type”来决定,输出内容包括:
参数名称 | 描述 | 出现要求 | 参数备注 |
trans_content➤trans_head | |||
return_code | 响应码元素返回交易处理状态码 | M | 具体描述请参考附录1 |
return_msg | 响应信息元素交易处理状态中文信息 | M | |
trans_content➤trans_reqDatas➤trans_reqData(循环域) | |||
trans_orderid | 宝付订单号 | M | 循环域,宝付订单号返回唯一 |
trans_batchid | 宝付批次号 | M | 循环域 |
trans_no | 商户订单号 | M | 循环域,商户唯一流水号,格式只支持数字和英文,具体格式建议:商户编号+14位日期+3位随机数,如:100000178201412011230405687 |
trans_money | 转账金额 | M | 循环域,单位:元 |
to_acc_name | 收款人姓名 | M | 循环域 |
to_acc_no | 收款人银行帐号 | M | 循环域 |
to_acc_dept | 收款人开户行机构名 | M | 循环域,返回格式:省|市|支行 |
trans_fee | 交易手续费 | M | 循环域 |
state | 订单交易处理状态 | M | 循环域,0:转账中;1:转账成功;-1:转账失败;2:转账退款; |
trans_summary | 摘要 | R | 循环域 |
trans_remark | 备注(错误信息) | O | 循环域,错误信息备注 |
trans_starttime | 交易申请时间 | M | 循环域,格式:YYYY-MM-DD HH:mm:ss |
trans_endtime | 交易完成时间 | O | 循环域,格式:YYYY-MM-DD HH:mm:ss |
to_member_id | 收款方宝付会员号 | O | 循环域,(宝付账户交易返回) |
XML格式样例
<?xml version="1.0" encoding="UTF-8" ?>
<trans_content>
<trans_head>
<return_code>0000</return_code>
<return_msg>代付请求成功</return_msg>
</trans_head>
<trans_reqDatas>
<trans_reqData>
<trans_orderid>200014</trans_orderid>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567A</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>周小忍</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_acc_dept>上海市|上海市|工商银行张江支行</to_acc_dept>
<trans_fee>2.0</trans_fee>
<state>1</state>
<trans_summary></trans_summary>
<trans_remark>转账成功</trans_remark>
<trans_starttime>2014-12-10 03:04:55</trans_starttime>
<trans_endtime>2014-12-10 03:07:55</trans_endtime>
</trans_reqData>
<trans_reqData>
<trans_orderid>200015</trans_orderid>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567B</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>周小忍</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_acc_dept>上海市|上海市|工商银行张江支行</to_acc_dept>
<trans_fee>2.0</trans_fee>
<state>-1</state>
<trans_summary></trans_summary>
<trans_remark>余额不足</trans_remark>
<trans_starttime>20141210030455</trans_starttime>
<trans_endtime>20141210030755</trans_endtime>
</trans_reqData>
</trans_reqDatas>
</trans_content>
JSON格式样例
{
"trans_content": {
"trans_head": {
"return_code": "0000",
"return_msg": "代付请求成功"
},
"trans_reqDatas": [{
"trans_reqData": [{
"trans_batchid": "20001",
"trans_no": "1234567A",
"trans_money": "1.23",
"to_acc_name": "周小忍",
"to_acc_no": "6222601234567890",
"to_acc_dept": "上海市|上海市|张江支行",
"trans_fee": "2.0",
"state": "1",
"trans_summary": "",
"trans_remark": "转账成功",
"trans_starttime": "20141210030455",
"trans_endtime": "201412100304755"
}, {
"trans_batchid": "20001",
"trans_no": "1234567B",
"trans_money": "2.34",
"to_acc_name": "周小忍",
"to_acc_no": "6222601234567890",
"to_acc_dept": "上海市|上海市|张江支行",
"trans_fee": "2.0",
"state": "-1",
"trans_summary": "",
"trans_remark": "余额不足",
"trans_starttime": "20141210030455",
"trans_endtime": "201412100304755"
}]
}]
}
}
3.10 代付宝付回调接口
3.10.1功能说明
- 该接口的主要功能为商户进行BF0040001交易时,宝付代付结果通知给商户
- 代付订单最终交易状态以代付state为准
- 宝付返回格式为XML
- 商户接收到通知后务必在接收通知页面上返回大写OK
注意:- 宝付系统在未确认商户接收通知成功后将会通过重发机制通知商户(重发次数10次,请以第一次收到的付款成功的消息为准,避免进行多次确认)通知发给商户。
- 该接口除了订单成功、失败结果通知外,退款的结果也一并通知。
- 商户若需要该回调接口需联系技术支持人员配置回调地址等相关信息。
3.10.2加密串报文格式定义
参数名称 | 描述 | 出现要求 | 参数备注 |
trans_content➤trans_reqDatas➤trans_reqData(循环域) | |||
trans_orderid | 宝付订单号 | M | 循环域,宝付订单号返回唯一 |
trans_batchid | 宝付批次号 | M | 循环域,宝付批次号 |
trans_no | 商户订单号 | M | 循环域,商户唯一流水号 |
trans_money | 交易金额 | M | 循环域,单位:元 |
to_acc_name | 收款方姓名 | M | 循环域 |
to_acc_no | 收款方银行帐号 | M | 循环域 |
trans_fee | 交易手续费 | M | 循环域 |
state | 交易处理状态 | M | 循环域,0:转账中;1:转账成功;-1:转账失败;2:转账退款 |
trans_remark | 备注(错误信息) | O | 循环域,错误信息备注 |
trans_starttime | 交易申请时间 | M | 循环域,格式:yyyyMMddHHmmss |
trans_endtime | 交易完成时间 | O | 循环域,格式:yyyyMMddHHmmss |
trans_reserved | 用途 | R | 循环域,可为空,最大支持256字符 |
resp_code | 返回码 | R | 8888:转账成功 1000:余额不足 1001:其他失败 |
XML格式样例
<?xml version="1.0" encoding="UTF-8" ?>
<trans_content>
<trans_reqDatas>
<trans_reqData>
<trans_orderid>200014</trans_orderid>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567A</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>周小忍</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<trans_fee>2.0</trans_fee>
<state>1</state>
<trans_summary></trans_summary>
<trans_remark>转账成功</trans_remark>
<trans_starttime>20141210030455</trans_starttime>
<trans_endtime>20141210030755</trans_endtime>
<trans_reserved></trans_reserved>
</trans_reqData>
</trans_reqDatas>
</trans_content>
3.10.3 同步响应报文说明
商户接收到通知返回ok字符串。
注:若开发此接口,请务必确认已返回“OK”。
3.11 代付交易接口(BF0042001)
3.11.1 交易URL
- 测试环境地址:http://paytest.baofoo.com/baofoo-fopay/pay/BF0042001.do
- 正式环境地址:https://public.baofoo.com/baofoo-fopay/pay/BF0042001.do
3.11.2 功能说明
- 该接口的主要功能为代付交易。商户根据定义的报文格式组装报文发送给宝付,宝付同步处理完后返回所示格式的报文给商户。
- 如果宝付收单成功,将会在返回给商户的报文中的return_code字段返回一个0000,该交易查证需要调用代付订单查证(BF0040002)交易。
- 如果宝付收单失败,将会在返回给商户的报文中的return_code字段返回一个错误码,根据错误码在错误信息表里可以查看到具体的错误信息。
限制条件:
代付交易一次处理的请求条数(trans_reqData)有限制,不超过5个,超过5个:交易请求记录条数超过上限!
请求报文体中的trans_no要求全局唯一,如果发现有重复则报错;注意:测试环境为模拟各种生产上出现的订单问题,交易结果为随机
3.11.3 加密串报文格式定义
参数名称 | 描述 | 出现要求 | 参数备注 |
trans_content➤trans_reqDatas➤trans_reqData(循环域) | |||
trans_no | 商户订单号 | M | 循环域,商户唯一流水号,格式只支持数字和英文,具体格式建议:商户编号+14位日期+3位随机数,如:100000178201412011230405687 |
trans_money | 转账金额 | M | 循环域,单位:元 |
to_acc_name | 收款人姓名 | M | 循环域,如:张三 |
to_acc_no | 收款人银行帐号 | M | 循环域,如:6222601234567890 |
to_bank_name | 收款人银行名称 | M | 循环域,如:中国工商银行 |
to_pro_name | 收款人开户行省名 | C | 循环域,如:上海市【见支付方式说明】 |
trans_cnap | 联行号 | C | 循环域,如: 11375211076 |
to_city_name | 收款人开户行市名 | C | 循环域,如:上海市【见支付方式说明】 |
to_acc_dept | 收款人开户行机构名 | C | 循环域,如:世纪大道支行【见支付方式说明】 |
trans_card_id | 银行卡身份证件号码 | C | 循环域,出现要求遵循双方约定,注:目前身份证件只支持身份证,填写身份证号码即可; |
trans_mobile | 银行卡预留手机号 | C | 循环域,出现要求遵循双方约定,注:建议商户填写预留手机号码,若无预留手机号可填写本人其它手机号; |
trans_summary | 摘要 | R | 循环域,可为空,最大支持256字符 |
trans_reserved | 用途 | R | 循环域,可为空,最大支持256字符 |
trans_audit_info | 附加字段 | R | 扩展参数,以json格式传输 |
XML格式样例
<?xml version="1.0" encoding="UTF-8" ?>
<trans_content>
<trans_reqDatas>
<trans_reqData>
<trans_no>1234567A</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>周小忍</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_bank_name>工商银行</to_bank_name>
<to_pro_name>上海市</to_pro_name>
<to_city_name>上海市</to_city_name>
<to_acc_dept>张江支行</to_acc_dept>
<trans_card_id>22032319930425218X</trans_card_id>
<trans_mobile>18217550000</trans_mobile>
<trans_summary></trans_summary>
<trans_reserved></trans_reserved>
</trans_reqData>
<trans_reqData>
<trans_no>1234567B</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>周小忍</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_bank_name>工商银行</to_bank_name>
<to_pro_name>上海市</to_pro_name>
<to_city_name>上海市</to_city_name>
<to_acc_dept>张江支行</to_acc_dept>
<trans_card_id>22032319930425218X</trans_card_id>
<trans_mobile>18217550000</trans_mobile>
<trans_summary></trans_summary>
<trans_reserved></trans_reserved>
</trans_reqData>
</trans_reqDatas>
</trans_content>
JSON格式样例
{
"trans_content": {
"trans_reqDatas": [{
"trans_reqData": [{
"trans_no": "1234567A",
"trans_money": "1.23",
"to_acc_name": "周小忍",
"to_acc_no": "6222601234567890",
"to_bank_name": "工商银行",
"to_pro_name": "上海市",
"to_city_name": "上海市",
"to_acc_dept": "张江支行",
"trans_card_id": "22032319930425218X",
"trans_mobile": "18217550000",
"trans_summary": "",
"trans_reserved": ""
}, {
"trans_no": "1234567B",
"trans_money": "2.34",
"to_acc_name": "周小忍",
"to_acc_no": "6222601234567890",
"to_bank_name": "工商银行",
"to_pro_name": "上海市",
"to_city_name": "上海市",
"to_acc_dept": "张江支行",
"trans_card_id": "22032319930425218X",
"trans_mobile": "18217550000",
"trans_summary": "",
"trans_reserved": ""
}]
}]
}
}
3.11.4 同步响应报文说明
请求响应结果的数据类型根据请求参数字段“data_type”来决定,输出内容包括:
参数名称 | 描述 | 出现要求 | 参数备注 |
trans_content➤trans_head | |||
return_code | 响应码元素返回交易处理状态码 | M | 具体描述请参考附录1 |
return_msg | 响应信息元素交易处理状态中文信息 | M | |
trans_content➤trans_reqDatas➤trans_reqData(循环域) | |||
trans_orderid | 宝付订单号 | M | 循环域,宝付订单号返回唯一 |
trans_batchid | 宝付批次号 | M | 循环域 |
trans_no | 商户订单号 | M | 循环域; 商户唯一流水号, 具体格式建议:商户编号+14位日期+3位随机数 如:100000178201412011230405687 |
trans_money | 转账金额 | M | 单位:元 |
to_acc_name | 收款人姓名 | M | 循环域 |
to_acc_no | 收款人银行帐号 | M | 循环域 |
to_acc_dept | 收款人开户行机构名 | M | 循环域,返回格式:省|市|支行 |
trans_summary | 摘要 | R | 循环域 |
trans_reserved | 用途 | R | 循环域 |
同步响应数据案例如下:
XML格式样例
<?xml version="1.0" encoding="UTF-8" ?>
<trans_content>
<trans_head>
<return_code>0000</return_code>
<return_msg>代付申请成功</return_msg>
</trans_head>
<trans_reqDatas>
<trans_reqData>
<trans_orderid>10001</trans_orderid>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567A</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>周小忍</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_acc_dept>上海市|上海市|工商银行张江支行</to_acc_dept>
<trans_summary></trans_summary>
<trans_reserved></trans_reserved>
</trans_reqData>
<trans_reqData>
<trans_orderid>10002</trans_orderid>
<trans_batchid>20001</trans_batchid>
<trans_no>1234567B</trans_no>
<trans_money>1.23</trans_money>
<to_acc_name>周小忍</to_acc_name>
<to_acc_no>6222601234567890</to_acc_no>
<to_acc_dept>上海市|上海市|工商银行张江支行</to_acc_dept>
<trans_summary></trans_summary>
<trans_reserved></trans_reserved>
</trans_reqData>
</trans_reqDatas>
</trans_content>
JSON格式样例
{
"trans_content": {
"trans_head": {
"return_code": "0000",
"return_msg": "代付申请成功"
},
"trans_reqDatas": [{
"trans_reqData": [{
"trans_orderid": "10001",
"trans_batchid": "20001",
"trans_no": "1234567A",
"trans_money": "1.23",
"to_acc_name": "周小忍",
"to_acc_no": "6222601234567890",
"to_acc_dept": "上海市|上海市|工商银行张江支行",
"trans_summary": "",
"trans_reserved": ""
}, {
"trans_orderid": "10002",
"trans_batchid": "20001",
"trans_no": "1234567B",
"trans_money": "2.34",
"to_acc_name": "周小忍",
"to_acc_no": "6222601234567890",
"to_acc_dept": "上海市|上海市|工商银行张江支行",
"trans_summary": "",
"trans_reserved": ""
}]
}]
}
}
4.注意事项
1、代付交易付款状态为“未知”时(附录中以使用红字描述),需使用查询接口查询订单最终状态,只有查询到state状态时才能判定订单状态。其他情况以最终对账文件中状态为准。
2、return_code不得作为订单状态,只表示受理成功。
3、文档中付款状态为未知状态,禁止此订单重发交易(除订单查询state有明确的失败的状态以外)。
附录1: 《宝付代付介绍手册》响应码信息
响应码范围 | 含义 |
---|---|
0000 | 代付请求交易成功(交易已受理) |
0001-0199 | 有关商户端上送报文格式检查导致的错误 |
0201-0599 | 有关商户相关业务检查导致的错误 |
其他 | 预留 |
响应码 | 付款状态 | 错误信息 |
---|---|---|
0000 | 未知 | 代付请求交易成功(交易已受理) |
0001 | 失败 | 商户代付公共参数格式不正确,{} |
0002 | 失败 | 商户代付证书无效 |
0003 | 失败 | 商户代付报文格式不正确,{} |
0004 | 失败 | 交易请求记录条数超过上限! |
0201 | 失败 | 商户未开通代付业务 |
0202 | 失败 | 商户不存在,请联系宝付技术支持 |
0203 | 失败 | 商户代付业务未绑定IP,请联系宝付技术支持 |
0204 | 失败 | 商户代付终端号不存在,请联系宝付技术支持 |
0205 | 失败 | 商户代付收款方账号{}被列入黑名单,代付失败 |
0206 | 失败 | 商户代付交易受限{} |
0207 | 失败 | 商户和委托商户不能相同 |
0208 | 失败 | 商户和委托商户绑定关系不存在 |
0300 | 未知 | 代付交易未明,请发起该笔订单查询 |
0301 | 失败 | 代付交易失败 |
0401 | 未知,请根据对账文件 | 代付交易查证信息不存在 |
0501 | 失败 | 代付白名单添加失败 |
0601 | 失败 | 代付(同卡进出)交易失败 |
0999 | 未知 | 代付主机系统繁忙 |
附录2:证书加密说明
1、测试环境使用宝付提供的测试证书和测试信息,正式环境公私钥证书需要商户自行使用开发包中提供的证书生成工具生成,并且需要登录宝付后台上传您的公钥和下载宝付的公钥;
2、“商户公钥”是做为一个证书文件保存在商户手中,商户通过“商户公钥”来加密请求的“data_type” 字段的数据,加密后的字符需要转成十六进制的字符。
附录3:银行字典
代付支持银行基本覆盖国内所有银行,全国性银行均支持,外资及区域性银行有银联标志均支持。具体支持银行请查阅开发包中的文档“代付支持银行列表”。
为提高通过率及到账时间,有如下建议:
a)请以”代付支持银行列表”中的银行名称填写;
b)若银行卡未带银联标识,对私银行建议填写开户省市支行信息;
c)若对私银行名称为“商业银行”,请直接填写商业银行,并填写相应的省市支行信息;
d)若对私银行名称为“信用合作社”,请直接填写信用合作社,并填写相应的省市支行信息;
附录4:扩展参数
序号 | 属性 | 属性名称 | 类型 | 必要性 | 属性说明 |
---|---|---|---|---|---|
1 | goodsCategory | 行业类目 | String | M | 见:行业类目 |
2 | userLoginId | 商户用户登录名 | String | M | 用户在商户系统中的登陆名(手机号、邮箱等标识) |
3 | userEmail | 用户邮箱 | String | O | 用户在商户系统中注册的邮箱 |
4 | userMobile | 绑定手机号 | String | M | 商户系统中绑定手机号,如有,需要传送 |
5 | registerUserName | 用户注册姓名 | String | M | |
6 | identifyState | 是否实名认证 | String | M | 1是 0不是 |
7 | userIdNo | 用户身份证号 | String | M | |
8 | registerTime | 注册时间 | String | M | YYYYMMDDHHMMSS |
9 | registerIp | 注册IP | String | O | 用户在商户端注册时留存的IP |
10 | chName | 持卡人姓名 | String | M | |
11 | chIdNo | 持卡人身份证号 | String | M | |
12 | chCardNo | 持卡人银行卡号 | String | M | |
13 | chMobile | 持卡人手机 | String | M | |
14 | chPayIp | 持卡人支付IP | String | M | 持卡人在支付时的IP地址 |
15 | deviceOrderNo | 设备指纹订单号 | String | M | 生成设备指纹的订单号(用于快捷),如果和支付订单号一致,传相同的值 |
16 | locationPoint | 经纬度坐标 | String | O | 格式:经度,维度;示例:121.603493,31.218363 |
附录5:行业类目
代码 | 描述 |
---|---|
01 | 电商 |
02 | 互金消金 |
03 | 航旅 |
04 | 酒店 |
05 | 保险 |
06 | 游戏 |
07 | 大宗 |
08 | 留学 |
最后编辑:xiaofeng 更新时间:2025-01-09 17:41