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 银联网银(借)
作者:xiaofeng  创建时间:2023-06-21 16:29
最后编辑:任利利  更新时间:2024-09-19 18:06