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>
上述报错是调接口时携带了失效的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
去后台重新生成证书即可
我也是突然遇到这个问题,退款的时候报这个错误,代码没动过,另外一个系统也是用的这个证书,一模一样的证书,另外的那个系统也在同一个服务器上,那个系统支付退款都可以,而且支付退款的代码都是一样的,真是无语了
解决了吗? 头都大了。看看我发表的问题 和你的 环境一样吗
https://developers.weixin.qq.com/community/develop/doc/000004f3b542b07da7b16054061400