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

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

 

 

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

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

 

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

转载于:https://www.cnblogs.com/runong/p/5567628.html

你可能感兴趣的:(支付宝支付异步通知签名验证sign和mysign不一致的问题)