在测试的时候遇到了这样神奇的问题,有时候能够成功支付,而有时候就支付失败。
别慌,虽然花了我很多时间debug
,最后终于找到原因了。
也许你也是这个原因呢?看看吧。
吐槽:微信支付的错误信息真的无语,只给了一个failed能看出啥嘛…
直接说解决办法:
我是在用户一进入页面的使用wx.config
进而获取用户地址,然后在支付的时候微信授权登录,再进行支付。
偶尔成功的原因是:我用了缓存,用户登录之后一段时间内可以不登录。获得地址之后一段时间内不再获取地址。因此实际上有时候没有使用wx.config
进行注册。当我在缓存时间有效的情况下进入支付时支付不成功的,因为没有使用wx.config
获取支付权限…
那么就这样解决吧,每次提交支付请求前先wx.config
一下。
如果一直支付失败呢?很有可能是参数写错或者支付请求地址和微信后台配置不一致…