小程序
小游戏
企业微信
微信支付
扫描小程序码分享
获取特约商户授权状态使用官网的sdk调用该接口,结果是正常,但在SDK中校验签名时候报错:“应答的微信支付签名验证失败”。
检查后发现请求的证书序列号和响应报文中header中的 `Wechatpay-Serial`不一致?
请问怎么解决?
7 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
终于解决了,给大家分享一下;原因大家也都知道:请求接口的时候提供的证书不对,很多人提供的是“商户API证书”,调用接口需要提供微信支付的“平台证书”;获取“平台证书”官网文档描述的不是很明确,或者容易被https://api.mch.weixin.qq.com/v3/certificates这个接口搞混乱,这个返回的不是直接的平台证书;需要使用工具:Certificate Downloader来生成,下载地址:https://github.com/EliasZzz/CertificateDownloader/releases;源代地址:https://github.com/wechatpay-apiv3/CertificateDownloader 查看使用说明;对命令用实例说明一下,因为我花了很久才搞定:java -jar CertificateDownloader-1.1.jar -f 商户私钥文件路径 -k 证书解密的密钥 -m 商户号 -o 证书保存路径 -s 商户证书序列号
这里需要注意一下不要:-c 参数 非必需参数
需要对大家有帮助,微信号:buyizu360
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
到处都是坑org.apache.http.HttpException: 应答的微信支付签名验证失败,确实比支付宝垃圾多了
@raccoon 问题解决了吗
这样执行后还是在报 支付验证签名失败 是什么原因呢?
我也遇到了,刚刚解决了。问题原因:公钥取得不对,公钥应该用“微信支付平台证书”,而不是商户API公钥。如何获取“微信支付平台证书”参考https://wechatpay-api.gitbook.io/wechatpay-api-v3/jie-kou-wen-dang/ping-tai-zheng-shu。第一次下载用“证书下载工具”。
我也遇到了同样的问题 请问你解决了吗
我也遇到这个问题,请问解决了吗
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
终于解决了,给大家分享一下;原因大家也都知道:请求接口的时候提供的证书不对,很多人提供的是“商户API证书”,调用接口需要提供微信支付的“平台证书”;获取“平台证书”官网文档描述的不是很明确,或者容易被https://api.mch.weixin.qq.com/v3/certificates这个接口搞混乱,这个返回的不是直接的平台证书;需要使用工具:Certificate Downloader来生成,下载地址:https://github.com/EliasZzz/CertificateDownloader/releases;源代地址:https://github.com/wechatpay-apiv3/CertificateDownloader 查看使用说明;对命令用实例说明一下,因为我花了很久才搞定:java -jar CertificateDownloader-1.1.jar -f 商户私钥文件路径 -k 证书解密的密钥 -m 商户号 -o 证书保存路径 -s 商户证书序列号
这里需要注意一下不要:-c 参数 非必需参数
需要对大家有帮助,微信号:buyizu360
1.https://api.mch.weixin.qq.com/v3/certificates这个接口可以无视。
2.这个问题的关键是要获得正确的v3支付证书;具体方法如下:
(1)https://github.com/EliasZzz/CertificateDownloader/releases这里下载那个jar包,
(2)执行:“java -jar CertificateDownloader-1.1.jar -f 商户私钥文件路径 -k 证书解密的密钥 -m 商户号 -o 证书保存路径 -s 商户证书序列号”就行了。
这条命令的参数搞清楚3点:“商户私钥文件路径”是账号中心->API安全->API证书中设置并下载的证书(就是其中的apiclient_key.pem,下载还会获得apiclient_cert.pem,我之前把这个当做支付证书了,其实不是,apiclient_cert.pem这用不着),“商户证书序列号”这个东西也是设置API证书那里知道;“证书解密的密钥”在账号中心->API安全->APIv3密钥中设置的(注意api密钥和apiv3密钥是2个东西)。
执行完了是个类似wechatpay_250393205B4A9CC12900B44B65E04B9751CE95.pem的文件。
到处都是坑org.apache.http.HttpException: 应答的微信支付签名验证失败,确实比支付宝垃圾多了
@raccoon 问题解决了吗
这样执行后还是在报 支付验证签名失败 是什么原因呢?
我也遇到了,刚刚解决了。问题原因:公钥取得不对,公钥应该用“微信支付平台证书”,而不是商户API公钥。如何获取“微信支付平台证书”参考https://wechatpay-api.gitbook.io/wechatpay-api-v3/jie-kou-wen-dang/ping-tai-zheng-shu。第一次下载用“证书下载工具”。
我也遇到了同样的问题 请问你解决了吗
我也遇到这个问题,请问解决了吗