1 文档说明

1.1 文档目的

本文档目的是为宝付商户转账支付定义一个接口规范,以帮助商户技术人员快速接入宝付网关,并快速掌握其相关功能,便于尽快的投入使用。

1.2 阅读对象

  • 商户开发人员、维护人员和管理人员
  • 宝付转账支付相关的技术人员

1.3 技术支持联系方式

在开发或使用转账支付接口时,如果您有任何技术上的疑问,请按如下方式寻求帮助,宝付技术支持人员会及时处理,给予您答复。

  • 技术支持热线: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 应用场景

转账支付产品由宝付开发,提供给合作商户的一种安全的支付产品。
用户购买商品或服务时,向宝付分配给商户的专属账户打款,宝付进行自动匹配加值的模式。
注:该接口为纯后台模式

2.2 业务流程

1、商户开通转账支付/转账支付分账产品,自动创建分配商户转账支付专属账户;
2、用户在商户平台进行正常的支付请求,商户向用户展示收款专属账户信息;

账号:开通商户号后由宝付分配
户名:宝付网络科技(上海)有限公司
银行:支付机构备付金集中存管账户
开户城市:上海
开户网点:宝付网络-备付金账户
行号:991290000793

3、商户组织交易报文,将用户支付要素发送给宝付;
4、用户通过网银或手机APP向商户的收款专属账户进行支付付款款项;
5、宝付调用银行得到支付结果;
6、宝付异步返回支付结果给商户;

2.3 业务接口

2.3.1 转账支付类交易

转账支付类交易是指商户根据持卡人请求指令,将持卡人信息发送至宝付,持卡人通过网银或手机APP从银行卡账户中支付付费款项的业务,该模式属于后台支付模式。

交易URL
测试环境地址:https://vgw.baofoo.com/cutpayment/api/backTransRequest
正式环境地址:https://public.baofoo.com/cutpayment/api/backTransRequest

2.3.1.1 请求报文

序号 域名 变量名 必填 备注
01 版本号 version M 4.0.0.0
02 商户号 member_id M 宝付提供给商户的唯一编号
03 终端号 terminal_id M
04 交易类型 txn_type M 取值0431
05 交易子类 txn_sub_type M 88
06 加密数据类型 data_type M json
07 加密数据 data_content M 具体参数如下加密数据。注意:加密之前,先将组装的数据(请参照数据模版组装)进行Base64编码转化,然后再进行证书加密。

加密数据

序号 域名 变量名 必填 备注
01 商户号 member_id M 宝付提供给商户的唯一编号
02 终端号 terminal_id M
03 交易子类 txn_sub_type M 88
04 商户订单号 trans_id M 商户发起的支付订单号
05 商户流水号 trans_serial_no M 8-20 位字母和数字,每次请求都不可重复
06 接入类型 biz_type C 其他:不填写和默认0000,表示为储蓄卡支付。
07 支付金额 order_money M 单位:分
08 收款方账户号 payee_acct_code M 收款方账户号
09 付款方账户号 payer_acct_code M 付款方账户号
10 付款方开户名 payer_user_name M 付款方开户名
11 银行流水号 bank_serial_no C
12 回调地址 call_back_url O 如果传入,则异步通知使用该url;如果未传入,则不做异步通知
13 分账明细 share_info O 金额单位(分),在内扣模式下需要满足收单金额=手续费+分账金额,在外扣模式下需要满足收单金额=分账金额。格式:商户1,金额1;商户2,金额2…例如:100000363,10;100000364,90
14 分账通知地址 share_notify_url O 分账结果通知
15 附加字段 additional_info O 长度不超过 128 位
16 请求方保留域 req_reserved O
17 手续费承担方 fee_member_id O

加密数据模板

  • JSON
    {
    "terminal_id":123456,
    "member_id":123564,
    "txn_sub_type:88,
    "trans_id":"123456",
    "trans_serial_no":"1234567890",
    "additional_info":"附加字段",
    "req_reserved":"请求方保留域",
    "order_money":"1000000",
    "payee_acct_code":"收款方账户号",
    "payer_acct_code ":"付款方账户号",
    "payer_user_name ":"付款方开户名",
    "bank_serial_no":"银行流水",
    "call_back_url ":"支付回调地址",
    "share_info":"100000363,10;100000364,90 "
    "share_notify_url":"分账回调地址",
    } 

