Преглед изворни кода

fix(waffo): use dedicated waffoMinTopUp for client-side validation

The waffoTopUp function was validating against the shared minTopUp
which could be set by epay/stripe when multiple gateways are enabled,
causing mismatch with backend's WaffoMinTopUp check.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
zhongyuan.zhao пре 1 месец
родитељ
комит
bd09b47ef4
1 измењених фајлова са 4 додато и 2 уклоњено
  1. 4 2
      web/src/components/topup/index.jsx

+ 4 - 2
web/src/components/topup/index.jsx

@@ -74,6 +74,7 @@ const TopUp = () => {
   // Waffo 相关状态
   const [enableWaffoTopUp, setEnableWaffoTopUp] = useState(false);
   const [waffoPayMethods, setWaffoPayMethods] = useState([]);
+  const [waffoMinTopUp, setWaffoMinTopUp] = useState(1);
 
   const [isSubmitting, setIsSubmitting] = useState(false);
   const [open, setOpen] = useState(false);
@@ -316,8 +317,8 @@ const TopUp = () => {
 
   const waffoTopUp = async (payMethodIndex) => {
     try {
-        if (topUpCount < minTopUp) {
-            showError(t('充值数量不能小于') + minTopUp);
+        if (topUpCount < waffoMinTopUp) {
+            showError(t('充值数量不能小于') + waffoMinTopUp);
             return;
         }
         setPaymentLoading(true);
@@ -493,6 +494,7 @@ const TopUp = () => {
           const enableWaffoTopUp = data.enable_waffo_topup || false;
           setEnableWaffoTopUp(enableWaffoTopUp);
           setWaffoPayMethods(data.waffo_pay_methods || []);
+          setWaffoMinTopUp(data.waffo_min_topup || 1);
           setMinTopUp(minTopUpValue);
           setTopUpCount(minTopUpValue);