Billing Engine for Laravel
Requirements
Requirements
Cbox Billing installs only when your project satisfies the constraints declared in
the package's composer.json. These are the versions the dependency resolver
enforces — nothing more.
PHP
- PHP
^8.4— PHP 8.4 or newer. The library uses readonly value objects, enums, and first-class constructor promotion throughout.
Laravel
The package depends on individual Illuminate components rather than the full framework:
illuminate/contracts^13.0illuminate/support^13.0illuminate/database^13.0— the durable ledger, event log, checkpoint, rollout journal, and currency-lock adapters.illuminate/cache^13.0— the app-local enforcement store.
In practice this is Laravel 13.
Direct dependencies
brick/money^0.14— money is integer minor units in immutable value objects, never floats. TheCbox\Billing\Money\MoneyVO wraps it.cboxdk/laravel-tax^0.1— the EU VAT engine (place of supply, reverse charge, VIES) behind theTaxCalculatorcontract. Drives quote tax lines.cboxdk/laravel-geo^0.4— geography primitives used by tax routing.
What is not required
- No gateway SDK. The
PaymentGatewaycontract is gateway-agnostic; Stripe and Mollie are separate opt-in adapter packages. The bundledManualPaymentGatewayhas no external dependency. - No Redis and no ClickHouse. The default stores are in-memory; the durable stores use your existing SQL connection. A ClickHouse event-log adapter binds the same contract for event-heavy scale but is optional. See storage adapters.