2.3.1.2 应答报文(宝付返回报文)

序号 参数含义 参数名称 必填 参数备注
01 应答码 resp_code M 应答码为0000时,表示订单预提交成功
02 应答信息 resp_msg M
03 版本号 version R
04 商户号 member_id R 宝付提供给商户的唯一编号
05 终端号 terminal_id R
16 接入类型 biz_type R
07 数据类型 data_type R xml/json
08 交易类型 txn_type R 取值0431
09 交易子类 txn_sub_type R 88
10 商户流水号 trans_serial_no R 8-20 位字母和数字,每次请求都不可重复
11 商户订单号 trans_id R 商户订单号
12 附加字段 additional_info O
13 预留字段 req_reserved R

支付响应结果都是宝付通过非对称加密公私钥方式发送给商户。商户接收到宝付的响应报文,将接收到的data_content内容,用宝付发给商户且后缀为(*.cer)的公钥证书进行解密。

返回报文实例
4d34ab4f6f7f0cf3bec59a8028bb253ae6e6408c3ccb60d440a900d7e1cc627765cb8d9e0ec8b90caab5501d4fc54fcca54e7932e1254ff2f54aebd476f1f663f76fe4e855767621012fd69fb67130ac66362dc110219352b8b72b913cb354c50adf94b4b57728b1ec604288e0abab32987b72ba2f056c021d15326caac1d23d164f068f8208a471f7e939e0cc8aa757db805e109ab79ec547e5adbebfef338755bafe27bacd43329b0e9aa9660b63503eaf91f1185a868e54a850bc73531fee1f8f2d760f2bec40bcbf5cacd6723e8d2bae01dd89247020de6efc2a104c70ac5a448cd43bd18ab32c6b97516158454a98941864245eb837a82a4df039373e3b400f5e297ffc4504a205ba50a52d9f8824699dc21c91bf0d3da3026baf4c8863fb6c297ddbe84191e0928361ef70adacb6f886ba60eb4c77cd1925a144ecf993c7f27d00f2fe8402b26323f5341f4cc4febe09b99975cae0740a5f3c3f44a23b6efed9a8dff1ec8501252763a000945950d18ed71dc698b1fb23cf2456ef63f73c3fb46578d838de0477dc5535b6e282a3c7c29c50d2a30688c1d8fb64720a4badaf2818888ff428d42207de75fa8f10296c0827291845a54dfd29ef58ca57e839d4d6327b5287ba3f72eed76b7728d51bf1d9ab207d0d5e2b2cc732ae29cd4baef6165359fd18b986723f484c5ee87be99dc393a147e7642c855644076522f45625305828dcb150cbf006b945551207b3fad9e34d9adc7e6d7f9fe87ee8c4a2e671609a75670f66f2c64175e72d1fe0f417c60996950c3aa616c0e275c5fa5217edf37b16c1df3d4f80dce6c2b5c86f13ff2507e643b30e9d77d2dded554ac8f6532e80641dac9528b0e21d3c7ffafcbdb270218789f19bc9f9c7e3a642fa332191bf8d0c73873b20720e896d91359ae55b791fdab61b5e4a3cae4b5457925053078560f2bff13bd9ce7d53fd195700a7c10b4bd91e8ebf7edce21d591be6896f35b90304bfa343a38bf6cdde3e0f1f1c87306f36a2cb787ddb4e7b8fa7488977b85df7afde96c13278ee2661df3de8663d48a526d12e6b11b517e1e75b1f2d5a1d72c30a09eccb516cff4bbb14a52a26cdf6b88cee178c65a9fb86b049f2fc7d37cafe3c98bf54d737162df60c60460c478754c30c3d622a471df4f56d5d8e03f04d3528f8e112dcb55550fa4cccbdde1de3718362b0194be9b47901651e974acd21bfc6ec4b5577ee86bdfdc3f68927e5155f3717697690e9d30499be645d

解密后报文

  • JSON
    {
    "version ":" 4.0.0.0",
    "member_id":"123456",
    "terminal_id":"456789",
    "resp_code":"0000",
    "resp_msg":"交易成功",
    "data_type":"json",
    "biz_type ":"biz_type ",
    " resp_msg ":"交易成功",
    "req_reserved":"预留字段",
    "txn_sub_type":"88",
    "txn_type":"0431",
    "trans_serial_no":"3451592355",
    "trans_id":"1984854162"
    }
    请求响应结果的数据类型根据请求参数字段“data_type”来决定,输出内容包括

