微信支付,“签名错误,请检查后再试” 的坑爹经历
微信提交预订单**请求**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。总结一句就是:设置密钥的地方不校验长度,但是代码调用接口的时候,就会校验。而且提示的错误是签名失败,不提示具体错误。耽误一整天,实在无力吐槽!!!记录下,警示后来兄弟!!
微信支付,“签名错误,请检查后再试” 的坑爹经历相关推荐
- PC网站微信扫码支付,Native支付,“当前商户号暂不支持关联该类型的appid“,“签名错误,请检查后再试““springBoot 微信支付“
springBoot 微信支付 PC网站微信扫码支付-Native支付 一.采坑大合集 1.当前商户号暂不支持关联该类型的appid 2.签名错误,请检查后再试 二.springboot集成微信支付D ...
- uedit上传视频时提示输入的视频地址有误,请检查后再试
问题描述: 利用百度的uedit上传视频时提示:输入的视频地址有误,请检查后再试 注意: 本问只解决标题所示错误,前提是你没有别的问题,视频可以正常上传,如果视频上传不能预览,或者上传成功后不能播放, ...
- 微信小程序——解决上传并部署云函数时报错ResourceNotFound.Function, 未找到函数版本,请创建后再试。 (7f2d9d2d-5eac-4575-9n57-acd66cfa587g
1. 上传部署我们的云函数 2. 报错 错误信息为:Error: ResourceNotFound.Function, 未找到函数版本,请创建后再试. (7f2d9d2d-5eac-4575-9b57 ...
- 检测到已经有其他更新程序正在运行,请结束后再试的解决
每次打开易语言,都会提示检测到已经有其他更新程序正在运行,请结束后再试,原因是安装了易语言编程助手,不知道除了什么错误导致即使关闭自动更新,每次打开还是会提示. 我猜测如果重新下载安装可能会解决问题. ...
- 关于微信支付签名错误的一些可能的解决方向
前段时间在做微信支付的时候遇到了签名错误的问题,令我百思不得其解的是,本地运行并没有报错,可是放在服务器上的时候确结结实实的给我一拳. 一开始小程序的微信支付无法使用,是因为这是一个新的小程序,里面并 ...
- 微信支付签名错误 php
先上代码 //$params 是需要的参数static public function getSign($params){$arr = [];//参数为空不参与签名foreach ($params a ...
- 微信支付签名错误解决方法
由于项目需要,需要将微信支付嵌入到java web项目中,开发中一直发现签名错误问题,可是自己的签名算法久经考验,怎么会被这道坎给拦住了. 后来发现原来是在wx.config()和wx.chooseW ...
- 坑爹的微信支付(签名错误)
前言 以前调微信支付,直接把demo粘过来改改,或者从老项目粘过来,这次接手一个一年之前的项目,说微信支付没调通,好吧,我就调吧 正文 1:之前的body写的是中文,改成英文 结果:失败(不过这一步很 ...
- HTTP错误汇总(404、302、200……)今天web报302错误,刷新后再试没问题,找度娘问问,顺便记点东西
HTTP 400 - 请求无效 HTTP 401.1 - 未授权:登录失败 HTTP 401.2 - 未授权:服务器配置问题导致登录失败 HTTP 401.3 - ACL 禁止访问资源 HTTP 40 ...
最新文章
- Java项目:在线考试系统(java+springBoot+vue+Mysql+maven)
- 公司的API接口被刷了,那是因为你没这样做
- pyqt5实战之幻彩大蛇(贪吃蛇)-1
- 不停止mysql就卸载_MYSQL安装与卸载(一)
- CentOS6下ssh简介及openssh的应用
- node --- 监听路由,读取json文件,向MongoDB中写入数据
- SQL解析在美团的应用
- ASP.NET AJAX Advance Tips Tricks (11) 三种方法动态创建Tooltip
- Codeforces Round #438 B. Race Against Time
- Codeforces Round #378 (Div. 2) D. Kostya the Sculptor 分组 + 贪心
- fluent p1模型_FLUENT基本物理模型介绍
- 本地erp与云erp系统的差别
- 交通标志图——警告标志
- braft-editor 富文本编辑器在谷歌复制图片出现两张
- linux休眠唤醒后qt无法启动,Ubuntu 18.04 休眠后无法唤醒的解决办法
- ROS 罗技手柄控制机器人(仿真和实体机器人)
- python集成环境pydev如何使用_Eclipse+PyDev环境搭建
- SRPG游戏开发(五十三)第十一章 地图动作与地图事件 - 二 地图剧情(Map Plot)
- Html按钮调用手机静音,静音/取消静音没有按钮HTML5
- 2021Java期末考选择判断题复习
热门文章
- loadrunner入门教程(13) --思考时间
- Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: “:“ “:“
- 微信最强花式操作,带你玩转 wxpy
- 弱网测试及QNET工具介绍
- Python将指定文件批量复制到多个文件夹并重命名
- 第一视角体验搭载全志T507-H的开发板MYD-YT507H开发板
- 驰骋股市!手把手教你如何用Python和数据科学赚钱?
- Vue + Element UI+Scss + Vuex一键换肤 , 一键换字体大小 ,动态替换全局主题颜色
- laradock 安装swoole
- eclipse发展与简介