From 46ca8f09981f54e9ac87bb4ab6120e28830d21b2 Mon Sep 17 00:00:00 2001 From: huliyong <2783385703@qq.com> Date: Mon, 22 Sep 2025 22:40:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8B=E5=8D=95=E7=AB=AF?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=B4=BE=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cyl/h5/controller/PayNotifyController.java | 32 ++++++++++++++-------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/ruoyi-mall/src/main/java/com/cyl/h5/controller/PayNotifyController.java b/ruoyi-mall/src/main/java/com/cyl/h5/controller/PayNotifyController.java index 89ce966..d695f5c 100644 --- a/ruoyi-mall/src/main/java/com/cyl/h5/controller/PayNotifyController.java +++ b/ruoyi-mall/src/main/java/com/cyl/h5/controller/PayNotifyController.java @@ -95,19 +95,27 @@ public class PayNotifyController { log.error("新版本微信公钥的支付回调异常:{}", e.getMessage()); } + Transaction transaction = null; + PayNotifyMessageDTO message = null; + try { + log.info("【requestParam】" + JSONObject.toJSON(requestParam)); + //初始化了 RSAAutoCertificateConfig + Config config = WechatPayConfig.getInstance(); + // 初始化解析器 NotificationParser + NotificationParser parser = new NotificationParser((NotificationConfig) config); + // 以支付通知回调为例,验签、解密并转换成 Transaction + transaction = parser.parse(requestParam, Transaction.class); + log.info("【transaction】" + JSONObject.toJSON(transaction)); + message = new PayNotifyMessageDTO(); + message.setOutTradeNo(Long.valueOf(transaction.getOutTradeNo())); + message.setMemberId(Long.valueOf(transaction.getAttach())); + message.setTradeStatus(transaction.getTradeState()); + + }catch (Exception e){ + log.error("原支付回调失败: {}", e.getMessage()); + throw new RuntimeException(e); + } - log.info("【requestParam】" + JSONObject.toJSON(requestParam)); - //初始化了 RSAAutoCertificateConfig - Config config = WechatPayConfig.getInstance(); - // 初始化解析器 NotificationParser - NotificationParser parser = new NotificationParser((NotificationConfig) config); - // 以支付通知回调为例,验签、解密并转换成 Transaction - Transaction transaction = parser.parse(requestParam, Transaction.class); - log.info("【transaction】" + JSONObject.toJSON(transaction)); - PayNotifyMessageDTO message = new PayNotifyMessageDTO(); - message.setOutTradeNo(Long.valueOf(transaction.getOutTradeNo())); - message.setMemberId(Long.valueOf(transaction.getAttach())); - message.setTradeStatus(transaction.getTradeState()); if (StrUtil.isEmpty(transaction.getSuccessTime())){ throw new RuntimeException("微信支付回调失败"); }