2.3.2 转账支付订单查询接口

交易URL
测试环境地址:https://vgw.baofoo.com/cutpayment/api/backTransRequest
正式环境地址:https://public.baofoo.com/cutpayment/api/backTransRequest

2.3.2.1 请求报文

序号 域名 变量名 必填 备注
01 版本号 version M 4.0.0.0
02 商户号 member_id M 宝付提供给商户的唯一编号
03 终端号 terminal_id M
04 交易类型 txn_type M 取值0431
05 交易子类 txn_sub_type M 40
06 加密数据类型 data_type M data_type =xml或json
07 加密数据 data_content M 具体参数如下加密数据。

加密数据

序号 域名 变量名 必填 备注
01 交易子类 txn_sub_type M 40
02 商户号 member_id M 宝付提供给商户的唯一编号
03 终端号 terminal_id M
04 商户订单号 trans_id M 商户发起的支付订单号
05 商户流水号 trans_serial_no M 8-20 位字母和数字,每次请求都不可重复
06 接入类型 biz_type C 其他:不填写和默认0000,表示为储蓄卡支付。
07 请求方保留域 req_reserved O
08 附加字段 additional_info O

2.3.2.2 应答报文

序号 参数含义 参数名称 必填 参数备注
01 应答码 resp_code M 0000表示交易成功,仅代表查询订单状态成功,不代表订单支付成功,具体订单什么状态需要看state的值,具体参考下面state各状态代表的含义
02 应答信息 resp_msg M
03 商户订单号 trans_id R 商户订单号
04 终端号 terminal_id R
05 交易类型 txn_type R 取值0431
06 交易子类 txn_sub_type R 40
07 数据类型 data_type R xml/json
08 版本号 version O
09 附加字段 additional_info O
10 预留字段 req_reserved O
11 商户号 member_id M 宝付提供给商户的唯一编号
12 商户流水号 trans_serial_no R 8-20 位字母和数字,每次请求都不可重复
13 接入类型 biz_type R
14 订单状态 state M 订单的状态:0:待确认(预下单时的状态),1:成功,2:失败,3:待处理,4:已取消
15 成功时间 succ_time O 仅state=1时即订单已经加值成功的时候才有成功时间,其余状态为空值

2.3.3 转账支付异步通知

2.3.2.1 功能说明

将结果异步通知给商户

2.3.2.2 通知报文

member_id= 100000178&terminal_id=1000938&data_content=09f27e40024994307c854b5bff54fdbb79e7ed9900e6013e58a816e31ef39088f42417a5d87d05e01508b93bea5be2af8fa0562b8259b07eff3fb61fee70d69a5550561731b6bf1319a98091180490d6fd783af72d20e7bf53e3b924f6455f93d7234fff06fef004f05e6795903e21535a1b19fa75473fc99a8b8ff2aadc146f85bf2bb168ccfa724a77e24f4aea12ed0634b4810feed3c1c799bdbd03b98c8378ca5fa68efd1bccd54d8f9a7ad80912f8e5c29ff74f0b8bef247c4e4319f8778366f06f3b547f9586bf229e3b15bd38523999bb58f9c11fd68df33da5ad5d99f6a528c69b178248804da25b082ab08f9c504a4db70139f1a540614fa21cebb3

解密后报文

  • Xml格式
    <result>
    <resp_code>0000</resp_code>
    <resp_msg>成功</resp_msg>
    <memberTransId>test0000000000a01</memberTransId>
    <state>1</state>
    <orderMoney>1.01</orderMoney>
    <succTime>20170808143943</succTime>
    </result>
  • Json格式
    {
    "resp_code":"0000"
    "resp_msg":"成功"
    "memberTransId":"test0000000000a01",
    "orderMoney":"1.01",
    "state":"1",
    "succTime":"20170808143943"
    }

加密数据

序号 域名 变量名 必填 备注
01 应答码 resp_code M
02 应答信息 resp_msg M
03 商户订单号 memberTransId M
03 订单金额 orderMoney M
14 状态 state M 1:通过 2:失败
15 成功时间 succTime M yyyyMMddHHmmss

