Closed c88667220 closed 3 years ago
呼叫大神
需要先下载平台证书,源码包内有个工具用来下载平台证书
要用工具下载?这个不怎么人性化吧 我做三方平台的,那些用户不见得会下载这些东西,那意味着我得来个用户就要搞一遍这个?
是可以简化一点,java库实现了sdk内自动下载平台证书的
可以运行这样一条命令来下载证书
php vendor/wechatpay/wechatpay-guzzle-middleware/tool/CertificateDownloader.php -k APIv3密钥 -m 商户号 -f 私钥路径 -s 商户API证书序列号 -o 下载平台证书的保存目录
是可以简化一点,java库实现了sdk内自动下载平台证书的
在单体应用上,可以把下载平台证书做进类库逻辑里;不过,不建议这么做,分布式、多点负载的时候,这个下载逻辑其实就显得冗余了。建议是把下载证书单独做成服务,其他负载都只读使用,这样扩缩容就简单得多了(如容器及k8s scale replicas就可以用无状态deployment做了)
在单体应用上,可以把下载平台证书做进类库逻辑里;不过,不建议这么做,分布式、多点负载的时候,这个下载逻辑其实就显得冗余了。建议是把下载证书单独做成服务,其他负载都只读使用,这样扩缩容就简单得多了(如容器及k8s scale replicas就可以用无状态deployment做了)
说得没错。更建议把签名/验签/加密/解密的能力做成服务独立部署保护起来(注意不要单点保证可用性),不要把敏感的信息扩散到业务服务器上去了。
从实现上来说,java版的validator是初始化client时注册进去的,默认是本地证书版的😊 也可以选择自动获取证书的validator。甚至可以参考接口写一个新的validator做进去。
应答的微信支付签名验证失败 但是有显示:prepay_id