交互方式
交互方式为采用HTTPS/HTTP协议进行通讯
基本信息
请求参数
参数名称 |
参数描述 |
类型 |
必填 |
备注 |
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位对称密钥 |
对接说明–请求处理:
1。如果业务参数中有需要进行数字证书脱敏的
- 当verifyType =10
- 使用SM4 生成16进制的数字信封
- 使用该数字信封对业务参数中的特殊数据进行加密脱敏
- 将该密钥使用宝付的公钥,通过sm2国密加密算法进行加密,然后16进制输出得到dgtlEnvlp
- 当verifyType =11
- 使用AES-256生成对成密钥作为数字信封
- 使用该数字信封对业务参数中的特殊数据进行加密脱敏
- 将该密钥使用宝付的公钥,通过RSA加密算法进行加密,然后16进制输出得到dgtlEnvlp
2.通过商户自己的私钥,使用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 |
解密失败 |
失败 |