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

新微信商户转账接口 - 签名错误疑难问题处理 v3/transfer/batches 查看 GitHub\WeiXinMPSDK-master 源码,发现未对 微信最新 商户转账接口 - v3/transfer/batches 进行有效集成。考虑是请求body体中存在中文导致验签错误。 阅读详情

由于项目需要,需要将微信支付嵌入到java web项目中,开发中一直发现签名错误问题,可是自己的签名算法久经考验,怎么会被这道坎给拦住了。
后来发现原来是在wx.config()和wx.chooseWXPay()方法中的timestamp和noncestr不一致导致的。我刚开始在wx.config()中生成了一对timestamp和noncestr,而又在chooseWXPay中生成了一对timestamp和noncestr。所以修改成如下的代码:

pay:function (ordno) {
            wx.config({
                debug: false,
                appId: "${wxSignature.appid}",
                timestamp: "${wxSignature.timestamp}",
                nonceStr: "${wxSignature.noncestr}",
                signature: "${wxSignature.signature}",
                jsApiList: [
                                'checkJsApi',
                                'chooseWXPay',
                            ]
                });
            $.ajax({
                url:"/wx/pay/wxpay.json",
                type:"post",
                data:{
                    timestamp:"${wxSignature.timestamp}",
                    nonceStr:"${wxSignature.noncestr}",
                    ordno:ordno},
                success:function (data) {
                    var tenpay=data;
                    wx.chooseWXPay({
                            timestamp:tenpay.timeStamp, 
                            nonceStr: tenpay.nonceStr, // 支付签名随机串,不长于 32 位
                            package: tenpay.prepayid, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
                            signType:tenpay.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
                            paySign: tenpay.paySign, // 支付签名
                            success:function (data) {                                               //alert(data);                                  window.location.href=window.location.href;//刷新页面

                            }

                        })

                    }
                }
            )

    }

在下发页面的时候,生成一对timestamp和nonceStr,并生成签名,用户点击的时候调用wx.config()函数,同时通过ajax的方法将timestamp和nonceStr传到后台生成新的支付签名。如此就可以通过签名检验了。细细想来,或许我刚开始的用法不对了。我完全可以在ajax,success中调用wx.config 以及wx.chooseWXPay()。自己还是太年轻了呀。明天修改代码的时候试验一下。这种支付测试的成本有点大。而且还有奇葩的一点是安卓手机调用出错后没有出错的具体信息,而苹果手机能够打印出具体的信息。挺有意思。

【CASS精品教程】006:CASS7.1 道路设计参数文件打开无响应,提示roadpara解决办法,权威解决办法汇总 在用CASS7.1 软件进行断面法土方量计算,在生成断面图后,需要进行道路设计参数文件的设计,打开断面设计参数文件的时候,无响应,提示roadpara,如下所示: 道路设计参数文件 解决办法有三种 第一种方法:Win+R (1)64位系统:输入regsvr32 C:\Windows\SysWOW64\CellCtrl5.ocx,回车 (2)32位系统输入regsvr32 C:... 阅读详情

相关推荐

闲置服务器之代理服务器篇

这台服务器是在阿里云免费白嫖的,天工开物计划,阿里给的300块无门槛优惠券,买了一台新加坡的境外服务器,288,刚刚抵扣完,因为是境外服务器,能够访问一些国内不能访问的网站,所以本文章仅从技术的角度来搭建代理服务器,使用时,请自觉遵守国家相关规定,如有任何违法行为,与本人无任何关系!!!。本文使用tinyproxy来搭建代理服务器。

m0_50281408的博客 2104

对接微信JSAPI支付报错:“签名错误,请检查后再试”

微信JSAPI支付报错:“签名错误,请检查后再试”

qq_42445433的博客 4070

Arduino智能小灯DIY:人体感应+光线感应+蓝牙控制全攻略(附完整代码)

本文提供了一份完整的Arduino智能小灯DIY制作指南。项目融合了人体感应、光线感应与蓝牙控制三大功能,通过详细的硬件清单、电路连接图、核心逻辑讲解及附带的完整代码,手把手教你打造一个能自动感知环境与人、并支持手机远程控制的智能照明装置,是入门智能家居和物联网开发的绝佳实践。

java5的博客 1094

微信公众号开发中遇到的问题——支付(二)

第一次开发微信公众号,也是第一次接触微信公众号的支付,我使用的是jssdk,用h5页面调用的支付,后台使用的是java。首先声明,我不是一个愤世嫉俗的人,也不喜欢吐槽,我认为别人提供接口就已经很不错了,干嘛要吐槽呢?但是,这一次,我不得不说,微信公众号支付的文档真是渣!!!你没有也就算了,既然有了,为何不好好写?就好像别人问你路该怎么走,你给别人指了路,但指偏了。下面我记录一下我这次微信支付开发中

u013076997的专栏 4万+

