重要的事情说三遍:二次签名时key使用驼峰

重要的事情说三遍:二次签名时key使用驼峰

重要的事情说三遍:二次签名时key使用驼峰

真的头大,直接把微信APP支付的代码给干过来了,结果签名一直提示签名失败,使用微信签名验证工具验证也是正常的,就是这个鬼东西:
​​​ https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=20_1​小程序支付前端报requestPayment:fail:支付验证签名失败_支付
这里只校验的key值都是小写的,但是小程序支付时生成签名的参数key是驼峰的
小程序支付前端报requestPayment:fail:支付验证签名失败_字符串_02

​小程序调起支付API​

小程序支付前端报requestPayment:fail:支付验证签名失败_java_03


如果不注意的话,使用了全部小写的key作为原字符串去生成签名,这就会出现在签名工具里面测试签名是正确的,小程序唤起微信支付时提示签名失败。。。。还有就是签名方式,统一下单和唤起支付的签名方式需要保持一致,这个也要注意。

小程序支付前端报requestPayment:fail:支付验证签名失败_字符串_04

最后一个坑就是,notepad++的坑,我把原串拷进文件里面用notepad++对比,结果这货不区分大小写,明明两个字符串不一样,还直接变绿了,我还又没仔细看,一直以为签名工具出问题了呢,但是换了MD5还是出错。

签名错误,果然还是需要仔细,细心对比原串。。。。。。。。。。。。。。。。。

小程序支付前端报requestPayment:fail:支付验证签名失败_字符串_05