Because:
- An upgrade invoice below the Stripe minimum charge is marked paid, but payWithStripe still confirmed an intent, which failed the cart.
- wrapWithCartCatch then reported PaidInvoiceOnFailedCartError to Sentry.
This commit:
- Skips the intent confirm for a paid invoice with a non-zero total when the customer has a default payment method.
- Runs postPaySteps with the payment form of the default payment method.
- Adds unit tests for the paid upgrade invoice and the no-default-payment-method case.
Closes PAY-3767