When swapping a user’s subscription plan, if the payment fails (e.g., due to an invalid card), the subscription plan in Stripe is updated to the new plan regardless of the failed payment. This results in the subscription entering a past_due state rather than reverting back to the previous, active plan.
Steps To Reproduce
Set up a subscription plan with a valid payment method.
Update the user's card with 4000000000000341 which declines after attaching.
Attempt to switch to another plan.
Observe that the subscription plan updates to the new plan and the status becomes past_due.
Cashier Stripe Version
15.3.2
Laravel Version
11.7.0
PHP Version
8.2
Database Driver & Version
No response
Description
When swapping a user’s subscription plan, if the payment fails (e.g., due to an invalid card), the subscription plan in Stripe is updated to the new plan regardless of the failed payment. This results in the subscription entering a past_due state rather than reverting back to the previous, active plan.
Steps To Reproduce