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 回调通知说明

1.3.1 异步通知公共参数

字段

字段类型

必填

参数名称

说明

notifyTime

Date

通知时间

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

notifyId

String

通知校验ID

 

charset

String

编码格式

编码格式, utf-8

version

String

接口版本

调用的接口版本1.0

signType

String

签名类型

签名算法类型,如:SM3WithSm2

sign

String

签名

签名串

appId

String

应用ID

分配给开发者的应用ID

spAppId

String

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

 

transCode

String

接口代码

与原交易接口代码一致

bizData

String

业务参数的集

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

1.3.2 异步通知机制

1、订单类结果通知规则

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

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

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

订单类

通知条件

说明

消费

订单成功、订单失败

 

担保消费申请

订单成功、订单失败

 

单会员担保确认

订单成功、订单失败

 

提现

订单成功、订单失败

 

转账

订单成功、订单失败

 

退款

订单成功、订单失败

 

退票

订单成功、订单失败

 

划款入账

入账成功

 

2、会员类结果通知规则

(1)当后台通知地址返回http的状态为200时,则认为通知成功,将停止通知。

(2)会员通知条件:

会员类

通知条件

说明

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

开户成功、开户失败

 

会员资料补录结果通知

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

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

会员协议签约结果通知

签约成功、签约失败

 

3、通知重发规则

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

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

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

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

1.4.1 验签机制

1. 筛选并排序

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

2. 拼接

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

3. 将签名参数(sign)使用 base64 解码为字节码串。

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

1.4.2 敏感信息加解密

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

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

1.4.3 签名验签API服务

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

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


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