1.文档说明
1.1文档目的
本文档的目的是为宝付互联网支付网关平台定义一个接口规范,以帮助商户技术人员快 速接入宝付互联网支付网关和查询订单,并快速掌握互联网支付网关的相关功能,便于尽快 的投入使用。
1.2阅读对象
- 商户开发人员、维护人员和管理人员
- 宝付互联网支付产品相关的技术人员
1.3技术支持
在开发或使用宝付互联网支付接口时,如果您有任何技术上的疑问,请按如下方式寻求帮助,宝付技术支持人员会及时处理,给予您答复:
技术支持热线:021-68819999-8005
技术支持Email:support@baofoo.com
技术支持QQ:800066689
2.接口须知
2.1术语含义
- 互联网支付:是指持卡人通过 PC 端(电脑)通过浏览器进行支付的方式。
- 会员:在宝付注册并使用宝付提供的互联网产品的企业或者个人。
- 签约:与宝付签订商业合作协议,使用宝付提供的代收,代付代扣等互联网金融服 务功能。
- 商户:与宝付签订商户合约的宝付会员。
- 终端:商户在与宝付签订某项具体互联网金融功能合作协议自动分配的会员属性, 终端将用于进行具体的金融交易必要参数。
- 订单:是指商户在使用宝付金融功能时产生的交易记录,商户和宝付之间采用订单 作为结算的唯一依据。
- 密钥:是指宝付分配给商户用于进行安全通讯验证的随机字符串或者是数字证书。
- 用户:是指在商户平台注册的企业或个人。
2.2接口准备
- 仔细阅读本文档相关申明和注意事项
- 商户调试接口相关的文档
- 商户的支付网关商户号、终端、密钥
2.3互联网支付流程
支付流程:
- 流程步骤说明
1.持卡人登录商户网站,选择支付内容并下单,商户网站产生预订单信息,商户提供商户订单号、订单时间、订单金额等信息;
2.持卡人提交订单后,商户将产生的订单信息服务发送给宝付,跳转至宝付支付网关,完成支付请求;
3.持卡人在宝付支付网关选择付款银行;
4.宝付网关跳转至相对应的银行网银支付页面,持卡人在银行支付页面填写网银登录名、密码等信息进行在线支付;
5.银行直接将支付结果反馈给持卡人;
6.银行网银支付系统通知宝付订单支付结果(服务器通知方式);
7.宝付系统异步将支付结果通知给商户(服务器通知方式);
3.互联网支付网关接口
3.1 支付接口
宝付支付网关支付是指用户从商户应用先经过宝付收银台,进行相关信息的填写,再由宝付提交至银行处理的支付方式。
注:
请勿在测试环境使用大额支付,测试金额不予返还,建议使用1分钱进行测试;
上线时,请及时更换正式商户号、终端号和密钥,并提交至正式环境。
3.1.1 支付请求报文
支付请求报文,是指商户通过HTTPS请求,采用POST方式提交并经过MD5加密 或证书加密提交订单信息至宝付接收地址,宝付将获取参数进行加密信息比对校验,校验一致则把订单信息及结果通知给商户。
测试接收地址https://vgw.baofoo.com/sharepayindex
正式接收地址https://gw.baofoo.com/sharepayindex
请求报文
序号 | 域名 | 变量名 | 必填 | 备注 |
---|---|---|---|---|
01 | 版本号 | interfaceVersion | M | 4.1:加密数据类型为xml 4.2:加密数据类型为json |
02 | 终端号 | terminalId | M | 由宝付分配 |
03 | 商户号 | memberId | M | 宝付提供给商户的唯一编号 |
04 | 加密数据 | dataContent | M | 具体参数如下加密数据注意:加密之前,先将组装的数据(请参照数据模版组装)进行Base64编码转化,然后再进行证书加密。 |
加密数据
序号 | 域名 | 变量名 | 必填 | 备注 |
---|---|---|---|---|
01 | 功能ID | payId | O | 参考《附录:产品功能》,注:若选择全部银行则为空字符串,选择全部银行即跳转宝付收银台选择银行 |
02 | 终端号 | terminalId | M | |
03 | 商户号 | memberId | M | 宝付提供给商户的唯一编号 |
04 | 商户订单号 | transId | M | 唯一订单号,8-20 位字母和数字,宝付将以此作为结算的唯一凭证 |
05 | 交易日期 | tradeDate | M | 14 位定长。格式:年年年年月月日日时时分分秒秒 |
06 | 交易金额 | orderMoney | M | 单位:分,例:1元则提交100 |
07 | 商品名称 | productName | O | |
08 | 商品数量 | amount | O | 默认为1 |
09 | 用户名称 | userName | O | 长度不超过64位 |
10 | 附加字段 | additionalInfo | O | 长度不超过64位 |
11 | 通知类型 | noticeType | M | 固定数字:1 |
12 | 页面返回地址 | pageUrl | M | 该地址通知服务不可以用作交易处理 |
13 | 交易通知地址 | returnUrl | M | 服务器通知地址:http://www.baofoo.com/demo/return_url |
14 | 分账信息 | shareInfo | M | 单位(分),格式:商户1,金额1;商户2,金额2… 例如:100000363,10;100000364,90; |
15 | 分账手续费商户 | feeMemberId | C | 填入手续费出款方商户id |
16 | 通知地址 | notifyUrl | M | 分账成功之后通知地址 |
17 | 请求方保留域 | reqReserved | O | |
18 | 交易模式 | model | O | 用来控制宝付收银台界面展示的产品。可选填:b2b,b2c b2b:宝付收银台只展示b2b产品 b2c:宝付收银台只展示b2c相关产品 |
加密数据模板:
- XML
<?xml version="1.0" encoding="UTF-8" ?> <data_content> <payId>3001</payId> <terminalId>100000916</terminalId> <memberId>100000178</memberId> <transId>1236546587</transId> <tradeDate>20170428145222</tradeDate> <orderMoney>1000</orderMoney> <productName>土豪金</productName> <amount>1</amount> <userName>土豪</userName> <pageUrl>http://www.baofoo.com/demo/page_url</pageUrl> <returnUrl>http://www.baofoo.com/demo/return_url</returnUrl> <shareInfo>100000363,500;10000758,500;</shareInfo> <notifyUrl>http://www.baofoo.com/demo/return_url</notifyUrl> <noticeType>1</noticeType> <feeMemberId>100000749</feeMemberId> <reqReserved>bb</reqReserved> </data_content>
- JSON
{ "payId": "3001", "terminalId": "100000916", "memberId": "100000178", "transId": "1236546587", "tradeDate": "201412171132", "orderMoney": "1000", "productName": "土豪金", "amount": "1", "userName": "土豪", "pageUrl": "http://www.baofoo.com/demo/page_url", "returnUrl": "http://www.baofoo.com/demo/return_url", "notifyUrl": "http://www.baofoo.com/demo/return_url", "shareInfo": "100000363,500;10000758,500;", "noticeType": "1", "additionalInfo": "aa", "reqReserved": "bb" }
3.1.2 支付返回报文
应答报文(宝付返回报文)
支付返回报文是指宝付在用户交易结束后,会将支付结果以页面返回和交易通知两种方 式同时分别请求商户的页面返回地址和交易通知地址。
支付响应结果都是宝付通过非对称加密公私钥方式发送给商户。商户接收到宝付的响应报文,将接收到的data_content内容,用宝付发给商户且后缀为(*.cer)的公钥证书进行解密。
注:
发送至商户页面返回地址的支付返回报文仅用于在页面上以一种友好的方式通知用户支付结果,代表支付成功或受理成功,并不代表交易成功,请切记不可使用该地址的服务进行交易结果处理。
返回请求地址:商户在订单请求时的页面通知地址和交易通知地址
返回报文实例:
data_content= 4d34ab4f6f7f0cf3bec59a8028bb253ae6e6408c3ccb60d440a900d7e1cc627765cb8d9e0ec8b90caab5501d4fc54fcca54e7932e1254ff2f54aebd476f1f663f76fe4e855767621012fd69fb67130ac66362dc110219352b8b72b913cb354c50adf94b4b57728b1ec604288e0abab32987b72ba2f056c021d15326caac1d23d164f068f8208a471f7e939e0cc8aa757db805e109ab79ec547e5adbebfef338755bafe27bacd43329b0e9aa9660b63503eaf91f1185a868e54a850bc73531fee1f8f2d760f2bec40bcbf5cacd6723e8d2bae01dd89247020de6efc2a104c70ac5a448cd43bd18ab32c6b97516158454a98941864245eb837a82a4df039373e3b400f5e297ffc4504a205ba50a52d9f8824699dc21c91bf0d3da3026baf4c8863fb6c297ddbe84191e0928361ef70adacb6f886ba60eb4c77cd1925a144ecf993c7f27d00f2fe8402b26323f5341f4cc4febe09b99975cae0740a5f3c3f44a23b6efed9a8dff1ec8501252763a000945950d18ed71dc698b1fb23cf2456ef63f73c3fb46578d838de0477dc5535b6e282a3c7c29c50d2a30688c1d8fb64720a4badaf2818888ff428d42207de75fa8f10296c0827291845a54dfd29ef58ca57e839d4d6327b5287ba3f72eed76b7728d51bf1d9ab207d0d5e2b2cc732ae29cd4baef6165359fd18b986723f484c5ee87be99dc393a147e7642c855644076522f45625305828dcb150cbf006b945551207b3fad9e34d9adc7e6d7f9fe87ee8c4a2e671609a75670f66f2c64175e72d1fe0f417c60996950c3aa616c0e275c5fa5217edf37b16c1df3d4f80dce6c2b5c86f13ff2507e643b30e9d77d2dded554ac8f6532e80641dac9528b0e21d3c7ffafcbdb270218789f19bc9f9c7e3a642fa332191bf8d0c73873b20720e896d91359ae55b791fdab61b5e4a3cae4b5457925053078560f2bff13bd9ce7d53fd195700a7c10b4bd91e8ebf7edce21d591be6896f35b90304bfa343a38bf6cdde3e0f1f1c87306f36a2cb787ddb4e7b8fa7488977b85df7afde96c13278ee2661df3de8663d48a526d12e6b11b517e1e75b1f2d5a1d72c30a09eccb516cff4bbb14a52a26cdf6b88cee178c65a9fb86b049f2fc7d37cafe3c98bf54d737162df60c60460c478754c30c3d622a471df4f56d5d8e03f04d3528f8e112dcb55550fa4cccbdde1de3718362b0194be9b47901651e974acd21bfc6ec4b5577ee86bdfdc3f68927e5155f3717697690e9d30499be645d
解密后的报文
- json格式:
{ "additional_info": "", "fact_money": "2", "member_id": "100018992", "reserved": "", "result": "1", "result_desc": "01", "succ_time": "20170428134119", "terminal_id": "100001512", "trans_id": "20170428134051154" }
- xml格式:
<?xml version="1.0" encoding="UTF-8" ?> <result> <result_desc>01</result_desc> <fact_money>2</fact_money> <reserved/> <member_id>100018992</member_id> <terminal_id>100001512</terminal_id> <trans_id>20170428134152677</trans_id> <additional_info>test</additional_info> <succ_time>20170428134206</succ_time> <result>1</result> </result>
请求响应结果的数据类型根据请求interfaceVersion决定。输出内容包括
参数名称 | 参数含义 | 约束 | 参数备注 |
---|---|---|---|
member_id | 商户 ID | 保留 | 等同于商户提交的商户号 |
terminal_id | 终端 ID | 保留 | 等同于商户提交的终端号 |
trans_id | 订单 ID | 保留 | 等同于商户提交的订单 宝付不支持商户提交重复订单号,对重复订单号将 直接提示订单已经提交 |
result | 支付结果 | 文档提供 | 代表与宝付的交易是否成功,1:成功 0:失败 可查看《附录:支付结果》 |
result_desc | 订单结果 | 文档提供 | 代表该订单处理的结果成功与否 跟交易结果一起判断该笔订单的最终状态 查看附录:《附录:支付结果描述》 |
fact_money | 成功金额 | 数值 | 单位:分 银行订单时验证成功金额和订单金额的一致 卡类订单时验证成功金额不可超过订单金额 |
additional_info | 订单附加信息 | 保留 | 等同于商户提交的附加字段 |
succ_time | 交易成功时间 | 字符串 | 交易成功,订单完成的时间,格式:年年年年月月日日时时分分秒秒 |
3.1.3 商户接收通知后通知页面内容
商户提交订单支付请求后,用户通过正常的支付流程支付成功或者支付失败后,支付接 口将支付结果通知给商户。
支付结果通知由宝付系统确保一定成功发送给商户。成功发送是指由宝付发出结果通知 到商户后,能够成功获取商户的返回确认(商户接收通知的ReturnUrl在页面上输出OK表 示接收成功<除了OK无任何其他内容>),宝付系统在未确认商户接收通知成功后将会通过 重发机制通知商户(重发次数2~10次,请以第一次收到的支付成功的消息为准,避免进行 多次充值),同时会定时将那些已支付成功但商户未收到通知的交易取出,再次将支付成功 通知发给商户,直到商户接收成功或达到最大重发次数为止。注:卡类支付可能存在卡的真实面额与用户提交的订单金额不一致的情况,从而导致 实际成交金额与用户提交金额不一致,请接收到支付结果后仔细核对实际成交金额,以免造 成订单金额处理差错。
返回值 | 参数说明 |
---|---|
OK | 成功接收到宝付支付结果时返回OK注:宝付将接受返回的字符自动去除前空格,为兼容文件格式差异, 宝付会匹配前5个字符,包含OK的,则认为商户接受OK,否则按 照规则补发通知。 |
3.1.4分账结果通知
如果交易的类型是分账模式,在宝付处理分账成功之后,会将分账结果通知到商户的notify_url。
返回报文
参数名称 | 参数编码 | 是否必填 | 字段长度 | 备注 |
---|---|---|---|---|
加密数据 | data_content | M | 变 |
加密数据
加密报文使用请求时候的格式。
参数名称 | 参数编码 | 是否必填 | 字段长度 | 备注 |
---|---|---|---|---|
商户号 | member_id | R | 变(20) | 宝付提供给商户的唯一编号 |
终端号 | terminal_id | R | 变(11) | 由宝付分配 |
商户订单号 | trans_id | R | 变 | 商户订单号 |
返回码 | resp_code | M | 变(10) | 状态码 |
返回码描述 | resp_msg | M | 变(55) |
4.附录
4.1 支付结果
交易成功标志(Result)说明
返回值 | 说明 |
---|---|
1 | 支付成功 |
0 | 失败 |
4.2 支付结果描述
错误代码 | 错误描述 |
---|---|
01 | 支付成功 |
0000 | 支付失败 |
0001 | 系统错误 |
0002 | 订单超时 |
0011 | 系统维护 |
0012 | 无效商户 |
0013 | 余额不足 |
0014 | 超过支付限额 |
0015 | 卡号和卡密错误 |
0016 | 不合法的IP地址 |
0017 | 重复订单金额不符 |
0018 | 卡密已被使用 |
0019 | 订单金额错误 |
0020 | 支付的类型错误 |
0021 | 卡类型有误 |
0022 | 卡信息不完整 |
0023 | 卡号、卡密、金额不正确 |
0024 | 不能用此卡继续做交易 |
0025 | 订单无效 |
4.3 产品功能
4.3.1 网银支付
功能ID | 银行名称(B2C储蓄卡) | 功能ID | 银行名称(B2C信用卡) | 功能ID | 银行名称(B2B) |
---|---|---|---|---|---|
3001 | 招商银行(借) | 4001 | 招商银行(贷) | 6001 | 招商银行(B2B) |
3002 | 工商银行(借) | 4002 | 工商银行(贷) | 6002 | 工商银行(B2B) |
3003 | 建设银行(借) | 4003 | 建设银行(贷) | 6003 | 建设银行(B2B) |
3004 | 浦发银行(借) | 4004 | 浦发银行(贷) | 6004 | 浦发银行(B2B) |
3005 | 农业银行(借) | 4005 | 农业银行(贷) | 6005 | 农业银行(B2B) |
3006 | 民生银行(借) | 4006 | 民生银行(贷) | 6006 | 民生银行(B2B) |
3009 | 兴业银行(借) | 4009 | 兴业银行(贷) | 6009 | 兴业银行(B2B) |
3020 | 交通银行(借) | 4020 | 交通银行(贷) | 6020 | 交通银行(B2B) |
3022 | 光大银行(借) | 4022 | 光大银行(贷) | 6022 | 光大银行(B2B) |
3026 | 中国银行(借) | 4026 | 中国银行(贷) | 6026 | 中国银行(B2B) |
3032 | 北京银行(借) | 4032 | 北京银行(贷) | 6032 | 北京银行(B2B) |
3033 | 东亚银行(借) | 4035 | 平安银行(贷) | 6033 | 东亚银行(B2B) |
3034 | 渤海银行(借) | 4036 | 广发银行(贷) | 6035 | 平安银行(B2B) |
3035 | 平安银行(借) | 4037 | 上海农商银行(贷) | 6036 | 广发银行(B2B) |
3036 | 广发银行(借) | 4038 | 邮政储蓄银行(贷) | 6037 | 上海农商银行(B2B) |
3037 | 上海农商银行(借) | 4039 | 中信银行(贷) | 6038 | 邮政储蓄银行(B2B) |
3038 | 邮政储蓄银行(借) | 4040 | 杭州银行(贷) | 6039 | 中信银行(B2B) |
3039 | 中信银行(借) | 4041 | 徽商银行(贷) | 6050 | 华夏银行(B2B) |
3040 | 杭州银行(借) | 4043 | 浙商银行(贷) | 6059 | 上海银行(B2B) |
3041 | 徽商银行(借) | 4046 | 宁波银行(贷) | 6060 | 天津银行(B2B) |
3042 | 南京银行(借) | 4047 | 日照银行(贷) | ||
3043 | 浙商银行(借) | 4048 | 河北银行(贷) | ||
3046 | 宁波银行(借) | 4050 | 华夏银行(贷) | ||
3047 | 日照银行(借) | 4053 | 广州银行(贷) | ||
3048 | 河北银行(借) | 4055 | 大连银行(贷) | ||
3050 | 华夏银行(借) | 4056 | 东莞银行(贷) | ||
3051 | 威海市商业银行(借) | 4057 | 富滇银行(贷) | ||
3053 | 广州银行(借) | 4059 | 上海银行(贷) | ||
3055 | 大连银行(借) | 4060 | 北京农商银行(贷) | ||
3056 | 东莞银行(借) | 4065 | 青岛银行B2C(贷) | ||
3057 | 富滇银行(借) | 4066 | 厦门银行B2C(贷) | ||
3059 | 上海银行(借) | 4067 | 张家港农商银行B2C(贷) | ||
3060 | 北京农商银行(借) | 4068 | 苏州银行B2C(贷) | ||
3065 | 青岛银行(借) | 4069 | 九江银行B2C(贷) | ||
3066 | 厦门银行(借) | 4070 | 齐商银行(贷) | ||
3067 | 张家港农商银行(借) | 4071 | 东营市商业银行(贷) | ||
3068 | 苏州银行(借) | 4072 | 江苏银行(贷) | ||
3069 | 九江银行(借) | 4073 | 乌鲁木齐商业银行(贷) | ||
3070 | 齐商银行(借) | 4074 | 泰安市商业银行(贷) | ||
3071 | 东营市商业银行(借) | 4075 | 上饶银行(贷) | ||
3072 | 江苏银行(借) | 4076 | 宁夏银行(贷) | ||
3073 | 乌鲁木齐商业银行(借) | 4077 | 深圳农村商业银行(贷) | ||
3074 | 泰安市商业银行(借) | 4078 | 重庆农商行(贷) | ||
3075 | 上饶银行(借) | 4079 | 海南省农村信用社联合社(贷) | ||
3076 | 宁夏银行(借) | 4082 | 广西北部湾银行(贷) | ||
3077 | 深圳农村商业银行(借) | 4083 | 德州商行(贷) | ||
3078 | 重庆农商行(借) | 4084 | 长沙商行(贷) | ||
3079 | 海南省农村信用社联合社(借) | 4085 | 温州商行(贷) | ||
3082 | 广西北部湾银行(借) | 4086 | 汉口银行(贷) | ||
3083 | 德州商行(借) | 4080001 | 银联无卡支付(贷) | ||
3084 | 长沙商行(借) | 4081001 | 银联网银(贷) | ||
3085 | 温州商行(借) | ||||
3086 | 汉口银行(借) | ||||
3087 | 顺德农商行(借) | ||||
3088 | 齐鲁银行(借) | ||||
3080001 | 银联无卡支付(借) | ||||
3081001 | 银联网银(借) |
最后编辑:任利利 更新时间:2025-01-09 17:41