trypost/app/Http/Controllers
Paulo Castellano aadfe7d6e8 fix: do not set plan_id on checkout creation; drop redundant guards
Two issues from review:

1. BillingController::checkout was setting plan_id immediately after
   creating the Stripe Checkout session, before the user actually paid.
   If the user abandoned checkout, the account ended up with a plan it
   never paid for. Plan activation is now driven exclusively by the
   customer.subscription.created webhook, which fires only after a
   successful payment.

2. The 'if (\$account->wasChanged('plan_id')) { ... }' guards around
   forgetPlanFeatureCache() were tautological — Eloquent's update()
   already short-circuits when nothing changed, and Pennant forget()
   is idempotent, so an extra cache clear when the plan didn't move
   is harmless. Removing the guards keeps the listener and swap path
   readable.
2026-05-07 11:08:30 -03:00
..
Api feat: add multipart media upload endpoint and split URL flow 2026-05-04 18:00:03 -03:00
App fix: do not set plan_id on checkout creation; drop redundant guards 2026-05-07 11:08:30 -03:00
Auth feat: implement workspace management and update localization strings across multiple languages 2026-05-06 16:41:27 -03:00
Controller.php refactor: settings redesign, Spanish translations, language system, strict_types 2026-03-30 00:20:43 -03:00