MATLAB射线追踪算法实战:从零搭建通信信号传播模型(附完整代码)

本文提供了一份详细的MATLAB射线追踪算法实战指南,指导读者从零开始搭建通信信号传播模型。内容涵盖场景建模、射线发射、路径追踪与信号计算等核心环节,并附有完整代码,帮助通信与电子工程领域的学习者和工程师快速掌握这一精确模拟电磁波传播的关键技术。

weixin_29092031的博客 196

STC89C52RC单片机原理图详解

左侧A0和右侧B0为一 一对应的关系,左上角DIR为控制数据方向端口,如果DIR接高电平是将左侧数据A0~A8送到右侧B0~B8,如果DIR接低电平,是将右侧数据B0~B8送到左侧A0~A8,由于在电路板上LE始终与VCC连接,因此这里。74HC595是串行输入,并行输出的移位寄存器,可用3根线输入串行数据,8根线输出并行数据,多片级联后,可输出16位、24位、32位等,常用于I/O口扩展。由于数码管为共阴极,给数码管下面接口输入阳码时,LED才亮,但是直接将P0~P7的高电平输入到数码管时,

m0_50562428的博客 6万+

微信浏览器H5中chooseWXPay调用报错签名认证失败

微信中H5页面是用微信支付

宇珩的博客 993

海康威视 2DC 系列球机手机直连实用教程

海康威视2DC系列球机手机直连教程:首先确认设备支持直连功能并下载官方"海康互联"App;通过网线连接球机与路由器,使用SADP软件调整IP至同一网段;在App中添加设备并激活,完成调试即可远程查看监控画面。常见问题包括部分型号需远程解锁、网络连接异常等,可通过检查网络环境、联系客服等方式解决。本教程提供从准备到连接的完整指引,助您轻松实现手机监控管理。

海康威视技术支持 5405

微信支付踩过的坑

在微信体系中,支付也算是比较重要的一环,这里记录一下工作中微信支付--公众号支付踩过的一些坑。 问题: errorMsg : "chooseWXPay:fail, the permission value is offline verifying" 安卓没有提示,ios会有具体的提示, 首先一定要确保自己的参数值传递正确 ios与安卓系统不一致的地方,安卓可以正常支付,ios出现下单...

m0_38129920的博客 2527

如何使用AKShare作为OpenBB的数据源

`openbb_akshare`项目是 OpenBB 的数据源扩展。可以用于查询A股和港股数据

FinAnalyzer金融分析工具 3195

Underactuated Robotics - 欠驱动机器人学(一)- 全驱动与欠驱动系统

