A past_due subscription made subscribed() return false (Cashier default), so EnsureAccountReady redirected to /subscribe — which starts a brand-new checkout and creates a second subscription. Past-due users already have a subscription; they only need to update their payment method. Enable Cashier::keepPastDueSubscriptionsActive() so past_due counts as active and users keep navigating. Surface a past-due notice in the sidebar footer linking to the Stripe billing portal (not /subscribe). Both trial modes (subscription trial / generic trial) are unaffected. |
||
|---|---|---|
| .. | ||
| AccountTest.php | ||
| MediaTest.php | ||
| PostTest.php | ||
| WorkspaceLabelTest.php | ||
| WorkspaceSignatureTest.php | ||