emeroid/laravel-billing-core
Driver-based, multi-gateway billing for Laravel with a fluent API for one-time payments and subscriptions. Supports Paystack and PayPal, plan swapping, grace-period cancellation, dunning via webhooks, events, and a Billable trait for your User model.
SubscriptionStarted, invoice.payment_failed) for extensibility, enabling hooks for analytics, notifications, or custom workflows.subscriptions, invoices), but assumes Laravel’s Eloquent ORM. May require schema adjustments for non-standard DB setups.User with Billable trait)..env variables) and webhook verification (e.g., PayPal’s IPN or Paystack’s hooks). Risk of misconfigured endpoints if not tested early.invoice.payment_failed events; flaky webhooks could lead to stale past_due states.subscriptions table (e.g., trial_ends_at)?Billable trait extends User model for subscription metadata.SubscriptionCancelled).Notification::send(new SubscriptionStarted($user))).GatewayDriver interface (abstract class provided).subscriptions, invoices, and payments. Conflict risk if the app already has billing tables.payment_failed events).php artisan billing:migrate-data (custom command).match expressions, named arguments).Subscription model if the app already has one).guzzlehttp/guzzle for API calls)..env with gateway credentials.Billable trait to User model./billing/webhooks/paypal).Subscription logic (e.g., swapPlan).payment_failed).past_due status transitions.payment_succeeded events).subscriptions table could grow large; consider archiving old records.user_id, status, ends_at for queries.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Webhook delivery fails | Stale past_due status |
Implement retry queue with dead-lettering. |
How can I help you explore Laravel packages today?