欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

微信支付 在部分安卓设备下获取不到openid 但是IOS设备却可以获取呢

程序员文章站 2022-04-02 12:10:20
...
在做微信支付这款 IOS设备都没有问题,安卓设备一直获取不到openid 导致无法进行支付 微信返回错误代码是40029

回复内容:

在做微信支付这款 IOS设备都没有问题,安卓设备一直获取不到openid 导致无法进行支付 微信返回错误代码是40029

是微信服务器提交了几次code导致code失效了吧(code只能用一次),在执行的时候加入写日志操作就可以发现的确执行了两次!通过多次的测试问题是出自获取用户信息时的json数据转换成对象时失败了(也就是异常),而没有try一下,导致微信服务再次提交相同code给你,而这个code你已经用了,所以第二步获取access_token时就出现40029问题。(ps:之前是获取到了一次。)

解决方案:整体加个try catch 从而找到问题的根源并解决它!

相关标签: php 微信支付