1 文档说明
1.1 文档目的
本文档的目的是为联合放款相关业务定义一个接口规范,以帮助商户技术人员快速接入宝付平台,并快速掌握其相关功能,便于尽快的投入使用。
1.2 阅读对象
- 商户开发人员、维护人员和管理人员
- 宝付相关的技术人员
1.3 技术支持
在开发或使用联合放款API接口时,如果您有任何技术上的疑问,请按如下方式寻求帮助,宝付技术支持人员会及时处理,给予您答复:
技术支持热线:021-68819999-8005
技术支持Email:support@baofoo.com
技术支持QQ:800066689
1.4 术语与定义
1.4.1 符号含义
序号 | 符号缩写 | 符号性质 | 符号说明 |
---|---|---|---|
1 | M | 强制域(Mandatory) | 必须填写的属性,否则会被认为格式错误 |
2 | C | 条件域(Conditional) | 某条件成立时必须填写的属性 |
3 | O | 选用域(Optional) | 选填属性 |
4 | R | 原样返回域(Returned) | 必须与先前报文中对应域的值相同的域 |
1.4.2 术语含义
- 商户号:宝付提供给商户的唯一编号,是商户在宝付的唯一标识;
- 终端号:商户在与宝付签订某项具体产品功能的合作协议自动分配的会员属性,将用于进行具体交易的必要参数。
- 商户订单号:商户请求宝付时提交的订单号,当天请求不可重复,如果商户开通“发送短信类交易”,该订单号从发送短信类交易到当前交易都有效;
- 宝付交易号:宝付用于一笔订单的唯一标识;
2. 业务接口说明
2.1 业务说明
借款人向平台/资方申请借贷,平台/资方联合另外一个或者多个资方,由平台发起指令,进行联合放款。
流程图:
流程说明:
1)借款人向平台申请借款;
2)平台向宝付发起放款指令,指令中包含自己出款金额、多个资方、多个资方相应出款金额,放款账户信息,放款总金额;
3)宝付内部处理指令,将多个资方账户资金扣款,并进行合并,最后进行一笔放款,由宝付备付金单笔出款至借款人银行卡账户;
宝付单笔合并付款,单笔总金额放款成功/失败,失败时资金可以原路返回至各资方虚拟账户;
4)宝付执行,并反馈处理结果;
2.2 交易接口
2.2.1 接口URL
- 测试环境地址:https://vgw.baofoo.com/fo-finance-web/facmkt/api/unionPayOrder
- 正式环境地址:https://public.baofoo.com/fo-finance-web/facmkt/api/unionPayOrder
请求报文
序号 | 域名 | 变量名 | 必填 | 备注 |
---|---|---|---|---|
01 | 数据域 | DataContent | M | 将组装的json格式数据(请参照数据模版组装)进行十六进制编码转化。 |
02 | 签名 | Dignature | M | 签名字段如下签名数据模版 |
签名数据
序号 | 域名 | 变量名 | 必填 | 备注 |
---|---|---|---|---|
01 | 商户号 | memMermberId | M | 宝付提供给商户的唯一编号 |
02 | 终端号 | memTerminalId | M | |
03 | 商户订单号 | memTransNo | M | 商户订单号,上送必须唯一 |
04 | 交易总金额 | memTotalMoney | M | 单位:分 例:1元输入100 |
05 | 出资方账户 | capitalInfos | M | 格式:账户,金额; 账户[与平台绑定过的宝付账户], 金额[单位:分;例:1元输入100] |
06 | 下发类型 | foTransTarget | M | 0:转账到银行卡;1:转账到账户; |
07 | 收款人名称 | foAccountName | M | |
08 | 收款人账号 | foAccountNo | M | Des加密 key:BAOFOO_商户号_终端号 |
09 | 收款人身份证 | foCardId | O | Des加密 key:BAOFOO_商户号_终端号 |
10 | 收款人手机号 | foMobile | O | Des加密 key:BAOFOO_商户号_终端号 |
11 | 收款人银行名称 | foBankName | M | |
12 | 收款人开户行省名 | foBankPro | C | 转账目标为转账到银行(对公)时必须上送 ,其他可以不上送 |
13 | 收款人开户行市名 | foBankCity | C | 转账目标为转账到银行(对公)时必须上送 ,其他可以不上送 |
14 | 收款人开户支行名称 | foBankDept | C | 转账目标为转账到银行(对公)时必须上送 ,其他可以不上送 |
15 | 备注信息 | memRemark | O | |
16 | 版本号 | memVersion | M | 4.0.0.0 |
17 | 商户通知地址 | memNoticeUrl | M |
签名数据模板:
- JSON示例
{
"memMermberId": "100000178",
"memTerminalId": "100000859",
"memTransNo:"100000178201412011230405687",
"memTotalMoney": "10000",
"capitalInfos": "100000178,100;100000249,100;100000223,800",
"foTransTarget": "0",
"foAccountName": "李四股份有限公司",
"foAccountNo": "****",
"foBankName": "招商银行",
"foBankPro": "上海市",
"foBankCity": "上海市",
"foBankDept": "张江高科支行",
"memRemark": "给李四的转账",
"memNoticeUrl": "http://www.xxxx.com",
"memVersion": "4.0.0.0"
}
应答报文(宝付返回报文)
响应结果都是宝付通过非对称加密公私钥方式发送给商户。商户接收到宝付的响应报文,将接收到的DataContent内容,先进行十六进制解码,再用宝付发给商户且后缀为(*.cer)的公钥证书进行验签。
序号 | 域名 | 变量名 | 必填 | 备注 |
---|---|---|---|---|
01 | 数据域 | DataContent | M | 数据(json格式)进行十六进制解码,再公钥验签。 |
02 | 签名 | Dignature | M | 签名字段如下签名数据模版 |
签名数据
序号 | 域名 | 变量名 | 必填 | 备注 |
---|---|---|---|---|
01 | 版本号 | memVersion | M | |
02 | 商户订单号 | memTransNo | M | |
03 | 宝付订单号 | memOrderId | O | |
04 | 应答码 | memRetCode | M | 0000 |
05 | 应答信息 | memRetMessage | M | 交易成功 |
06 | 商户号 | memMermberId | M | |
07 | 终端号 | memTerminalId | M | |
08 | 订单状态 | memOrderState | M | 标识交易结果,取值如下(大写字母): S:处理成功 F:处理失败 P:处理中 (处理中查看明细状态) 注:当memRetCode为0000时,再根据该字段判断交易状态,P状态表示交易处理中,详细信息请参照memOrderDetailState |
09 | 订单详细状态 | memOrderDetailState | O | P00:受理成功,业务待处理 P01:资金归集中 P02:资金归集完成,待下发 P03:下发处理中 |
返回报文实例:
DataContent= eyJBZGRpdGlvbmFsSW5mbyI6IiIsIkJrQWNjdE5tIjoi5byg5a6dIiwiQmtBY2N0Tm8iOiI2MjIyMDIwMTExMTIyMjIwMDAwIiwiSURObyI6IjMyMDMwMTE5ODUwMjE2OTE0MiIsIklEVHAiOiIwMSIsIk1vYk5vIjoiMTM5MTg1MDQ1MTUiLCJNcmNoZW50Tm8iOiIxMDAwMDA3NDkiLCJSZXFSZXNlcnZlZCI6IiIsIlRybU5vIjoiMTAwMDAwOTQ5IiwiVHJ4RHRUbSI6IjIwMTcwNTAyMTAwNDAyIiwiVHJ4SWQiOiIyMDE3MDUwMjEwMDQwMiIsIlZlcnNpb24iOiIifQ==
签名报文:
- JSON
{
"memVersion":"4.0.0.0",
"memTransNo":"100000178201412011230405687",
"memOrderId:"452167544",
"memRetCode":"00000",
"memRetMessage":"交易成功",
"memMermberId":"100000178",
"memTerminalId:"100000859",
"memOrderState":"P",
"memOrderDetailState":"P00"
}
2.3 交易查询接口
2.3.1 接口URL
- 测试环境地址:https://vgw.baofoo.com/fo-finance-web/facmkt/api/unionPayOrderQuery
- 正式环境地址:https://public.baofoo.com/fo-finance-web/facmkt/api/unionPayOrderQuery
请求报文
序号 | 域名 | 变量名 | 必填 | 备注 |
---|---|---|---|---|
01 | 数据域 | DataContent | M | 将组装的json格式数据(请参照数据模版组装)进行十六进制编码转化。 |
02 | 签名 | Dignature | M | 签名字段如下签名数据模版 |
签名数据
序号 | 域名 | 变量名 | 必填 | 备注 |
---|---|---|---|---|
01 | 商户号 | memMermberId | M | 宝付提供给商户的唯一编号 |
02 | 终端号 | memTerminalId | M | |
03 | 宝付订单号 | memOrderId | O | 宝付订单号 |
04 | 版本号 | memVersion | M | 4.0.0.0 |
05 | 商户订单号 | memTransNo | M |
签名数据模板:
- JSON示例
{
"memMermberId":"100000178",
"memTerminalId":"100000859",
"memOrderId:"452167544",
"memTransNo":"100000178201412011230405687",
"memVersion":"4.0.0.0"
}
应答报文(宝付返回报文)
响应结果都是宝付通过非对称加密公私钥方式发送给商户。商户接收到宝付的响应报文,将接收到的DataContent内容,先进行十六进制解码,再用宝付发给商户且后缀为(*.cer)的公钥证书进行验签。
序号 | 域名 | 变量名 | 必填 | 备注 |
---|---|---|---|---|
01 | 数据域 | DataContent | M | 数据(json格式)进行十六进制解码,再公钥验签。 |
02 | 签名 | Dignature | M | 签名字段如下签名数据模版 |
签名数据
序号 | 域名 | 变量名 | 必填 | 备注 |
---|---|---|---|---|
01 | 版本号 | memVersion | M | |
02 | 商户订单号 | memTransNo | M | |
03 | 宝付订单号 | memOrderId | O | |
04 | 应答码 | memRetCode | M | 0000 |
05 | 应答信息 | memRetMessage | M | 交易成功 |
06 | 商户号 | memMermberId | M | |
07 | 终端号 | memTerminalId | M | |
08 | 订单状态 | memOrderState | M | 标识交易结果,取值如下(大写字母): S:处理成功 F:处理失败 P:处理中 (处理中查看明细状态) 注:当memRetCode为0000时,再根据该字段判断交易状态,P状态表示交易处理中,详细信息请参照memOrderDetailState |
09 | 订单详细状态 | memOrderDetailState | O | P00:受理成功,业务待处理 P01:资金归集中 P02:资金归集完成,待下发 P03:下发处理中 |
返回报文实例:
DataContent= eyJBZGRpdGlvbmFsSW5mbyI6IiIsIkJrQWNjdE5tIjoi5byg5a6dIiwiQmtBY2N0Tm8iOiI2MjIyMDIwMTExMTIyMjIwMDAwIiwiSURObyI6IjMyMDMwMTE5ODUwMjE2OTE0MiIsIklEVHAiOiIwMSIsIk1vYk5vIjoiMTM5MTg1MDQ1MTUiLCJNcmNoZW50Tm8iOiIxMDAwMDA3NDkiLCJSZXFSZXNlcnZlZCI6IiIsIlRybU5vIjoiMTAwMDAwOTQ5IiwiVHJ4RHRUbSI6IjIwMTcwNTAyMTAwNDAyIiwiVHJ4SWQiOiIyMDE3MDUwMjEwMDQwMiIsIlZlcnNpb24iOiIifQ==
签名报文:
- JSON
{
"memVersion":"4.0.0.0",
"memOrderId:"452167544",
"memTransNo:"201703121311122312345",
"memRetCode":"00000",
"memRetMessage":"交易成功",
"memMermberId":"100000178",
"memTerminalId:"100000859",
"memOrderState":"P",
"memOrderDetailState":"P01"
}
2.4 交易通知接口
支付同步返回的结果是付款受理结果不是最终的支付结果,支付最终的结果异步发送给商户交易时传送的通知地址;
支付响应结果都是宝付通过非对称加密公私钥方式发送给商户。商户接收到宝付的响应报文,将接收到的DataContent内容,先进行Base64解码,再用宝付发给商户且后缀为(*.cer)的公钥证书进行验签
注:确认付款同步返回支付结果,代表支付受理成功,并不代表交易成功,请切记不可使用该地址的服务进行交易结果处理。
请求地址:商户在订单请求时传送,代付交易成功(失败)后用于通知商户交易结果的地址
请求报文
序号 | 域名 | 变量名 | 必填 | 备注 |
---|---|---|---|---|
01 | 数据域 | DataContent | M | 数据(json格式)进行十六进制解码,再公钥验签。 |
02 | 签名 | Dignature | M | 签名字段如下签名数据模版 |
签名数据
序号 | 域名 | 变量名 | 必填 | 备注 |
---|---|---|---|---|
01 | 版本号 | memVersion | M | |
02 | 商户订单号 | memTransNo | M | |
03 | 宝付订单号 | memOrderId | M | |
04 | 应答码 | memRetCode | M | 0000 |
05 | 应答信息 | memRetMessage | M | 交易成功 |
06 | 商户号 | memMermberId | M | |
07 | 终端号 | memTerminalId | M | |
08 | 订单状态 | memOrderState | M | 标识交易结果,取值如下(大写字母): S:处理成功 F:处理失败 P:处理中 |
09 | 交易总金额 | memTotalMoney | M | 交易总金额 |
商户接收通知后
商户提交订单支付请求后,用户通过正常的支付流程支付成功或者支付失败后,支付接口将支付结果通知给商户。
支付结果通知由宝付系统确保一定成功发送给商户。成功发送是指由宝付发出结果通知 到商户后,能够成功获取商户的返回确认(商户接收通知的ReturnUrl在页面上输出OK表 示接收成功<除了OK无任何其他内容>),宝付系统在未确认商户接收通知成功后将会通过 重发机制通知商户(重发次数2~10次,请以第一次收到的支付成功的消息为准,避免进行重复通知)
返回值 | 参数说明 |
---|---|
OK | 成功接收到宝付支付结果时返回OK注:宝付将接受返回的字符自动去除前空格,为兼容文件格式差异, 宝付会匹配前5个字符,包含OK的,则认为商户接受OK,否则按 照规则补发通知。 |