Skip to main content
Subscribd ships six pre-built UI components that you can drop into any Blade view without writing billing logic from scratch. Each component is available in two variants: a reactive Livewire version and a static Blade version for apps that do not use Livewire. All components are themed via CSS custom properties, so they fit your design system without publishing any views.

Component reference

The table below lists every component tag along with its Livewire and Blade equivalents.
PurposeLivewire tagBlade tag
Display available plans with a subscribe button<livewire:subscribd::plan-picker /><x-subscribd-plan-picker />
Embedded payment form (Stripe Elements or hosted checkout)<livewire:subscribd::checkout /><x-subscribd-checkout />
Show current plan, cancel/resume controls<livewire:subscribd::subscription-manager /><x-subscribd-subscription-manager />
List, add, and remove payment methods<livewire:subscribd::payment-methods /><x-subscribd-payment-methods />
Paginated invoice list with PDF download links<livewire:subscribd::invoice-history /><x-subscribd-invoice-history />
Coupon code input and redemption<livewire:subscribd::coupon-redeem /><x-subscribd-coupon-redeem />

Embedding components in views

Drop any component tag directly into a Blade template. No controller logic is required — each component resolves the authenticated billable automatically.
resources/views/billing/index.blade.php
<div>
    {{-- Let users pick or change their plan --}}
    <livewire:subscribd::plan-picker />

    {{-- Show the current subscription with cancel/resume controls --}}
    <livewire:subscribd::subscription-manager />

    {{-- Paginated invoice list --}}
    <livewire:subscribd::invoice-history />
</div>

Livewire vs Blade variants

Livewire components

Use the Livewire variants when you want real-time interactivity — plan selection updates immediately, coupon redemption shows inline feedback, and subscription actions do not require a full page reload. Livewire must be installed in your app.

Blade components

Use the Blade variants when your app does not use Livewire, or when you are embedding a component inside an existing Alpine.js or Inertia.js setup and want full control over re-rendering.
You can mix variants on the same page. For example, use the Livewire plan-picker for interactivity and the Blade invoice-history inside a static section.

Publishing views

By default, Subscribd renders components from its own package views. Publish them to resources/views/vendor/subscribd/ to customize markup, classes, or layout.
1

Publish Livewire views

php artisan vendor:publish --tag=subscribd-livewire-views
2

Publish Blade views

php artisan vendor:publish --tag=subscribd-blade-views
3

Publish mail views

php artisan vendor:publish --tag=subscribd-mail-views
4

Publish admin views

php artisan vendor:publish --tag=subscribd-admin-views
Publishing views is optional. You can theme components with CSS custom properties alone — see Theming for details.