From 05762546ed54a38ab4559b9c32374f16c5d61dd0 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 07 Feb 2025 13:50:18 +0800
Subject: [PATCH] fix(pay): 修复 fiuu 支付回调和退款查询相关问题
---
src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java | 5 ++++-
src/main/java/cc/mrbird/febs/pay/util/FiuuRefundUtil.java | 6 +++++-
src/main/java/cc/mrbird/febs/pay/model/RefundStatus.java | 1 +
3 files changed, 10 insertions(+), 2 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 54755b7..1f5d010 100644
--- a/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java
+++ b/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java
@@ -173,11 +173,14 @@
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, "订单不存在");
-
+ log.info("callback payResult: {}", mallOrderInfo.getPayResult());
if("1".equals(mallOrderInfo.getPayResult())){
return new FebsResponse().success().data("/pages/order/pay/paySuccess?amount="+ amount +"&type=3");
}
+ log.info("callback skey: {}", preSkey);
+ log.info("callback calculatedSkey: {}", calculatedSkey);
+
if (!calculatedSkey.equals(skey)) {
throw new FebsException("订单回调失败,---"+orderId);
}
diff --git a/src/main/java/cc/mrbird/febs/pay/model/RefundStatus.java b/src/main/java/cc/mrbird/febs/pay/model/RefundStatus.java
index 0e59e32..cd4434b 100644
--- a/src/main/java/cc/mrbird/febs/pay/model/RefundStatus.java
+++ b/src/main/java/cc/mrbird/febs/pay/model/RefundStatus.java
@@ -9,5 +9,6 @@
private String RefundID;
private String Status;
private String LastUpdate;
+ private String ReasonMsg;
private String FPXTxnID;
}
diff --git a/src/main/java/cc/mrbird/febs/pay/util/FiuuRefundUtil.java b/src/main/java/cc/mrbird/febs/pay/util/FiuuRefundUtil.java
index 6071945..7951113 100644
--- a/src/main/java/cc/mrbird/febs/pay/util/FiuuRefundUtil.java
+++ b/src/main/java/cc/mrbird/febs/pay/util/FiuuRefundUtil.java
@@ -8,6 +8,7 @@
import org.apache.http.util.EntityUtils;
import org.springframework.stereotype.Service;
+import java.util.List;
import java.util.concurrent.*;
@Service(value="FiuuRefundUtil")
@@ -46,7 +47,10 @@
HttpGet request = new HttpGet(url);
try (CloseableHttpClient client = HttpClients.createDefault()) {
String response = EntityUtils.toString(client.execute(request).getEntity());
- return objectMapper.readValue(response, RefundStatus.class);
+ List<RefundStatus> refundStatusList = objectMapper.readValue(
+ response,
+ objectMapper.getTypeFactory().constructCollectionType(List.class, RefundStatus.class));
+ return refundStatusList.get(0);
}
}
--
Gitblit v1.9.1