注:
宝付将掉单或超时的订单取出,补发支付结果(结果有成功和失败,不是仅仅发支付成功的订单,请商户务必要根据应答码判断支付结果是成功还是失败,再进行正确的处理),以GET和POST方式发送到商户配置的接收地址,商户接收到支付结果,并且进行相应处理之后,需要商户接收通知的地址在页面上输出 OK 表示接收成功<除了 OK 无任何其他内容>,告诉宝付已经成功接收并处理完毕,宝付系统在未得到商户接收通知成功的反馈时,将通过重发机制再次通知商户(重发次数 2~10 次,请以第一次收到的支付成功的消息为准,避免进行多次充值或支付),直到商户接收成功或达到最大重发次数为止。

2.3.4 商户分账结果查询接口

2.3.4.1 功能说明

分账代扣产品商户执行分账指令以后结果是异步的,商户只能根据传的notify_url去查询分账是否成功,如果商户接收地址异常的情况下是无法获取分账结果的。针对此类情况添加一个分账结果查询的接口。

交易URL
测试环境地址:https://vgw.baofoo.com/cutpayment/api/backTransRequest
正式环境地址:https://public.baofoo.com/cutpayment/api/backTransRequest
交易开发可参考:*.java

2.3.4.2 请求报文

序号 域名 变量名 必填 备注
01 版本号 version M 4.0.0.0
02 商户号 member_id M 宝付提供给商户的唯一编号
03 终端号 terminal_id M
04 交易类型 txn_type M 取值0431
05 交易子类 txn_sub_type M 35
06 加密数据类型 data_type M json
07 加密数据 data_content M 具体参数如下加密数据。

加密数据

序号 域名 变量名 必填 备注
01 交易子类 txn_sub_type M 35
02 接入类型 biz_type M 0000
03 终端号 terminal_id M
04 商户号 member_id M 宝付提供给商户的唯一编号
05 商户流水号 trans_serial_no M 8-20 位字母和数字,每次请求都不可重复
06 商户订单号 trans_id M 商户发起的支付订单号
07 附加字段 additional_info O 长度不超过 128 位
08 请求方保留域 req_reserved O

加密数据模板

  • Xml格式
    <?xml version="1.0" encoding="UTF-8"?>
      <data_content>
          <txn_sub_type>35</txn_sub_type>
          <biz_type>0000</biz_type>
          <terminal_id>100000949</terminal_id>
          <member_id>100000749</member_id>
          <trans_serial_no>20170613145610</trans_serial_no>
          <trans_id>0ea3f928-95b3-43a2-a598-d1914d2c4dc7</trans_id>
          <additional_info>test</additional_info>
          <req_reserved>test</req_reserved>
      </data_content>
  • Json格式
    {
    "txn_sub_type":"35",
    "biz_type":"0000",
    "terminal_id":"100000949",
    "member_id":"100000749",
    "trans_serial_no":"20170613145610",
    "trans_id":"0ea3f928-95b3-43a2-a598-d1914d2c4dc7",
    "additional_info":"test",
    "req_reserved":"test"
    }

2.3.4.3 应答报文

1575809f3d01ff49a4708c398b7e9827edd733cab60be13dd7bcfe5ef2d13efd71b3337b762ae4ec6495ff789278d69634f426a84880f70d196177948f5a85a0d571089b385be33a21beaf77dad5b71e42b5438d90e0a0c07245d1648548d69e5c539b0cacb688f2563a323ec61b297066bbc076902f03937a1fa2d1c0a1d96615a8e8db614eda18f622c84822fc4a7fe118804f096de923b809036c013db1186087c559f721db3b97f6db58d1badead99c621f5e6937feeb403c8575fb266126fd341c94b751e8ce7b994a6110eaae783cd81cae2962a6d92489dfc86e2454280a02d76b0f301c8fb716c9a1946b18116e202570fcea644c52f397fa3b0461e7cf3fd3806dffb8aada003af8ecdeaefdf8f7a87462a680532fd1d1585eac0a6e0a655a9effa574b50afe17bd2ffadd7d3d432a3900bcde276e03f281d5ebbb96783de9b430e22041be6ab4f7ef64dbcdf8b9d25da56031cff0add7508ab16e2512c2a31542a1be833db3603230b2bca6dca52e4359d3ec09666daced2746acd5f54dd15fa2d4b08c95787ee7f7e324ccf41ada4ffd1fd732ccfe2f37cbe742f6a7e69e1e3825750dbc6e96d8a14942c73ac0d6f861b418d286f2472473d9b1865953cfdccdbb23e977fbd3f0efd3da9d8c22e65d0bacfdcfd946ad3086b928af6b4262ade342c4a2b55d077fa0a60476342f582b308118a6df9e2ffe3ba0836a910906ee62d0efdb6171dfe948710b5b70b42dfcd409de1d67e06a91e7284b44a979dd89f08aea5bb2090a8b030bba4abc3d8002b299f4d7db91861851fc3814f6068913503f94dd14291baaddd9dfb22fd5610b658e9773e2b707cefc7ccde66c3d0259e3434d2fa6cd79391bae4eb027c894bfe324c52084372875618585e

