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
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions