PHPackages                             expdev07/laravel-cashier-stripe-connect - 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. expdev07/laravel-cashier-stripe-connect

ActiveLibrary[Payment Processing](/categories/payments)

expdev07/laravel-cashier-stripe-connect
=======================================

Adds Stripe Connect functionality to Laravel's main billing package, Cashier.

v1.2.0(4y ago)63135.6k↓20.1%27[2 issues](https://github.com/ExpDev07/laravel-cashier-stripe-connect/issues)[1 PRs](https://github.com/ExpDev07/laravel-cashier-stripe-connect/pulls)MITPHP

Since Dec 1Pushed 3y ago7 watchersCompare

[ Source](https://github.com/ExpDev07/laravel-cashier-stripe-connect)[ Packagist](https://packagist.org/packages/expdev07/laravel-cashier-stripe-connect)[ RSS](/packages/expdev07-laravel-cashier-stripe-connect/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (12)Used By (0)

 laravel-cashier-stripe-connect
================================

[](#laravel-cashier-stripe-connect)

 [![Total Downloads](https://camo.githubusercontent.com/1e20292c98ee19bddaa453dcb78e9544cf8e2dd8459ab7bbe51a3023aa310468/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f65787064657630372f6c61726176656c2d636173686965722d7374726970652d636f6e6e656374)](https://packagist.org/packages/expdev07/laravel-cashier-stripe-connect) [![Latest Stable Version](https://camo.githubusercontent.com/c1b9dc5688544544789f865b5ae8695f41d58fef119de2889016c4d0332bdee1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f65787064657630372f6c61726176656c2d636173686965722d7374726970652d636f6e6e656374)](https://packagist.org/packages/expdev07/laravel-cashier-stripe-connect) [![License](https://camo.githubusercontent.com/03a3196ec3806d50321140b530c6ff95fec88295da4901b080f894dc05a7a8e8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f65787064657630372f6c61726176656c2d636173686965722d7374726970652d636f6e6e656374)](https://packagist.org/packages/expdev07/laravel-cashier-stripe-connect)

> ## Newer Package Available
>
> [](#newer-package-available)
>
> A more comprehensive package is now available, built upon this package so can be upgraded to from this package, it offers multi-model, multi-tenancy support, UUID support and the following features:
>
> - Multi Model support - Previously only supported the User model, now any model can have the Connect Billable trait added to it and immediately inherit functionality.
> - Tenancy for Laravel Support (Multi Tenant SaaS Plugin)
> - Manage connected account onboarding
> - Direct Charges
> - Destination Charges
> - Connected account customer management (Direct Customers)
> - Connected account payment method management
> - Connected account subscriptions ( Direct Subscriptions )
> - Connected account product &amp; price management
> - Connect Webhook Support (On behalf of connected accounts)
> - Connected Account Apple Pay Domain Registering
>
> ### [Click here to access the new package](https://github.com/l4nos/laravel-cashier-stripe-connect)
>
> [](#click-here-to-access-the-new-package)
>
> As a result of the new package, this package will no longer be maintained.

 [ ![Buy Me a Coffee at ko-fi.com](https://camo.githubusercontent.com/87e7bc7e876c2c005c93d71c87e3ef6bb390bdfa6c06223c99603457d27c4a61/68747470733a2f2f617a3734333730322e766f2e6d7365636e642e6e65742f63646e2f6b6f6669332e706e673f763d32) ](https://ko-fi.com/C1C510DUQ)

> 💲 Adds Stripe Connect functionality to Laravel's main billing package, Cashier. Simply works as a drop-in on top of Cashier, with no extra configuration.

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

[](#installation)

1. Enable Stripe Connect in your [dashboard settings](https://dashboard.stripe.com/settings).
2. Install Cashier: `composer require laravel/cashier`.
3. Install package: `composer require expdev07/laravel-cashier-stripe-connect`.
4. Run migrations: `php artisan migrate`.
5. Configure Stripe keys for Cashier: [Cashier Docs](https://laravel.com/docs/9.x/billing#api-keys).

**Note:** the package will not work as intended if you do not install [Laravel's official Cashier package](https://laravel.com/docs/8.x/billing) first.

Use
---

[](#use)

The library builds on the official [Cashier](https://laravel.com/docs/8.x/billing) library, so getting up and started is a breeze.

### Setup model

[](#setup-model)

Add the `Billable` traits to your model. You can use them individually or together. You can also create your own `Billable` trait and put them together there. In addition, the model should also implement the `StripeAccount` interface.

```
namespace App\Models;

use Illuminate\Foundation\Auth\User as Authenticatable;
use ExpDev07\CashierConnect\Contracts\StripeAccount;
use Laravel\Cashier\Billable as CashierBillable;
use ExpDev07\CashierConnect\Billable as ConnectBillable;

class User extends Authenticatable implements StripeAccount
{
    use CashierBillable;
    use ConnectBillable;

    ///

}
```

### Create controller

[](#create-controller)

Create a controller to manage on-boarding process. The example below registers an Express account for the user.

```
namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use URL;

class StripeController extends Controller
{

    /**
     * Creates an onboarding link and redirects the user there.
     *
     * @param Request $request
     * @return RedirectResponse
     */
    public function board(Request $request): RedirectResponse
    {
        return $this->handleBoardingRedirect($request->user());
    }

    /**
     * Handles returning from completing the onboarding process.
     *
     * @param Request $request
     * @return RedirectResponse
     */
    public function returning(Request $request): RedirectResponse
    {
        return $this->handleBoardingRedirect($request->user());
    }

    /**
     * Handles refreshing of onboarding process.
     *
     * @param Request $request
     * @return RedirectResponse
     */
    public function refresh(Request $request): RedirectResponse
    {
        return $this->handleBoardingRedirect($request->user());
    }

    /**
     * Handles the redirection logic of Stripe onboarding for the given user. Will
     * create account and redirect user to onboarding process or redirect to account
     * dashboard if they have already completed the process.
     *
     * @param User $user
     * @return RedirectResponse
     */
    private function handleBoardingRedirect(User $user): RedirectResponse
    {
        // Redirect to dashboard if onboarding is already completed.
        if ($user->hasStripeAccountId() && $user->hasCompletedOnboarding()) {
            return $user->redirectToAccountDashboard();
        }

        // Delete account if already exists and create new express account with
        // weekly payouts.
        $user->deleteAndCreateStripeAccount('express', [
            'settings' => [
                'payouts' => [
                    'schedule' => [
                        'interval' => 'weekly',
                        'weekly_anchor' => 'friday',
                    ]
                ]
            ]
        ]);

        // Redirect to Stripe account onboarding, with return and refresh url, otherwise.
        return $user->redirectToAccountOnboarding(
            URL::to('/api/stripe/return?api_token=' . $user->api_token),
            URL::to('/api/stripe/refresh?api_token=' . $user->api_token)
        );
    }

}
```

Example
-------

[](#example)

```
// Get user. This user has added the Billable trait and implements StripeAccount.
$user = User::query()->find(1);

// Transfer 10 USD to the user.
$user->transferToStripeAccount(1000);

// Payout 5 dollars to the user's bank account, which will arrive in 1 week.
$user->payoutStripeAccount(500, Date::now()->addWeek());
```

License
-------

[](#license)

Please refer to [LICENSE.md](https://github.com/ExpDev07/laravel-cashier-stripe-connect/blob/main/LICENSE) for this project's license.

Contributors
------------

[](#contributors)

This list only contains some of the most notable contributors. For the full list, refer to [GitHub's contributors graph](https://github.com/ExpDev07/laravel-cashier-stripe-connect/graphs/contributors).

- ExpDev07 (Marius) - creator and maintainer.
- Haytam Bakouane [(hbakouane)](https://github.com/hbakouane) - contributor.

Thanks to
---------

[](#thanks-to)

[Taylor Otwell](https://twitter.com/taylorotwell) for his amazing framework and [all the contributors of Cashier](https://github.com/laravel/cashier-stripe/graphs/contributors).

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity47

Moderate usage in the ecosystem

Community23

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 63.5% 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 ~54 days

Recently: every ~107 days

Total

10

Last Release

1507d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/bacbc44a2c50665548564aca68563883c9488c57af799029ca2b9be306223377?d=identicon)[ExpDev07](/maintainers/ExpDev07)

---

Top Contributors

[![ExpDev07](https://avatars.githubusercontent.com/u/10024730?v=4)](https://github.com/ExpDev07 "ExpDev07 (33 commits)")[![hbakouane](https://avatars.githubusercontent.com/u/57842491?v=4)](https://github.com/hbakouane "hbakouane (6 commits)")[![oleg-kolzhanov](https://avatars.githubusercontent.com/u/28598592?v=4)](https://github.com/oleg-kolzhanov "oleg-kolzhanov (3 commits)")[![tsotnekekelia](https://avatars.githubusercontent.com/u/11596856?v=4)](https://github.com/tsotnekekelia "tsotnekekelia (3 commits)")[![c-fitzmaurice](https://avatars.githubusercontent.com/u/3401771?v=4)](https://github.com/c-fitzmaurice "c-fitzmaurice (2 commits)")[![MariusSpring](https://avatars.githubusercontent.com/u/77326245?v=4)](https://github.com/MariusSpring "MariusSpring (1 commits)")[![l4nos](https://avatars.githubusercontent.com/u/31861108?v=4)](https://github.com/l4nos "l4nos (1 commits)")[![striebwj](https://avatars.githubusercontent.com/u/14165147?v=4)](https://github.com/striebwj "striebwj (1 commits)")[![talelmishali](https://avatars.githubusercontent.com/u/11172883?v=4)](https://github.com/talelmishali "talelmishali (1 commits)")[![fwartner](https://avatars.githubusercontent.com/u/6692500?v=4)](https://github.com/fwartner "fwartner (1 commits)")

---

Tags

cashierlaravellaravel-cashierpackagestripestripe-connectlaravelstripebillingstripe-connect

### Embed Badge

![Health badge](/badges/expdev07-laravel-cashier-stripe-connect/health.svg)

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

###  Alternatives

[lanos/laravel-cashier-stripe-connect

Adds Stripe Connect functionality to Laravel's main billing package, Cashier.

84138.9k](/packages/lanos-laravel-cashier-stripe-connect)[simonhamp/laravel-stripe-connect

1343.1k](/packages/simonhamp-laravel-stripe-connect)[certly/spark

Laravel Spark provides a starter scaffolding for Laravel SaaS applications.

451.6k](/packages/certly-spark)

PHPackages © 2026

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