## 1. Wallet Recharge Confirmation Submit Guard

- [x] 1.1 Add a dedicated submitting state for the wallet recharge confirmation flow
- [x] 1.2 Ignore repeated taps while `confirmRecharge` is already running
- [x] 1.3 Bind the confirmation button state to the submitting state and restore it on every exit path

## 2. Package Payment Confirmation Submit Guard

- [x] 2.1 Add a dedicated submitting state for the package payment confirmation flow
- [x] 2.2 Ignore repeated taps while `confirmPay` is already running
- [x] 2.3 Bind the confirmation button state to the submitting state and restore it on every exit path

## 3. Order List Immediate Payment Submit Guard

- [x] 3.1 Add a dedicated submitting state for order list immediate payment
- [x] 3.2 Ignore repeated taps while `handleOrderPayment` is already running for the current payment flow
- [x] 3.3 Bind the order list immediate payment button state to the submitting state and restore it on every exit path

## 4. Wallet Recharge Order Immediate Payment Submit Guard

- [x] 4.1 Add a dedicated submitting state for wallet recharge order immediate payment
- [x] 4.2 Ignore repeated taps while `handleRechargePayment` is already running for the current payment flow
- [x] 4.3 Bind the recharge order immediate payment button state to the submitting state and restore it on every exit path

## 5. Regression Verification

- [x] 5.1 Verify repeated taps only trigger one effective submit in the wallet recharge modal
- [x] 5.2 Verify repeated taps only trigger one effective submit in the package payment modal
- [x] 5.3 Verify repeated taps only trigger one effective submit in the order list immediate payment flow
- [x] 5.4 Verify repeated taps only trigger one effective submit in the wallet recharge order immediate payment flow
- [x] 5.5 Verify users can retry after validation failure, payment cancel, payment failure, list refresh, and modal reopen
