Apollo (Laravel Recurring Billing)

Adds recurring billing and billing management via Stripe to a Laravel project. Keeps a local copy of items such payment methods, invoices and plan data to improve performance of subsequent requests to the billing provider, and allows extension with other payment providers by adding customisable provider classes and drivers.

Apollo Recurring Billing for Laravel

With customisable branding and payment plans, Apollo quickly sets your project up with recurring billing with minimal configuration. Currently supporting subscriptions provided by Stripe - tell Apollo the price IDs for your plan, and how long any trial period are, and Apollo handles the rest.

composer require mykemeynell/laravel-billing

The configuration of Apollo is straight forward, allowing for subscriptions and plans to be bound to specific user models. Here is an example of two plans that are available for the \App\Models\User::class model.

'subscriptions' => [
'user' => [
'model' => \App\Models\User::class,
'trial_days' => 14,
'plans' => [
[
'name' => 'Basic Plan',
'description' => 'This is the basic plan.',
'monthly_id' => 'abc',
'yearly_id' => '123',
'features' => [
'1 domain',
'1 server',
'Email support',
],
'archived' => false,
],
[
'name' => 'Premium Plan',
'description' => 'This is the premium plan.',
'monthly_id' => '890',
'yearly_id' => 'xyz',
'features' => [
'10 domains',
'5 servers',
'Live chat assistance',
],
'archived' => false,
],
],
],
],

Features of this Laravel Recurring Billing package include;

  • Multiple payment methods, with defaults and backups
  • Swapping subscription plans at any point during billing period
  • Trial and grace periods
  • Cancellation of plans
  • Customisable branding (logo and colour pallet)
  • Customisable billing portal URI
  • Downloadable invoices