解密后报文

  • Xml格式
    <?xml version="1.0" encoding="UTF-8" ?>
      <result>
          <share_state>0</share_state>
          <version>4.0.0.0</version>
          <member_id>100000749</member_id>
          <data_type>xml</data_type>
          <resp_msg>交易成功</resp_msg>
          <resp_code>0000</resp_code>
          <txn_sub_type>35</txn_sub_type>
          <additional_info>test</additional_info>
          <terminal_id>100000949</terminal_id>
          <req_reserved>test</req_reserved>
          <txn_type>0431</txn_type>
      </result>

通知结果解密后的报文格式是根据原交易订单请求的“data_type”来决定,输出内容包括

序号 参数含义 参数名称 必填 参数备注
01 版本号 version R
02 请求方保留域 req_reserved R
03 附加字段 additional_info R
04 应答码 resp_code M 具体参见附录:应答码
05 应答信息 resp_msg M 填写具体的应答信息
06 商户号 member_id R 宝付提供给商户的唯一编号
07 终端号 terminal_id R
08 数据类型 data_type R
09 交易类型 txn_type R
10 交易子类 txn_sub_type R
11 接入类型 biz_type R
12 订单结果状态码 order_state M 状态码取值(大写字母):
S:交易成功
F:交易失败
I:处理中
FF::交易失败
IMPORTANT:当状态码结果为FF时,非支付订单交易结果,如:必传参数缺失时,报文解析失败时,参数格式校验
13 分账结果状态码 share_state C 状态码取值(大写字母或数字):1:分账成功、0:未分账、IMPORTANT:当order_state不为FF时必须填写

2.3.5 异步通知分账结果

2.3.5.1 功能说明

异步通知分账结果

2.3.5.2 应答报文(宝付返回报文)

序号 参数含义 参数名称 必填 参数备注
01 数据域 data_content M 加密数据

加密数据

请求响应结果的数据类型根据请求参数字段“data_type”来决定,输出内容包括

序号 域名 变量名 必填 备注
01 应答码 resp_code M 具体参见附录1:应答码
02 应答信息 resp_msg M 填写具体的应答信息
03 商户号 member_id M 宝付提供给商户的唯一编号
04 终端号 terminal_id M
05 订单号 trans_id M

返回报文示例

  • Xml格式
    <?xml  version="1.0"  encoding="UTF-8" ?>
    <result> 
    <member_id>100000749</member_id>
    <terminal_id>100000933</terminal_id>
    <trans_id>87fd763c-df98-4fac-9602-2aa023e8f4c6</trans_id>
    <resp_msg>分账成功</resp_msg>
    <resp_code>BF00338</resp_code>
    </result>
  • Json格式
    {
    "member_id":100000749"
    "terminal_id":100000933"
    "trans_id":87fd763c-df98-4fac-9602-2aa023e8f4c6"
    "resp_msg":分账成功"
    "resp_code":BF00338"
    }

2.3.6 转账支付订单取消接口

2.3.6.1 交易URL

测试环境地址:https://vgw.baofoo.com/cutpayment/api/backTransRequest
正式环境地址:https://public.baofoo.com/cutpayment/api/backTransRequest

2.3.6.2 请求报文

序号 域名 变量名 必填 备注
01 版本号 version M 4.0.0.0
02 商户号 member_id M 宝付提供给商户的唯一编号
03 终端号 terminal_id M
04 交易类型 txn_type M 取值0431
05 交易子类 txn_sub_type M 89
06 加密数据类型 data_type M data_type =xml或json
07 加密数据 data_content M 具体参数如下加密数据。

加密数据

