fix:【pay 支付】微信支付 publicKeyContent 调整为非必填,兼容 https://t.zsxq.com/ODR5V、https://gitee.com/yudaocode/yudao-ui-admin-vue3/issues/ICUE53

This commit is contained in:
YunaiV 2025-10-02 10:23:57 +08:00
parent b07bc3d787
commit 4bc88e2930
2 changed files with 5 additions and 3 deletions

View File

@ -68,8 +68,11 @@ public abstract class AbstractWxPayClient extends AbstractPayClient<WxPayClientC
payConfig.setKeyPath(FileUtils.createTempFile(Base64.decode(config.getKeyContent())).getPath());
} else if (Objects.equals(config.getApiVersion(), API_VERSION_V3)) {
payConfig.setPrivateKeyPath(FileUtils.createTempFile(config.getPrivateKeyContent()).getPath());
payConfig.setPublicKeyPath(FileUtils.createTempFile(config.getPublicKeyContent()).getPath());
// 特殊强制使用微信公用模式避免灰度期间的问题
// 参考 https://gitee.com/yudaocode/yudao-ui-admin-vue3/issues/ICUE53 https://t.zsxq.com/ODR5V
if (StrUtil.isNotBlank(config.getPublicKeyContent())) {
payConfig.setPrivateCertPath(FileUtils.createTempFile(Base64.decode(config.getPublicKeyContent())).getPath());
}
// 特殊强制使用微信公钥模式避免灰度期间的问题
payConfig.setStrictlyNeedWechatPaySerial(true);
}

View File

@ -81,7 +81,6 @@ public class WxPayClientConfig implements PayClientConfig {
/**
* pub_key.pem 证书文件的对应字符串
*/
@NotBlank(message = "pub_key.pem 不能为空", groups = V3.class)
private String publicKeyContent;
@NotBlank(message = "publicKeyId 不能为空", groups = V3.class)
private String publicKeyId;