2. 公共接口规范


1.1 公共请求参数

字段

字段类型

必填

字段名称

说明

appId

String

云商通二代分配的应用ID

如上送服务商应用ID,验证服务商证书

spAppId

String

云商通二代分配的服务商应用ID

 

transCode

String

接口代码

 

format

String

仅支持JSON

json

charset

String

请求使用的编码格式,utf-8

UTF-8

signType

String

商户生成签名字符串所使用的签名

算法类型

比如:SM3withSM2

sign

String

商户请求参数的签名串

 

transDate

String

发送请求的日期,格式"yyyyMMdd"

20240202

transTime

String

请求时间

141333

version

String

调用的接口版本

1.0

bizData

String

请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档

 

 

1.2 公共响应参数

字段

字段类型

必填

字段名称

说明

code

String

调用结果返回码

00000-成功

msg

String

调用结果返回码描述

 

sign

String

商户请求参数的签名串

 

bizData

String

返回参数的集合,最大长度不限,除公共参数外所有返回参数都必须放在这个参数中传递,具体参照各产品快速接入文档

 

 

1.3 接口代码

分类

对应接口

接口代码(transCode)

是否必须对接

会员及账户类

文件上传

/

可选对接

企业会员实名开户

1020

银行托管,对接

会员资料补录

1022

可选对接

个人会员实名及绑卡(申请)

1010

银行托管,对接

个人会员实名及绑卡(确认)

1011

银行托管,对接

查询会员信息

1027

银行托管,对接

平台资金查询

1026

银行托管,对接

会员绑定手机号申请

1030

可选对接

确认绑定/解绑手机号

1032

可选对接

会员线上协议签约申请

1050

可选对接

线下协议文件上传

1051

可选对接

会员协议签约结果通知

1052

可选对接

银行子账户实时余额查询

1060

银行托管,对接

银行子账户账务明细查询

1061

银行托管,对接

银行用户新增绑卡申请

1028

银行托管,对接

银行用户信息变更申请

1045

银行托管,对接

企业会员新增绑定对公户

1033

可选对接

签约协议查看H5

1053

可选对接

银行账户收支明细查询

1062

银行托管,对接

交易类

 

银行子账户提现申请

2292

银行托管,对接

银行子账户支付

2081

银行托管,对接

银行子账户支付退款

2291

银行托管,对接

消费申请

2085

可选对接

退款申请

2294

可选对接

确认支付(后台+短信)

3010

可选对接

查询车牌服务开通信息

4007

可选对接

创建停车入场

4008

可选对接

停车入场状态变更通知

4009

可选对接

订单关闭

2295

可选对接

划款入账通知

2080

可选对接

交易结果查询类接口

订单状态查询

3001

银行托管,对接

电子回单下载

4003

可选对接

银行清分文件管理

4004

银行托管,对接

对账文件下载类

应用集合对账文件下载

4002

银行托管,对接

 

1.4 回调通知说明

1.4.1 异步通知公共参数

字段

字段类型

必填

参数名称

说明

notifyTime

Date

通知时间

格式为yyyy-MM-dd HH:mm:ss

notifyId

String

通知校验ID

 

charset

String

编码格式

编码格式, utf-8

version

String

接口版本

调用的接口版本1.0

signType

String

签名类型

签名算法类型,如:SM3WithSm4

sign

String

签名

签名串

appId

String

应用ID

分配给开发者的应用ID

spAppId

String

云商通二代分配的服务商应用ID

 

transCode

String

接口代码

与原交易接口代码一致

bizData

String

业务参数的集

通知参数的集合,最大长度不限,除公共参数外所有通知参数都必须放在这个参数中传递,具体参照各产品快速接入文档

 

1.4.2 异步通知机制

1、订单类结果通知规则

(1)当后台通知地址返回success时,则认为通知成功,停止通知。

(2)对于交易时效非常高的场景,建议商户建立主动查询机制【查询订单状态】。

(3)订单后台通知条件:

订单类

通知条件

说明

银行子账户支付

订单成功、订单失败

 

银行子账户支付退款

订单成功、订单失败

 

银行子账户提现

订单成功、订单失败

 

 

2、会员类结果通知规则

(1)当后台通知地址返回success时,则认为通知成功,停止通知。

(2)会员通知条件:

会员类

通知条件

说明

企业会员薄记开户审核结果通知

开户成功、开户失败

说明:会员状态=有效、审核失败、银行审核失败发送通知

会员资料补录结果通知

营业执照和法人身份证OCR识别对比结果一致、不一致

营业执照和法人身份证分别进行OCR识别比对,每次结果变动,均发送通知

3、通知重发规则

(1)同样的通知可能会多次发送给接收方系统。接收方系统必须能够正确处理重复的通知。

(2)后台通知交互时,如果接收方反馈给通知方的应答不符合规范或超时(链接保持5s),通知方服务器会不断重发通知,直到收到接收方正确的反馈或超过6小时。一般情况下,6小时以内完成7次通知(通知的间隔频率一般是:5s/15s/1m/10m/30m/1h/6h),但通知方不保证通知最终一定能成功。

(3)在订单状态不明或者没有收到支付结果通知的情况下,建议接收方主动调用【交易结果查询】确认订单状态。

1.5 验签机制/敏感信息加密说明

1.5.1 验签机制

  1. 筛选并排序

获取所有请求参数,不包括字节类型参数,如文件、字节流,剔除sign、signType字段,剔除值为空的参数,并按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推。

  1. 拼接

将排序后的参数与其对应值,组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来,此时生成的字符串为待签名字符串。

  1. 将签名参数(sign)使用 base64 解码为字节码串。
  2. 调用验签函数:使用各自语言对应的Sm2签名验证函数,传入待验签字段、服务商或者客户公钥、签名内容(经过base64解码)进行验签,根据返回结果判定是否验签通过。

1.5.2 敏感信息加解密

客户端与服务端之间传递敏感信息,请使用SM4 对称加密算法进行加密后传输。

SM4加密:将传入的密钥(secretKey)的字节数组作为因子通过SHA1PRNG生产一个64位的随机源,构造出原始密钥,通过ECB模式对明文数据进行加密,加密后的字节码转为16进制大写输出。

1.5.3 签名验签API服务

独立部署一个api服务,加解密调用此服务,方法见附件:

【签名验签API_V2】https://kdocs.cn/l/cnO6tubee5wq

1.6 中信银行测试数据说明

1.6.1 二代银行存管测试应用参数:

appid=21783065698184253441;

 

secretKey = "878427523d3525e070298d44481b8d2e";

 

privateKeyStr="MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgTI6DEvfB/Zk/L61JUvyOljK3zjaBRd5T076hlYsDipGgCgYIKoEcz1UBgi2hRANCAASebeTJ7OGucvLghYuglH+DIMVw67i72NWKJN5Ye1QcbsrijwPQDswN3ymZFvoCkM+S5mSZUIq+o0MF66tyvySr";

 

allinpayPublicKeyStr="MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEu9LNkJlyLtjJxtQWIGlcZ/hyHt5eZ7LEH1nfOiK1H9HsE1cMPu5KK5jZVTtAyc7lPMXixUMirf6A3tMbuMbgqg==";

 

1.6.2 接口上传参数说明

【企业会员实名开户】接口中需要上送真实的企业工商信息,可上“天眼查”搜索真实有效的企业信息调用接口测试

用户绑卡时,对公账户需要在中信处登记,命中中信的白名单才可绑卡,需要测试绑卡需联系中信测试人员添加白名单


maxy2 2025年3月19日 16:11 收藏文档