关于公众号微信支付errcode:40163,code been used,Code重复使用的问题

公众号微信支付errcode":40163,"errmsg":"code been used,Code重复使用的问题,请教一下,这个问题该如何解决,各位提供一下解决方法可以吗

0

2个回答

oauth登录获取用户的openid时的code只能用一次啊,不能缓存重复用,需要重新获取过。要么你就绑定访问者的用户账号,openid和账号关联起来,登录后session存储用户的openid,直接从session获取openid

1
weixin_41325924
weixin_41325924 最后发现是自己程序的逻辑问题,谢谢你这么耐心的回答
4 个月之前 回复
showbo
showbo 回复weixin_41325924: 你要将openid和这个账户绑定,你的这个错误应该是你自己的系统检查出现的错误吧。不是微信那边的。。这个openid和你们系统的用户没有对应起来。一般来说如果你们系统不需要自己手动注册账户,应该可以oauth获取openid的时候就应该判断用户表是否存在此openid,存在就读相关信息设置身份,否则注册新用户并存此openid并设置身份信息。这样openid就唯一了。要是存在pc端人工注册的,就要多个绑定的pc端人工注册账号的步骤
4 个月之前 回复
caozhy
caozhy 看了下,这个专家说得非常有道理,建议采纳!
4 个月之前 回复
weixin_41325924
weixin_41325924 我现在用session记录了openid,并设置过期时间是5分钟,每次进来就判断如果openid不存在才去获取code,这样就不会报错了,但是现在报的是下单账号与支付账号不一致 请核实后支付。这个错会不会是我设置session才导致的啊(奇怪的是重复点几次后居然可以支付了!!!),大神帮帮忙啊,项目交稿时间快到啦,一直卡在这里了,帮忙解决下分都给你啦
4 个月之前 回复

您好,我尝试了您传授的方法,把openid传到数据里面,没个用户一个openid,但是还是会报下单账号与支付账号不一致 请核实后支付这个错,急求帮助!在线等!!!!!

0
weixin_41325924
weixin_41325924 把openid传到数据库里面,每个用户一个openid
4 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的。是时候展现真正的技术了!
其他相关推荐
微信code been used引发的一系列问题
nginx代理内网静态站点,发现微信忽然出现了code been used的问题,于是找日志:发现只有1条来源于外网的数据,翻度娘:各种他X的扯淡答案,搞了半天翻了下错误日志发现原来是内网由于微信昵称带了Emoji表情符号导致入库失败报错,微信接收到的错误信息后再次请求了相同的地址,最后因为二次使用相同的code出现code been used错误,稍微处理了一下昵称Emoji表情,然后就OK了...
微信公众号开发 获取openid时报错40163:code been used问题的解决
概述 通过微信官方提供的接口https://api.weixin.qq.com/sns/oauth2/access_token接口,获取openid,结果获取不到。 报错代码 WechatUserInfo(accessToken=null, expiresIn=null, refreshToken=null, openid=null, scope=nul l, errcode=401...
微信公众号网页授权code been use问题
微信网页总共分为5个步骤: 1 第一步:用户同意授权,获取code 2 第二步:通过code换取网页授权access_token 3 第三步:刷新access_token(如果需要) 4 第四步:拉取用户信息(需scope为 snsapi_userinfo) 5 附:检验授权凭证(access_token)是否有效 详情微信开发者文档:https://mp.weix
解决微信网页授权,出现"errcode":40163,"errmsg":"codebeenused,看似微信访问了2次这个回调接口的问题
先说说自己理解的微信机制:微信内访问自己服务器的页面,如果访问出错,微信就会认为是微信自身的问题,那么他就会开启另外一个IP来访问这个页面(什么上海的IP,深圳的IP不等),再把访问结果发回用户端,但是如果另外来的那个IP访问也出错,就会返回到一个微信自己定义的404页面(什么找人信息之类的)如果我们本身服务器页面也出错了,那么随便怎么访问都是出错的。。。那么问题来了,如果这个服务器出错的访问是用...
php微信网页授权经验和测试代码
本人菜鸟,为了做第3方微信扫码登陆,其中涉及微信网页授权,曾经遇到bug{"errcode":40163,"errmsg":code been used,hints:{req_id:8_8OoA0072th3s}},苦恼无比,现已寻解决方法,于是分享。代码为了适应新浪sae,用了原生态php。写的不好的地方,请大家指教。
微信开发40163 40029错误总结
微信网页授权开发时,经常会碰到400163,40029错误, 先看一下这两种错误的描述: 400163: code已经被使用(注意是被使用,说明能获取到正确的code) "errcode":40163,"errmsg":"code been used 40029: code无效 "errcode":40029,"errmsg":"invalid code 从错误信息中可得
调用微信的wx.login获取code进行使用时报40163错误
       我在获取微信用户的openid时,使用到的code,经过几次调试,才发现,获取到的code每次只能使用一次,想要再次请求获取openid就要重新生成code
