交互方式
交互方式为采用HTTPS/HTTP协议进行通讯
基本信息
环境 | 接口地址 |
---|---|
测试 | https://vgw.baofoo.com/union-gw/napi/{服务编号}/transReq.do |
生产 | https://public.baofu.com/union-gw/napi/{服务编号}/transReq.do |
请求参数
参数名称 | 参数描述 | 类型 | 必填 | 备注 |
---|---|---|---|---|
header | 请求公共参数 | json | Y | 请求公共参数,具体见后面header说明 |
body | 业务参数 | json | Y | 参照各接口请求参数,json格式化之后的字符串 |
sign | 签名串 | String(128) | Y | 使用自身私钥对公共参数和业务参数进行 签名,并做16进制转码 |
请求公共参数header说明
参数名称 | 参数描述 | 类型 | 必填 | 备注 |
---|---|---|---|---|
memberId | 商户号 | String(20) | Y | 商户号(宝付提供) |
terminalId | 终端号 | String(20) | Y | 终端号(宝付提供) |
timestamp | 报文发送时间 | String(19) | Y | yyyy-MM-dd HH:mm:ss 5分钟容错 |
verifyType | 加密方式 | String(10) | Y | 加密方式 10–国密 11-RSA |
charset | 字符集 | String(8) | Y | 固定字符集UTF-8 |
version | 接口版本号 | String(8) | Y | 1.0 |
signSN | 签名证书序列号 | String(20) | Y | 商户公钥序列号 |
ncrptnSN | 加密证书序列号 | String(20) | Y | 宝付公钥序列号 |
dgtlEnvlp | 数字信封 | String(512) | N | 使用sm4或AES生成对称密钥 用宝付公钥使用加密对称密钥 并做16进制转码 |
请求示例
header={"charset":"UTF-8","dgtlEnvlp":"","terminalId":"100003229","ncrptnSN":"4026170978","version":"1.0","signSN":"1387287848","verifyType":"10","memberId":"100000178","timestamp":"2023-03-01 18:07:25"}
body={"marketingInfo":"100000178,12","memberId":100,"memberTransId":"1677665242473","orderAmt":"10000","reqAddtion":"附加信息","shareNotifyUrl":"https://www.baidu.com","terminalId":100003154,"tradeCode":2,"tradeDate":"20230301180722"}
sign=304502207C4707192CA8870D3F262D9D25794CBA2D9838DBB27FA794DE6E7C1849CF2565022100AF56D1A6BD2C69D386293B771459C52CD8DA9E07329126FD09EE41DBF4BB31DA
返回参数
参数名称 | 参数描述 | 类型 | 必填 | 备注 |
---|---|---|---|---|
header | 返回公共参数 | json | M | 返回公共参数,具体见后面返回header说明 |
body | 返回业务数据 | json | C | json格式化之后的字符串,内容参考具体业务接口文档 |
sign | 签名串 | String | C | 使用宝付签名私钥对业务参数进行签名后转16进制大写 |
返回公共参数header说明
参数名称 | 参数描述 | 类型 | 必填 | 备注 |
---|---|---|---|---|
memberId | 商户号 | String | R | 商户号(宝付提供) |
terminalId | 终端号 | String | R | 终端号(宝付提供) |
serviceTp | 服务编号 | String | R | 服务编号 |
verifyType | 加密方式 | String | R | 加密方式,同请求 |
dgtlEnvlp | 数字信封 | String | C | 使用自身私钥进行解密, 得到16进制的数字信封 |
signSN | 签名证书序列号 | String | M | 宝付公钥证书序列号,用于选择验签证书 |
ncrptnSN | 加密证书序列号 | String | M | 商户公钥证书序列号,用于选择解密证书 |
sysRespCode | 系统返回码 | String | M | |
sysRespDesc | 系统返回说明 | String | M |
返回示例
{"body":"{\"errorCode\":\"0000\",\"errorMsg\":\"成功\",\"retCode\":\"1\"}",
"header":"{\"dgtlEnvlp\":\"04A2EBC51256064080269FC46AA6E6A1FC07723A455B5C2C41960CFAA494DFFAA5B4472A68D4CD956BA7E5FB89B2A8EC93E0519C2E021FE29A93E45BA3C31D31B8606FBE8097EA114A3CB2869783627CEEA5652E69A424A319F03FF00EB592A8A4CD0371E904F6180D57BA8173B11D56FF367FB3926003BA69BD6DC072BBD10DF1\",\"memberId\":\"100000178\",\"ncrptnSN\":\"4026170978\",\"serviceTp\":\"T-1001-024-05\",\"signSN\":\"1387287848\",\"sysRespCode\":\"S_0000\",\"sysRespDesc\":\"请求正常\",\"terminalId\":\"100003229\",\"verifyType\":\"10\"}",
"sign":"3046022100E1703DDBA216F10EE5EFF6EB311C78A410AC3015C0D0490384BE026E92A1B31F022100D34DF5AFECFA96333557C88CBBFA66CD3E4A59B46248D1E17DD0E060D018DFE8"
}
签名/验签算法
加密类型 | 算法类型 |
---|---|
10 | SM2withiSM3 |
11 | RSA2048withSHA256 |
数字信封明文
算法类型 | 对称密钥 |
---|---|
AES256_ECB | 256位对称密钥 |
SM4_ECB | 128位对称密钥 |
对接说明–请求处理:
如果业务参数中有需要进行数字证书脱敏的
当verifyType =10
使用SM4 生成16进制的数字信封
使用该数字信封对业务参数中的特殊数据进行加密脱敏
将该密钥使用宝付的公钥,通过sm2国密加密算法进行加密,然后16进制输出得到dgtlEnvlp
当verifyType =11
使用AES-256生成对成密钥作为数字信封
使用该数字信封对业务参数中的特殊数据进行加密脱敏
将该密钥使用宝付的公钥,通过RSA加密算法进行加密,然后16进制输出得到dgtlEnvlp
通过商户自己的私钥,使用sm2国密或RSA签名算法,对header+body进行签名并做16进制转码,得到sign
对接说明-返回处理
- 如果请求正常,请先使用宝付的公钥,对sign进行验签
- 使用自己的私钥对返回的数字信封解密(可选)
- 使用数字信封对业务数据进行相关脱敏(可选)
错误码说明
sysRespCode | sysRespDesc | 备注 |
---|---|---|
S_0000 | 请求正常 | 正常(请查看body中的相关信息) |
S_E_9001 | 请求受理失败 | 失败 |
S_E_9002 | 请求受理结果未知 | 未知 |
S_E_0003 | 商户信息不存在或状态不正常 | 失败 |
S_E_0004 | 商户与终端号不匹配 | 失败 |
S_E_0005 | ip未绑定,请联系宝付 | 失败 |
S_E_0001 | 明文参数格式或数据不正确 | 失败 |
S_E_0002 | 明文参数解析失败 | 失败 |
S_E_0006 | 密文解密失败 | 失败 |
S_E_0007 | 密文参数解析失败 | 失败 |
S_E_0010 | 接口服务报文不支持 | 失败 |
S_E_0011 | 验签失败 | 失败 |
S_E_0012 | 解密失败 | 失败 |