背景
微信支付SDK 0.3.x 版本, 当配置多个商户号的时候,会存在一个商户号失败
解决方案
升级微信 支付的 SDK到0.4.X
方案依据
echatpay-apache-httpclient——UPGRADING.md
版本0.4.0
提供了支持多商户号的定时更新平台证书功能,不兼容版本0.3.0
。推荐升级方式如下:
- 若你使用了
ScheduledUpdateCertificatesVerifier
,请使用CertificatesManager
替换:
-verifier = new ScheduledUpdateCertificatesVerifier(
- new WechatPay2Credentials(merchantId, new PrivateKeySigner(merchantSerialNumber, merchantPrivateKey)),
- apiV3Key.getBytes(StandardCharsets.UTF_8));
+// 获取证书管理器实例
+certificatesManager = CertificatesManager.getInstance();
+// 向证书管理器增加需要自动更新平台证书的商户信息
+certificatesManager.putMerchant(merchantId, new WechatPay2Credentials(merchantId,
+ new PrivateKeySigner(merchantSerialNumber, merchantPrivateKey)), apiV3Key.getBytes(StandardCharsets.UTF_8));
+// 从证书管理器中获取verifier
+verifier = certificatesManager.getVerifier(merchantId);
- 若你使用了
getLatestCertificate
方法,请使用getValidCertificate
方法替换。
网友评论