收藏
回答

获取openId报错40163,下单报peer not authenticate

最近获取openId时常发生如下错误:

{"errcode":40163,"errmsg":"code been used, hints: [ req_id: zGFaZ8yFe-7TtTEa ]"}

查看日志发现微信有时重定向回调了两次,有时一次也出现这个问题,所以不能确定这个原因;


另外在请求微信预支付订单的时候 会偶发大规模peer not authenticated 的问题,但大部分时间系统正常




恳请大家帮忙分析下 解决办法

回答关注问题邀请回答
收藏

2 个回答

  • 南山阳光
    南山阳光
    2019-12-25

    请问获取openId报的40163错误解决了,我现在也遇到一次请求出现40163错误

    2019-12-25
    有用
    回复
  • 波
    2019-01-14


    您好,

    第一个问题:其实呢这个报的意思是code已经被使用过了,然后你仔细看看你的url是不是带有?code=。。。。。。。 然后你再把后面凑得的参数去了就会正常。


    第二个问题:错误的原因是因为此证书不受信任,这就像我们用浏览器访问某个 https网站一样,如果证书不被信任就会报错,但我们可以忽略报错或者手工添加信任。

    比较靠谱且正式点的方案是将这个证书添加为信任,所幸并不困难,只需执行以下几步:

    1. 找到系统的JVM的安装目录

    2. 上传要信任的证书到系统所在的机器上

    3. 执行命令:sudo keytool -importcert -alias "证书别名" -file /xx/xx/xxxxx.crt -keystore /xx/xx/jre/lib/security/cacerts -storepass changeit

    第一处红字,就是随便起个别名,第二处红字是证书所在路径,第三处红字是jvm的目录

    4. 执行上述命令的过程中会提示“是否信任此证书”,信任即可


    2019-01-14
    有用
    回复 1
    • 啊了
      啊了
      2019-03-12

      小老哥,能帮忙下嘛。 code值有时候会出现被使用。 前后端排查了代码都没问题,已经排查了一周了。

      2019-03-12
      回复
登录 后发表内容