根据牛顿的观点,机械系统的动力学是二阶的(其状态由位置向量 q(也称为配置向量)和速度向量以及(可能还有)时间给出。二阶控制动力系统的一般形式是:其中 u 是控制向量。定义 1.1 (欠驱动控制微分方程) 二阶控制微分方程描述如下:在状态和时间 t 中,如果所得到的映射是可射的:对于每一个,都存在一个能产生预期响应的,那么系统就是全驱动的。否则,就是欠驱动(状态在时间 t)。

机器人控制与仿真应用 3377

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

整体流程:1.拼接商品的信息List<NameValuePair> packageParams = new LinkedList<NameValuePair>(); packageParams.add(new BasicNameValuePair("appid", Constants.APP_ID)); packageParams.add(new Ba

guoh_的博客 1万+

小龙虾OpenClaw卸载全攻略,彻底清理缓存和配置,干净无残留!

不想要的小龙虾OpenClaw怎么彻底卸载?🦞本文教你如何彻底的卸载OpenClaw⚡️,Windows/macOS/Linux通用,干净无残留🧹

XiaoqiangClub的博客 313

微信支付统一下单,签名错误(生成的签名和测试工具生成的一样还报错)解决方法

微信支付统一下单,签名错误的原因很多,解决方法就是一个个排除。 签名生成的通用步骤如下: 第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。 特别注意以下重要规则: ◆ 参数名ASCII码从小到大排序(

QC班长的博客 3万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

c# sha1签名 微信_C# 微信支付 wx.chooseWXPay 签名错误的解决方法

本着安全第一慎用第三方代码的原则,决定自己根据微信支付SDK写支付过程,从统一下单开始一切还算顺利,到最后JS发起支付调用时抛出“支付签名错误”,下面将给出正确签名方法这里整理出的签名函数实际是通用的,在统一下单时或支付返回验证时都可以调用重点是非空参数才参与签名,参数名称区分大小写,排序要按照ASC顺序排列,key(密匙)永远放在最后一位以下是原函数说明:wx.chooseWXPay({time...

weixin_39873356的博客 472

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

微信支付的统一下单接口,返回的是空解决方法 微信支付调用调用统一下单API,提示“签名错误”解决方法

微信支付统一下单接口返回的必须类似是wx18150336246279f98d3de78d1950474601 的一串,才算统一下单成功了。 首先一定要检查商户号的密钥是否正确,然后查看请求https://api.mch.weixin.qq.com/pay/unifiedorder接口的错误回调。 如果错误信息是 60 ,就是 效验SSL失败,php的解决方法是在curl 中添加 ...

a_靖的博客 6614

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

微信支付服务商,![CDATA[sub_mch_id与sub_appid不匹配],微信小程序支付,签名错误,CDATA[签名错误]解决方法,支付签名验证失败

微信支付服务商,微信小程序支付,签名错误,CDATA[签名错误]解决方法 1:服务商和普通的商户支付在代码上没有太大差异(不同的是上传的参数,而且微信支付服务商参数上比较难找,官方文档又太简洁,所以很容易搞混),代码请请点击这里查看 2:先看几个比较重要而且容易搞混的参数 服务商的appid 就是你注册成为服务商的公众号appid 商户号mch_id 登录微信支付服务商平台可以查看。点我去查看...

qq_41974199的博客 4438

微信支付 出现 签名错误 有可能的原因是因为参数中含有空格

微信支付 签名错误 微信有提供在线签名调试工具: https://pay.weixin.qq.com/wiki/tools/signverify/ 出现“签名错误”有的时候是因为各个参数的内容中可能出现了空格,需要将这空格去除或者进行转换。

AMinfo的专栏 7810

asp.net mvc 微信支付

其实在我写这篇文章的时候我也被坑了无数次了,正因为这样我才更有必要让自己以后不要犯错。 我给你们总结几个经常出错的地方吧, 1、出现签名错误,要检查你的签名方法是否正确。参考地址:http://mch.weixin.qq.com/wiki/tools/signverify/ 如果验证后没问题,那就签名就不会错了。 2、商户签名错误,当我看到这个的时候第一时间想到的是我商户key错误了吗,还

bingbing?boke:博客 1534

微信支付:只有一个确认键以及和友盟微信SDK冲突解决方案

一.微信只有一个“确认键” 之前的项目用到微信支付。每次唤醒微信,微信只显示一个确认键,如图: 这种情况的原因是:唤醒微信时传了商户id 但签名不正确导致的。 解决办法: 查看支付前的两次签名逐一排查。(这块的坑很大,需要细心) 二。微信支付和友盟的微信SDK 冲突 官网客服给的解决方案是:删掉友盟的微信SDK ,直接用微信官网的SDK。友盟中微信的代码不需要

myzims的专栏 4961

记一次微信支付统一下单时总是返回签名错误的事故

将发送的报文复制出来,在签名校验的页面上进行校验,验证结果是签名是对的,但是实际接收到的反馈结果是签名错误。字段按照接口核对是正确的 解决办法: 去微信支付重新设置一下秘钥即可解决问题! ...

weixin_42890627的博客 432

【微信支付】签名错误,参数错误

微信支付中的小坑

Have U created values TODAY 6063

微信支付后台需要做的事情 ,以及遇到的一些问题

本人最近几天在做支付,尼玛,只想说句,微信真他妈的坑,客服难联系上不说,文档还不全 微信支付,首先后台是统一下单(这里调用微信给的链接就可以了),返回一些参数给前台,然后再写个接口,然微信服务器可以访问,用来做支付成功后的操作。然后可以写个查询订单的接口,主动去查看支付的情况。      我遇到的问题,我遇到的最大的问题就是签名错误,在这里首先检查给的参数是否正确,其次就是编码

欧神的博客 2220

浅谈安卓微信支付遇到的那些坑(服务端签名)

**浅谈安卓微信支付遇到的那些坑(服务端签名)** 做微信支付首先需要到微信开放平台https://open.weixin.qq.com注册自己的APP。 1,如果是创建移动应用就点击创建移动应用,然后安照提示的填写资料。 2,第一页填写完毕后,会跳到填写平台信息页面,(这里会遇到第一个坑,我表示没有遇到)这里有个填写应用签名,注意了,如果项目是在测试阶段,这里填写你的

qq_15122875的博客 9918

微信支付的问题

我做了个微信支付,生成签名没、感觉不是很难,和微信调试工具校对了,也正确,不过微信还是签名错误,解决方法很简单,就是签名的时候把key写错了,写成了之前去请求openid那个key 转载于:https://www.cnblogs.com/imfjj/p/10111681.html...

aa506057402的博客 128

微信签名算法验证通过,但微信仍然返回签名错误的解决

问题描述: 使用springBoot中RestTemplate发送post请求,使用HMAC-SHA256加密方式,通过签名验证工具校验签名通过但是仍然返回签名错误状态提示。 微信提供的签名验证工具:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1 自己的xml <xml> <time_exp...

殇之何伤的博客 2200
上一篇: mybatis问题org.apache.ibatis.binding.BindingException: Parameter 'title' not found.
下一篇: 对于微信小程序开发的想法
htmlgood
博客等级 码龄12年 23粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值