From 29db0f99e2e7f11f969f2e8cb4cec7b1421dfb64 Mon Sep 17 00:00:00 2001 From: egan Date: Sat, 2 Jul 2022 21:29:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pay-java-ali/pom.xml | 2 +- .../com/egzosn/pay/ali/api/AliPayService.java | 2 + pay-java-baidu/pom.xml | 2 +- .../egzosn/pay/baidu/api/BaiduPayService.java | 2 + pay-java-common/pom.xml | 2 +- .../egzosn/pay/common/api/BasePayService.java | 54 ++++---- .../egzosn/pay/common/http/UriVariables.java | 5 +- pay-java-demo/pom.xml | 8 +- .../demo/controller/WxV3PayController.java | 2 +- pay-java-fuiou/pom.xml | 2 +- pay-java-payoneer/pom.xml | 2 +- pay-java-paypal/pom.xml | 2 +- .../pay/paypal/v2/api/PayPalPayService.java | 2 +- pay-java-union/pom.xml | 2 +- .../egzosn/pay/union/api/UnionPayService.java | 2 + pay-java-web-support/pom.xml | 2 +- pay-java-wx-youdian/pom.xml | 2 +- .../wx/youdian/api/WxYouDianPayService.java | 126 ++++++------------ pay-java-wx/pom.xml | 2 +- .../pay/wx/v3/api/WxCombinePayService.java | 1 + .../egzosn/pay/wx/v3/api/WxPayService.java | 3 +- .../pay/wx/v3/api/WxProfitSharingService.java | 3 + pay-java-yiji/pom.xml | 2 +- .../egzosn/pay/yiji/api/YiJiPayService.java | 14 +- pom.xml | 4 +- 25 files changed, 115 insertions(+), 135 deletions(-) diff --git a/pay-java-ali/pom.xml b/pay-java-ali/pom.xml index 53896ee..feabf14 100644 --- a/pay-java-ali/pom.xml +++ b/pay-java-ali/pom.xml @@ -5,7 +5,7 @@ pay-java-parent com.egzosn - 2.14.4-fix + 2.14.5 4.0.0 pay-java-ali diff --git a/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java b/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java index 4d4ecfd..f43b76f 100644 --- a/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java +++ b/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java @@ -628,6 +628,7 @@ public class AliPayService extends BasePayService implement * @param billType 账单类型,商户通过接口或商户经开放平台授权后其所属服务商通过接口可以获取以下账单类型:trade、signcustomer;trade指商户基于支付宝交易收单的业务账单;signcustomer是指基于商户支付宝余额收入及支出等资金变动的帐务账单; * @return 返回支付方下载对账单的结果 */ + @Override public Map downloadBill(Date billDate, String billType) { return this.downloadBill(billDate, "trade".equals(billType) ? AliPayBillType.TRADE_DAY : AliPayBillType.SIGNCUSTOMER_DAY); @@ -640,6 +641,7 @@ public class AliPayService extends BasePayService implement * @param billType 账单类型,商户通过接口或商户经开放平台授权后其所属服务商通过接口可以获取以下账单类型:trade、signcustomer;trade指商户基于支付宝交易收单的业务账单;signcustomer是指基于商户支付宝余额收入及支出等资金变动的帐务账单; * @return 返回支付方下载对账单的结果 */ + @Override public Map downloadBill(Date billDate, BillType billType) { //获取公共参数 Map parameters = getPublicParameters(AliTransactionType.DOWNLOADBILL); diff --git a/pay-java-baidu/pom.xml b/pay-java-baidu/pom.xml index 576a6f5..e2723cd 100644 --- a/pay-java-baidu/pom.xml +++ b/pay-java-baidu/pom.xml @@ -5,7 +5,7 @@ pay-java-parent com.egzosn - 2.14.4-fix + 2.14.5 4.0.0 pay-java-baidu diff --git a/pay-java-baidu/src/main/java/com/egzosn/pay/baidu/api/BaiduPayService.java b/pay-java-baidu/src/main/java/com/egzosn/pay/baidu/api/BaiduPayService.java index 468a46e..42c064c 100644 --- a/pay-java-baidu/src/main/java/com/egzosn/pay/baidu/api/BaiduPayService.java +++ b/pay-java-baidu/src/main/java/com/egzosn/pay/baidu/api/BaiduPayService.java @@ -542,6 +542,7 @@ public class BaiduPayService extends BasePayService { * @param accessToken 用户token * @return 对账单 */ + @Override public Map downloadBill(Date billDate, String accessToken) { return downloadBill(billDate, new BaiduBillType(accessToken, BaiduTransactionType.DOWNLOAD_ORDER_BILL.name())); } @@ -553,6 +554,7 @@ public class BaiduPayService extends BasePayService { * @param billType 账单类型 {@link BaiduBillType} * @return 返回支付方下载对账单的结果 */ + @Override public Map downloadBill(Date billDate, BillType billType) { Map parameters = new HashMap<>(); parameters.put("access_token", billType.getCustom()); diff --git a/pay-java-common/pom.xml b/pay-java-common/pom.xml index 37a7b9d..c7d3e72 100644 --- a/pay-java-common/pom.xml +++ b/pay-java-common/pom.xml @@ -5,7 +5,7 @@ pay-java-parent com.egzosn - 2.14.4-fix + 2.14.5 4.0.0 jar diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/api/BasePayService.java b/pay-java-common/src/main/java/com/egzosn/pay/common/api/BasePayService.java index 50bade5..1b54d95 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/api/BasePayService.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/api/BasePayService.java @@ -3,6 +3,7 @@ package com.egzosn.pay.common.api; import java.awt.image.BufferedImage; import java.io.InputStream; import java.io.UnsupportedEncodingException; +import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Collections; import java.util.Date; @@ -11,6 +12,7 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; +import org.apache.http.Consts; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -59,6 +61,7 @@ public abstract class BasePayService implements Pay */ protected List> interceptors = new ArrayList>(); + private Charset inputCharset = Consts.UTF_8; /** * 设置支付配置 @@ -68,6 +71,10 @@ public abstract class BasePayService implements Pay @Override public BasePayService setPayConfigStorage(PC payConfigStorage) { this.payConfigStorage = payConfigStorage; + + if (StringUtils.isNotEmpty(payConfigStorage.getInputCharset())) { + this.inputCharset = Charset.forName(payConfigStorage.getInputCharset()); + } return this; } @@ -94,7 +101,6 @@ public abstract class BasePayService implements Pay } - public BasePayService(PC payConfigStorage) { this(payConfigStorage, null); } @@ -106,7 +112,6 @@ public abstract class BasePayService implements Pay } - /** * Generate a Base64 encoded String from user , password * @@ -159,11 +164,11 @@ public abstract class BasePayService implements Pay */ @Override public String toPay(O order) { - if (StringUtils.isNotEmpty(order.getSubject()) && order.getSubject().contains("'")){ - order.setSubject(order.getSubject().replace("'","")); + if (StringUtils.isNotEmpty(order.getSubject()) && order.getSubject().contains("'")) { + order.setSubject(order.getSubject().replace("'", "")); } - if (StringUtils.isNotEmpty(order.getBody()) && order.getBody().contains("'")){ - order.setBody(order.getBody().replace("'","")); + if (StringUtils.isNotEmpty(order.getBody()) && order.getBody().contains("'")) { + order.setBody(order.getBody().replace("'", "")); } Map orderInfo = orderInfo(order); return buildRequest(orderInfo, MethodType.POST); @@ -203,6 +208,7 @@ public abstract class BasePayService implements Pay public Map getParameter2Map(Map parameterMap, InputStream is) { return getNoticeParams(new DefaultNoticeRequest(parameterMap, is)).getBody(); } + /** * 将请求参数或者请求流转化为 Map * @@ -213,22 +219,18 @@ public abstract class BasePayService implements Pay public NoticeParams getNoticeParams(NoticeRequest request) { final Map parameterMap = request.getParameterMap(); - Map params = new TreeMap(); + Map params = new TreeMap<>(); for (Map.Entry entry : parameterMap.entrySet()) { String name = entry.getKey(); String[] values = entry.getValue(); - String valueStr = ""; + StringBuilder sb = new StringBuilder(); for (int i = 0, len = values.length; i < len; i++) { - valueStr += (i == len - 1) ? values[i] : values[i] + ","; + sb.append(values[i]).append((i == len - 1) ? "" : ','); } + String valueStr = sb.toString(); if (StringUtils.isNotEmpty(payConfigStorage.getInputCharset()) && !valueStr.matches("\\w+")) { - try { - if (valueStr.equals(new String(valueStr.getBytes("iso8859-1"), "iso8859-1"))) { - valueStr = new String(valueStr.getBytes("iso8859-1"), payConfigStorage.getInputCharset()); - } - } - catch (UnsupportedEncodingException e) { - LOG.error("", e); + if (valueStr.equals(new String(valueStr.getBytes(Consts.ISO_8859_1), Consts.ISO_8859_1))) { + valueStr = new String(valueStr.getBytes(Consts.ISO_8859_1), inputCharset); } } params.put(name, valueStr); @@ -329,9 +331,10 @@ public abstract class BasePayService implements Pay * @return 返回支付方下载对账单的结果 */ @Override - public Map downloadBill(Date billDate, String billType){ + public Map downloadBill(Date billDate, String billType) { return Collections.emptyMap(); } + /** * 转账 * @@ -421,7 +424,6 @@ public abstract class BasePayService implements Pay } - /** * 将请求参数或者请求流转化为 Map * @@ -432,7 +434,7 @@ public abstract class BasePayService implements Pay @Deprecated @Override public PayOutMessage payBack(Map parameterMap, InputStream is) { - return payBack(new DefaultNoticeRequest(parameterMap, is)); + return payBack(new DefaultNoticeRequest(parameterMap, is)); } /** @@ -445,7 +447,7 @@ public abstract class BasePayService implements Pay public PayOutMessage payBack(NoticeRequest request) { final NoticeParams noticeParams = getNoticeParams(request); if (LOG.isDebugEnabled()) { - LOG.debug("回调响应:{}" , JSON.toJSONString(noticeParams)); + LOG.debug("回调响应:{}", JSON.toJSONString(noticeParams)); } if (!verify(noticeParams)) { return getPayOutMessage("fail", "失败"); @@ -480,26 +482,30 @@ public abstract class BasePayService implements Pay * @param orderInfo 订单信息 * @return 处理后订单信息 */ + @Override public Map preOrderHandler(Map orderInfo, O payOrder) { return orderInfo; } /** * 过时 + * * @param parameters 参数map - * @param key key - * @param value 值 + * @param key key + * @param value 值 * @return 返回订单参数 */ @Deprecated protected Map setParameters(Map parameters, String key, String value) { return OrderParaStructure.loadParameters(parameters, key, value); } + /** * 过时 + * * @param parameters 参数map - * @param key key - * @param order 订单对象 + * @param key key + * @param order 订单对象 * @return 返回订单参数 */ @Deprecated diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/http/UriVariables.java b/pay-java-common/src/main/java/com/egzosn/pay/common/http/UriVariables.java index cff3608..5da5719 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/http/UriVariables.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/http/UriVariables.java @@ -146,7 +146,8 @@ public final class UriVariables { boolean isOpen = false;//值里有嵌套 char openName = 0; if (len > 0) { - for (int i = 0; i < len; i++) {// 遍历整个带解析的字符串 + // 遍历整个带解析的字符串 + for (int i = 0; i < len; i++) { curChar = str.charAt(i);// 取当前字符 if (isKey) {// 如果当前生成的是key @@ -177,7 +178,7 @@ public final class UriVariables { } } if (curChar == '&' && !isOpen) {// 如果读取到&分割符,同时这个分割符不是值域,这时将map里添加 - putKeyValueToMap(temp, isKey, key, map); + putKeyValueToMap(temp, false, key, map); temp.setLength(0); isKey = true; } diff --git a/pay-java-demo/pom.xml b/pay-java-demo/pom.xml index 8e14d35..ddc9ab0 100644 --- a/pay-java-demo/pom.xml +++ b/pay-java-demo/pom.xml @@ -5,7 +5,7 @@ pay-java-parent com.egzosn - 2.14.4-fix + 2.14.5 4.0.0 war @@ -84,7 +84,11 @@ jackson-databind 2.9.10.6 - + + org.slf4j + slf4j-log4j12 + 1.7.30 + diff --git a/pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/WxV3PayController.java b/pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/WxV3PayController.java index 7511364..a3bc5da 100644 --- a/pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/WxV3PayController.java +++ b/pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/WxV3PayController.java @@ -45,7 +45,7 @@ public class WxV3PayController { private WxPayService service = null; - @PostConstruct //没有证书的情况下注释掉,避免启动报错 +// @PostConstruct //没有证书的情况下注释掉,避免启动报错 public void init() { WxPayConfigStorage wxPayConfigStorage = new WxPayConfigStorage(); wxPayConfigStorage.setAppId("wxc7b993ff15a9f26c"); diff --git a/pay-java-fuiou/pom.xml b/pay-java-fuiou/pom.xml index c5e6c90..514bcb9 100644 --- a/pay-java-fuiou/pom.xml +++ b/pay-java-fuiou/pom.xml @@ -5,7 +5,7 @@ pay-java-parent com.egzosn - 2.14.4-fix + 2.14.5 4.0.0 pay-java-fuiou diff --git a/pay-java-payoneer/pom.xml b/pay-java-payoneer/pom.xml index e935206..415950d 100644 --- a/pay-java-payoneer/pom.xml +++ b/pay-java-payoneer/pom.xml @@ -5,7 +5,7 @@ pay-java-parent com.egzosn - 2.14.4-fix + 2.14.5 4.0.0 pay-java-payoneer diff --git a/pay-java-paypal/pom.xml b/pay-java-paypal/pom.xml index 6f7ba60..efcb5e2 100644 --- a/pay-java-paypal/pom.xml +++ b/pay-java-paypal/pom.xml @@ -5,7 +5,7 @@ pay-java-parent com.egzosn - 2.14.4-fix + 2.14.5 4.0.0 diff --git a/pay-java-paypal/src/main/java/com/egzosn/pay/paypal/v2/api/PayPalPayService.java b/pay-java-paypal/src/main/java/com/egzosn/pay/paypal/v2/api/PayPalPayService.java index 7219f41..5eb631d 100644 --- a/pay-java-paypal/src/main/java/com/egzosn/pay/paypal/v2/api/PayPalPayService.java +++ b/pay-java-paypal/src/main/java/com/egzosn/pay/paypal/v2/api/PayPalPayService.java @@ -518,7 +518,7 @@ public class PayPalPayService extends BasePayService implem JSONObject resp = getHttpRequestTemplate().getForObject(getReqUrl(PayPalTransactionType.REFUND_GET), authHeader(), JSONObject.class, refundOrder.getRefundNo()); return resp; } - + @Override public Map downloadBill(Date billDate, BillType billType) { return Collections.emptyMap(); } diff --git a/pay-java-union/pom.xml b/pay-java-union/pom.xml index 28795c7..7058352 100644 --- a/pay-java-union/pom.xml +++ b/pay-java-union/pom.xml @@ -5,7 +5,7 @@ pay-java-parent com.egzosn - 2.14.4-fix + 2.14.5 4.0.0 diff --git a/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java b/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java index 42f82f3..97c913d 100644 --- a/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java +++ b/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java @@ -231,6 +231,7 @@ public class UnionPayService extends BasePayService { * @param noticeParams 回调回来的参数集 * @return 签名校验 true通过 */ + @Override public boolean verify(NoticeParams noticeParams) { final Map result = noticeParams.getBody(); if (null == result || result.get(SDKConstants.param_signature) == null) { @@ -719,6 +720,7 @@ public class UnionPayService extends BasePayService { * @param fileType 文件类型 文件类型,一般商户填写00即可 * @return 返回fileContent 请自行将数据落地 */ + @Override public Map downloadBill(Date billDate, String fileType) { return downloadBill(billDate, new UnionPayBillType(fileType)); } diff --git a/pay-java-web-support/pom.xml b/pay-java-web-support/pom.xml index 9995c94..8ddb16d 100644 --- a/pay-java-web-support/pom.xml +++ b/pay-java-web-support/pom.xml @@ -5,7 +5,7 @@ pay-java-parent com.egzosn - 2.14.4-fix + 2.14.5 4.0.0 jar diff --git a/pay-java-wx-youdian/pom.xml b/pay-java-wx-youdian/pom.xml index 11bd564..6d1afc9 100644 --- a/pay-java-wx-youdian/pom.xml +++ b/pay-java-wx-youdian/pom.xml @@ -5,7 +5,7 @@ pay-java-parent com.egzosn - 2.14.4-fix + 2.14.5 4.0.0 pay-java-wx-youdian diff --git a/pay-java-wx-youdian/src/main/java/com/egzosn/pay/wx/youdian/api/WxYouDianPayService.java b/pay-java-wx-youdian/src/main/java/com/egzosn/pay/wx/youdian/api/WxYouDianPayService.java index 516696c..d16cdd8 100644 --- a/pay-java-wx-youdian/src/main/java/com/egzosn/pay/wx/youdian/api/WxYouDianPayService.java +++ b/pay-java-wx-youdian/src/main/java/com/egzosn/pay/wx/youdian/api/WxYouDianPayService.java @@ -1,10 +1,8 @@ package com.egzosn.pay.wx.youdian.api; -import java.io.InputStream; import java.math.BigDecimal; import java.util.Collections; import java.util.Date; -import java.util.Iterator; import java.util.Map; import java.util.TreeMap; import java.util.concurrent.locks.Lock; @@ -15,11 +13,9 @@ import com.egzosn.pay.common.api.BasePayService; import com.egzosn.pay.common.bean.AssistOrder; import com.egzosn.pay.common.bean.BaseRefundResult; import com.egzosn.pay.common.bean.BillType; - import com.egzosn.pay.common.bean.CurType; import com.egzosn.pay.common.bean.MethodType; import com.egzosn.pay.common.bean.NoticeParams; -import com.egzosn.pay.common.bean.NoticeRequest; import com.egzosn.pay.common.bean.PayMessage; import com.egzosn.pay.common.bean.PayOrder; import com.egzosn.pay.common.bean.PayOutMessage; @@ -47,21 +43,19 @@ import com.egzosn.pay.wx.youdian.bean.YoudianTransactionType; */ public class WxYouDianPayService extends BasePayService { - private final static String URL = "http://life.51youdian.com/Api/CheckoutCounter/"; - + private static final String URL = "http://life.51youdian.com/Api/CheckoutCounter/"; + private static final String ACCESS_TOKEN = "access_token"; + private static final String RETURN_CODE = "return_code"; + private static final String ERROR_CODE = "errorcode"; + private static final String ORDER_SN = "order_sn"; /** * 获取请求token * * @return 授权令牌 */ - public String getAccessToken() { - try { - return getAccessToken(false); - } - catch (PayErrorException e) { - throw e; - } + private String getAccessToken() { + return getAccessToken(false); } /** @@ -71,7 +65,7 @@ public class WxYouDianPayService extends BasePayService data = new TreeMap<>(); data.put("username", payConfigStorage.getSeller()); data.put("password", payConfigStorage.getKeyPrivate()); @@ -125,7 +119,7 @@ public class WxYouDianPayService extends BasePayService params = noticeParams.getBody(); - if (!"SUCCESS".equals(params.get("return_code"))) { - LOG.debug(String.format("友店微信支付异常:return_code=%s,参数集=%s", params.get("return_code"), params)); + if (!"SUCCESS".equals(params.get(RETURN_CODE))) { + LOG.debug("友店微信支付异常:return_code={},参数集={}", params.get(RETURN_CODE), params); return false; } if (params.get("sign") == null) { - LOG.debug("友店微信支付异常:签名为空!out_trade_no=" + params.get("out_trade_no")); + LOG.debug("友店微信支付异常:签名为空!out_trade_no={}", params.get("out_trade_no")); } - try { - return signVerify(params, (String) params.get("sign")) && verifySource((String) params.get("out_trade_no")); - } - catch (PayErrorException e) { - LOG.error(e.getMessage()); - } - return false; + return signVerify(params, (String) params.get("sign")) && verifySource((String) params.get("out_trade_no")); } /** @@ -176,7 +165,7 @@ public class WxYouDianPayService extends BasePayService params, String sign) { + private boolean signVerify(Map params, String sign) { return SignUtils.valueOf(payConfigStorage.getSignType()).verify(params, sign, "&key=" + payConfigStorage.getKeyPublic(), payConfigStorage.getInputCharset()); } @@ -188,12 +177,12 @@ public class WxYouDianPayService extends BasePayService= 400) { @@ -216,13 +205,13 @@ public class WxYouDianPayService extends BasePayService data = new TreeMap<>(); - data.put("access_token", getAccessToken()); + data.put(ACCESS_TOKEN, getAccessToken()); data.put("paymoney", Util.conversionAmount(order.getPrice()).toString()); data.putAll(order.getAttrs()); data = preOrderHandler(data, order); @@ -271,15 +260,10 @@ public class WxYouDianPayService extends BasePayService parameterMap = request.getParameterMap(); - Map params = new TreeMap(); - for (Iterator iter = parameterMap.keySet().iterator(); iter.hasNext(); ) { - String name = (String) iter.next(); - String[] values = parameterMap.get(name); - String valueStr = ""; - for (int i = 0; i < values.length; i++) { - valueStr = (i == values.length - 1) ? valueStr + values[i] : valueStr + values[i] + ","; - } - params.put(name, valueStr.trim()); - } - - return new NoticeParams(params); - - } - /** * 具体需要返回的数据为 * return_code 返回码只有SUCCESS和FAIL @@ -342,11 +301,11 @@ public class WxYouDianPayService extends BasePayService builder = new TreeMap<>(); - builder.put("return_code", code.toUpperCase()); + builder.put(RETURN_CODE, code.toUpperCase()); builder.put("return_msg", message); builder.put("nonce_str", SignTextUtils.randomStr()); String sgin = SignUtils.valueOf(payConfigStorage.getSignType()).sign(builder, "&key=" + payConfigStorage.getKeyPrivate(), payConfigStorage.getInputCharset()); - return PayOutMessage.TEXT().content("{\"return_code\":\"" + builder.get("return_code") + "\",\"return_msg\":\"" + builder.get("return_msg") + "\",\"nonce_str\":\"" + builder.get("nonce_str") + "\",\"sign\":\"" + sgin + "\"}").build(); + return PayOutMessage.TEXT().content("{\"return_code\":\"" + builder.get(RETURN_CODE) + "\",\"return_msg\":\"" + builder.get("return_msg") + "\",\"nonce_str\":\"" + builder.get("nonce_str") + "\",\"sign\":\"" + sgin + "\"}").build(); } @@ -393,8 +352,7 @@ public class WxYouDianPayService extends BasePayService microPay(PayOrder order) { order.setTransactionType(YoudianTransactionType.MICROPAY); - JSONObject orderInfo = orderInfo(order); - return orderInfo; + return orderInfo(order); } /** @@ -406,7 +364,7 @@ public class WxYouDianPayService extends BasePayService query(String tradeNo, String outTradeNo) { - return query(new AssistOrder(tradeNo, outTradeNo)); + return query(new AssistOrder(tradeNo, outTradeNo)); } /** @@ -419,18 +377,17 @@ public class WxYouDianPayService extends BasePayService query(AssistOrder assistOrder) { String apbNonce = SignTextUtils.randomStr(); TreeMap data = new TreeMap<>(); - data.put("access_token", payConfigStorage.getAccessToken()); + data.put(ACCESS_TOKEN, payConfigStorage.getAccessToken()); if (StringUtils.isEmpty(assistOrder.getTradeNo())) { - data.put("order_sn", assistOrder.getOutTradeNo()); + data.put(ORDER_SN, assistOrder.getOutTradeNo()); } else { - data.put("order_sn", assistOrder.getTradeNo()); + data.put(ORDER_SN, assistOrder.getTradeNo()); } String sign = createSign(SignTextUtils.parameterText(data, "") + apbNonce, payConfigStorage.getInputCharset()); String queryParam = SignTextUtils.parameterText(data) + "&apb_nonce=" + apbNonce + "&sign=" + sign; - JSONObject jsonObject = execute(getReqUrl(YoudianTransactionType.NATIVE_STATUS) + "?" + queryParam, MethodType.GET, null); - return jsonObject; + return execute(getReqUrl(YoudianTransactionType.NATIVE_STATUS) + "?" + queryParam, MethodType.GET, null); } @@ -438,14 +395,15 @@ public class WxYouDianPayService extends BasePayService close(String tradeNo, String outTradeNo) { return Collections.emptyMap(); } + /** * 交易关闭接口 * - * @param assistOrder 关闭订单 + * @param assistOrder 关闭订单 * @return 返回支付方交易关闭后的结果 */ @Override - public Map close(AssistOrder assistOrder){ + public Map close(AssistOrder assistOrder) { return Collections.emptyMap(); } @@ -459,13 +417,13 @@ public class WxYouDianPayService extends BasePayService data = new TreeMap<>(); - data.put("access_token", payConfigStorage.getAccessToken()); + data.put(ACCESS_TOKEN, payConfigStorage.getAccessToken()); if (StringUtils.isEmpty(refundOrder.getOutTradeNo())) { - data.put("order_sn", refundOrder.getOutTradeNo()); + data.put(ORDER_SN, refundOrder.getOutTradeNo()); } else { - data.put("order_sn", refundOrder.getTradeNo()); + data.put(ORDER_SN, refundOrder.getTradeNo()); } //支付类型刷卡为3扫码为4 data.put("type", "4"); @@ -476,7 +434,7 @@ public class WxYouDianPayService extends BasePayService pay-java-parent com.egzosn - 2.14.4-fix + 2.14.5 4.0.0 pay-java-wx diff --git a/pay-java-wx/src/main/java/com/egzosn/pay/wx/v3/api/WxCombinePayService.java b/pay-java-wx/src/main/java/com/egzosn/pay/wx/v3/api/WxCombinePayService.java index a1dc98a..de4a6e8 100644 --- a/pay-java-wx/src/main/java/com/egzosn/pay/wx/v3/api/WxCombinePayService.java +++ b/pay-java-wx/src/main/java/com/egzosn/pay/wx/v3/api/WxCombinePayService.java @@ -81,6 +81,7 @@ public class WxCombinePayService extends WxPayService { * @param order 支付订单集 * @return 下单结果 */ + @Override public JSONObject unifiedOrder(PayOrder order) { //统一下单 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 0900af2..2d84635 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 @@ -200,6 +200,7 @@ public class WxPayService extends BasePayService { * @param noticeParams 通知参数 * @return the boolean */ + @Override public boolean verify(NoticeParams noticeParams) { //当前使用的微信平台证书序列号 @@ -238,7 +239,6 @@ public class WxPayService extends BasePayService { //统一下单 Map parameters = wxParameterStructure.initPartner(null); - ; // wxParameterStructure.getPublicParameters(parameters); // 商品描述 OrderParaStructure.loadParameters(parameters, WxConst.DESCRIPTION, order.getSubject()); @@ -573,6 +573,7 @@ public class WxPayService extends BasePayService { * @param billType 账单类型 {@link WxBillType} 与 {@link WxAccountType} * @return 返回支付方下载对账单的结果, 如果【账单类型】为gzip的话则返回值中key为data值为gzip的输入流 */ + @Override public Map downloadBill(Date billDate, BillType billType) { //获取公共参数 Map parameters = new HashMap<>(5); diff --git a/pay-java-wx/src/main/java/com/egzosn/pay/wx/v3/api/WxProfitSharingService.java b/pay-java-wx/src/main/java/com/egzosn/pay/wx/v3/api/WxProfitSharingService.java index cc9d1a9..d030742 100644 --- a/pay-java-wx/src/main/java/com/egzosn/pay/wx/v3/api/WxProfitSharingService.java +++ b/pay-java-wx/src/main/java/com/egzosn/pay/wx/v3/api/WxProfitSharingService.java @@ -94,6 +94,7 @@ public class WxProfitSharingService extends WxPayService implements ProfitSharin * @param noticeParams 通知参数 * @return the boolean */ + @Override public boolean verify(NoticeParams noticeParams) { throw new PayErrorException(new WxPayError("", "分账不支持方式")); } @@ -105,6 +106,7 @@ public class WxProfitSharingService extends WxPayService implements ProfitSharin * @param order 支付订单集 * @return 下单结果 */ + @Override public JSONObject unifiedOrder(PayOrder order) { Map parameters = new MapGen(WxConst.APPID, payConfigStorage.getAppId()) @@ -336,6 +338,7 @@ public class WxProfitSharingService extends WxPayService implements ProfitSharin * @param billType 账单类型 {@link ProfitSharingBillType} * @return 返回支付方下载对账单的结果, 如果【账单类型】为gzip的话则返回值中key为data值为gzip的输入流 */ + @Override public Map downloadBill(Date billDate, BillType billType) { Map parameters = new MapGen(WxConst.BILL_DATE, DateUtils.formatDate(billDate, DateUtils.YYYY_MM_DD)) diff --git a/pay-java-yiji/pom.xml b/pay-java-yiji/pom.xml index c49d41e..b3a7b48 100644 --- a/pay-java-yiji/pom.xml +++ b/pay-java-yiji/pom.xml @@ -5,7 +5,7 @@ pay-java-parent com.egzosn - 2.14.4-fix + 2.14.5 4.0.0 diff --git a/pay-java-yiji/src/main/java/com/egzosn/pay/yiji/api/YiJiPayService.java b/pay-java-yiji/src/main/java/com/egzosn/pay/yiji/api/YiJiPayService.java index 5f1f973..7a93c0d 100644 --- a/pay-java-yiji/src/main/java/com/egzosn/pay/yiji/api/YiJiPayService.java +++ b/pay-java-yiji/src/main/java/com/egzosn/pay/yiji/api/YiJiPayService.java @@ -11,7 +11,6 @@ import com.egzosn.pay.common.api.BasePayService; import com.egzosn.pay.common.bean.AssistOrder; import com.egzosn.pay.common.bean.BaseRefundResult; import com.egzosn.pay.common.bean.BillType; - import com.egzosn.pay.common.bean.CurType; import com.egzosn.pay.common.bean.DefaultCurType; import com.egzosn.pay.common.bean.MethodType; @@ -94,7 +93,7 @@ public class YiJiPayService extends BasePayService { @Override public boolean verify(Map params) { - return verify(new NoticeParams(params)); + return verify(new NoticeParams(params)); } @@ -104,10 +103,11 @@ public class YiJiPayService extends BasePayService { * @param noticeParams 回调回来的参数集 * @return 签名校验 true通过 */ - public boolean verify(NoticeParams noticeParams){ + @Override + public boolean verify(NoticeParams noticeParams) { final Map params = noticeParams.getBody(); if (params.get(SIGN) == null) { - LOG.debug("易极付支付异常:params:" + params); + LOG.debug("易极付支付异常:params:{}", params); return false; } @@ -311,14 +311,15 @@ public class YiJiPayService extends BasePayService { public Map close(String tradeNo, String outTradeNo) { return Collections.emptyMap(); } + /** * 交易关闭接口 * - * @param assistOrder 关闭订单 + * @param assistOrder 关闭订单 * @return 返回支付方交易关闭后的结果 */ @Override - public Map close(AssistOrder assistOrder){ + public Map close(AssistOrder assistOrder) { return Collections.emptyMap(); } @@ -400,7 +401,6 @@ public class YiJiPayService extends BasePayService { /** - * * @param billDate 账单类型,商户通过接口或商户经开放平台授权后其所属服务商通过接口可以获取以下账单类型:trade、signcustomer;trade指商户基于易极付交易收单的业务账单;signcustomer是指基于商户易极付余额收入及支出等资金变动的帐务账单; * @param billType 账单时间:日账单格式为yyyy-MM-dd,月账单格式为yyyy-MM。 * @return 返回支付方下载对账单的结果 diff --git a/pom.xml b/pom.xml index 65aa5fb..00881fe 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ com.egzosn pay-java-parent pom - 2.14.4-fix + 2.14.5 Pay Java - Parent Pay Java Parent @@ -65,7 +65,7 @@ - 2.14.4-fix + 2.14.5 4.5.4 1.2.17 1.2.73