微信 requestPayment 支付验证签名失败 paySign

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=5

参考微信开发品台文档中的paySign值:

paySign = MD5(appId=wxd678efh567hg6787&nonceStr=5K8264ILTKCH16CQ2502SI8ZNMTM67VS&package=prepay_id=wx2017033010242291fcfe0db70013231072&signType=MD5&timeStamp=1490840662&key=qazwsxedcrfvtgbyhnujmikolp111111) = 22D9B4E54AB1950F51E0649E8810ACD6

 

签名中appId必须区分大小写

 //生成签名
                        Dictionary<string, string> signDic = new Dictionary<string, string>();
                        signDic.Add("appId", preOrder.appid);//appId中的I必须大写
                        signDic.Add("timeStamp", timeStamp.ToString());
                        signDic.Add("nonceStr", nonceStr);
                        signDic.Add("package", package);
                        signDic.Add("signType", signType);
                        var sign = SmallUtil.GetSignString(signDic, smallConfig.wechatKey);
                        signDic.Add("paySign", sign);

 

[经验]跳坑《一百八十六》支付签名校验失败(签名错误)

2017-4-3 02:35:27 天下雪原创达人 造轮子 人生巅峰113707

 



假如出现这个错误,可以仔细参考微信支付系列教程:http://www.wxapp-union.com/portal.php?mod=list&catid=19

微信支付签名校验地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1
  • 注意事项:
  • (1)如选择XML校验,XML需包含sign字段
  • (2)注意参数名需区分大小写,必须与文档的参数名大小写一致
     
 

Q:我调用小程序的微信支付api,一直报签名验证错误,参与签名的参数有timeStamp、nonceStr、package、signType。使用微信支付签名校验工具生成的签名跟我自己服务器生成的签名是一样的,但还是报签名错误。

A:appId不需要传入支付api,但是需要参与签名。



以下为全网的讨论,包括本站曾经的一些贴内的讨论:

相关讨论:

MD5加密中文的结果不一致
跳坑《四十七》微信小程序支付(微信支付签名错误)
跳坑《一百二十三》微信支付(微信小程序支付)

相关讨论:
有关于小程序支付接口问题

通过第三方服务器统一下单获得prepay_id,然后在小程序发起支付的时候提示“支付验证签名失败”,

appid,timeStamp,nonceStr,package,signType: 'MD5',paySign,一共有六个参数,签名是用前面五个参数生成的,和接口调试工具生成签名结果一致,请问一下这是神马情况

timeStamp 需要是string 类型,对应的秒数,如果取值是毫秒,需要 / 1000;

paySign签名前需要拼接API密钥 key=XXXX


相关讨论:
一直报微信支付签名错误 
我之前微信公众号的支付都是成功的,用那一套代码做小程序的微信支付在统一下单时,就老是报微信支付签名错误了,三天了,实在找不到错误在哪了。有谁能够分享下心得吗,谢谢了!
已经好了,忘记填openid了,谢谢


相关讨论:
err_desc : "支付验证签名失败" err_code : "2"

发起支付时发生错误了。

参数都按要求传递了

sign没有加appId


相关讨论:
微信小程序支付失败 签名失败及签名错误的解析

以下希望对各位有所帮助

微信支付签名失败这个提示,是出于前台JSAPI调起返回的签名失败

微信支付签字错误这个提示,是出于微信支付统一下单API调起是返回的签名错误

小程序支付API

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

wx.requestPayment({

   'timeStamp': '',

   'nonceStr': '',

   'package': '',

   'signType': 'MD5',

   'paySign': '',

   'success':function(res){

   },

   'fail':function(res){

   }

})

这里请求的参数有 timeStamp,nonceStr,package,signType,paySign

跟公众号支付调起的方式少了个 appId

微信小程序也是用心良苦啊,其实我们在做 signType签名的时候,一定要在后台加上 appid

signType的加密方式是这样的,请看以下代码

string strTimeStamp = DateTime.Now.ToString("yyyyMMddHHmmss");

string strNonceStr = System.Guid.NewGuid().ToString().Replace("-", "");

