Skip to main content

Create subscription

Auth: web.api Creates a Stripe subscription for the tutor. Supports trial periods. Handler: SubscriptionService::subscribe()

Get billing portal

Auth: auth:api Returns Stripe Customer Portal URLs for self-service management:

Subscription webhook

Auth: None (public — secured via Stripe signature verification) Handler: StripeService::handleSubscriptionWebhook() Validates webhook signature using STRIPE_SUBSCRIPTION_SIGNING_SECRET. Updates subscription status in the database.

Subscription statuses

Checked via Subscription::isValid() — returns true for trialing or active.

Subscription products

Defined in subscription_products table: