From 75d5ee32182064c2a22274ad824d206e64e9b1c4 Mon Sep 17 00:00:00 2001 From: wangshirui Date: Wed, 2 Dec 2020 18:03:28 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[pay-common]=20Add:=20payBack=E7=9A=84?= =?UTF-8?q?=E6=96=B0=E9=87=8D=E8=BD=BD=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../egzosn/pay/common/api/BasePayService.java | 24 +++++++++++++++++++ .../com/egzosn/pay/common/api/PayService.java | 8 +++++++ 2 files changed, 32 insertions(+) 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 605ed7d..a86cfc9 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 @@ -436,6 +436,30 @@ public abstract class BasePayService implements Pay return getPayMessageHandler().handle(payMessage, context, this); } + /** + * 使用转换过的参数进行回调处理 + * + * @param data 转化后的参数Map + * @return 获得回调响应信息 + */ + @Override + public PayOutMessage payBack(Map data) { + if (LOG.isDebugEnabled()) { + LOG.debug("回调响应:" + JSON.toJSONString(data)); + } + if (!verify(data)) { + return getPayOutMessage("fail", "失败"); + } + PayMessage payMessage = this.createMessage(data); + Map context = new HashMap(); + for (PayMessageInterceptor interceptor : interceptors) { + if (!interceptor.intercept(payMessage, context, this)) { + return successPayOutMessage(payMessage); + } + } + return getPayMessageHandler().handle(payMessage, context, this); + } + /** * 创建消息 * diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/api/PayService.java b/pay-java-common/src/main/java/com/egzosn/pay/common/api/PayService.java index 0c1b6ac..fa4cb17 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/api/PayService.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/api/PayService.java @@ -379,6 +379,14 @@ public interface PayService { */ PayOutMessage payBack(Map parameterMap, InputStream is); + /** + * 使用转换过的参数进行回调处理 + * + * @param data 转化后的参数Map + * @return 获得回调响应信息 + */ + PayOutMessage payBack(Map data); + /** * 设置支付消息处理器,这里用于处理具体的支付业务 * -- Gitee From 6055833c6cc4d5472d75ccbfef813e9ca04e7066 Mon Sep 17 00:00:00 2001 From: wangshirui Date: Wed, 27 Jan 2021 14:27:20 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[pay-java-wx]=20Update:=20jsapi=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E5=8F=82=E6=95=B0=E6=9B=B4=E6=96=B0=201.=20timestamp?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E6=98=AF=E5=AD=97=E7=AC=A6=E4=B8=B2=202.=20?= =?UTF-8?q?=E7=AD=BE=E5=90=8D=E5=AD=97=E6=AE=B5=E5=90=8D=E4=B8=BApaySign;?= =?UTF-8?q?=20ref:=20https://pay.weixin.qq.com/wiki/doc/api/jsapi.php=3Fch?= =?UTF-8?q?apter=3D7=5F7&index=3D6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/egzosn/pay/wx/api/WxPayService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayService.java b/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayService.java index 200279f..e407211 100644 --- a/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayService.java +++ b/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayService.java @@ -274,7 +274,7 @@ public class WxPayService extends BasePayService implements if (WxTransactionType.JSAPI == order.getTransactionType()) { params.put("signType", payConfigStorage.getSignType()); params.put("appId", payConfigStorage.getAppid()); - params.put("timeStamp", System.currentTimeMillis() / 1000); + params.put("timeStamp", System.currentTimeMillis() / 1000 + ""); params.put("nonceStr", result.get(NONCE_STR)); params.put("package", "prepay_id=" + result.get("prepay_id")); } @@ -287,7 +287,7 @@ public class WxPayService extends BasePayService implements params.put("package", "Sign=WXPay"); } String paySign = createSign(SignUtils.parameterText(params), payConfigStorage.getInputCharset()); - params.put(SIGN, paySign); + params.put(WxTransactionType.JSAPI.equals(order.getTransactionType()) ? "paySign" : SIGN, paySign); return params; } throw new PayErrorException(new WxPayError(result.getString(RETURN_CODE), result.getString(RETURN_MSG_CODE), "Invalid sign value")); -- Gitee