From bd09b47ef4e8c9e7f5b58e9c79f0995471dae293 Mon Sep 17 00:00:00 2001 From: "zhongyuan.zhao" Date: Wed, 18 Mar 2026 16:01:47 +0800 Subject: [PATCH] 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) --- web/src/components/topup/index.jsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/web/src/components/topup/index.jsx b/web/src/components/topup/index.jsx index b50f6764..0348e3c8 100644 --- a/web/src/components/topup/index.jsx +++ b/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);