Two hardening fixes for the paid first month: - FirstMonthCheckoutDiscount throws when the paid first month is enabled but STRIPE_FIRST_MONTH_COUPON_ID is unset, instead of silently charging every new customer the full price with no discount. - Guard workspace store() with the same active-subscription check create() already applies, so a direct POST can't bootstrap a second billable workspace and inflate checkout quantity past the fixed first-month coupon. |
||
|---|---|---|
| .. | ||
| Api | ||
| App | ||
| Auth | ||
| Webhooks | ||
| Controller.php | ||