Skip to content

Commit 0851259

Browse files
authored
🎨 #3608 【微信支付】修复 fullPublicKeyModel 配置在 Spring Boot Starter 和 Solon 插件中无效的问题
1 parent 5247627 commit 0851259

File tree

4 files changed

+55
-0
lines changed

4 files changed

+55
-0
lines changed

solon-plugins/wx-java-pay-solon-plugin/src/main/java/com/binarywang/solon/wxjava/pay/config/WxPayAutoConfiguration.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,20 @@ public WxPayService wxPayService() {
4646
payConfig.setSubMchId(StringUtils.trimToNull(this.properties.getSubMchId()));
4747
payConfig.setKeyPath(StringUtils.trimToNull(this.properties.getKeyPath()));
4848
payConfig.setUseSandboxEnv(this.properties.isUseSandboxEnv());
49+
payConfig.setNotifyUrl(StringUtils.trimToNull(this.properties.getNotifyUrl()));
4950
//以下是apiv3以及支付分相关
5051
payConfig.setServiceId(StringUtils.trimToNull(this.properties.getServiceId()));
5152
payConfig.setPayScoreNotifyUrl(StringUtils.trimToNull(this.properties.getPayScoreNotifyUrl()));
53+
payConfig.setPayScorePermissionNotifyUrl(StringUtils.trimToNull(this.properties.getPayScorePermissionNotifyUrl()));
5254
payConfig.setPrivateKeyPath(StringUtils.trimToNull(this.properties.getPrivateKeyPath()));
5355
payConfig.setPrivateCertPath(StringUtils.trimToNull(this.properties.getPrivateCertPath()));
5456
payConfig.setCertSerialNo(StringUtils.trimToNull(this.properties.getCertSerialNo()));
5557
payConfig.setApiV3Key(StringUtils.trimToNull(this.properties.getApiv3Key()));
58+
payConfig.setPublicKeyId(StringUtils.trimToNull(this.properties.getPublicKeyId()));
59+
payConfig.setPublicKeyPath(StringUtils.trimToNull(this.properties.getPublicKeyPath()));
60+
payConfig.setApiHostUrl(StringUtils.trimToNull(this.properties.getApiHostUrl()));
61+
payConfig.setStrictlyNeedWechatPaySerial(this.properties.isStrictlyNeedWechatPaySerial());
62+
payConfig.setFullPublicKeyModel(this.properties.isFullPublicKeyModel());
5663

5764
wxPayService.setConfig(payConfig);
5865
return wxPayService;

solon-plugins/wx-java-pay-solon-plugin/src/main/java/com/binarywang/solon/wxjava/pay/properties/WxPayProperties.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,40 @@ public class WxPayProperties {
8282
*/
8383
private boolean useSandboxEnv;
8484

85+
/**
86+
* 微信支付异步回调地址,通知url必须为直接可访问的url,不能携带参数
87+
*/
88+
private String notifyUrl;
89+
90+
/**
91+
* 微信支付分授权回调地址
92+
*/
93+
private String payScorePermissionNotifyUrl;
94+
95+
/**
96+
* 公钥ID
97+
*/
98+
private String publicKeyId;
99+
100+
/**
101+
* pub_key.pem证书文件的绝对路径或者以classpath:开头的类路径.
102+
*/
103+
private String publicKeyPath;
104+
105+
/**
106+
* 自定义API主机地址,用于替换默认的 https://api.mch.weixin.qq.com
107+
* 例如:http://proxy.company.com:8080
108+
*/
109+
private String apiHostUrl;
110+
111+
/**
112+
* 是否将全部v3接口的请求都添加Wechatpay-Serial请求头,默认不添加
113+
*/
114+
private boolean strictlyNeedWechatPaySerial = false;
115+
116+
/**
117+
* 是否完全使用公钥模式(用以微信从平台证书到公钥的灰度切换),默认不使用
118+
*/
119+
private boolean fullPublicKeyModel = false;
120+
85121
}

spring-boot-starters/wx-java-pay-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/pay/config/WxPayAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ public WxPayService wxPayService() {
6262
payConfig.setPublicKeyId(StringUtils.trimToNull(this.properties.getPublicKeyId()));
6363
payConfig.setPublicKeyPath(StringUtils.trimToNull(this.properties.getPublicKeyPath()));
6464
payConfig.setApiHostUrl(StringUtils.trimToNull(this.properties.getApiHostUrl()));
65+
payConfig.setStrictlyNeedWechatPaySerial(this.properties.isStrictlyNeedWechatPaySerial());
66+
payConfig.setFullPublicKeyModel(this.properties.isFullPublicKeyModel());
6567

6668
wxPayService.setConfig(payConfig);
6769
return wxPayService;

spring-boot-starters/wx-java-pay-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/pay/properties/WxPayProperties.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,4 +106,14 @@ public class WxPayProperties {
106106
*/
107107
private String apiHostUrl;
108108

109+
/**
110+
* 是否将全部v3接口的请求都添加Wechatpay-Serial请求头,默认不添加
111+
*/
112+
private boolean strictlyNeedWechatPaySerial = false;
113+
114+
/**
115+
* 是否完全使用公钥模式(用以微信从平台证书到公钥的灰度切换),默认不使用
116+
*/
117+
private boolean fullPublicKeyModel = false;
118+
109119
}

0 commit comments

Comments
 (0)