mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-06-28 13:16:19 +08:00
🎨 #3553【微信支付】v3请求统一加上Wechatpay-Serial请求头
This commit is contained in:
parent
ddfbee25e1
commit
cbb3b24577
@ -300,13 +300,13 @@ public class WxPayConfig {
|
||||
this.certSerialNo = certificate.getSerialNumber().toString(16).toUpperCase();
|
||||
}
|
||||
try {
|
||||
if (merchantPrivateKey == null) {
|
||||
if (merchantPrivateKey == null && StringUtils.isNotBlank(this.getPrivateKeyPath())) {
|
||||
try (InputStream keyInputStream = this.loadConfigInputStream(this.getPrivateKeyString(), this.getPrivateKeyPath(),
|
||||
this.privateKeyContent, "privateKeyPath")) {
|
||||
merchantPrivateKey = PemUtils.loadPrivateKey(keyInputStream);
|
||||
}
|
||||
}
|
||||
if (certificate == null && StringUtils.isBlank(this.getCertSerialNo())) {
|
||||
if (certificate == null && StringUtils.isBlank(this.getCertSerialNo()) && StringUtils.isNotBlank(this.getPrivateCertPath())) {
|
||||
try (InputStream certInputStream = this.loadConfigInputStream(this.getPrivateCertString(), this.getPrivateCertPath(),
|
||||
this.privateCertContent, "privateCertPath")) {
|
||||
certificate = PemUtils.loadCertificate(certInputStream);
|
||||
|
@ -44,6 +44,7 @@ public class WxPayServiceApacheHttpImpl extends BaseWxPayServiceImpl {
|
||||
private static final String ACCEPT = "Accept";
|
||||
private static final String CONTENT_TYPE = "Content-Type";
|
||||
private static final String APPLICATION_JSON = "application/json";
|
||||
private static final String WECHATPAY_SERIAL = "Wechatpay-Serial";
|
||||
|
||||
@Override
|
||||
public byte[] postForBytes(String url, String requestStr, boolean useKey) throws WxPayException {
|
||||
@ -101,7 +102,7 @@ public class WxPayServiceApacheHttpImpl extends BaseWxPayServiceImpl {
|
||||
httpPost.addHeader(ACCEPT, APPLICATION_JSON);
|
||||
httpPost.addHeader(CONTENT_TYPE, APPLICATION_JSON);
|
||||
String serialNumber = getWechatpaySerial(getConfig());
|
||||
httpPost.addHeader("Wechatpay-Serial", serialNumber);
|
||||
httpPost.addHeader(WECHATPAY_SERIAL, serialNumber);
|
||||
try (CloseableHttpResponse response = httpClient.execute(httpPost)) {
|
||||
//v3已经改为通过状态码判断200 204 成功
|
||||
int statusCode = response.getStatusLine().getStatusCode();
|
||||
@ -133,6 +134,8 @@ public class WxPayServiceApacheHttpImpl extends BaseWxPayServiceImpl {
|
||||
public String patchV3(String url, String requestStr) throws WxPayException {
|
||||
CloseableHttpClient httpClient = this.createApiV3HttpClient();
|
||||
HttpPatch httpPatch = new HttpPatch(url);
|
||||
String serialNumber = getWechatpaySerial(getConfig());
|
||||
httpPatch.addHeader(WECHATPAY_SERIAL, serialNumber);
|
||||
httpPatch.setEntity(this.createEntry(requestStr));
|
||||
|
||||
httpPatch.setConfig(RequestConfig.custom()
|
||||
@ -204,6 +207,8 @@ public class WxPayServiceApacheHttpImpl extends BaseWxPayServiceImpl {
|
||||
|
||||
@Override
|
||||
public String postV3(String url, HttpPost httpPost) throws WxPayException {
|
||||
String serialNumber = getWechatpaySerial(getConfig());
|
||||
httpPost.addHeader(WECHATPAY_SERIAL, serialNumber);
|
||||
return this.requestV3(url, httpPost);
|
||||
}
|
||||
|
||||
@ -249,6 +254,8 @@ public class WxPayServiceApacheHttpImpl extends BaseWxPayServiceImpl {
|
||||
HttpGet httpGet = new HttpGet(url);
|
||||
httpGet.addHeader(ACCEPT, APPLICATION_JSON);
|
||||
httpGet.addHeader(CONTENT_TYPE, APPLICATION_JSON);
|
||||
String serialNumber = getWechatpaySerial(getConfig());
|
||||
httpGet.addHeader(WECHATPAY_SERIAL, serialNumber);
|
||||
return this.requestV3(url, httpGet);
|
||||
}
|
||||
|
||||
@ -258,7 +265,7 @@ public class WxPayServiceApacheHttpImpl extends BaseWxPayServiceImpl {
|
||||
httpGet.addHeader(ACCEPT, APPLICATION_JSON);
|
||||
httpGet.addHeader(CONTENT_TYPE, APPLICATION_JSON);
|
||||
String serialNumber = getWechatpaySerial(getConfig());
|
||||
httpGet.addHeader("Wechatpay-Serial", serialNumber);
|
||||
httpGet.addHeader(WECHATPAY_SERIAL, serialNumber);
|
||||
return this.requestV3(url, httpGet);
|
||||
}
|
||||
|
||||
@ -267,6 +274,8 @@ public class WxPayServiceApacheHttpImpl extends BaseWxPayServiceImpl {
|
||||
CloseableHttpClient httpClient = this.createApiV3HttpClient();
|
||||
HttpGet httpGet = new WxPayV3DownloadHttpGet(url);
|
||||
httpGet.addHeader(ACCEPT, ContentType.WILDCARD.getMimeType());
|
||||
String serialNumber = getWechatpaySerial(getConfig());
|
||||
httpGet.addHeader(WECHATPAY_SERIAL, serialNumber);
|
||||
try (CloseableHttpResponse response = httpClient.execute(httpGet)) {
|
||||
//v3已经改为通过状态码判断200 204 成功
|
||||
int statusCode = response.getStatusLine().getStatusCode();
|
||||
@ -298,6 +307,8 @@ public class WxPayServiceApacheHttpImpl extends BaseWxPayServiceImpl {
|
||||
httpPut.setEntity(entity);
|
||||
httpPut.addHeader(ACCEPT, APPLICATION_JSON);
|
||||
httpPut.addHeader(CONTENT_TYPE, APPLICATION_JSON);
|
||||
String serialNumber = getWechatpaySerial(getConfig());
|
||||
httpPut.addHeader(WECHATPAY_SERIAL, serialNumber);
|
||||
return requestV3(url, httpPut);
|
||||
}
|
||||
|
||||
@ -306,6 +317,8 @@ public class WxPayServiceApacheHttpImpl extends BaseWxPayServiceImpl {
|
||||
HttpDelete httpDelete = new HttpDelete(url);
|
||||
httpDelete.addHeader(ACCEPT, APPLICATION_JSON);
|
||||
httpDelete.addHeader(CONTENT_TYPE, APPLICATION_JSON);
|
||||
String serialNumber = getWechatpaySerial(getConfig());
|
||||
httpDelete.addHeader(WECHATPAY_SERIAL, serialNumber);
|
||||
return requestV3(url, httpDelete);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user