首页

微信支付的证书问题

本来聚合支付用的好好的,因为一些政策变动聚合支付审核条件变得繁琐苛刻,于是打算直接对接微信文档来支付。几年前接的微信还是V2版本整体比较简单,现在的V3接口用了RSA证书加密模式。跟着文档去分别下载了「商户API私钥」「微信支付平台证书」,然后用命令 openssl x509 -in 证书路径.pem -noout -serial 获取到了证书编号。根据github上提供的微信phpSDK样例做了尝试发现一直包证书问题The `certs(xxxxxxxxxxxxx)` contains the merchant's certificate serial number(xxxxxxxxxxxxx) which is not allowed here. <img src="https://product.liyiru.top/uploads/4c8bcfbdb0dccbd954cbe4bb84a4f4dc.png"/> 然后发现此证书非彼证书,apiclient_cert.pem这个证书不能直接使用,而是要手动下载一个平台证书: <code> composer exec CertificateDownloader.php -- -k ${商户后台自己填的32位api秘钥} -m ${商户id} -f ${本地私钥地址} -s ${证书编号} -o ${输出的证书文件名} </code> 我发现其实vendor/bin目录下已经有CertificateDownloader.php文件了,所以直接 php vendor/bin/CertificateDownloader.php 后面的参数也可以。换完证书就能正常请求了,可惜因为商户号很久没使用被停了,返回了"code":"NO_AUTH","message":"此商家的收款功能已被限制,暂无法支付。
更多>>
ss小火箭的搭建和使用 ubuntu20服务器下安装图形界面 关于谷歌chrome输入域名默认跳https的问题 nginx根据请求日志行为生成黑名单(无负载均衡版) lua和php的性能比拼