- How do I install chargebee/cashier in a Laravel application?
- Install it with Composer using chargebee/cashier, then publish the package config and migrations. Add the Billable trait to the Eloquent model that owns subscriptions, usually User or Account, and configure your Chargebee site and API keys. Finally register the webhook route so Chargebee events reach your application.
- Which Laravel and PHP versions does chargebee/cashier support?
- The repository does not publish a prominent compatibility matrix, so check the composer.json constraints and recent release tags before committing. Confirm that the bundled Chargebee PHP SDK version also works with the API version your Chargebee site uses. If your Laravel or PHP version is newer than the last release, test a sandbox install before planning an upgrade.
- How does chargebee/cashier handle Chargebee webhooks in Laravel?
- The package provides a webhook route and handling conventions that mirror the Stripe and Paddle Cashier packages. You are responsible for queuing the processing and for making handlers idempotent, since Chargebee can deliver duplicates or events out of order. Verify webhook authenticity and test replay scenarios in a sandbox before going live.
- Does chargebee/cashier support trials, plan swaps, quantity changes, pause/resume, and cancellations?
- The package follows Cashier conventions and exposes subscription lifecycle helpers for common operations such as starting trials, swapping plans, updating quantities, and cancelling. Pause and resume support, along with proration and cancellation feedback, should be verified against the release you install. Validate each operation you actually need in a sandbox, because edge cases like mid-cycle proration and multi-currency are where gaps typically show up.
- Is chargebee/cashier a drop-in replacement for Laravel Cashier with Stripe?
- No. The Billable trait methods and the underlying subscription schema differ, so moving from Stripe Cashier requires rewriting billing code and reconciling historical subscription state into Chargebee. A realistic migration runs Chargebee in parallel for new subscriptions, backfills existing subscribers with mapped plans, reconciles status during an overlap window, and only then retires Stripe webhooks.
- Is chargebee/cashier production-ready despite its low GitHub star count?
- Low stars and few dependents mean little community validation, so treat maturity, not code quality, as the main risk. Vendor maintenance by Chargebee is a positive signal, but verify release cadence and Laravel version support yourself. Mitigate with a sandbox spike, automated tests around subscription state, idempotent webhook handlers, and alerting on billing discrepancies.
- How do I test chargebee/cashier without charging real cards?
- Use a Chargebee sandbox site with test gateway credentials and point the package config at it. Build your product catalog, plans, coupons, and tax rules in the sandbox first, since the Laravel side is meaningless without them. A one-to-two week spike is usually enough for a competent Laravel engineer to validate checkout, subscription changes, and webhook reconciliation.
- What must be configured in Chargebee before the Laravel package is useful?
- The Laravel package is only a thin wrapper, so your Chargebee site needs a product catalog with plans, add-ons, coupons, tax rules, and dunning settings before integration is meaningful. Decide which entity owns the subscription and how plans map to your application's pricing model. Doing this configuration first avoids rework when you wire up checkout and webhook handling.
- How should I model team or multi-tenant billing with chargebee/cashier?
- The package assumes a single Billable model, so you must deliberately choose whether the User or an Account/Team model owns the subscription. Put the Billable trait on that model and route all subscription checks through it. For multi-tenant applications, make sure access checks resolve the correct billing owner rather than the authenticated user.
- What is the fallback if chargebee/cashier is abandoned or lags behind Laravel releases?
- Because the package is a wrapper around the Chargebee PHP SDK, the fallback options are forking and maintaining the wrapper, calling the SDK directly from your own service classes, or moving to Chargebee's hosted checkout and portal. Keep billing logic behind your own abstraction layer so any of these paths stays feasible. Before adopting, confirm how quickly the package absorbs Chargebee API and webhook payload changes.