序号 域名 变量名 必填 备注
01 交易子类 txn_sub_type M 89
02 商户号 member_id M 宝付提供给商户的唯一编号
03 终端号 terminal_id M
04 商户订单号 trans_id M 商户发起的支付订单号
05 商户流水号 trans_serial_no M 8-20 位字母和数字,每次请求都不可重复
06 接入类型 biz_type C 其他:不填写和默认0000,表示为储蓄卡支付
07 请求方保留域 req_reserved O
08 附加字段 additional_info O 长度不超过 128 位

2.3.6.3 应答报文

序号 参数含义 参数名称 必填 参数备注
01 应答码 resp_code M 0000表示交易成功,仅代表查询订单状态成功,不代表订单支付成功,具体订单什么状态需要看state的值,具体参考下面state各状态代表的含义
02 应答信息 resp_msg M
03 商户订单号 trans_id R 商户订单号
04 终端号 terminal_id R
05 交易类型 txn_type R 取值0431
06 交易子类 txn_sub_type R 89
07 数据类型 data_type R xml/json
08 版本号 version O
09 附加字段 additional_info O
10 预留字段 req_reserved O
11 商户号 member_id M 宝付提供给商户的唯一编号
12 商户流水号 trans_serial_no R 8-20 位字母和数字,每次请求都不可重复
13 接入类型 biz_type R 默认0000
14 订单状态 state R 1:取消成功 2:取消失败

2.3.7 转账支付订单银行流水查询接口

2.3.7.1 交易URL

测试环境地址:https://vgw.baofoo.com/cutpayment/api/backTransRequest
正式环境地址:https://public.baofoo.com/cutpayment/api/backTransRequest

2.3.7.2 请求报文

序号 域名 变量名 必填 备注
01 版本号 version M 4.0.0.0
02 商户号 member_id M 宝付提供给商户的唯一编号
03 终端号 terminal_id M
04 交易类型 txn_type M 取值0431
05 交易子类 txn_sub_type M 90
06 加密数据类型 data_type M data_type =xml或json
07 加密数据 data_content M 具体参数如下加密数据。
08 商户订单号 trans_serial_no M 商户订单号

加密数据

序号 域名 变量名 必填 备注
01 交易子类 txn_sub_type M 90
02 商户号 member_id M 宝付提供给商户的唯一编号
03 终端号 terminal_id M
04 支付金额 order_money O 单位:分
05 收款方账户号 payee_acct_code M
06 付款方账户号 payer_acct_code M
07 付款方开户名 payer_user_name M
08 请求方保留域 req_reserved O
09 附加字段 additional_info O

2.3.7.3 应答报文

序号 参数含义 参数名称 必填 参数备注
01 应答信息 resp_msg M 填写具体的应答信息
02 商户订单号 trans_serial_no R 商户订单号
03 终端号 terminal_id R
04 交易类型 txn_type R 取值0431
05 交易子类 txn_sub_type R 90
06 数据类型 data_type R xml/json
07 版本号 version O
08 附加字段 additional_info O
09 预留字段 req_reserved O
10 银行流水信息 bank_flow_detial C 成功时返回LIST
bankFlowDetials
01 支付金额 order_money M 单位:分
02 收款方账户号 payee_acct_code M
03 付款方账户号 payer_acct_code M
04 付款方开户名 payer_user_name M
05 银行流水号 bank_serial_no M
06 银行到账时间 bank_time M
07 银行附言 remark

2.3.8 异步通知流水信息

2.3.8.1 功能说明

异步通知银行到账流水信息

2.3.8.2 应答报文(宝付返回报文)

序号 参数含义 参数名称 必填 参数备注
01 数据域 data_content M 加密数据

加密数据

请求响应结果的数据类型根据请求参数字段“data_type”来决定,输出内容包括

序号 域名 变量名 必填 备注
01 应答码 resp_code M 具体参见附录1:应答码
02 应答信息 resp_msg M 填写具体的应答信息
03 商户号 member_id M 宝付提供给商户的唯一编号
04 终端号 terminal_id M
05 支付金额 order_money M 单位:分
06 收款方账户号 payee_acct_code M
07 付款方账户号 payer_acct_code M
08 付款方开户名 payer_user_name M
09 银行流水号 bank_serial_no M
10 银行到账时间 bank_time M
11 银行附言 bank_remark C

2.3.9 转账支付订单银行流水查询接口(按时间段查询)

