- Does this package work with Laravel 13 and PHP 8.3?
- Yes, the package is officially supported on Laravel 12 and 13 with PHP 8.3+. It leverages modern Laravel features like typed properties and attributes, so ensure your project meets these requirements before installation.
- How do I set up VAT/OSS compliance for my EU-based SaaS?
- The package integrates `mpociot/vat-calculator` for VAT calculations and VIES validation. Configure your Mollie API keys and VAT settings in the published config file, then use the built-in country reconciliation logic to handle mismatches automatically.
- Can I use this for metered billing (usage-based pricing) without Livewire?
- Yes, the wallet-based metered billing system works independently of Livewire. However, the admin and customer portals require Livewire 4 and Flux Pro, so you’ll need to decide whether to use those features or build custom views.
- What if my models don’t use UUID/ULID for primary keys?
- The package requires UUID/ULID keys for polymorphic relations (e.g., `billable_key_type`). If your models use auto-increment integers, you’ll need to either migrate your schema or configure the package to use a different key type before running migrations.
- How do I customize the VAT logic for my specific business rules?
- The package provides hooks like `beforeVatCalculationUsing` to modify VAT calculations. For deeper customization, you may need to extend core classes or override the VAT service binding in the service provider.
- Is Flux Pro a hard requirement, or can I replace the Livewire admin panel?
- Flux Pro is required for the built-in admin and customer portals due to its advanced Livewire components. If you don’t want to use Flux Pro, you’ll need to build custom views or replace the portal logic entirely.
- How do I handle Mollie webhook failures or past-due subscriptions?
- The package includes webhook handlers for Mollie events (e.g., `subscription.past_due`). You can extend the `MollieWebhookHandler` class or use Laravel’s queue system to process failures asynchronously. Monitor webhooks via Mollie’s dashboard or a custom log.
- Can I use this package with a non-Livewire frontend (e.g., Inertia.js or API-only)?
- The core billing logic (subscriptions, VAT, wallets) works without Livewire. However, the admin and customer portals are Livewire-dependent. For API-only apps, you’ll need to disable or replace those features.
- What are the alternatives if I don’t want to use Flux Pro?
- Alternatives include building custom Livewire components or using other UI frameworks like Alpine.js with Inertia.js. The package’s backend logic (Mollie integration, VAT, wallets) remains usable, but portals require replacement.
- How do I migrate an existing Laravel app to use this package?
- Start by publishing the config, migrations, and views. Update your `Billable` models to implement the contract, then run the migrations. Test thoroughly, especially around key types (UUID/ULID) and existing subscriptions, to avoid data loss.