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 |   10 +++++-----
 1 files changed, 5 insertions(+), 5 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 f7192aa..334a786 100644
--- a/src/main/java/cc/mrbird/febs/pay/service/BsPayService.java
+++ b/src/main/java/cc/mrbird/febs/pay/service/BsPayService.java
@@ -56,7 +56,7 @@
     /** BSPAY 配置字典 type */
     private static final String DICT_TYPE = "BSPAY_CONFIG";
     /** BSPAY 下单接口路径 */
-    private static final String APPLY_ORDER_PATH = "/api/settle/applyOrder";
+    private static final String APPLY_ORDER_PATH = "/api/pay/applyOrder";
     /** OkHttp JSON MediaType */
     private static final MediaType JSON_MEDIA_TYPE = MediaType.parse("application/json;charset=UTF-8");
 
@@ -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