1.文档说明

1.1文档目的

本文档的目的是为宝付验卡产品定义一个标准接口规范,以帮助商户技术人员快速接入宝付验卡服务,并快速掌握其相关功能,便于尽快的投入使用。

1.2阅读对象

商户开发人员、维护人员和管理人员
宝付安全服务产品相关的技术人员

1.3技术支持

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

技术支持热线:021-68819999-8119
技术支持Email:support@baofoo.com

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、宝付发送验证请求至下家(银行/银联/其它);
3、下家将验证结果通知宝付;
4、宝付同步将验证结果通知商户;

2.3业务接口

2.3.1银行卡验证类交易

商户可通过发起银行卡实名验证类交易对持卡人的身份信息、银行卡信息和银行预留手机号码进行验证。
交易URL

测试环境地址:https://vgw.baofoo.com/biztransfer/bankcard/v2/authWithSign
正式环境地址:https://gw.baofoo.com/biztransfer/bankcard/v2/authWithSign

请求报文

序号 域名 变量名 必填 备注
01 商户号 member_id M 宝付提供给商户的唯一编号
02 终端号 terminal_id M 宝付提供给商户的终端编号
03 加密数据类型 data_type M json
04 加密数据 data_content M 具体参数如下加密数据,注意:加密是先将组装的数据(请参照数据模版组装)进行Base64编码转化,然后再使用宝付公钥证书(RSA)加密得到密文。
05 数字签名 data_sign M 首先将member_id + terminal_id ++data_type + data_content + encrypt_type拼接成字符串,进行Base64 UTF-8编码转化,然后再使用商户私钥证书(RSA)加密得到签名。
06 加密类型 encrypt_type M 加密数据加密类型。取值:”RSA”.
  • 加密数据
序号 域名 变量名 必填 备注
1 商户号 member_id M 宝付提供给商户的唯一编号
2 终端号 terminal_id M 宝付提供给商户的终端编号
3 商户订单号 trans_id M 订单号唯一不可重复,长度String(50);
4 订单日期 trade_date M 格式:yyyyMMddHHmmss
5 卡号 acc_no M 银行卡号
6 证件证号码 id_card M 身份证号码
7 证件类型 id_type M 取值:0;0:身份证(只支持二代身份证)1:军官证;2:护照
8 持卡人姓名 id_holder M 持卡人姓名
9 银行预留手机号码 mobile M
10 卡类型 card_type M 101:借记卡,102:信用卡
11 卡有效期 valid_date C 信用卡认证必传;信用卡有效期,如:0117(月+年)
12 卡安全码 valid_no C 信用卡认证必传;CVN2-信用卡背面3位数字检验码,如:123
13 验证类型 verify_element M 取值:12,123,1234,1234-1。
12:两要素(银行卡号 + 姓名);
123:三要素(银行卡号 + 姓名 + 身份证号);
1234:四要素(银行卡号 + 姓名 + 身份证号 + 银行卡预留手机号);
1234-1:五要素(银行卡号 + 姓名 + 身份证号 + 银行卡预留手机号+账户类型)
14 行业类型 industry_type O 行业。取值:默认A1
15 费用承担方 fee_member_id O
16 账户类型 acc_type C 01 一类户,五要素验证时必传

加密数据模板:
➤JSON

{
    "member_id": "100026286",
    "terminal_id": "200001418",
    "trans_id": "XXXXXXXXXXXX",
    "trade_date": "20190123135756",
    "acc_no": "6222****001",
    "id_card": "3203****9142",
    "id_type": "0",
    "id_holder": "钱*宝",
    "card_type": "101",
    "mobile": "186****765",
    "valid_date": "",
    "valid_no": "",
    "verify_element": "1234-1",
    "industry_type": "A1",
    "acc_type": "01"
}

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

序号 域名 变量名 必填 备注
01 响应状态 success M true/false,此字段是通信及请求权限标识,非交易标识,交易是否成功需要查看data来判断
02 错误码 errorCode O success为false为接口响应错误代码,详见数据字典-错误码
03 错误信息 errorMsg O 错误描述
04 加密方式 encrypt_type M 加密数据加密类型。取值:”RSA”.
05 加密数据类型 data_type M json
06 加密业务成功数据 data M success为true时有值,具体参数如下加密业务成功数据。注意:宝付首先将业务成功数据进行Base64 UTF-8编码转化,然后再使用商户公钥证书(RSA)加密得到密文。当success为false时,该字段为null
07 数字签名 data_sign M 宝付首先将success + data + encrypt_type + data_type拼接成字符串,进行Base64 UTF-8编码转化,然后再使用宝付私钥证书(RSA)加密得到签名。注意:商户拿到响应报文后,首先使用宝付公钥验签,再使用商户私钥解密。当success为false时,该字段为null

