小程序
小游戏
企业微信
微信支付
扫描小程序码分享
微信APP支付,后端是用的是apiv3版本的,之前申请的一个商户是正常跳到支付,又申请了一个商户,点支付后一直返回的就是支付验证签名失败!不知道为什么会出现这种原因,之前的商户可以支付说明代码应该是没什么问题,新商户是不是app支付还要配置什么的东西?
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
一、签名错误问题可以按照以下几点进行排查:
1、使用签名检查工具校验签名算法是否有误
2、确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题)
3、确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查)
4、确认参数的大小写,参数名与接口文档一致
5、签名原串的参数值使用原始值,不需要encode
6、接口需要使用UTF-8编码
如果上面的您都检查了
二、请按照以下几点排查:
1、打印出您请求出去最后的数据与您工具校验正确的数据做一下对比,看是否有大小写不同,或者多余的空格
2、拿现在的参数使用postman进行测试,排除法,避免应用层处理问题导致
3、重置KEY
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
这个是什么问题呢?怎么都解决不了呢
折腾了一下午和一晚上终于解决了。我这边的问题是:我们之前已经对接 过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加密
同样的问题,太奇怪了,校验工具结果都一致,就是不行
请问楼主解决这个问题了么
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
一、签名错误问题可以按照以下几点进行排查:
1、使用签名检查工具校验签名算法是否有误
2、确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题)
3、确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查)
4、确认参数的大小写,参数名与接口文档一致
5、签名原串的参数值使用原始值,不需要encode
6、接口需要使用UTF-8编码
如果上面的您都检查了
二、请按照以下几点排查:
1、打印出您请求出去最后的数据与您工具校验正确的数据做一下对比,看是否有大小写不同,或者多余的空格
2、拿现在的参数使用postman进行测试,排除法,避免应用层处理问题导致
3、重置KEY
这个是什么问题呢?怎么都解决不了呢
折腾了一下午和一晚上终于解决了。我这边的问题是:我们之前已经对接 过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加密
同样的问题,太奇怪了,校验工具结果都一致,就是不行
请问楼主解决这个问题了么