From e3b42216f119aa9020ab0263b41b7324211a51df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=B2=A8=E9=B1=BC?= Date: Fri, 13 Dec 2024 09:53:13 +0800 Subject: [PATCH] 123 --- .../web/controller/cai/app/PayController.java | 20 +++++++++++++ .../ruoyi/cai/filter/EncryptionFilter.java | 1 + .../service/impl/PayTrdConfigServiceImpl.java | 28 +++++++++++++++++-- .../com/ruoyi/cai/trdpay/TrdPayTypeEnum.java | 1 + 4 files changed, 48 insertions(+), 2 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/app/PayController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/app/PayController.java index 7123daec..2f5f6fe8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/app/PayController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/app/PayController.java @@ -326,4 +326,24 @@ public class PayController { } } + + @PostMapping(value = "/trd/notify/v3") + @Operation(hidden = true) + @Log(title = "第三方支付回调V3", businessType = BusinessType.OTHER, isSaveDb = false) + @SaIgnore + public String trdNotifyUrlV3(HttpServletRequest request) { + try { + Map params = AliPayApi.toMap(request); + log.info("第三方支付回调V3:{}",JSON.toJSONString(params)); + String mchOrderNo = params.get("mchOrderNo"); + String payOrderId = params.get("payOrderId"); + String productId = params.get("productId"); + payManager.callBack(mchOrderNo,payOrderId,params,"V3", PayTypeEnum.TRD); + return "success"; + } catch (Exception e) { + log.error("第三方支付回调失败!",e); + return "failure"; + } + } + } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/filter/EncryptionFilter.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/filter/EncryptionFilter.java index 447434a6..93e46ba9 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/filter/EncryptionFilter.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/filter/EncryptionFilter.java @@ -25,6 +25,7 @@ public class EncryptionFilter implements Filter { IGNORE_URL.add("/api/yx/im/check"); IGNORE_URL.add("/api/pay/trd/notify/v1"); IGNORE_URL.add("/api/pay/trd/notify/v2"); + IGNORE_URL.add("/api/pay/trd/notify/v3"); } private static final AntPathMatcher ANT_PATH_MATCHER = new AntPathMatcher(); diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/PayTrdConfigServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/PayTrdConfigServiceImpl.java index 30e13181..809c163e 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/PayTrdConfigServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/PayTrdConfigServiceImpl.java @@ -71,6 +71,13 @@ public class PayTrdConfigServiceImpl extends ServiceImpl objectJson = new HashMap<>(); + for (String key : jsonObject.keySet()) { + objectJson.put(key, jsonObject.getString(key)); + } + payManager.callBack(mchOrderNo,payOrderId,objectJson,"V3", PayTypeEnum.TRD); } return jsonObject; } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/trdpay/TrdPayTypeEnum.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/trdpay/TrdPayTypeEnum.java index 5d563be3..ec47c596 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/trdpay/TrdPayTypeEnum.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/trdpay/TrdPayTypeEnum.java @@ -7,6 +7,7 @@ import lombok.Getter; public enum TrdPayTypeEnum { V1("http://pay.jpay.one/api","/pay/create_order","/pay/query_order","/api/pay/trd/notify/v1"), V2("http://121.40.24.67:56700/api","/pay/create_order","/pay/query_order","/api/pay/trd/notify/v2"), + V3("http://pay.linken.click/api","/pay/create_order","/pay/query_order","/api/pay/trd/notify/v3"), ; private final String gatewayUrl; private final String createOrderUrl;