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