交互方式

交互方式为采用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位对称密钥
对接说明–请求处理:
  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 解密失败 失败