加密业务成功数据 解密后参数(data)

序号 域名 变量名 必填 备注
01 认证结果码 code M 0:亲,认证成功(收费);1:亲,认证信息不一致(收费);2: 亲,账户类型不一致(收费,该取值仅在verify_element=1234-1时出现);3:亲,认证失败(不收费);9:亲,其他异常(不收费)
02 认证结果描述 desc M 宝付提供给商户的唯一编号
03 商户订单号 trans_id R 商户请求时上送的订单号
04 交易流水号 trade_no M 宝付交易响应流水号
05 收费标示 fee R Y:收费;N:不收费
06 机构响应码 org_code O 详见文档《附录1》机构响应码
07 机构响应描述 org_desc O 详见文档《附录1》机构响应码
08 银行编码 bank_id O 详见文档《附录2》银行编码
09 银行简称 bank_description R 详见文档《附录2》银行编码
10 账户类型 acc_type O acc_type=01: 一类户;acc_type=04:账户类型未知。注:仅在code=0或2时返回账户类型

响应成功示例

{
   "success": true,
   "data": "wef0weuf283h2bvkdv0u-09j1ph1f7twf9y1o3flao",
   "errorCode": null,
   "errorMsg": null,
   "encrypt_type": "RSA",
   "data_type": "json",
   "data_sign":"wef0weuf283h2bvkdv0u-09j1ph1f7twf9y1o3flao"
}

加密业务成功数据 解密后示例

{
       "code":"0",
       "desc":"亲,认证成功",
       "trans_id":"14744392884941234",
       "trade_no":"201611071910030000064673",
       "fee":"Y",
       "org_code":"null",
       "org_desc":"null",
       "bank_id":"",
       "bank_description":"",
       "acc_type":"01"
}

响应异常示例

{
    "success": false,
    "data":null,
    "errorCode":"S1000",
    "errorMsg":"请求参数有误",
    "encrypt_type": "RSA",
    "data_type": "json",
    "data_sign":null
}

附录:

1. 机构响应码

错误码 含义
0001 持卡人身份信息有误
0002 持卡人账号信息和身份信息不匹配
0003 持卡人账户信息有误
0004 该卡已被注销
0005 该卡已冻结,请联系发卡行
0006 该卡已挂失
0007 该卡有风险
0008 交易繁忙,请稍后再试
0009 卡号无效,请确认后输入
0010 卡状态异常,请联系发卡行
0012 请联系银行核实您的卡状态是否正常!
0014 核查不一致(身份证号有误)
0015 核查不一致(手机号有误)
0016 核查不一致(姓名有误)
0018 手机号码为空,请重新输入
0019 系统异常,请稍后再试
0020 银行卡已过有效期
0021 银行卡异常
0022 该卡验证错误次数超限,请隔日再试
0023 暂不支持该银行卡
0024 银行卡未开通银联无卡支付
0025 当前银行卡不支持该业务
0026 交易失败,请联系发卡行
0027 账户类型不一致,该账户类型是非1类户
0028 该卡长期未使用,暂停非柜面交易
0029 持卡人身份证已过期
0030 卡未激活,请激活后重试
0031 密码输入次数超限,请联系发卡行
0032 受限制的卡,请联系发卡行
0033 未成年或超过岁,不支持认证

2. errorcode响应码

错误码 含义
S0001 系统繁忙,请稍后再试
S1000 请求参数有误(具体以响应参数错误为准)
S1001 请求订单不存在或已过期,请重新发起交易
S1002 请求订单已受理,请稍后查询交易结果
S1003 订单不能重复提交
S1004 请求订单创建失败
S1005 请求报文解析失败
S1006 请求报文加密数据处理失败
S1007 请求明文数据与密文数据不一致
S1016 暂不支持该银行卡校验
S1018 不识别的号码段
S2000 商户不存在
S2001 商户状态异常
S2002 商户终端信息不存在
S2003 商户终端信息状态异常
S2004 商户暂不支持该产品
S2005 商户暂不支持该功能
S2006 商户余额不足
S1017 签名验证失败

3.银行编码列表

序号 银行代码 银行名称
1 ICBC 工商银行
2 ABC 农业银行
3 CCB 建设银行
4 BOC 中国银行
5 BCOM 交通银行
6 CIB 兴业银行
7 CITIC 中信银行
8 CEB 光大银行
9 PAB 平安银行
10 PSBC 邮储银行
11 SHB 上海银行
12 SPDB 浦发银行
13 CMB 招商银行
14 CMBC 民生银行
15 GDB 广发银行
16 HXB 华夏银行
17 BOB 北京银行

4. 银行卡卡bin类型

卡类型 名称
1 借记卡
2 贷记卡
3 预付卡
4 准贷记