微信支付 在部分安卓设备下获取不到openid 但是IOS设备却可以获取呢
程序员文章站
2022-04-17 22:19:43
...
在做微信支付这款 IOS设备都没有问题,安卓设备一直获取不到openid 导致无法进行支付 微信返回错误代码是40029
回复内容:
在做微信支付这款 IOS设备都没有问题,安卓设备一直获取不到openid 导致无法进行支付 微信返回错误代码是40029
是微信服务器提交了几次code导致code失效了吧(code只能用一次),在执行的时候加入写日志操作就可以发现的确执行了两次!通过多次的测试问题是出自获取用户信息时的json数据转换成对象时失败了(也就是异常),而没有try一下,导致微信服务再次提交相同code给你,而这个code你已经用了,所以第二步获取access_token时就出现40029问题。(ps:之前是获取到了一次。)
解决方案:整体加个try catch 从而找到问题的根源并解决它!