diff --git a/pay-java-common/pom.xml b/pay-java-common/pom.xml
index d466bd2..95d590a 100644
--- a/pay-java-common/pom.xml
+++ b/pay-java-common/pom.xml
@@ -5,7 +5,7 @@
pay-java-parent
com.egzosn
- ${revision}
+ ${revision}
4.0.0
jar
@@ -41,6 +41,7 @@
org.bouncycastle
bcprov-jdk15on
+ true
diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/CertStoreType.java b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/CertStoreType.java
index 4517b83..6c3dbc4 100644
--- a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/CertStoreType.java
+++ b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/CertStoreType.java
@@ -65,7 +65,7 @@ public enum CertStoreType implements CertStore {
*/
@Override
public InputStream getInputStream(Object cert) throws IOException {
- return Thread.currentThread().getContextClassLoader().getResourceAsStream((String) cert);
+ return this.getClass().getResourceAsStream((String) cert);
}
},
/**
diff --git a/pay-java-wx/src/main/java/com/egzosn/pay/wx/v3/api/WxPayService.java b/pay-java-wx/src/main/java/com/egzosn/pay/wx/v3/api/WxPayService.java
index 5517c19..4204ac0 100644
--- a/pay-java-wx/src/main/java/com/egzosn/pay/wx/v3/api/WxPayService.java
+++ b/pay-java-wx/src/main/java/com/egzosn/pay/wx/v3/api/WxPayService.java
@@ -212,11 +212,15 @@ public class WxPayService extends BasePayService implements
String body = noticeParams.getBodyStr();
//签名信息
String signText = StringUtils.joining("\n", timestamp, nonce, body);
+ LOG.debug("微信验签:{}", signText);
+
if (StringUtils.isNotEmpty(payConfigStorage.getKeyPublic())) {
return RSA2.verify(signText, signature, payConfigStorage.getKeyPublic(), payConfigStorage.getInputCharset());
}
Certificate certificate = getAssistService().getCertificate(serial);
- return RSA2.verify(signText, signature, certificate, payConfigStorage.getInputCharset());
+ boolean verify = RSA2.verify(signText, signature, certificate, payConfigStorage.getInputCharset());
+ LOG.debug("微信验签:{}, verify:{}", signText, verify);
+ return verify;
}
@@ -364,7 +368,8 @@ public class WxPayService extends BasePayService implements
public NoticeParams getNoticeParams(NoticeRequest request) {
WxNoticeParams noticeParams = null;
try (InputStream is = request.getInputStream()) {
- String body = IOUtils.toString(is);
+ String body = IOUtils.toString(is, payConfigStorage.getInputCharset());
+ LOG.debug("微信回调解析:{}", body);
noticeParams = JSON.parseObject(body, WxNoticeParams.class);
noticeParams.setAttr(new MapGen(WxConst.RESP_BODY, body).getAttr());
noticeParams.setBodyStr(body);
@@ -374,8 +379,9 @@ public class WxPayService extends BasePayService implements
String ciphertext = resource.getCiphertext();
String data = AntCertificationUtil.decryptToString(associatedData, nonce, ciphertext, payConfigStorage.getV3ApiKey(), payConfigStorage.getInputCharset());
noticeParams.setBody(JSON.parseObject(data));
- }
- catch (IOException e) {
+ LOG.debug("微信回调解析noticeParams:{}", JSON.toJSONString(noticeParams));
+ } catch (IOException | RuntimeException e) {
+ LOG.error("获取回调参数异常:{}", e.getMessage(), e);
throw new PayErrorException(new WxPayError(FAILURE, "获取回调参数异常"), e);
}
Map> headers = new HashMap<>();
@@ -659,7 +665,8 @@ public class WxPayService extends BasePayService implements
}
parameters.put(WxConst.TRANSFER_AMOUNT, Util.conversionCentAmount(transferOrder.getAmount()));
parameters.put(WxConst.TRANSFER_REMARK, transferOrder.getRemark());
- parameters.put(WxConst.TOTAL_NUM, transferOrder.getAttr(WxConst.TOTAL_NUM));
+ parameters.put(WxConst.NOTIFY_URL, payConfigStorage.getNotifyUrl());
+ OrderParaStructure.loadParameters(parameters, WxConst.TOTAL_NUM, transferOrder);
OrderParaStructure.loadParameters(parameters, WxConst.TRANSFER_SCENE_ID, transferOrder);
OrderParaStructure.loadParameters(parameters, WxConst.NOTIFY_URL, transferOrder);
OrderParaStructure.loadParameters(parameters, WxConst.USER_RECV_PERCEPTION, transferOrder);
diff --git a/pay-java-wx/src/main/java/com/egzosn/pay/wx/v3/bean/WxTransferType.java b/pay-java-wx/src/main/java/com/egzosn/pay/wx/v3/bean/WxTransferType.java
index 1e6c55a..d842e46 100644
--- a/pay-java-wx/src/main/java/com/egzosn/pay/wx/v3/bean/WxTransferType.java
+++ b/pay-java-wx/src/main/java/com/egzosn/pay/wx/v3/bean/WxTransferType.java
@@ -18,6 +18,8 @@ public enum WxTransferType implements TransferType {
* 转账到零钱
*/
TRANSFER_BATCHES("/v3/transfer/batches", MethodType.POST),
+
+ TRANSFER_BILLS("/v3/fund-app/mch-transfer/transfer-bills", MethodType.POST),
/**
* 查询转账到零钱的记录,通过微信批次单号查询批次单
*/
@@ -51,6 +53,8 @@ public enum WxTransferType implements TransferType {
*/
QUERY_TRANSFER_DETAIL_ELECTRONIC_RECEIPTS("/v3/transfer-detail/electronic-receipts"),
;
+ private String type;
+ private MethodType method;
WxTransferType(String type, MethodType method) {
this.type = type;
@@ -61,8 +65,6 @@ public enum WxTransferType implements TransferType {
this(type, MethodType.GET);
}
- private String type;
- private MethodType method;
@Override
diff --git a/pom.xml b/pom.xml
index 7675ac4..59e0ce9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,12 +59,12 @@
pay-java-paypal
pay-java-yiji
pay-java-baidu
- pay-java-demo
+
- 2.14.10
+ 2.14.12
4.5.4
1.2.17
1.2.83