如何处理通过微信公众号自定义菜单的url生成的code来获取openID时报错code has been used?

在调起微信支付前,需要获取当前微信用户的openID,所以现在我通过将拼接好的url放到微信公众号的自定义菜单里,点击菜单第一次进入网站时获取回调url的code,并将其传给后端来获取openID,此时可以获取openID并能成功支付,当关闭页面重新进入网站并通过新生成的code来获取openID时,就报错errcode : 40163, errmsg:code has been used。疑问啊!明明每次生成的code是不一样的!但是后面获取openID是不成功的。请问大家有什么好的处理办法?将openID保存在本地可以,但是如果切换了账号怎么办(现在openID我用sessionStorage存储)?诚望解答!
拼接的url我是按照微信公众平台的文档来的。如下:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
阅读 3.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题