查询时间段内未匹配的转账流水

2.3.9.1 交易URL

测试环境地址:https://vgw.baofoo.com/cutpayment/api/backTransRequest
正式环境地址:https://public.baofoo.com/cutpayment/api/backTransRequest

2.3.7.2 请求报文

序号 域名 变量名 必填 备注
01 版本号 version M 4.1.0.0
02 商户号 member_id M 宝付提供给商户的唯一编号
03 终端号 terminal_id M
04 交易类型 txn_type M 取值0431
05 交易子类 txn_sub_type M 90
06 加密数据类型 data_type M data_type =xml或json
07 加密数据 data_content M 具体参数如下加密数据。

加密数据

序号 域名 变量名 必填 备注
01 交易子类 txn_sub_type M 90
03 商户号 member_id M 宝付提供给商户的唯一编号
03 终端号 terminal_id M
04 收款方账户号 payee_acct_code M
05 付款方账号 payer_acct_code C 版本号传4.0.0.0 时必填
06 查询交易开始时间 pay_start_time M yyyyMMddHHmmss
07 查询交易结束时间 pay_end_time M yyyyMMddHHmmss
08 请求方保留域 req_reserved O
09 附加字段 additional_info O
10 商户订单号 trans_serial_no M 商户订单号

2.3.9.3 应答报文

序号 参数含义 参数名称 必填 参数备注
01 应答信息 resp_msg M 填写具体的应答信息
02 商户订单号 trans_serial_no R 商户订单号
03 终端号 terminal_id R
04 交易类型 txn_type R 取值0431
05 交易子类 txn_sub_type R 90
06 数据类型 data_type R xml/json
07 版本号 version O
08 附加字段 additional_info O
09 预留字段 req_reserved O
10 银行流水信息 bank_flow_detial C 成功时返回LIST
bankFlowDetials
01 支付金额 order_money M 单位:分
02 收款方账户号 payee_acct_code M
03 付款方账户号 payer_acct_code M
04 付款方开户名 payer_user_name M
05 银行流水号 bank_serial_no M
06 银行到账时间 bank_time M
07 银行附言 remark

附录

1 应答码

  • 交易成功类
错误码 含义
0000 成功
BF00114 订单已支付成功,请勿重复支付
BF00338 分账成功
BF00339 已分账
  • 交易结果暂未知,需查询类
错误码 含义
BF00100 系统异常,请联系宝付
BF00112 系统繁忙,请稍后再试
BF00113 交易结果未知,请稍后查询
BF00115 交易处理中,请稍后查询
BF00144 该交易有风险,订单处理中
BF00202 交易超时,请稍后查询
BF00399 订单已存在,请勿重复提交
  • 交易失败,无需查询类
