多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
签名生成的通用步骤如下: 第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序) 第二步,将ASCII排序后的参数取参数值拼接起来(即<b style="color:#F00">value1</b><b style="color:#00F">value2</b><b style="color:#F00">value3</b>)拼接成字符串stringA。 特别注意以下重要规则: ◆ 参数名ASCII码从小到大排序(字典序); ◆ 如果参数的值为空不参与签名; ◆ 参数名区分大小写; 第三步,在stringA拼接上payKey得到stringSignTemp字符串,并对stringSignTemp进行MD5运算(32位小写),将结果赋值给Sign。 ◆ payKey获取路径:ISPAY商户平台(<a href="https://www.ispay.cn" target="_blank">https://www.ispay.cn</a>)-->开发者-->应用配置-->商户密钥 举例: 假设传送的参数: ~~~ payId:10000 payChannel:wxpay Subject:测试标题 Money:100 orderNumber:201702080118441263011007 attachData:test ~~~ 第一步:按照参数名ASCII字典序排序: ~~~ Money:100 Subject:测试标题 attachData:test orderNumber:201702080118441263011007 payChannel:wxpay payId:10000 ~~~ 第二步:将ASCII字典序排序后的参数取参数值依次拼接成字符串: ~~~ stringA = "100测试标题test201702080118441263011007wxpay10000" ~~~ 第三步:拼接商户密钥(payKey)并完成MD5加密: ~~~ stringSignTemp = stringA + payKey //注:payKey为商户密钥在后台获取 Sign = md5(stringSignTemp) ~~~ 得到最终发送的数据: ~~~ payId:10000 payChannel:wxpay Subject:测试标题 Money:100 orderNumber:201702080118441263011007 attachData:test Sign:d03a67eda097c2ecfaceb170a8527035 ~~~