Commit 4bc88e2930bc65abb6f3875bb67fafa97442e9d0

Authored by YunaiV
1 parent b07bc3d7

fix:【pay 支付】微信支付 publicKeyContent 调整为非必填,兼容 https://t.zsxq.com/ODR5V、https://git…

…ee.com/yudaocode/yudao-ui-admin-vue3/issues/ICUE53
yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/AbstractWxPayClient.java
@@ -68,8 +68,11 @@ public abstract class AbstractWxPayClient extends AbstractPayClient<WxPayClientC @@ -68,8 +68,11 @@ public abstract class AbstractWxPayClient extends AbstractPayClient<WxPayClientC
68 payConfig.setKeyPath(FileUtils.createTempFile(Base64.decode(config.getKeyContent())).getPath()); 68 payConfig.setKeyPath(FileUtils.createTempFile(Base64.decode(config.getKeyContent())).getPath());
69 } else if (Objects.equals(config.getApiVersion(), API_VERSION_V3)) { 69 } else if (Objects.equals(config.getApiVersion(), API_VERSION_V3)) {
70 payConfig.setPrivateKeyPath(FileUtils.createTempFile(config.getPrivateKeyContent()).getPath()); 70 payConfig.setPrivateKeyPath(FileUtils.createTempFile(config.getPrivateKeyContent()).getPath());
71 - payConfig.setPublicKeyPath(FileUtils.createTempFile(config.getPublicKeyContent()).getPath());  
72 - // 特殊:强制使用微信公用模式,避免灰度期间的问题!!! 71 + // 参考 https://gitee.com/yudaocode/yudao-ui-admin-vue3/issues/ICUE53 和 https://t.zsxq.com/ODR5V
  72 + if (StrUtil.isNotBlank(config.getPublicKeyContent())) {
  73 + payConfig.setPrivateCertPath(FileUtils.createTempFile(Base64.decode(config.getPublicKeyContent())).getPath());
  74 + }
  75 + // 特殊:强制使用微信公钥模式,避免灰度期间的问题!!!
73 payConfig.setStrictlyNeedWechatPaySerial(true); 76 payConfig.setStrictlyNeedWechatPaySerial(true);
74 } 77 }
75 78
yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/WxPayClientConfig.java
@@ -81,7 +81,6 @@ public class WxPayClientConfig implements PayClientConfig { @@ -81,7 +81,6 @@ public class WxPayClientConfig implements PayClientConfig {
81 /** 81 /**
82 * pub_key.pem 证书文件的对应字符串 82 * pub_key.pem 证书文件的对应字符串
83 */ 83 */
84 - @NotBlank(message = "pub_key.pem 不能为空", groups = V3.class)  
85 private String publicKeyContent; 84 private String publicKeyContent;
86 @NotBlank(message = "publicKeyId 不能为空", groups = V3.class) 85 @NotBlank(message = "publicKeyId 不能为空", groups = V3.class)
87 private String publicKeyId; 86 private String publicKeyId;