错误码 含义
BF00101 持卡人信息有误
BF00102 银行卡已过有效期,请联系发卡行
BF00103 账户余额不足
BF00104 交易金额超限
BF00107 当前银行卡不支持该业务,请联系发卡行
BF00108 交易失败,请联系发卡行
BF00109 交易金额低于限额
BF00110 该卡暂不支持此交易
BF00111 交易失败
BF00116 该终端号不存在
BF00118 报文中密文解析失败
BF00120 报文交易要素缺失
BF00121 报文交易要素格式错误
BF00122 卡号和支付通道不匹配
BF00123 商户不存在或状态不正常,请联系宝付
BF00124 商户与终端号不匹配
BF00125 商户该终端下未开通此类型交易
BF00126 该笔订单已存在
BF00127 不支持该支付通道的交易
BF00128 该笔订单不存在
BF00129 密文和明文中参数【%s】不一致,请确认是否被篡改!
BF00135 交易金额不正确
BF00136 订单创建失败
BF00140 该卡已被注销
BF00141 该卡已挂失
BF00146 订单金额超过单笔限额
BF00147 该银行卡不支持此交易
BF00177 非法的交易
BF00190 商户流水号不能重复
BF00199 订单日期格式不正确
BF00232 银行卡未开通认证支付
BF00233 密码输入次数超限,请联系发卡行
BF00234 单日交易金额超限
BF00235 单笔交易金额超限
BF00236 卡号无效,请确认后输入
BF00237 该卡已冻结,请联系发卡行
BF00249 订单已过期,请使用新的订单号发起交易
BF00251 订单未支付
BF00253 交易拒绝
BF00258 手机号码校验失败
BF00262 交易金额与扣款成功金额不一致,请联系宝付
BF00311 卡类型和biz_type值不匹配
BF00312 交易金额不匹配
BF00313 商户未开通此产品
BF00315 手机号码为空,请重新输入
BF00316 ip未绑定,请联系宝付
BF00321 身份证号不合法
BF00322 卡类型和卡号不匹配
BF00323 商户未开通交易模版
BF00324 暂不支持此银行卡支付,请更换其他银行卡或咨询商户客服
BF00325 非常抱歉!目前该银行正在维护中,请更换其他银行卡支付
BF00327 请联系银行核实您的卡状态是否正常
BF00331 卡号校验失败
BF00332 交易失败,请重新支付
BF00333 该卡有风险,发卡行限制交易
BF00341 该卡有风险,请持卡人联系银联客服[95516]
BF00342 单卡单日余额不足次数超限
BF00343 验证失败(手机号有误)
BF00344 验证失败(卡号有误)
BF00345 验证失败(姓名有误)
BF00346 验证失败(身份证号有误)
BF00347 交易次数频繁,请稍后重试
BF00350 该卡当日失败次数已超过3次,请次日再试!
BF00351 该卡当日交易笔数超过限制,请次日再试!
BF00353 未设置手机号码,请联系发卡行确认
BF08701 该卡本次可支付****元,请更换其他银行卡!
BF08702 该商户本次可支付****元,请更换其他银行卡或咨询商户客服!
BF08703 支付金额不能低于最低限额…元!
BF08704 单笔金额超限,该银行单笔可支付xxx元!
BF08705 风险交易拒绝(此错误码,共映射5个错误信息)
BF00372 暂不支持信用卡交易
BF00415 该卡当日失败次数超限,请次日再试
BF00403 收款方账户号不存在
BF00459 商户证书已过期,请联系宝付
BF00460 该终端未配置加密证书
BF00335 分账参数验证失败
BF00336 分账信息和之前不一致
BF00406 调用接口参数缺失

2 银行编码

银行代码 银行名称
ICBC 中国工商银行
ABC 中国农业银行
CCB 中国建设银行
BOC 中国银行
BCOM 中国交通银行
CIB 兴业银行
CITIC 中信银行
CEB 中国光大银行
PAB 平安银行
PSBC 中国邮政储蓄银行
SHB 上海银行
SPDB 浦东发展银行
CMBC 民生银行
CMB 招商银行
GDB 广发银行
HXB 华夏银行
HZB 杭州银行
BOB 北京银行
NBCB 宁波银行
JSB 江苏银行
ZSB 浙商银行

3 交易子类

取值 交易子类
40 转账支付订单查询
88 转账支付
35 分账结果查询
89 转账支付订单取消
90 转账支付订单银行流水查询

4 匹配码规则

规则:2位的商户编码 + 36进制编码(当前时间与基准时间差36进制转大写)
注:1.商户编码由宝付生成并提供,请联系宝付技术支持

2. 36进制编码规则及demo请联系宝付技术支持

5 订单重复性校验

宝付为了确保交易能够准确的通知到商户,有可能会重复发送通知消息,为此宝付提醒商户,采取正确的防重复校验。
大多数校验通知都采取先查询后更新的方式,这种方式存在一个很大的漏洞,当多个通 知请求在很短的一个时间内达到时,查询数据有可能是脏数据,导致订单重复更新,后续工 作重复执行。

对于此种情况,宝付结合自身校验情况,分享两个校验方式。
1) 如果是单线程或者订单资源在一个共享区域,那么可以采取锁定资源的方式,每次 调用加锁,每次调用完毕解锁。
2) 大部分数据都存在数据库,宝付绝大多数都是这种情况,利用数据库的特性来控制, 在我们调用数据库更新信息时,数据库会返回给我们更新条目数,我们利用这个特性,这样 操作,当我们更新订单时,把这个订单的原始状态作为条件进行更新,当我们短时间内操作 更新时,第二次更新必然不成功,因为条件不满足了,状态变了,那么数据库在第二次就会 返回更新数量为0,这样我们就发现问题了,这就是熟称的“乐观锁”。

作者:xiaofeng  创建时间:2023-06-13 17:48
最后编辑:xiaofeng  更新时间:2024-09-19 18:06