Skip to content

Commit c78640b

Browse files
authored
统一文档和测试用例中的变量命名 (#142)
1 parent 4b1f470 commit c78640b

File tree

7 files changed

+53
-53
lines changed

7 files changed

+53
-53
lines changed

README.md

+10-10
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ import com.wechat.pay.contrib.apache.httpclient.WechatPayHttpClientBuilder;
5858
//...
5959
WechatPayHttpClientBuilder builder = WechatPayHttpClientBuilder.create()
6060
.withMerchant(merchantId, merchantSerialNumber, merchantPrivateKey)
61-
.withWechatPay(wechatpayCertificates);
61+
.withWechatPay(wechatPayCertificates);
6262
// ... 接下来,你仍然可以通过builder设置各种参数,来配置你的HttpClient
6363

6464
// 通过WechatPayHttpClientBuilder构造的HttpClient,会自动的处理签名和验签
@@ -73,7 +73,7 @@ CloseableHttpResponse response = httpClient.execute(...);
7373
+ `merchantId`商户号。
7474
+ `merchantSerialNumber`商户API证书的证书序列号。
7575
+ `merchantPrivateKey`商户API私钥,如何加载商户API私钥请看[常见问题](#如何加载商户私钥)
76-
+ `wechatpayCertificates`微信支付平台证书。你也可以使用后面章节提到的“[定时更新平台证书功能](#定时更新平台证书功能)”,而不需要关心平台证书的来龙去脉。
76+
+ `wechatPayCertificates`微信支付平台证书列表。你也可以使用后面章节提到的“[定时更新平台证书功能](#定时更新平台证书功能)”,而不需要关心平台证书的来龙去脉。
7777

7878
### 示例:获取平台证书
7979

@@ -177,24 +177,24 @@ Credentials credentials = new WechatPay2Credentials(merchantId, new Signer() {
177177
});
178178
WechatPayHttpClientBuilder builder = WechatPayHttpClientBuilder.create()
179179
.withCredentials(credentials)
180-
.withWechatPay(wechatpayCertificates);
180+
.withWechatPay(wechatPayCertificates);
181181
```
182182

183183
## 定时更新平台证书功能
184184

185-
版本>=`0.4.0`可使用 CertificatesManager.getVerifier(mchId) 得到的验签器替代默认的验签器。它会定时下载和更新商户对应的[微信支付平台证书](https://wechatpay-api.gitbook.io/wechatpay-api-v3/ren-zheng/zheng-shu#ping-tai-zheng-shu) (默认下载间隔为UPDATE_INTERVAL_MINUTE)。
185+
版本>=`0.4.0`可使用 CertificatesManager.getVerifier(merchantId) 得到的验签器替代默认的验签器。它会定时下载和更新商户对应的[微信支付平台证书](https://wechatpay-api.gitbook.io/wechatpay-api-v3/ren-zheng/zheng-shu#ping-tai-zheng-shu) (默认下载间隔为UPDATE_INTERVAL_MINUTE)。
186186

187187
示例代码:
188188
```java
189189
// 获取证书管理器实例
190190
certificatesManager = CertificatesManager.getInstance();
191191
// 向证书管理器增加需要自动更新平台证书的商户信息
192-
certificatesManager.putMerchant(mchId, new WechatPay2Credentials(mchId,
193-
new PrivateKeySigner(mchSerialNo, merchantPrivateKey)), apiV3Key.getBytes(StandardCharsets.UTF_8));
192+
certificatesManager.putMerchant(merchantId, new WechatPay2Credentials(merchantId,
193+
new PrivateKeySigner(merchantSerialNumber, merchantPrivateKey)), apiV3Key.getBytes(StandardCharsets.UTF_8));
194194
// ... 若有多个商户号,可继续调用putMerchant添加商户信息
195195

196196
// 从证书管理器中获取verifier
197-
verifier = certificatesManager.getVerifier(mchId);
197+
verifier = certificatesManager.getVerifier(merchantId);
198198
WechatPayHttpClientBuilder builder = WechatPayHttpClientBuilder.create()
199199
.withMerchant(merchantId, merchantSerialNumber, merchantPrivateKey)
200200
.withValidator(new WechatPay2Validator(verifier))
@@ -221,9 +221,9 @@ CloseableHttpResponse response = httpClient.execute(...);
221221

222222
```java
223223
// 建议从Verifier中获得微信支付平台证书,或使用预先下载到本地的平台证书文件中
224-
X509Certificate wechatpayCertificate = verifier.getValidCertificate();
224+
X509Certificate certificate = verifier.getValidCertificate();
225225
try {
226-
String ciphertext = RsaCryptoUtil.encryptOAEP(text, wechatpayCertificate);
226+
String ciphertext = RsaCryptoUtil.encryptOAEP(text, certificate);
227227
} catch (IllegalBlockSizeException e) {
228228
e.printStackTrace();
229229
}
@@ -321,7 +321,7 @@ PrivateKey merchantPrivateKey = PemUtil.loadPrivateKey(
321321

322322
```java
323323
CloseableHttpClient httpClient = WechatPayHttpClientBuilder.create()
324-
.withMerchant(mchId, mchSerialNo, merchantPrivateKey)
324+
.withMerchant(merchantId, merchantSerialNumber, merchantPrivateKey)
325325
.withValidator(response -> true) // NOTE: 设置一个空的应答签名验证器,**不要**用在业务请求
326326
.build();
327327
```

UPGRADING.md

+8-3
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
11
# 升级指南
2+
23
## 从 0.3.0 升级至 0.4.0
4+
35
版本`0.4.0`提供了支持多商户号的[定时更新平台证书功能](README.md#定时更新平台证书功能),不兼容版本`0.3.0`。推荐升级方式如下:
6+
47
- 若你使用了`ScheduledUpdateCertificatesVerifier`,请使用`CertificatesManager`替换:
8+
59
```diff
610
-verifier = new ScheduledUpdateCertificatesVerifier(
711
- new WechatPay2Credentials(merchantId, new PrivateKeySigner(merchantSerialNumber, merchantPrivateKey)),
812
- apiV3Key.getBytes(StandardCharsets.UTF_8));
913
+// 获取证书管理器实例
1014
+certificatesManager = CertificatesManager.getInstance();
1115
+// 向证书管理器增加需要自动更新平台证书的商户信息
12-
+certificatesManager.putMerchant(mchId, new WechatPay2Credentials(mchId,
13-
+ new PrivateKeySigner(mchSerialNo, merchantPrivateKey)), apiV3Key.getBytes(StandardCharsets.UTF_8));
16+
+certificatesManager.putMerchant(merchantId, new WechatPay2Credentials(merchantId,
17+
+ new PrivateKeySigner(merchantSerialNumber, merchantPrivateKey)), apiV3Key.getBytes(StandardCharsets.UTF_8));
1418
+// 从证书管理器中获取verifier
15-
+verifier = certificatesManager.getVerifier(mchId);
19+
+verifier = certificatesManager.getVerifier(merchantId);
1620
```
21+
1722
- 若你使用了`getLatestCertificate`方法,请使用`getValidCertificate`方法替换。

src/test/java/com/wechat/pay/contrib/apache/httpclient/AutoUpdateVerifierTest.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ public class AutoUpdateVerifierTest {
3939
private static final String serialNumber = "";
4040
private static final String message = "";
4141
private static final String signature = "";
42-
private static final String mchId = ""; // 商户号
43-
private static final String mchSerialNo = ""; // 商户证书序列号
42+
private static final String merchantId = ""; // 商户号
43+
private static final String merchantSerialNumber = ""; // 商户证书序列号
4444
private static final String apiV3Key = ""; // API V3密钥
4545
private CloseableHttpClient httpClient;
4646
private AutoUpdateCertificatesVerifier verifier;
@@ -51,11 +51,11 @@ public void setup() {
5151

5252
//使用自动更新的签名验证器,不需要传入证书
5353
verifier = new AutoUpdateCertificatesVerifier(
54-
new WechatPay2Credentials(mchId, new PrivateKeySigner(mchSerialNo, merchantPrivateKey)),
54+
new WechatPay2Credentials(merchantId, new PrivateKeySigner(merchantSerialNumber, merchantPrivateKey)),
5555
apiV3Key.getBytes(StandardCharsets.UTF_8));
5656

5757
httpClient = WechatPayHttpClientBuilder.create()
58-
.withMerchant(mchId, mchSerialNo, merchantPrivateKey)
58+
.withMerchant(merchantId, merchantSerialNumber, merchantPrivateKey)
5959
.withValidator(new WechatPay2Validator(verifier))
6060
.build();
6161
}

src/test/java/com/wechat/pay/contrib/apache/httpclient/CertificatesManagerTest.java

+7-9
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,8 @@ public class CertificatesManagerTest {
3434
// 你的商户私钥
3535
private static final String privateKey = "-----BEGIN PRIVATE KEY-----\n"
3636
+ "-----END PRIVATE KEY-----\n";
37-
private static final String serialNumber = "";
38-
private static final String message = "";
39-
private static final String signature = "";
40-
private static final String mchId = ""; // 商户号
41-
private static final String mchSerialNo = ""; // 商户证书序列号
37+
private static final String merchantId = ""; // 商户号
38+
private static final String merchantSerialNumber = ""; // 商户证书序列号
4239
private static final String apiV3Key = ""; // API V3密钥
4340
private CloseableHttpClient httpClient;
4441
CertificatesManager certificatesManager;
@@ -50,13 +47,14 @@ public void setup() throws Exception {
5047
// 获取证书管理器实例
5148
certificatesManager = CertificatesManager.getInstance();
5249
// 向证书管理器增加需要自动更新平台证书的商户信息
53-
certificatesManager.putMerchant(mchId, new WechatPay2Credentials(mchId,
54-
new PrivateKeySigner(mchSerialNo, merchantPrivateKey)), apiV3Key.getBytes(StandardCharsets.UTF_8));
50+
certificatesManager.putMerchant(merchantId, new WechatPay2Credentials(merchantId,
51+
new PrivateKeySigner(merchantSerialNumber, merchantPrivateKey)),
52+
apiV3Key.getBytes(StandardCharsets.UTF_8));
5553
// 从证书管理器中获取verifier
56-
verifier = certificatesManager.getVerifier(mchId);
54+
verifier = certificatesManager.getVerifier(merchantId);
5755
// 构造httpclient
5856
httpClient = WechatPayHttpClientBuilder.create()
59-
.withMerchant(mchId, mchSerialNo, merchantPrivateKey)
57+
.withMerchant(merchantId, merchantSerialNumber, merchantPrivateKey)
6058
.withValidator(new WechatPay2Validator(verifier))
6159
.build();
6260
}

src/test/java/com/wechat/pay/contrib/apache/httpclient/HttpClientBuilderTest.java

+8-8
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131

3232
public class HttpClientBuilderTest {
3333

34-
private static final String mchId = "1900009191"; // 商户号
35-
private static final String mchSerialNo = "1DDE55AD98ED71D6EDD4A4A16996DE7B47773A8C"; // 商户证书序列号
34+
private static final String merchantId = "1900009191"; // 商户号
35+
private static final String merchantSerialNumber = "1DDE55AD98ED71D6EDD4A4A16996DE7B47773A8C"; // 商户证书序列号
3636
private static final String requestBody = "{\n"
3737
+ " \"stock_id\": \"9433645\",\n"
3838
+ " \"stock_creator_mchid\": \"1900006511\",\n"
@@ -50,15 +50,15 @@ public class HttpClientBuilderTest {
5050
@Before
5151
public void setup() {
5252
PrivateKey merchantPrivateKey = PemUtil.loadPrivateKey(privateKey);
53-
X509Certificate wechatPayCertificate = PemUtil.loadCertificate(
53+
X509Certificate wechatPayCert = PemUtil.loadCertificate(
5454
new ByteArrayInputStream(certificate.getBytes(StandardCharsets.UTF_8)));
5555

56-
ArrayList<X509Certificate> listCertificates = new ArrayList<>();
57-
listCertificates.add(wechatPayCertificate);
56+
ArrayList<X509Certificate> wechatPayCertificates = new ArrayList<>();
57+
wechatPayCertificates.add(wechatPayCert);
5858

5959
httpClient = WechatPayHttpClientBuilder.create()
60-
.withMerchant(mchId, mchSerialNo, merchantPrivateKey)
61-
.withWechatPay(listCertificates)
60+
.withMerchant(merchantId, merchantSerialNumber, merchantPrivateKey)
61+
.withWechatPay(wechatPayCertificates)
6262
.build();
6363
}
6464

@@ -84,7 +84,7 @@ public void getCertificatesWithoutCertTest() throws Exception {
8484
PrivateKey merchantPrivateKey = PemUtil.loadPrivateKey(privateKey);
8585

8686
httpClient = WechatPayHttpClientBuilder.create()
87-
.withMerchant(mchId, mchSerialNo, merchantPrivateKey)
87+
.withMerchant(merchantId, merchantSerialNumber, merchantPrivateKey)
8888
.withValidator(response -> true)
8989
.build();
9090

src/test/java/com/wechat/pay/contrib/apache/httpclient/NotificationHandlerTest.java

+6-5
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ public class NotificationHandlerTest {
1818

1919
private static final String privateKey = "-----BEGIN PRIVATE KEY-----\n"
2020
+ "-----END PRIVATE KEY-----\n"; // 商户私钥
21-
private static final String mchId = ""; // 商户号
22-
private static final String mchSerialNo = ""; // 商户证书序列号
21+
private static final String merchantId = ""; // 商户号
22+
private static final String merchantSerialNumber = ""; // 商户证书序列号
2323
private static final String apiV3Key = ""; // apiV3密钥
2424
private static final String wechatPaySerial = ""; // 平台证书序列号
2525
private static final String nonce = ""; // 请求头Wechatpay-Nonce
@@ -35,10 +35,11 @@ public void setup() throws Exception {
3535
// 获取证书管理器实例
3636
certificatesManager = CertificatesManager.getInstance();
3737
// 向证书管理器增加需要自动更新平台证书的商户信息
38-
certificatesManager.putMerchant(mchId, new WechatPay2Credentials(mchId,
39-
new PrivateKeySigner(mchSerialNo, merchantPrivateKey)), apiV3Key.getBytes(StandardCharsets.UTF_8));
38+
certificatesManager.putMerchant(merchantId, new WechatPay2Credentials(merchantId,
39+
new PrivateKeySigner(merchantSerialNumber, merchantPrivateKey)),
40+
apiV3Key.getBytes(StandardCharsets.UTF_8));
4041
// 从证书管理器中获取verifier
41-
verifier = certificatesManager.getVerifier(mchId);
42+
verifier = certificatesManager.getVerifier(merchantId);
4243
}
4344

4445
@Test

src/test/java/com/wechat/pay/contrib/apache/httpclient/RsaCryptoTest.java

+10-14
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515
import com.wechat.pay.contrib.apache.httpclient.cert.CertificatesManager;
1616
import com.wechat.pay.contrib.apache.httpclient.util.PemUtil;
1717
import com.wechat.pay.contrib.apache.httpclient.util.RsaCryptoUtil;
18-
1918
import java.io.ByteArrayInputStream;
2019
import java.io.IOException;
2120
import java.nio.charset.StandardCharsets;
2221
import java.security.PrivateKey;
2322
import java.util.Base64;
24-
23+
import javax.crypto.BadPaddingException;
24+
import javax.crypto.Cipher;
2525
import org.apache.http.HttpEntity;
2626
import org.apache.http.client.methods.CloseableHttpResponse;
2727
import org.apache.http.client.methods.HttpPost;
@@ -32,15 +32,10 @@
3232
import org.junit.Before;
3333
import org.junit.Test;
3434

35-
import javax.crypto.BadPaddingException;
36-
import javax.crypto.Cipher;
37-
import javax.crypto.IllegalBlockSizeException;
38-
import javax.management.PersistentMBean;
39-
4035
public class RsaCryptoTest {
4136

42-
private static final String mchId = ""; // 商户号
43-
private static final String mchSerialNo = ""; // 商户证书序列号
37+
private static final String merchantId = ""; // 商户号
38+
private static final String merchantSerialNumber = ""; // 商户证书序列号
4439
private static final String apiV3Key = ""; // API V3密钥
4540
private static final String privateKey = ""; // 商户API V3私钥
4641
private static final String wechatPaySerial = ""; // 平台证书序列号
@@ -102,13 +97,14 @@ public void setup() throws Exception {
10297
// 获取证书管理器实例
10398
certificatesManager = CertificatesManager.getInstance();
10499
// 向证书管理器增加需要自动更新平台证书的商户信息
105-
certificatesManager.putMerchant(mchId, new WechatPay2Credentials(mchId,
106-
new PrivateKeySigner(mchSerialNo, merchantPrivateKey)), apiV3Key.getBytes(StandardCharsets.UTF_8));
100+
certificatesManager.putMerchant(merchantId, new WechatPay2Credentials(merchantId,
101+
new PrivateKeySigner(merchantSerialNumber, merchantPrivateKey)),
102+
apiV3Key.getBytes(StandardCharsets.UTF_8));
107103
// 从证书管理器中获取verifier
108-
verifier = certificatesManager.getVerifier(mchId);
104+
verifier = certificatesManager.getVerifier(merchantId);
109105
httpClient = WechatPayHttpClientBuilder.create()
110-
.withMerchant(mchId, mchSerialNo, merchantPrivateKey)
111-
.withValidator(new WechatPay2Validator(certificatesManager.getVerifier(mchId)))
106+
.withMerchant(merchantId, merchantSerialNumber, merchantPrivateKey)
107+
.withValidator(new WechatPay2Validator(certificatesManager.getVerifier(merchantId)))
112108
.build();
113109
}
114110

0 commit comments

Comments
 (0)