Installation
subscribd:install
Publishes the package config file, migrations, and views, then runs the migrations automatically. Run this once when you first add Subscribd to your project.
Plan management
subscribd:plan list
Prints a table of all plans currently stored in the database, including their key, name, pricing rule, price, currency, interval, and active status.
subscribd:plan sync
Reads the plans array from config/subscribd.php and syncs it to the subscribd_plans table. New plans are inserted, existing plans are updated, and plans removed from config are marked inactive. Run this whenever you add, edit, or remove a plan definition.
subscribd:plan deactivate {key}
Marks a single plan as inactive by its config key. Existing subscribers on this plan are not affected, but the plan will no longer appear in the plan picker or be available for new subscriptions.
Subscription management
subscribd:subscription list
Lists all subscriptions in the database with their ID, billable, plan, gateway, status, and renewal date.
subscribd:subscription list --status
Filters the subscription list by status. Any value from the SubscriptionStatus enum is accepted: active, trialing, past_due, grace, paused, or canceled.
subscribd:subscription cancel {id}
Cancels a specific subscription by its database ID. By default, the subscription is canceled at the end of the current billing period (grace period). The subscriber retains access until the period ends.
To cancel immediately from code instead of the CLI, use
Subscribd::for($user)->cancel('default', immediately: true). The Artisan command always cancels at period end.Webhook management
subscribd:webhook replay {webhook_event_id}
Re-processes a previously received webhook event by its ID from the subscribd_webhook_events table. The handler runs directly in the console process — no HTTP request is made, so no signature verification is required. Use this to recover from processing failures without waiting for the gateway to redeliver the event.
Subscribd’s webhook processing is idempotent. Replaying an event that was already processed successfully is safe — the handler detects the duplicate and exits without making changes.
Command reference summary
| Command | Description |
|---|---|
subscribd:install | Publish config, migrations, and views; run migrations |
subscribd:plan list | List all plans from the database |
subscribd:plan sync | Sync plan definitions from config to the database |
subscribd:plan deactivate {key} | Deactivate a plan by its key |
subscribd:subscription list | List all subscriptions |
subscribd:subscription list --status=past_due | Filter subscriptions by status |
subscribd:subscription cancel {id} | Cancel a subscription at period end |
subscribd:webhook replay {webhook_event_id} | Replay a webhook event by ID |