PHPackages                             makfly/stripe-cashier-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. makfly/stripe-cashier-bundle

ActiveSymfony-bundle[Payment Processing](/categories/payments)

makfly/stripe-cashier-bundle
============================

Stripe Cashier integration for Symfony 7 and 8

v1.4.1(2w ago)1614MITPHPPHP ^8.2CI passing

Since Mar 5Pushed 2w ago1 watchersCompare

[ Source](https://github.com/MakFly/stripe-cashier-bundle)[ Packagist](https://packagist.org/packages/makfly/stripe-cashier-bundle)[ Docs](https://github.com/MakFly/stripe-cashier-bundle)[ RSS](/packages/makfly-stripe-cashier-bundle/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (16)Versions (28)Used By (0)

CashierBundle
=============

[](#cashierbundle)

[![CI](https://github.com/MakFly/stripe-cashier-bundle/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/MakFly/stripe-cashier-bundle/actions/workflows/ci.yml)[![Packagist](https://camo.githubusercontent.com/cb15756fef376b314b8deee627009cd2748577c07545f73b40f0ef239d31427a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d616b666c792f7374726970652d636173686965722d62756e646c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/makfly/stripe-cashier-bundle)[![PHP](https://camo.githubusercontent.com/7c91f18929cca7cc11932984b10dff03ec6a9c2f372e3bfd05d644219e0997a9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e32253230253743253230382e33253230253743253230382e34253230253743253230382e352d3737374242343f7374796c653d666c61742d737175617265)](https://php.net)[![License](https://camo.githubusercontent.com/152aa2a37725b9fd554b28ff24d270f6071c67927a63e6d635a55c8e188e20c7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e3f7374796c653d666c61742d737175617265)](LICENSE)

Stripe billing for Symfony 7.x and 8.x, inspired by Laravel Cashier.

Installation
------------

[](#installation)

```
composer require makfly/stripe-cashier-bundle
php bin/console cashier:install
```

The installer creates the missing bundle files and directories:

- `config/packages/cashier.yaml`
- `config/packages/cashier_doctrine.yaml`
- `config/routes/cashier.yaml`
- Stripe env vars in `.env`
- `var/data`
- `var/data/invoices`

Runtime requirements
--------------------

[](#runtime-requirements)

DependencyVersionPHP`^8.2`Symfony`^7.0` or `^8.0`Doctrine ORM`^3.0`Stripe PHP SDK`^16.0`### `ext-intl`

[](#ext-intl)

`ext-intl` is recommended, but not required.

Without `intl`, the bundle still works:

- currency formatting falls back safely
- invoice dates fall back to ISO format
- invoice translations still work for shipped locales

With `intl`, invoice rendering is cleaner and more locale-aware.

Minimal configuration
---------------------

[](#minimal-configuration)

```
cashier:
    key: '%env(STRIPE_KEY)%'
    secret: '%env(STRIPE_SECRET)%'
    path: cashier
    webhook:
        secret: '%env(STRIPE_WEBHOOK_SECRET)%'
        tolerance: 300
    currency: usd
    currency_locale: en
    default_subscription_type: default
    invoices:
        renderer: CashierBundle\Service\InvoiceRenderer\DompdfInvoiceRenderer
        default_locale: en
        supported_locales: ['en', 'fr']
        storage:
            driver: local
            path: '%kernel.project_dir%/var/data/invoices'
```

Invoice pipeline
----------------

[](#invoice-pipeline)

The bundle can:

- read Stripe invoices
- render a PDF through the configured renderer
- archive paid invoice PDFs to `var/data/invoices`
- persist invoice archive metadata in `cashier_generated_invoices`

Stripe Checkout sessions created by the bundle propagate checkout metadata to invoice creation metadata. That makes it easier for consumer applications to link:

- checkout session
- payment intent
- Stripe invoice
- archived PDF
- local order or booking

For deterministic consumer-side linking, use explicit metadata keys:

- `app_resource_type`
- `app_resource_id`
- `app_user_id`
- `plan_code`
- `billing_cycle`

The archive service persists these values into `cashier_generated_invoices` so the consumer application can resolve invoices without amount/date heuristics.

Invoice customization
---------------------

[](#invoice-customization)

You can customize invoices at four levels:

- override `templates/bundles/CashierBundle/invoice/default.html.twig`
- replace `cashier.invoices.renderer`
- replace `CashierBundle\Contract\InvoiceLocaleResolverInterface`
- replace `CashierBundle\Contract\InvoiceTranslationProviderInterface`

For production storage, replace `CashierBundle\Contract\InvoiceStorageInterface` with your own implementation if invoices must be stored on S3, GCS, or any shared storage.

Webhooks
--------

[](#webhooks)

The bundle exposes `POST /cashier/webhook` and ships a local CLI helper:

```
php bin/console cashier:webhook:listen --forward-to --base-url http://localhost:8000
```

This command forwards Stripe CLI events, persists the signing secret, and colorizes incoming events and HTTP responses.

Documentation
-------------

[](#documentation)

Source documentation lives in `docs/` and the main sections are:

- introduction
- installation
- configuration
- customers
- payments
- subscriptions
- checkout
- invoices
- webhooks
- events
- commands
- twig
- API reference

Compatibility policy
--------------------

[](#compatibility-policy)

The documented configuration under `cashier.*`, documented commands, documented public contracts, and documented events are the supported public API surface.

Breaking changes should only be released in a new major version.

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance97

Actively maintained with recent releases

Popularity16

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

27

Last Release

14d ago

Major Versions

v0.3.3 → v1.0.02026-03-05

### Community

Maintainers

![](https://www.gravatar.com/avatar/36bd784d4a0a99b303da318f09603e9861ed9a0cabc2135103eb9954f2d7362c?d=identicon)[MakFly](/maintainers/MakFly)

---

Top Contributors

[![MakFly](https://avatars.githubusercontent.com/u/6107225?v=4)](https://github.com/MakFly "MakFly (56 commits)")

---

Tags

billingpaymentsphpstripesubscriptionssymfonysymfonystripepaymentscashier

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/makfly-stripe-cashier-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/makfly-stripe-cashier-bundle/health.svg)](https://phpackages.com/packages/makfly-stripe-cashier-bundle)
```

###  Alternatives

[payum/payum-bundle

One million downloads of Payum already! Payum offers everything you need to work with payments. Check more visiting site.

58110.1M34](/packages/payum-payum-bundle)[mmanos/laravel-billing

A billing package for Laravel 4.

451.3k](/packages/mmanos-laravel-billing)[fpt/stripe-bundle

Stripe bundle for Symfony 5.4 / 6 / 7

1419.1k](/packages/fpt-stripe-bundle)[paymentsuite/paymentsuite

PaymentSuite is an easy implementation for lot of Payment Methods for Symfony projects

2615.4k2](/packages/paymentsuite-paymentsuite)[tomatophp/filament-payments

Manage your payments inside FilamentPHP app with multi payment gateway integration

542.3k](/packages/tomatophp-filament-payments)[tatter/stripe

Stripe SDK integration for CodeIgniter 4

115.2k](/packages/tatter-stripe)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
