大家都知道微信支付的方式,目前我们出门的时候,基本都是微信扫一扫支付,很受欢迎的第三方支付平台了,接下来的内容中,小编会为各位开发者们介绍微信签名算法php的
。跟着小编一起来看看介绍吧。
1、签名算法
签名生成的通用步骤如下:
第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
特别注意以下重要规则:
◆ 参数名ASCII码从小到大排序(字典序);
◆ 如果参数的值为空不参与签名;
◆ 参数名区分大小写;
◆ 微信接口可能增加字段,验证签名时必须支持增加的扩展字段
第二步,在stringA最后拼接上key得到stridfignTemp字符串,并对它进行MD5的运算,然后把得到的字符串转变为大写的,然后就会得到sign值signValue。
key设置路径:微信商户平台(pay.weixin.qq.com)–>账户设置–>API安全–>密钥设置
举例:
假设传送的参数如下:
第一步:对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:
第二步:拼接API密钥:
最终得到最终发送的数据:
2、生成随机数算法
微信支付API接口协议中包含字段nonce_str,主要保证签名不可预测。我们推荐生成随机数算法如下:调用随机数函数生成,将得到的值转换为字符串。
感谢各位亲们的耐心观看,小编在以上的内容中为大家介绍了算法,各位微信开发者们,看完后对于接口的开发应该是了解了的。更多相关的内容尽在我们的开淘网。感谢你对我们的支持了。
推荐阅读:查看更多相似文章