微信扫码支付 返回签名错误

CCVOTF 2016-06-29

做微信扫码支付时,返回签名错误,在网上搜各种解决方法,都试过了,还是没解决,也在官网上验证签名了,和本地系统生成的完全一致。

开始的时候是通过了的,能正常支付,也能进回调,后来就挪到了需要用到的action里,联调的时候发现报签名错误,尝试各种方法之后,又在之前测试的action里执行了一遍,发现在那个action里正常!

于是怀疑是方法位置的问题,因为我放到要用的action里之后,为了使代码简洁点,把里面用到的一些如获取本机ip、生成随机数这种方法都提取到了一个新建的类中,然后通过这个类进行调用,而那个测试的action里,所有方法也都是放在action里的,抱着试试的心态,我把所有要用到的方法都挪到了调用扫码支付报签名错误的action里,重启访问,重归正常!

真的是完全没有想到会是因为这个原因导致的,微信支付报签名错误的原因有很多,有说body里不能有中文的、有说是因为参与签名的参数不全的、还有的重置了API密码就可以了的,我差点也要去重置密码了,还好先试了下之前做测试的action里的代码。

网上各种吐槽微信支付的,与支付宝支付相比,微信支付确实差很多,官网里文档的流程也不是那么清晰,就拿这个签名错误来说,完全没有任何提示是哪的问题,这样很不利于查找错误,希望能改进啊···

相关推荐