收藏
回答

微信支付V3接口,应答的微信支付签名验证失败

我调用的是v3版的接口,总是报错误

应答的微信支付签名验证失败

排查一下发现是服务器应答头的证书编号和我上送的证书编号不一致,这个该如何处理?


回答关注问题邀请回答
收藏

11 个回答

  • 雪峰学华
    雪峰学华
    2021-05-01

    确实是从没见过像 微信支付 这么复杂难用的接口

    2021-05-01
    有用 1
    回复 2
    • Haiger
      Haiger
      2021-05-03
      我TM也是服了微信。全网最垃圾的文档。前期的不作为,一升级,搞得像坨屎一样。一踩一个坑。写文档的人就像小学没毕业一样。跟阿里比起来。十万八千里。
      我按照阿里的文档,给不懂技术的甲方人员操作,别人都能看得懂。反倒是微信的开发文档,连开发人员都蒙蔽。牛逼了,张小龙。
      2021-05-03
      1
      回复
    • 张泓权
      张泓权
      2021-06-16
      确实太难用了,各种文档写的和屎一样,没一个文档能顺利执行完毕的,真是服了,我还是个老程序员了,都操作不了,可想那些新人有多痛苦
      2021-06-16
      回复
  • 仅只冬夏
    仅只冬夏
    2021-09-03

    为什么这么难用

    2021-09-03
    有用
    回复
  • ᥴꪶꪮ᭙ꪀ .
    ᥴꪶꪮ᭙ꪀ .
    2021-04-15

    就一个证书,写的这样麻烦,tool工具又是什么东东,怎么弄,

    php tool/CertificateDownloader.php
    是把这个文件下载下来,放到单独文件里面执行嘛‘
    能不能说清楚
    CertificateDownloader.php
    


    2021-04-15
    有用
    回复
  •  潍坊聚微
    潍坊聚微
    2021-03-17

    微信支付平台证书需要使用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'); // 微信支付平台证书文件路径
    

    2021-03-17
    有用
    回复
  • ꯭芝꯭麻꯭开꯭门꯭҉҈҉҈҉҉҈
    ꯭芝꯭麻꯭开꯭门꯭҉҈҉҈҉҉҈
    2021-01-25

    需要加载平台证书,类似这样,解决了

    2021-01-25
    有用
    回复 3
    • you
      you
      2021-01-27
      请问"商户私钥文件"和"微信支付平台证书,用于验签"这两个参数如何传,到时是哪个文件呢,不清不楚的,很烦人啊
      2021-01-27
      回复
    • ꯭芝꯭麻꯭开꯭门꯭҉҈҉҈҉҉҈
      ꯭芝꯭麻꯭开꯭门꯭҉҈҉҈҉҉҈
      2021-01-29回复you
      我这个其实也是错误的,其实只需要这个就行,
      2021-01-29
      回复
    • WGY_Smile
      WGY_Smile
      2021-03-17
      请问你是怎么解决的,可以请教下你么
      2021-03-17
      回复
  • Cary
    Cary
    2021-01-20

    啥玩意儿啊,一个签名搞了一周

    2021-01-20
    有用
    回复
  • 左手边的爱
    左手边的爱
    2021-01-05

    为什么你们的接口这么难用。

    2021-01-05
    有用
    回复 2
    • ᥴꪶꪮ᭙ꪀ .
      ᥴꪶꪮ᭙ꪀ .
      2021-04-15
      说的对,腾讯的技术人员连小学生都不如
      2021-04-15
      回复
    • 张泓权
      张泓权
      2021-06-16
      严重赞同,没有一个文档,没有一个sdk可以跑通的
      2021-06-16
      回复
  • 名字不要太长
    名字不要太长
    2020-07-10

    验证签名的使用哪个类来验证,有没有具体的方法代码 发一下

    2020-07-10
    有用
    回复
  • .....
    .....
    2020-06-06

    https://wechatpay-api.gitbook.io/wechatpay-api-v3/jie-kou-wen-dang/ping-tai-zheng-shu

    我是刚申请的CA证书,调用/v3/certificates接口,返回的证书序列号和刚刚申请的证书序列号不一样。。。只能等等看了

    2020-06-06
    有用
    回复
  • Lwei豪🌿
    Lwei豪🌿
    2020-05-14

    你上送的证书序列号是商户证书的,微信返回的证书序列号是平台证书的,是两套来的

    2020-05-14
    有用
    回复 2
    • 浩哥
      浩哥
      2020-11-27
      对,就是这个,是v3/certificates返回的序列号,但我传的是商户证书序列号,请问怎么解决?
      2020-11-27
      回复
    • 果果璐璐
      果果璐璐
      2021-01-15
      使用Certificate Downloader工具获取自己的微信支付平台证书
      2021-01-15
      回复

正在加载...

登录 后发表内容