string strPackage = "prepay_id=" + callback.prepay_id; //这个是统一下单返回的 callback.prepay_id

Dictionary<string, string> dic = new Dictionary<string, string>();

dic["package"] = strPackage;
dic["appId"] = “您的小程序appId”; //签名时后台一定要加上这个
dic["timeStamp"] = strTimeStamp;
dic["nonceStr"] = strNonceStr;
dic["signType"] = "MD5";

 

string strQuery = KeeSoft.Code.HashTable.DictionaryToQuery(dic);//这里将 timeStamp,nonceStr,package,signType,appId 将这些参数进行ASCII码从小到大排序,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA

string strSign = KeeSoft.Code.DESEncrypt.WxMD5Encrypt(strQuery + "key=" + KeeSoft.WeChat.App.Config.Key).ToUpper();//将组成的URL键值对加上您的 商户号里的 key,再进行MD5加密,加密后转成大写

以上代码出自KeeSoft框架库

 

 

相关讨论:
支付相关。服务端二次签名需要的参数如下(java):

[AppleScript] 纯文本查看 复制代码

?

1

2

3

4

5

6

7

String prepay_id = "你的prepay_id";

SortedMap<Object,Object> parameters = new TreeMap<Object,Object>();

parameters.put("appId", appid);

parameters.put("timeStamp", timeStamp);

parameters.put("signType", signType);

parameters.put("nonceStr", nonce_str);

parameters.put("package","prepay_id="+prepay_id);



注意参数大小写,否则会出现验证签名失败,支付问题折腾了一天。。。




相关讨论:
微信小程序支付的时候报“支付验证签名失败"
调用支付微信支付接口一扫支付码就报“支付验证签名失败"
 

校验签名的时候是正确的
 

这里是调用支付的代码,有没有大神踩过坑的,求解答,万分感谢!

 

 
基本都是参数问题导致的,一个参数大小写,一个是参数顺序,签名校验工具只能校验出具体的数值结果,但是微信支付要求很严格的


相关讨论:
微信小程序支付提示“支付验证签名失败”
目前在做小程序的支付功能,在支付的时候提示“支付验证签名失败”。实用签名校验工具也没有发现问题。因为我这里之前用微信公众号申请过商户,所以这里小程序和微信公众号绑定的都是同一个商户,那么这时候APIkey时候一致?
 
在签名工具哪里验证一下签名和自己md5加密的签名是否一致,如果不一致的情况,首先检查参数,然后检查md5加密是不是没有把字节转成utf-8;也可以看看这个http://www.wxapp-union.com/portal.php?mod=view&aid=1425


相关讨论:
微信支付提示支付验证签名失败
我在做微信公众号支付开发  统一下单的prepay_id我已经正常取到了,但是在H5页面调起微信支付后始终返回  支付验证签名失败 ,但是
  我在签名校验工具中
生成的签名和我的也一致  ,实在不知道什么问题了,求帮助啊
 
解决了,前端接收参数时,参数赋值的对应关系弄错了。。。低级错误啊。得出结论:总之这种错误肯定就是提交的参数和签名时的参数不一致的问题,还是要找参数的问题就ok了


新增案例:  


新增案例:
请问一个支付商户号能同时给公众号和小程序用吗? 
我在测试统一下单接口,用公众号的appId和key就能调用成功,
换成了小程序的appId和key就报错:

[AppleScript] 纯文本查看 复制代码

?

1

2

3

4

<xml>

<return_code><![CDATA[FAIL]]></return_code>

<return_msg><![CDATA[签名错误]]></return_msg>

</xml>



这里的key说的就是签名最后追加的AppSecret。
感觉是不是这个key的问题,如果填入正确公众号的appId和错误的key,同样也会报这个错。

 

见鬼,小程序的appId和key可以成功调用这个接口

var l='https://api.weixin.qq.com/sns/jscode2session?appid='+d.appid+'&secret='+d.secret+'&js_code='+res.code+'&grant_type=authorization_code';


答:hjm 

注意,这里的密钥是支付平台中的客户密钥,不是公众号的AppSecret(应用密钥)

http://blog.csdn.net/kunga0814/article/details/51697384


新增案例:签名老是错误
商户key是你微信支付配置的key
需要证书吗
具体设置忘记了,好像是需要操作证书,就是之前的app支付或者公众号支付一样的
直接在小程序里面写,搞定了,谢谢

区分大小写, package, MD5加密, 服务器, 第三方

 

 

转自:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=4100

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/40605.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android7.1 系统ota升级与升级失败解决方法

一、ota 升级包制作: 完整包: 1.编译 source build/envsetup.sh lunch msmxxxx_64-user make -j8 dist 2.生成 update.zip 升级包 ./build/tools/releasetools/ota_from_target_files --block -p out/host/linux-x86/ -k build/target/product/security/testkey -v out/tar…

接入sdk时报aapt的错,mergeDebugResources失败

错误&#xff1a; 1、/Users/apple/.gradle/caches/transforms-2/files-2.1/b98a94c89681e02ce407c85d1196f8ae/res/values/values.xml:44:5-226: AAPT: warn: multiple substitutions specified in non-positional format; did you mean to add the formatted"false&quo…

仙人掌

仙人掌&#xff0c;中药名。 别名:凤尾簕、龙舌、平虑草、老鸦舌 植物属性&#xff1a;仙人掌科植物仙人掌Opuntiastricta(Haw.)Haw.var.dillenii(Ker-Gawl.)Benson及绿仙人掌Opuntiamonacantha(Willd.)Haw.的根及茎。 采摘加工&#xff1a; 栽培1年后&#xff0c;即可随用随采…

bzoj 1023: [SHOI2008]cactus仙人掌图

题意&#xff1a;给一颗仙人掌&#xff0c;求它的直径。 有关的定义题目中说的很清楚&#xff0c;就不再重复了。 首先假如给的是一棵树&#xff0c;求树的直径&#xff0c;就比较简单&#xff0c;可以dfs或bfs。 考虑dp的做法。 设集合g表示i到其各个子树的最长链链&#…

仙人掌树

文章目录 普通仙人掌参考文献例题讲解构造圆方树圆方树的性质这道题目的解法代码 广义仙人掌参考文献例题做法代码性质 最后说 普通仙人掌 参考文献 奆佬YYB的博客 Orz&#xff1a;https://www.cnblogs.com/cjyyb/p/9098400.html 例题 题目 讲解 构造圆方树 这道题目其实…

BZOJ1023 [SHOI2008]cactus仙人掌图

标签&#xff1a;图论-仙人掌&#xff0c;DP-杂题 题目 题目传送门 Description 如果某个无向连通图的任意一条边至多只出现在一条简单回路&#xff08;simple cycle&#xff09;里&#xff0c;我们就称这张图为仙人掌图&#xff08;cactus&#xff09;。所谓简单回路就是指…

牛客-紫魔法师(仙人掌染色-判奇环)

题目链接&#xff1a;https://ac.nowcoder.com/acm/contest/7016/F 博客园食用链接&#xff1a;https://www.cnblogs.com/lonely-wind-/p/13530156.html 题目描述 “サーヴァント、キャスター、Medea。”–紫魔法师 给出一棵仙人掌(每条边最多被包含于一个环&#xff0c;无自…

BZOJ4784 [Zjoi2017]仙人掌

标签&#xff1a;树形DP&#xff0c;tarjan&#xff0c;仙人掌 题目 题目传送门 Description 如果一个无自环无重边无向连通图的任意一条边最多属于一个简单环&#xff0c;我们就称之为仙人掌。所谓简单环即不经过重复的结点的环。 现在九条可怜手上有一张无自环无重边的…

如何绘制一组创意的仙人掌图标

创建新的项目文件 启动并在后台运行Illustrator&#xff0c;创建新文档&#xff08;文件>新建或Control-N&#xff09; 画板数量&#xff1a;1 宽度&#xff1a; 800像素 高度&#xff1a; 600像素 单位&#xff1a; 像素 进入“高级”选项卡&#xff1a; 色彩模式&a…

大量短信群发?不妨来看看这几个平台

最近在跟着公司一块做一个新的项目&#xff0c;刚好我做到注册登录的模块&#xff0c;一个需要短信群发的功能&#xff0c;没有过多的精力去写短信验证码模块&#xff0c;便找了几个比较好用的API短信接口平台&#xff1b;在这里给大家列举几个不同的平台&#xff0c;希望能帮到…

短信平台不知道怎么选?来看看这几个平台:

不少程序员在做项目的时候会碰上短信收发验证码的问题&#xff0c;通常来说解决方案有二&#xff0c;要么自己写一个验证码模块儿&#xff0c;要么去找短信平台。但自己写一个验证码模块是出了名的麻烦&#xff0c;而且会耗费掉不少时间&#xff0c;有着时间到不如优化下自己的…

【chatgpt代码系列】雷达转点云算法沟通记录

AI作为一个强大的生产力工具&#xff0c;怎么使用它才能快速结合我们自己的工作呢&#xff1f;下面是我的探索&#xff0c;目前来看&#xff0c;是可以代替百度谷歌等搜索引擎的一部分作用&#xff0c;加入到我的工作流当中。

重磅!openAI开放chatGPT模型APIgpt-3.5-turbo,成本直降90%!

ChatGPT API&#xff0c;千呼万唤终于来了。 chatGPT不仅开放 成本还直降90%&#xff01; 全新API基于“gpt-3.5-turbo”模型&#xff0c;其基础是支持ChatGPT的GPT 3.5模型&#xff0c;取代了此前的“text-davinci-003.”。这款名为“gpt-3.5-turbo”的模型&#xff0c;定价…

模型量化:PTQ + onnx

8 位线性量化的数学表达 将 32 位浮点(实数)模型转换为 8 位整数模型 F 32 S c a l e ∗ ( I i n t 8 − Z ) 量化公式&#xff1a; I i n t 8 F 32 S c a l e Z F_{32} Scale * (I_{int8}-Z)\\ 量化公式&#xff1a; I_{int8} \frac{F_{32}}{Scale} Z F32​Scale∗(Ii…

模型量化

https://zhuanlan.zhihu.com/p/132561405 模型量化是一种将浮点计算转成低比特定点计算的技术&#xff0c;可以有效的降低模型计算强度、参数大小和内存消耗&#xff0c;但往往带来巨大的精度损失。尤其是在极低比特(<4bit)、二值网络(1bit)、甚至将梯度进行量化时&#xf…

量化模型

量化模型&#xff08;Quantized Model&#xff09;是一种模型加速&#xff08;Model Acceleration&#xff09;方法的总称&#xff0c;包括二值化网络&#xff08;Binary Network&#xff09;、三值化网络&#xff08;Ternary Network&#xff09;&#xff0c;深度压缩&#xf…

读取锁信息失败(8):该账户当前被锁定,所以用户 ‘sa‘ 登录失败。

读取锁信息失败(8)&#xff1a;该账户当前被锁定&#xff0c;所以用户 sa 登录失败。系统管理员无法将该账户解锁。 State:37000,Native:18486,Origin:[Microsoft][ODBC SQL Server Driver][SQL Server] 打开软件提示上面的信息 此问题是由于sa账户在同一时间被多次登录&#x…

Oracle连接账户被锁:the account is locked 的解决办法

Oracle连接账户被锁&#xff1a;the account is locked 问题背景 在做配置文件数据库密码加密时&#xff0c;没注意做了一些骚操作&#xff0c;导致数据库被锁&#xff0c;网上找的资料都试了个遍&#xff0c;还是没用。浪费了两三个小时&#xff0c;差点都卸载重装数据库了。…

oracle提示“记录被另外一个用户锁定“

问题描述&#xff1a; 某人对某一条数据进行了修改&#xff0c;oracle会通过这个事务记住这条数据&#xff0c;若修改的人没有进行提交或进行回滚记录&#xff0c;oracle是不允许对这条数据在此进行修改的&#xff0c;在这种情况下你要进行修改数据&#xff0c;则会被阻止&…