小程序
小游戏
企业微信
微信支付
扫描小程序码分享
安卓返回 -1
ios返回:2
后台日志:
验证签名
9 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
问题已解决:
统一下单接口返回的签名必须包含prepay_id=XXXXXXXXXXXXXXXX
关键下面两行:
resultMap.put("package", "prepay_id=" + resMap.get("prepay_id"));//必须要带"prepay_id="前缀进行签名 resultMap.put("sign", WXPayUtil.generateSignature(resultMap, WXConstEnum.key));//签名
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
您好,请按照以下几点来检查,
1)你签名中的key,也就是你的API密钥key,这个参数要你们自己到商户平台设置的,设置的规则是32位数字与字母大小写的组合的随机数,不能设置成签名串和参数appsecret,你们有正确设置吗???
2)检查开放平台对应的包名与签名是否有正确设置。
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5 这里有详细的设置说明。
3)调用支付使用的noncestr这个参数必须和商家服务器调用统一下单接口返回的那个noncestr一致
4)从预支付订单返回的数据 ,没有重新签名,也会引起这个问题。
5)重新安装微信后试试。
请问
这句话的意思,是不是后台调用统一下单的noncestr,与传给前台页面调用JSAPI的noncestr要一致,
并且在传送到前台前,同样参与加签后送往前台页面使用?
您好,是的。
现在前台 一直到在报错,get_brand_wcpay_request:fail
授权目录我也配置了,也吧noncestr 返回到 前台了
已经不知道 怎么测试了
后台处理
前台代码
求帮助 谢谢了
全部用的都是微信支付 里面的 API 的方法做的后台
你好,这个是签名错误,请按照以下几点仔细检查:
1) 使用微信的在线签名工具检查签名是否和程序生成的一致
https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1 签名工具用谷歌打开。
选择MD5,XML,然后把请求参数xml放进去,就能校验签名。
2)如果和微信的在线签名工具一致,说明程序没有错误,确定是API密钥错误(被别人改动或者记错了)
在商户平台的账户信息中更改API密钥(账户设置-安全设置-API安全), 15分钟后生效
2.1)统一下单用的是A商户号,也必须是A商户号登陆商户平台设置key才对。
2.2)要注意统一下单请求参数中total_fee参数的类型是int类型。
3) 如果和微信的在线签名工具不一致,说明程序有错误,常见的错误可能是:
3.1) 编码问题,确保所有的都是utf-8的. 如果有中文, 可以先把中文改成英文重新签名,看是否签名错误,如果英文不会错中文才会错,基本肯定是编码问题
3.2:)消息中字段大小写和文档中完全一致
请问楼主是怎么解决的啊
吗的这么多年过去了,开发文档还是一个d样的垃圾,能不能学学人家隔壁某宝
折腾了一下午和一晚上终于解决了。我这边的问题是:我们之前已经对接 过app的微信支付,后台直接返回了{ "package": "Sign=WXPay", "appid": "wx666", "sign": "7E9360EE36", "partnerid": "1116401", "prepayid": "wx66000", "noncestr": "345332", "timestamp": "1625620895" } 这样的数据各式我当时的做法是拿着后台返回的这些参数 格式化后直接去调用微信支付。
{ "package": "Sign=WXPay", "appid": "wx666", "sign": "7E9360EE36", "partnerid": "1116401", "prepayid": "wx66000", "noncestr": "345332", "timestamp": "1625620895" } 这样的数据各式
但是注意注意,JSAPI加密sign的方法和app不一样, sign不能混用,它是是 需要把appId , timeStamp, nonceStr,package, signType 5个参数拼接key 以后 再使用md5加密
不知道有人是否遇到了这个问题,如果你用的是JAVA版本的官方的SDK,请留意WxPay中的signType,默认沙箱环境环境下才会是MD5加密方式,不然的话,即使你在参数中设置了MD5也不会起作用。
我已经被这个文档整懵逼了,公众号的文档里,调起支付
在微信支付文档里调起支付
用哪个? 文档就不能统一一下,一直提示支付验证签名失败!!!受不了
我也遇到这个问题了,好几天了,参数设置正确,不知道为什么验证失败。写接口文档的人啊,我只想问问你不能写的详细点吗?
问题找到了。
统一下单接口 默认加签方式是 HMACSHA256
,我传给前台的机密方式 是MD5,现在把加密方式统一,问题就解决了。
您好!能详细说明一下你二次验签的步骤吗?
这里的生成sign的方法和上边统一下单的一样吧
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
问题已解决:
统一下单接口返回的签名必须包含prepay_id=XXXXXXXXXXXXXXXX
关键下面两行:
resultMap.put("package", "prepay_id=" + resMap.get("prepay_id"));//必须要带"prepay_id="前缀进行签名 resultMap.put("sign", WXPayUtil.generateSignature(resultMap, WXConstEnum.key));//签名
您好,请按照以下几点来检查,
1)你签名中的key,也就是你的API密钥key,这个参数要你们自己到商户平台设置的,设置的规则是32位数字与字母大小写的组合的随机数,不能设置成签名串和参数appsecret,你们有正确设置吗???
2)检查开放平台对应的包名与签名是否有正确设置。
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5 这里有详细的设置说明。
3)调用支付使用的noncestr这个参数必须和商家服务器调用统一下单接口返回的那个noncestr一致
4)从预支付订单返回的数据 ,没有重新签名,也会引起这个问题。
5)重新安装微信后试试。
请问
3)调用支付使用的noncestr这个参数必须和商家服务器调用统一下单接口返回的那个noncestr一致
这句话的意思,是不是后台调用统一下单的noncestr,与传给前台页面调用JSAPI的noncestr要一致,
并且在传送到前台前,同样参与加签后送往前台页面使用?
您好,是的。
现在前台 一直到在报错,get_brand_wcpay_request:fail
授权目录我也配置了,也吧noncestr 返回到 前台了
已经不知道 怎么测试了
后台处理
前台代码
求帮助 谢谢了
全部用的都是微信支付 里面的 API 的方法做的后台
你好,这个是签名错误,请按照以下几点仔细检查:
1) 使用微信的在线签名工具检查签名是否和程序生成的一致
https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1 签名工具用谷歌打开。
选择MD5,XML,然后把请求参数xml放进去,就能校验签名。
2)如果和微信的在线签名工具一致,说明程序没有错误,确定是API密钥错误(被别人改动或者记错了)
在商户平台的账户信息中更改API密钥(账户设置-安全设置-API安全), 15分钟后生效
2.1)统一下单用的是A商户号,也必须是A商户号登陆商户平台设置key才对。
2.2)要注意统一下单请求参数中total_fee参数的类型是int类型。
3) 如果和微信的在线签名工具不一致,说明程序有错误,常见的错误可能是:
3.1) 编码问题,确保所有的都是utf-8的. 如果有中文, 可以先把中文改成英文重新签名,看是否签名错误,如果英文不会错中文才会错,基本肯定是编码问题
3.2:)消息中字段大小写和文档中完全一致
请问楼主是怎么解决的啊
吗的这么多年过去了,开发文档还是一个d样的垃圾,能不能学学人家隔壁某宝
折腾了一下午和一晚上终于解决了。我这边的问题是:我们之前已经对接 过app的微信支付,后台直接返回了
{ "package": "Sign=WXPay", "appid": "wx666", "sign": "7E9360EE36", "partnerid": "1116401", "prepayid": "wx66000", "noncestr": "345332", "timestamp": "1625620895" } 这样的数据各式
我当时的做法是拿着后台返回的这些参数 格式化后直接去调用微信支付。但是注意注意,JSAPI加密sign的方法和app不一样, sign不能混用,它是是 需要把appId , timeStamp, nonceStr,package, signType 5个参数拼接key 以后 再使用md5加密
我已经被这个文档整懵逼了,公众号的文档里,调起支付
在微信支付文档里调起支付
用哪个? 文档就不能统一一下,一直提示支付验证签名失败!!!受不了
我也遇到这个问题了,好几天了,参数设置正确,不知道为什么验证失败。写接口文档的人啊,我只想问问你不能写的详细点吗?
问题找到了。
统一下单接口 默认加签方式是 HMACSHA256
,我传给前台的机密方式 是MD5,现在把加密方式统一,问题就解决了。
您好!能详细说明一下你二次验签的步骤吗?
这里的生成sign的方法和上边统一下单的一样吧