签名与安全
算法
- 签名算法:
SHA256withRSA - 请求:商户私钥签名
- 响应:平台私钥签名(调用方用平台公钥验签)
签名串规则
- 参数名按 ASCII 从小到大排序
- 排除
sign字段 - 值为空的字段不参与签名
- 嵌套对象扁平化后参与签名
- 最终拼接格式:
k1=v1&k2=v2&...
验证流程
- 服务端接收请求后先执行参数校验
- 初始化商户与应用上下文
- 验签(商户公钥)
- 校验请求时间窗口
- 执行业务
- 对响应体签名并返回
时间与重放建议
reqTime使用服务器同步时间nonceStr每次请求唯一- 建议调用方在网关侧增加幂等控制与超时重试策略
常见错误
20052:验签失败10506:参数校验失败20023:配置未启用
更多返回码见 错误码。