Skip to content

feat(cloud): Add Stripe subscriptions via Cashier mirror #7

Description

@nfebe

Task

Make the cloud plugin the local mirror of Stripe subscription state, so the app can read subscription status without calling Stripe on the request path.

Actions

  • Require laravel/cashier in the cloud plugin composer (not the root app).
  • Add a cloud-owned BillingCustomer model (Cashier Billable, one-to-one with user_id); point cashier.model at it so the core User model stays free of any billing trait or columns.
  • Ship the Cashier migrations inside the plugin; register the Cashier webhook route; add a checkout endpoint for the existing plans.

Acceptance

  • A Stripe test checkout creates/updates local subscription rows via the webhook.
  • Subscription state resolves from local tables with no Stripe call on the request path.
  • The core User model has no billing trait or columns.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions