小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我调用的是v3版的接口,总是报错误
应答的微信支付签名验证失败
排查一下发现是服务器应答头的证书编号和我上送的证书编号不一致,这个该如何处理?
11 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
确实是从没见过像 微信支付 这么复杂难用的接口
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
为什么这么难用
就一个证书,写的这样麻烦,tool工具又是什么东东,怎么弄,
php tool/CertificateDownloader.php 是把这个文件下载下来,放到单独文件里面执行嘛‘ 能不能说清楚 CertificateDownloader.php
微信支付平台证书需要使用tool文件夹下CertificateDownloader.php获取。
```shell > php tool/CertificateDownloader.php Usage: 微信支付平台证书下载工具 [-hV] [-c=<wechatpayCertificatePath>] -f=<privateKeyFilePath> -k=<apiV3key> -m=<merchantId> -o=<outputFilePath> -s=<serialNo> -m, --mchid=<merchantId> 商户号 -s, --serialno=<serialNo> 商户证书的序列号 -f, --privatekey=<privateKeyFilePath> 商户的私钥文件 -k, --key=<apiV3key> ApiV3Key -c, --wechatpay-cert=<wechatpayCertificatePath> 微信支付平台证书,验证签名 -o, --output=<outputFilePath> 下载成功后保存证书的路径 -V, --version Print version information and exit. -h, --help Show this help message and exit. ```
完整命令示例:
```shell php tool/CertificateDownloader.php -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath} -c ${wechatpayCertificateFilePath} ```
获取到微信支付平台证书wechatpay.pem后配置下
$wechatpayCertificate = PemUtil::loadCertificate('./assets/cert/wechatpay.pem'); // 微信支付平台证书文件路径
需要加载平台证书,类似这样,解决了
->withWechatPay([$wechatCert])
啥玩意儿啊,一个签名搞了一周
为什么你们的接口这么难用。
验证签名的使用哪个类来验证,有没有具体的方法代码 发一下
https://wechatpay-api.gitbook.io/wechatpay-api-v3/jie-kou-wen-dang/ping-tai-zheng-shu
我是刚申请的CA证书,调用/v3/certificates接口,返回的证书序列号和刚刚申请的证书序列号不一样。。。只能等等看了
你上送的证书序列号是商户证书的,微信返回的证书序列号是平台证书的,是两套来的
正在加载...
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
确实是从没见过像 微信支付 这么复杂难用的接口
为什么这么难用
就一个证书,写的这样麻烦,tool工具又是什么东东,怎么弄,
微信支付平台证书需要使用tool文件夹下CertificateDownloader.php获取。
```shell > php tool/CertificateDownloader.php Usage: 微信支付平台证书下载工具 [-hV] [-c=<wechatpayCertificatePath>] -f=<privateKeyFilePath> -k=<apiV3key> -m=<merchantId> -o=<outputFilePath> -s=<serialNo> -m, --mchid=<merchantId> 商户号 -s, --serialno=<serialNo> 商户证书的序列号 -f, --privatekey=<privateKeyFilePath> 商户的私钥文件 -k, --key=<apiV3key> ApiV3Key -c, --wechatpay-cert=<wechatpayCertificatePath> 微信支付平台证书,验证签名 -o, --output=<outputFilePath> 下载成功后保存证书的路径 -V, --version Print version information and exit. -h, --help Show this help message and exit. ```
完整命令示例:
```shell php tool/CertificateDownloader.php -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath} -c ${wechatpayCertificateFilePath} ```
获取到微信支付平台证书wechatpay.pem后配置下
$wechatpayCertificate = PemUtil::loadCertificate('./assets/cert/wechatpay.pem'); // 微信支付平台证书文件路径
需要加载平台证书,类似这样,解决了
->withWechatPay([$wechatCert])
啥玩意儿啊,一个签名搞了一周
为什么你们的接口这么难用。
验证签名的使用哪个类来验证,有没有具体的方法代码 发一下
https://wechatpay-api.gitbook.io/wechatpay-api-v3/jie-kou-wen-dang/ping-tai-zheng-shu
我是刚申请的CA证书,调用/v3/certificates接口,返回的证书序列号和刚刚申请的证书序列号不一样。。。只能等等看了
你上送的证书序列号是商户证书的,微信返回的证书序列号是平台证书的,是两套来的