支付宝支付异步通知签名验证sign和mysign不一致的问题


第一次做支付宝支付,由于不能在线上单独测试,所以只能在外网上建立一个临时的页面接收支付宝异步回调的数据,然后再拿回到本地,修改回调处理接收数据的方式post变成get,拼接一下参数走一下回调,方法很笨。

 

 

现在我在外网测试页面用http_build_query函数直接把$_POST数组生成query_string,直接输出query_string,会出现一个有趣的现象,其中的参数&not会被解析成¬这个字符,大爷的,请注意这不是支付宝那边返回的数据不正确,而是我这边输出

在浏览器解析出现了问题,后来我手动把¬改成&not,最后测试,成功了,签名正确!

 

其实另外还有一个问题也会造成数字签名不一致,就是需要签名的参数中掺杂了其他参数,如果是url上一定要带上的,记得在签名验证前把不需要签名的参数给过滤掉,这样就没问题了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM