From 1ccd041defcd6abc731636ba8673718e784103f6 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 07 Feb 2025 11:46:00 +0800 Subject: [PATCH] fix(pay): 修复订单重复支付问题 --- src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java b/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java index e419e3e..54755b7 100644 --- a/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java +++ b/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java @@ -64,7 +64,7 @@ params.put("bill_desc", productNames); params.put("currency", "MYR"); // 默认 MYR params.put("vcode", vcode); -// params.put("returnurl", returnUrl); + params.put("returnurl", returnUrl); return new FebsResponse().success().data(params); } catch (Exception e) { @@ -172,6 +172,11 @@ // 计算 skey 验证 String preSkey = DigestUtils.md5Hex(tranID + orderId + status + domain + amount + currency); String calculatedSkey = DigestUtils.md5Hex(paydate + domain + preSkey + secretKey); + MallOrderInfo mallOrderInfo = ValidateEntityUtils.ensureColumnReturnEntity(orderId, MallOrderInfo::getId, mallOrderInfoMapper::selectOne, "订单不存在"); + + if("1".equals(mallOrderInfo.getPayResult())){ + return new FebsResponse().success().data("/pages/order/pay/paySuccess?amount="+ amount +"&type=3"); + } if (!calculatedSkey.equals(skey)) { throw new FebsException("订单回调失败,---"+orderId); -- Gitblit v1.9.1