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>
This commit is contained in:
zhongyuan.zhao
2026-03-18 16:01:47 +08:00
parent d595ef4990
commit bd09b47ef4

View File

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