From 930968ab4101290b4ed6a01f706cb57bac3878d6 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 03 Jul 2026 15:57:54 +0800
Subject: [PATCH] fix(payment): 修复BSPAY支付验证逻辑问题

---
 src/main/java/cc/mrbird/febs/pay/service/BsPayService.java |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/pay/service/BsPayService.java b/src/main/java/cc/mrbird/febs/pay/service/BsPayService.java
index df2fd0c..334a786 100644
--- a/src/main/java/cc/mrbird/febs/pay/service/BsPayService.java
+++ b/src/main/java/cc/mrbird/febs/pay/service/BsPayService.java
@@ -98,7 +98,7 @@
         TreeMap<String, String> params = new TreeMap<>();
         params.put("member_id", memberId);
         params.put("out_trade_no", order.getOrderNo());
-        params.put("body", "商品订单-" + order.getOrderNo());
+        params.put("body", "日用品-商品订单-" + order.getOrderNo());
         params.put("total_fee", totalFee);
         params.put("fee_type", FEE_TYPE_BRL);
         params.put("notify_url", notifyUrl);
@@ -134,7 +134,7 @@
                     + (errCode != null ? " [" + errCode + ":" + errCodeDes + "]" : ""));
         }
 
-        // 验证签名
+        // 验证签名(sign 不参与签名)
         String respSign = json.getString("sign");
         if (StrUtil.isNotBlank(respSign)) {
             TreeMap<String, String> verifyParams = new TreeMap<>();
@@ -151,9 +151,9 @@
             }
         }
 
-        // 检查业务结果
+        // 检查业务结果:部分版本有 result_code,部分版本只有 return_code
         String resultCode = json.getString("result_code");
-        if (!"SUCCESS".equals(resultCode)) {
+        if (StrUtil.isNotBlank(resultCode) && !"SUCCESS".equals(resultCode)) {
             throw new RuntimeException("BSPAY 下单业务失败: " + json.getString("err_code_des"));
         }
 

--
Gitblit v1.9.1