从发现3.0.1版本的APP支付会返回支付签名失败,开始就发帖询问并且加上@刘松林 去调试,7月31号@刘松林去调试,没有找到问题,最后说下周二左右可以解决也就是8月6号,在8月6号询问却说还没来及时间处理做了一下记录反馈,这就有点象拖字诀了。最后自己又根据@刘松林 增加的调试日志 找到/vendor/w7corp/easywechat/src/Pay/Utils.php 文件,发现是“buildAppConfig”方法 默认返回的是sha256WithRSAEncryption,而APP请求使用的是MD5方式如图:
需要修改成这样并且增加一个MD5的签名方法
然后保存重启swoole,在去APP中使用微信支付 就可以正常拉起支付并返回成功了。
修改后的文件已上传,我只在3.0.1版本中进行过测试因为程序是基于3.0.1版本去开发的,调试环境是3.0.1版本的原版,其他办法可以自己对照代码去修改然后进行测试。
在此想说一下,还请官方更新的时候认真点吧,一个APP支付都能被拖的怎么久,并且还是官方版本造成的错误,另外PRO版本啥时候增加APP自动更新功能。。。总不能说还得需要自己二开去增加吧!