Skip to main content
Hero Light

What is Eufaturo Billing?

Eufaturo Billing is a comprehensive, gateway-agnostic subscription billing package for Laravel 12+. Built with modern PHP 8.4+, it provides everything you need to manage subscriptions, feature entitlements, usage tracking, and payments.

Key Features

Subscription Management

  • Create and manage subscriptions with any payment gateway
  • Support for both gateway-managed (Stripe) and locally-managed subscriptions
  • Plan changes with automatic proration
  • Trial periods and grace periods
  • Subscription pausing and resumption

Feature Entitlements

  • 5 Feature Types: Boolean, Limit, Unlimited, Quota, Tier
  • Usage tracking with automatic quota resets
  • Feature gates for controlling access
  • Per-plan feature definitions

Multi-Gateway Support

  • Stripe, PayPal, Eupago (Portuguese methods), and more
  • Easy-to-implement custom gateways
  • Database-first configuration
  • Interactive gateway installation via Artisan

Developer Experience

  • PHP 8.4+ with strict typing throughout
  • Type-safe DTOs and Response objects
  • Comprehensive tests - 343+ passing tests
  • PHPStan Level 10 compliance
  • Clean API - Fluent Billing facade or direct Actions
  • Action-based architecture for clean, reusable code

Architecture

Eufaturo Billing follows a 3-layer architecture:
┌─────────────────────────────────────────┐
│   UI Packages (Livewire, Inertia)      │
│   ├── Components                        │
│   └── Views                             │
└─────────────────────────────────────────┘


┌─────────────────────────────────────────┐
│   Gateway Packages (Stripe, PayPal)    │
│   ├── Gateway Implementation            │
│   └── JavaScript SDKs                   │
└─────────────────────────────────────────┘


┌─────────────────────────────────────────┐
│   Core Package (eufaturo/billing)      │
│   ├── Domain Models                     │
│   ├── Actions & DTOs                    │
│   └── Interfaces                        │
└─────────────────────────────────────────┘

Learn about the architecture

Understand the 3-layer design and separation of concerns

Pre-Built Checkout UI

Get a complete, production-ready checkout experience with our official UI packages:

Livewire + Alpine.js

Complete checkout flow with real-time validation, fully customizable Blade templates.
composer require eufaturo/billing-checkout-livewire

Inertia + Vue 3

Modern SPA checkout experience with Vue 3 components and TypeScript support.
composer require eufaturo/billing-checkout-inertia
Both packages include:
  • 🎨 Customizable UI - Full control over styling and branding
  • 💳 Payment gateway integration - Stripe, PayPal, and more
  • Form validation - Real-time client and server-side validation
  • 🔒 Secure payment processing - PCI-compliant by design
  • 📱 Responsive design - Works on all devices

Quick Example

use Eufaturo\Billing\Billing;
use Eufaturo\Billing\Subscriptions\Enums\SubscriptionType;

// Configure billable resolution
Billing::resolveBillableUsing(fn() => auth()->user());

// Create a subscription
$subscription = Billing::subscriptions()->create(
    billable: Billing::getBillable(),
    plan: $productPlan,
    type: SubscriptionType::PaymentGatewayManaged,
    paymentGateway: $gateway,
);

// Check feature access
if ($subscription->canUseFeature('api-access')) {
    // Grant API access
}

Getting Started

Community & Support