微信授权,code:40163
这个问题困扰了我几个小时,可能脑回路不够吧WXEntryActivity这个类实现IWXAPIEventHandler是没问题,官网要求。需要注意的是WXEntryActivity的父类有没有handleIntent()这个方法的调用;如果有,请重写它,也许你的问题就解决了...
【完】微信公众平台网页授权两次重定向跳转问题
  在做微信公众平台网页授权时,发现每次请求授权链接 https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxx&redirect_uri=xxx&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect 时都会重定向...
iOS 第三方微信登录集成-错误-40029
错误纪录: #pragma mark - WXApiDelegate - (void)onResp:(BaseResp *)resp{ if ([resp isKindOfClass:[SendAuthResp class]]) { SendAuthResp *saresq = (SendAuthResp *)resp; //正确
微信支付趟过的坑
这段时间在做微信支付开发,在公司的公众号审批下来后,我这边的测试用例也已经开发完毕,于是拿着具体的数据来调试了,大段大段的代码就不贴了,demo里有,这里就说说调试过程中遇到的坑。         第一坑:redirect_url参数错误。因为我选择的的“JS API”支付,这种支付需要网页授权,先获取code,再拿code去获取openid和prepay_id。这个网页授权需要登录微信
VueJs单页应用实现微信网页授权及微信分享功能示例
在实际开发中,无论是做PC端、WebApp端还是微信公众号等类型的项目的时候,或多或少都会涉及到微信相关的开发,最近公司项目要求实现微信网页授权,并获取微信用户基本信息的功能及微信分享的功能,现在总算完成了,但开发过程中遇到好几个坑。废话不多说了,开始正题。 描述点 微信相关开发知识了解 怎么样实现微信相关功能本地测试 微信网页授权 微信分享 微信相关开发知识了解 微信公众号的appI...
"errcode":40163,"errmsg":"code been used
刚刚接触 微信开发 被这个40163 困扰好多天了,心态崩了,求大神解决.直接上代码rn用的是微信测试号开发,ngrok映射工具rn现在的问题是rn[color=#FF0000]第一个用户可以顺利获取到openid,后面的用户就获取不到了[/color]rn,每一次生成的code也是新的,但就是没有用,心态爆炸[img=http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/1.gif][/img]rn拦截器代码rn[code=java]rnprivate static final String APPID = "??";rn private static final String SCOPE = "snsapi_base";rn private static String REDIRECT_URI = "https://b3d6bc4a.ngrok.io/WeChat/getOpenid.do";rn private static String URL = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect";rnrn @Overridern public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)rn throws Exception rn HttpSession session = request.getSession();rn String openid = (String) request.getSession().getAttribute("openid");rn if (openid == null) rn REDIRECT_URI = UrlUtil.getURLEncoderString(REDIRECT_URI);rn URL = URL.replace("APPID", APPID).replace("REDIRECT_URI", REDIRECT_URI).replace("SCOPE", SCOPE);rn session.setAttribute("reqPath", request.getServletPath());rn response.sendRedirect(URL);rn session.setAttribute("URL", URL);rn return false;rn else rn return true;rn rn rn[/code]rn获取openid代码rn[code=java]rnprivate static final String APPID = "??";rn private static final String SECRET = "??";rn private static String requestUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";rnrn @RequestMapping("/getOpenid")rn public String getOpenid(HttpServletRequest request, HttpServletResponse response) rn String path = (String) request.getSession().getAttribute("reqPath");rn rn // 用户同意授权后,能获取到codern String code = request.getParameter("code");rn rn // 获取网页授权access_tokenrn JSONObject object = getOauth2AccessToken(APPID, SECRET, code);rn rn request.getSession().setAttribute("openid", object.getString("openid"));rn return "redirect:" + path;rnrn rnrn public static JSONObject getOauth2AccessToken(String appId, String appSecret, String code) rn // 拼接请求地址rn requestUrl = requestUrl.replace("APPID", appId).replace("SECRET", appSecret).replace("CODE", code);rn // 获取网页授权凭证rn JSONObject jsonObject = null;rnrn try rn jsonObject = HttpUtil.getJsonForGet(requestUrl);rn catch (ParseException e) rn e.printStackTrace();rn catch (IOException e) rn e.printStackTrace();rn rnrn return jsonObject;rn rn[/code]
获取微信公众号的用户信息( ThinkphpP 5.0 )
// access_token 调用接口凭证,这里通过code换取的是一个特殊的网页授权access_token,与基础支持中的access_token(该access_token用于调用其他接口)不同 // openid 普通用户的标识,对当前公众号唯一
ubuntu 12.04 安装 openssh-server 失败,请问怎么该弄?
$ sudo apt-get install openssh-server Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have
小程序错误代码总结
40163:code被重复使用40029:不合法的code40125:小程序账号密码配置不正确(appId、secret)
微信公众号错误总结
该篇博客是对本人微信公众号开发过程中遇到的所有错误整理,将会持续更新。
那些年用node接入微信走过的坑之(二)---微信自定义菜单
简介上一篇讲到如何成为开发者,这一篇继续,那么设计到自定义菜单和对微信事件的监听,例如说监听用户发来的消息,给用户发推送等等,监听用户的关注和取消关注的事件。
微信获取openid的时候报40163错的原因
最近在调试微门户,需要获取微信openid,使用企业号的时候获取openid没有报错,同样的方法微信公众号获取的时候就报40163错误即code重复使用,百度了一下,基本没有正面回复,今天无意之间看到一条回复,说是使用了动态链接的原因,验证了下,果然正确,记之。第一次将地址链接替换后第二次再调用的时候还是用的上一次的地址private static final String APPID = "??...
微信公众号开发 获取openid时报错40029 invalid code 问题的解决
概述 通过微信官方提供的接口https://api.weixin.qq.com/sns/oauth2/access_token接口,获取openid,结果获取不到。 报错代码 WechatUserInfo(accessToken=null, expiresIn=null, refreshToken=null, openid=null, scope=null, errcode=40...
微信 开发诡异的40029错误invalid code错误 443 failed to respond错误的解决办法
情景:使用静默授权或感知授权的方式将请求绑定到微信公众号的菜单栏上。链接如下: https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 当点击菜单按钮时微信
微信公共号 40029异常个人解决方案
在使用测试号开发时,获取用户基本信息可以正常运行,当使用服务号时,出现 异常:{"errcode":40029,"errmsg":"invalid code"},然后再次对照帮助文档,请求路径是: https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_t
Yii2高级版安装
参考:https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide-zh-CN/start-installation.md 先composer来个命令:composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application 然后配置服...
微信服务号开发时获取授权遇到的问题
1、问题 (遇到的问题)微信服务号开发时获取授权遇到的问题 公众平台返回原始数据为: 错误代码-40164,错误信息-invalid ip, not in whitelist hint: [59FKqA0797e514] (问题的原因)“获取access_token”接口新增IP白名单保护 为了提高公众平台开发者接口调用的安全性,避免一旦开发者ID和密码泄露后给帐号造成损失。腾讯对调用
tp5获取微信小程序openid
1.先说下我遇到的问题吧,1),总是给我报500的返回错误,以为是网站域名没备案的问题,结果发现并不是,只是开发工具中的账号信息对应不一致,我是专门找了一个域名备案加ssl证书配备好的服务器测试一直不成功。2)大家只需要在本地配置好自己的本地环境,并把微信web开发工具中的 设置-》项目设置-》不验证https开启就可以了3)你还可能会遇到这个问题:{"errcode":40163,"errmsg...
微信小程序 调用code换取session_key接口 提示41002 appid missing的问题
官方文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html?t=20161122 解决方案为:直接将参数拼在url里问题现象:调用wx.login成功后拿到code,去请求换取session_key接口时,如果直接将数据写入data里,就会提示 41002 appid missing,如下:而直接将参数写到url中后,则可以
微信公众号网页授权产生 错误代码:40029 真正解决
在做微信二次开发的时候,调用网站授权接口会遇到 {'errcode':40029,'errmsg':'invalid code, hints: [ req_id: 0407ns44 ]'}这样的错误。这个问题网上有很多所谓的解决方法,某些也确实能解决,我在开发过程中也遇到相同问题,下面记录一下我的解决方法。 网上很多文章说,微信服务器发起了2次“相同”的请求,第一次请求被其终止掉了,我验证了
java 网页授权获取微信用户信息错误 40029 微信端会发出两次请求 错误的oauth第二次无效的code
使用一个最笨的办法就是多设置几个全局变量通过对比是微信端发出的第二次请求无效 直接上代码了 @Controller public class CoreController { @Autowired CoreService coreService; @Value("${projecturl}") String projecturl; String openId = null; S
php微信公众号发送红包功能,以及40029错误
网上案例很多,这里就不写了。。 1.第一步是获取用户的openid。 1.获取code:https://open.weixin.qq.com/connect/oauth2/authorize?appid={$appid}&redirect_uri={返回url}&response_type=code&scope=snsapi_userinfo&state=from_wechat_menu&co
微信公众号开发之授权获取用户信息
微信开发交流群:148540125系列文章参考地址 极速开发微信公众号 欢迎留言、转发项目源码参考地址 点我点我–欢迎Start 前几篇文章已讲完如何导入项目,如何启动配置项目,如何成为开发者,重源码分析消息是如何交互、如何自定义菜单(如果以上不是很清楚可以看这里 极速开发微信公众号。这篇文章就来聊聊授权获取用户信息 一、什么是OAuth2.0这里整理了一篇文章 理解OAuth2.0二、微信公
公众号支付获取openid的code问题解决
(五)关于openid的获取 通过getopenid()方法获取openid,首先向getopenid方法发出请求 ,此时没有code走的是__CreateOauthUrlForCode()方法获取了code,同时也定义了他的跳转地址是第一次请求getopenid方法的,同时把请求古来的地址存在了session里面。后面有用 这个方法,因为session或cookie里
"errcode":40163,"errmsg":"code been used,微信访问两次code,实则自己代码问题
烦人的bug,对接微信第三方登陆获取用户信息我最洋气 我最洋气 烦了一天了,百度都给我烦烂了还是没有找到好的解决方法,总所周知微信网页授权获取到的 code 只能使用一次(5分钟内有效),使用一次后,马上失效。code会换取openid,此时刷新页面,并不会再次进行授权,而是直接刷新了一下上一次授权跳转后的链接,带的还是上一次的 code (如果你复制当前页面的链接,会发现它就是请求授权的链接,然...
Android:微信开发问题:errCode = -1 第二次支付失败
问题描述 1.errCode返回值为-1 2.第一次支付成功,第二次支付失败解决方法 将APP打包,同时生成签名文件.jks在手机上安装有签名的APK使用微信的工具获取签名 签名工具下载址: https://open.weixin.qq.com/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android.apk修改微信开发平台的
解决微信支付 errCode返回-1
最近 新接入一个项目的微信支付功能,遇到回调老是返回-1 android端要做的事很简单 wxApi = WXAPIFactory.createWXAPI(getView(), null); wxApi.registerApp(WXConstant.APP_ID);// 将该app注册到微信 PayReq request = new PayReq(); request.appId = wx
微信支付errCode 返回-1 问题
情况大概是这样的,之前app中已经集成了微信用户免密签约的sdk,也成功吊起微信用户免密的签约的界面并签约成功。版本迭代的时候又加了一个新的功能,需要用到微信支付。当调用服务器接口的时候返回微信的调用支付界面的信息。IWXAPI api = WXAPIFactory.createWXAPI(mBaseView.getContext(), data.getAppid()); PayReq payRe...
code been used
-
关于微信公众号支付时获取openid的方法
微信公众号支付是诸多支付中一种比较特殊的支付方式,它比其他支付方法多传了一个openid,而获取openid网上流传了好多种方法,小M跟着网上传的方法也走了不少的弯路,在研究了两天之后,终于把这个openid给整出来的,趁着这个兴奋劲头,我给大家按照我的思路整理下openid的获取方法。微信公众号文档也说了要获取openid就先获取code,在通过code来获取openid这里就先介绍获取code...
微信开放平台返回的code和对应的解释
(“-1”, “系统繁忙”); (“0”, “请求成功”); (“40001”, “获取access_token时AppSecret错误,或者access_token无效【请重新尝试一遍】”); (“40002”, “不合法的凭证类型”); (“40003”, “不合法的OpenID”); (“40004”, “不合法的媒体文件类型”); (“400...
微信支付出现 openid is invalid
解决,获取到的用户openid不在同一公众号上,所以要在同一公众号的openid才有效
微信网页授权code调用2次问题
起因 今天做开发的过程中,发现每次都包数据重复,开始以为是程序问题,查看了半天没有发现问题。于是查看请求记录发现,在获取openid时,在拿code换access_token时,收到了两个请求。而且是两个不同的code。这就神奇了。看日志 2018-02-05 22:37:06 /index.php/wap/store/bindWechat/1?code=0212O53V1mzqu