微信提交预订单**请求**XML报文:
<xml>
  <appid><![CDATA[wx45485fdfd5fd5fdfd]]></appid>
  <mch_id><![CDATA[1687896659]]></mch_id>
  <nonce_str><![CDATA[0XMLHISMJSJUQV7ZA6KD5GBQC5VCOVKU]]></nonce_str>
  <sign><![CDATA[86E72FDB4A8608DD4EE5FA775FCA2EF4]]></sign>
  <body><![CDATA[测试支付信息订单]]></body>
  <out_trade_no><![CDATA[20220331164933testOrder]]></out_trade_no>
  <total_fee><![CDATA[1000]]></total_fee>
  <spbill_create_ip><![CDATA[52.10.153.25]]></spbill_create_ip>
  <notify_url><![CDATA[https://www.aaa.com/wechat/pay_notify.jhtml]]></notify_url>
  <trade_type><![CDATA[NATIVE]]></trade_type>
</xml>

微信提交预订单**返回**XML报文:
<xml>
<return_code><![CDATA[FAIL]]></return_code>
<return_msg><![CDATA[签名错误,请检查后再试]]></return_msg>
</xml>

调用预支付订单,一直提示签名错误。微信支付的证书, api_key 已经设置完毕。然后,在微信的官方文档里,测试接口,没问题,但是在代码里就一直提示 签名错误。下图是官方文档调试的截图:

没任何问题。

解决历程:

1.  API密钥错误(被别人改动或者记错了)
在商户平台的账户信息中更改API密钥(账户设置-安全设置-API安全), 15分钟后生效;(未解决)

2.  编码问题,确保所有的都是utf-8的. 如果有中文, 可以先把中文改成英文重新签名,看是否签名错误,如果英文不会错中文才会错,基本肯定是编码问题(未解决)

3.  消息中字段大小写和文档中完全一致(未解决)

以上方法全没解决问题,然后断定不是自己的代码问题。果断查微信支付官网 配置问题。

然后发现了惊人的一段提示:

api_key 居然必须设置为32个字符,但是,这么重要的信息,居然没有任何特殊标注。最最恶心的是,在下面的设置页面,在输入api_key后,居然没有长度等校验,随便输入啥都行。然后数了一下自己的开始设置的key长度,果然不是32,而是34个字符。这绝对是微信的天大BUG。总结一句就是:设置密钥的地方不校验长度,但是代码调用接口的时候,就会校验。而且提示的错误是签名失败,不提示具体错误。耽误一整天,实在无力吐槽!!!记录下,警示后来兄弟!!

微信支付,“签名错误,请检查后再试” 的坑爹经历相关推荐

  1. PC网站微信扫码支付,Native支付,“当前商户号暂不支持关联该类型的appid“,“签名错误,请检查后再试““springBoot 微信支付“

    springBoot 微信支付 PC网站微信扫码支付-Native支付 一.采坑大合集 1.当前商户号暂不支持关联该类型的appid 2.签名错误,请检查后再试 二.springboot集成微信支付D ...

  2. uedit上传视频时提示输入的视频地址有误,请检查后再试

    问题描述: 利用百度的uedit上传视频时提示:输入的视频地址有误,请检查后再试 注意: 本问只解决标题所示错误,前提是你没有别的问题,视频可以正常上传,如果视频上传不能预览,或者上传成功后不能播放, ...

  3. 微信小程序——解决上传并部署云函数时报错ResourceNotFound.Function, 未找到函数版本,请创建后再试。 (7f2d9d2d-5eac-4575-9n57-acd66cfa587g

    1. 上传部署我们的云函数 2. 报错 错误信息为:Error: ResourceNotFound.Function, 未找到函数版本,请创建后再试. (7f2d9d2d-5eac-4575-9b57 ...

  4. 检测到已经有其他更新程序正在运行,请结束后再试的解决

    每次打开易语言,都会提示检测到已经有其他更新程序正在运行,请结束后再试,原因是安装了易语言编程助手,不知道除了什么错误导致即使关闭自动更新,每次打开还是会提示. 我猜测如果重新下载安装可能会解决问题. ...

  5. 关于微信支付签名错误的一些可能的解决方向

    前段时间在做微信支付的时候遇到了签名错误的问题,令我百思不得其解的是,本地运行并没有报错,可是放在服务器上的时候确结结实实的给我一拳. 一开始小程序的微信支付无法使用,是因为这是一个新的小程序,里面并 ...

  6. 微信支付签名错误 php

    先上代码 //$params 是需要的参数static public function getSign($params){$arr = [];//参数为空不参与签名foreach ($params a ...

  7. 微信支付签名错误解决方法

    由于项目需要,需要将微信支付嵌入到java web项目中,开发中一直发现签名错误问题,可是自己的签名算法久经考验,怎么会被这道坎给拦住了. 后来发现原来是在wx.config()和wx.chooseW ...

  8. 坑爹的微信支付(签名错误)

    前言 以前调微信支付,直接把demo粘过来改改,或者从老项目粘过来,这次接手一个一年之前的项目,说微信支付没调通,好吧,我就调吧 正文 1:之前的body写的是中文,改成英文 结果:失败(不过这一步很 ...

  9. HTTP错误汇总(404、302、200……)今天web报302错误,刷新后再试没问题,找度娘问问,顺便记点东西

    HTTP 400 - 请求无效 HTTP 401.1 - 未授权:登录失败 HTTP 401.2 - 未授权:服务器配置问题导致登录失败 HTTP 401.3 - ACL 禁止访问资源 HTTP 40 ...

最新文章

  1. Java项目:在线考试系统(java+springBoot+vue+Mysql+maven)
  2. 公司的API接口被刷了,那是因为你没这样做
  3. pyqt5实战之幻彩大蛇(贪吃蛇)-1
  4. 不停止mysql就卸载_MYSQL安装与卸载(一)
  5. CentOS6下ssh简介及openssh的应用
  6. node --- 监听路由,读取json文件,向MongoDB中写入数据
  7. SQL解析在美团的应用
  8. ASP.NET AJAX Advance Tips Tricks (11) 三种方法动态创建Tooltip
  9. Codeforces Round #438 B. Race Against Time
  10. Codeforces Round #378 (Div. 2) D. Kostya the Sculptor 分组 + 贪心
  11. fluent p1模型_FLUENT基本物理模型介绍
  12. 本地erp与云erp系统的差别
  13. 交通标志图——警告标志
  14. braft-editor 富文本编辑器在谷歌复制图片出现两张
  15. linux休眠唤醒后qt无法启动,Ubuntu 18.04 休眠后无法唤醒的解决办法
  16. ROS 罗技手柄控制机器人(仿真和实体机器人)
  17. python集成环境pydev如何使用_Eclipse+PyDev环境搭建
  18. SRPG游戏开发(五十三)第十一章 地图动作与地图事件 - 二 地图剧情(Map Plot)
  19. Html按钮调用手机静音,静音/取消静音没有按钮HTML5
  20. 2021Java期末考选择判断题复习

热门文章

  1. loadrunner入门教程(13) --思考时间
  2. Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: “:“ “:“
  3. 微信最强花式操作,带你玩转 wxpy
  4. 弱网测试及QNET工具介绍
  5. Python将指定文件批量复制到多个文件夹并重命名
  6. 第一视角体验搭载全志T507-H的开发板MYD-YT507H开发板
  7. 驰骋股市!手把手教你如何用Python和数据科学赚钱?
  8. Vue + Element UI+Scss + Vuex一键换肤 , 一键换字体大小 ,动态替换全局主题颜色
  9. laradock 安装swoole
  10. eclipse发展与简介