Artisan commands
billing:process-recurring-charges
Section titled “billing:process-recurring-charges”php artisan billing:process-recurring-chargesFinalizes due period-end cancellations, then initiates renewal charges for due package-managed subscriptions. See Renewals and dunning. Scheduled every minute.
billing:reconcile-pending-payments
Section titled “billing:reconcile-pending-payments”php artisan billing:reconcile-pending-paymentsPolls (or writes off) payments pending longer than reconcile_after_minutes. See Scheduled commands. Scheduled every 15 minutes.
billing:expire-trials
Section titled “billing:expire-trials”Fires TrialWillEnd reminders, then moves expired package-managed trials to ended (TrialEnded). Hourly.
billing:send-period-notices
Section titled “billing:send-period-notices”Fires SubscriptionPeriodEnding per period_ending_notices. Hourly.
billing:expire-pauses
Section titled “billing:expire-pauses”Resumes paused subscriptions whose pause_ends_at passed. Hourly.
billing:reset-usage-quotas
Section titled “billing:reset-usage-quotas”Resets usage of prices with their own quota cycle. Hourly.
billing:health
Section titled “billing:health”php artisan billing:health {gateway?}Probes one gateway, or every registered health-capable gateway, and prints a table (gateway, status, latency, detail). Exit code 1 if any is down. Without an argument a gateway with none of its secret credentials set is listed as skipped / “not configured” and doesn’t affect the exit code; a named gateway is always probed. An unknown name throws.
billing:stripe-register-webhook
Section titled “billing:stripe-register-webhook”php artisan billing:stripe-register-webhook [--url=] [--gateway=stripe] [--tenant=] [--fresh]| Option | Meaning |
|---|---|
--url | Endpoint URL; default route('billing.webhook', <gateway>) (+ ?tenant=) |
--gateway | Gateway name whose secret_key to use (a second Stripe account) |
--tenant | Use that tenant’s credentials and add ?tenant= to the URL |
--fresh | Delete existing endpoints for this URL and re-create (new secret) |
Without --fresh an existing endpoint for the URL gets its events updated (secret unchanged; exits 1 with a warning if its API version differs from the driver’s). Otherwise creates the endpoint with the pinned API version and prints the signing secret once. See Stripe.
billing:paddle-register-webhook
Section titled “billing:paddle-register-webhook”php artisan billing:paddle-register-webhook [--url=] [--gateway=paddle] [--tenant=]Creates the notification destination, or updates the events of an existing one for the same URL, and prints its secret (Paddle returns it on every read). See Paddle.
model:prune
Section titled “model:prune”Registered daily for Fomvasss\Billing\Webhooks\BillingWebhookCall when the schedule is enabled:
php artisan model:prune --model="Fomvasss\Billing\Webhooks\BillingWebhookCall"