收藏
回答

https://api.mch.weixin.qq.com/pay/unifiedorder ?

https://api.mch.weixin.qq.com/pay/unifiedorder

<head><title>400 The SSL certificate error</title></head>

<body bgcolor="white">

<center><h1>400 Bad Request</h1></center>

<center>The SSL certificate error</center>

<hr><center>nginx</center>

</body>

</html>

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

4 个回答

  • 支付社区运营
    支付社区运营
    06-25

    上述报错是调接口时携带了失效的API证书导致。微信支付在2018年已经停用旧的自签API证书,你的报错应该是使用了这份旧的自签证书。那请排查更换证书即可

    自签证书与权威CA签发的证书区别请参考https://kf.qq.com/faq/180824JvUZ3i180824YvMNJj.html

    查看API证书是否自签API证书:

    openssl x509 -noout -text -in your_client_cert.crt

    如果查出来的证书颁发者显示的是MmpaymchCA,那么就确认是自签证书。

    查看p12格式API证书是否自签API证书:

    openssl pkcs12 -info -in file.p12


    06-25
    有用
    回复
  • 男人袜陈伯乐
    男人袜陈伯乐
    09-23

    去后台重新生成证书即可


    09-23
    有用
    回复
  • 🇹 🇴 🇲 🇲 🇾
    🇹 🇴 🇲 🇲 🇾
    07-10

    我也是突然遇到这个问题,退款的时候报这个错误,代码没动过,另外一个系统也是用的这个证书,一模一样的证书,另外的那个系统也在同一个服务器上,那个系统支付退款都可以,而且支付退款的代码都是一样的,真是无语了

    07-10
    有用
    回复 1
    • 困了不想睡
      困了不想睡
      09-12
      携带了过期的自签证书的话 nginx会校验的 然后就会报这个错。
      09-12
      回复
  • Gaolou
    Gaolou
    06-25

    解决了吗? 头都大了。看看我发表的问题 和你的 环境一样吗

    https://developers.weixin.qq.com/community/develop/doc/000004f3b542b07da7b16054061400

    06-25
    有用
    回复 4
    •    
         
      06-25
      这个支付是公司以前用vb写的,我实在找不到原因,我就自己重写了,可以了,这个贵东西折腾了我两天,硬是找不到原因
      06-25
      回复
    • Veitor
      Veitor
      06-25回复   
      你重写就好了?我看说是证书的问题啊,你换证书了没?
      06-25
      回复
    •    
         
      06-25回复Veitor
      没换,啥都没换
      06-25
      回复
    •    
         
      06-25回复   
      v2不用证书
      06-25
      回复
登录 后发表内容