🎨 #3242 【微信支付】修改自动更新证书接口地址,使用WxPayConfig设置的payBaseUrl

This commit is contained in:
96XL 2024-03-04 16:15:23 +08:00 committed by GitHub
parent b87afb64c9
commit 573f0f5e6f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 8 deletions

View File

@ -278,7 +278,7 @@ public class WxPayConfig {
AutoUpdateCertificatesVerifier certificatesVerifier = new AutoUpdateCertificatesVerifier(
new WxPayCredentials(mchId, new PrivateKeySigner(certSerialNo, merchantPrivateKey)),
this.getApiV3Key().getBytes(StandardCharsets.UTF_8), this.getCertAutoUpdateTime(), wxPayHttpProxy);
this.getApiV3Key().getBytes(StandardCharsets.UTF_8), this.getCertAutoUpdateTime(), this.getPayBaseUrl(), wxPayHttpProxy);
WxPayV3HttpClientBuilder wxPayV3HttpClientBuilder = WxPayV3HttpClientBuilder.create()
.withMerchant(mchId, certSerialNo, merchantPrivateKey)

View File

@ -46,7 +46,7 @@ public class AutoUpdateCertificatesVerifier implements Verifier {
/**
* 证书下载地址
*/
private static final String CERT_DOWNLOAD_PATH = "https://api.mch.weixin.qq.com/v3/certificates";
private static final String CERT_DOWNLOAD_PATH = "/v3/certificates";
/**
* 上次更新时间
@ -64,6 +64,8 @@ public class AutoUpdateCertificatesVerifier implements Verifier {
private final byte[] apiV3Key;
private String payBaseUrl ;
private final ReentrantLock lock = new ReentrantLock();
/**
@ -93,18 +95,19 @@ public class AutoUpdateCertificatesVerifier implements Verifier {
private final int minutes;
}
public AutoUpdateCertificatesVerifier(Credentials credentials, byte[] apiV3Key) {
this(credentials, apiV3Key, TimeInterval.OneHour.getMinutes());
public AutoUpdateCertificatesVerifier(Credentials credentials, byte[] apiV3Key, String payBaseUrl) {
this(credentials, apiV3Key, TimeInterval.OneHour.getMinutes(), payBaseUrl);
}
public AutoUpdateCertificatesVerifier(Credentials credentials, byte[] apiV3Key, int minutesInterval) {
this(credentials,apiV3Key,minutesInterval,null);
public AutoUpdateCertificatesVerifier(Credentials credentials, byte[] apiV3Key, int minutesInterval, String payBaseUrl) {
this(credentials, apiV3Key, minutesInterval, payBaseUrl, null);
}
public AutoUpdateCertificatesVerifier(Credentials credentials, byte[] apiV3Key, int minutesInterval,WxPayHttpProxy wxPayHttpProxy) {
public AutoUpdateCertificatesVerifier(Credentials credentials, byte[] apiV3Key, int minutesInterval, String payBaseUrl, WxPayHttpProxy wxPayHttpProxy) {
this.credentials = credentials;
this.apiV3Key = apiV3Key;
this.minutesInterval = minutesInterval;
this.payBaseUrl = payBaseUrl;
this.wxPayHttpProxy = wxPayHttpProxy;
//构造时更新证书
try {
@ -153,7 +156,7 @@ public class AutoUpdateCertificatesVerifier implements Verifier {
CloseableHttpClient httpClient = wxPayV3HttpClientBuilder.build();
HttpGet httpGet = new HttpGet(CERT_DOWNLOAD_PATH);
HttpGet httpGet = new HttpGet(this.payBaseUrl + CERT_DOWNLOAD_PATH);
httpGet.addHeader("Accept", "application/json");
CloseableHttpResponse response = httpClient.execute(httpGet);