1.6 KiB
1.6 KiB
签名计算规则示例:
以下仅做示例说明,实际的签名规则可自行设计。
简要描述:
- 除sign字段外,所有参数按照字段名的ascii码从小到大排序后,使用QueryString的格式(即key1=value1&key2=value2…)拼接成字符串后,再在前后追加上 商户密钥 的值,然后转换成32位大写的MD5字符串。
注意事项:如空值参数是否参与签名需要在提供的文档中进行说明哈
假设 商户密钥 值为: rste57w8rsubsnxsb384ur3u9kn5fzhr0a091b3aa4324435aab703142518a8f7
假设请求参数为:
{
"userId":"1001",
"orderNo":"2023061917481700001",
"productNo":"test01",
"buyNum":1,
"attach":"{\"account\":\"13888888888\"}",
"maxAmount":""
"timestamp":1687168097,
"callbackUrl":"",
"version":"1.0",
"sign":"EF387ED4D401A275498A9FCC6C22116B"
}
验签步骤:
- 转换成字符串如下:
attach={"account":"13888888888"}&buyNum=1&callbackUrl=&maxAmount=&orderNo=2023061917481700001&productNo=test01×tamp=1687168097&userId=1001&version=1.0
- 前后追加上 商户密钥 的MD5源串如下:
rste57w8rsubsnxsb384ur3u9kn5fzhr0a091b3aa4324435aab703142518a8f7attach={"account":"13888888888"}&buyNum=1&callbackUrl=&maxAmount=&orderNo=2023061917481700001&productNo=test01×tamp=1687168097&userId=1001&version=1.0rste57w8rsubsnxsb384ur3u9kn5fzhr0a091b3aa4324435aab703142518a8f7
- MD5后转成32位大写的签名值如下:
EF387ED4D401A275498A9FCC6C22116B