dominservice/laravel-stripe-connect is a Laravel package.
It currently has 0 GitHub stars and 12 downloads on Packagist (latest version 2.1.0).
Install it with composer require dominservice/laravel-stripe-connect.
Discover more Laravel packages by dominservice
or browse all Laravel packages to compare alternatives.
Last updated
Marketplaces and platforms use Stripe Connect to accept money and pay out to third parties. Connect provides a complete set of building blocks to support virtually any business model, including on-demand businesses, e‑commerce, crowdfunding, fintech, and travel and events.
Create a marketplace application with this helper for Stripe Connect.
Install via composer
composer require Dominservice/laravel-stripe-connect
Or place manually in composer.json:
"require": {
"dominservice/conversations": "^1.0"
}
Run:
composer update
Add the service provider to config/app.php
'providers' => [
Dominservice\LaravelStripeConnect\ServiceProvider::class,
],
(...)
'aliases' => [
'StripeConnect' => Dominservice\LaravelStripeConnect\Facade\LaravelStripeConnectFacade::class,
]
Add your stripe credentials in .env:
STRIPE_KEY=pk_test_XxxXXxXXX
STRIPE_SECRET=sk_test_XxxXXxXXX
and made a call from the config/services.php as
'stripe' => [
'model' => App\User::class,
'key' => env('STRIPE_KEY'),
'secret' => env('STRIPE_SECRET'),
],
Run migrations:
php artisan migrate
The following table shows which version to install. We have provided the Stripe API version that we developed against as guide. You may find the package works with older versions of the API.
| Laravel | Stripe PHP | Stripe API | Laravel Stripe Connect |
| :-- | :-- | :-- | :-- |
| ^8 | ^7.7 | >=2020-03-02 | ^2 |
| ^7 | 7.7 | >=2020-03-02 | ^2 |
| ^6 | 7.7 | >=2020-03-02 | ^2 |
You can make a single payment from a user to another user or save a customer card for later use. Just remember to import the base class via:
use Dominservice\LaravelStripeConnect\StripeConnect;
You may want to create the vendor account before charging anybody.
Just call Account::create with a User instance.
You make set params like stripe account object.
If account nust be for company you make set company object
use Dominservice\LaravelStripeConnect\Repositories\Account;
(...)
$account = Account::create($vendor, $params = [], $company = false);
The customer gives his credentials via Stripe Checkout and is charged.
It's a one shot process. $customer and $vendor must be User instances.
The $token must have been created using Checkout or Elements.
StripeConnect::transaction($token)
->amount(1000, 'usd')
->from($customer)
->to($vendor, [], $company ?? false)
->create();
Sometimes, you may want to register a card then charge later. First, create the customer.
StripeConnect::createCustomer($token, $customer);
Then, (later) charge the customer without token.
StripeConnect::transaction()
->amount(1000, 'usd')
->useSavedCustomer()
->from($customer)
->to($vendor, $params = [], $company = false)
->create();
You may want to create the vendor account before charging anybody.
Just call createAccount with a User instance.
StripeConnect::createAccount($vendor);
StripeConnect::transaction($token)
->amount(1000, 'usd', 50)
->from($customer)
->to($vendor, $params = [], $company = false)
->create();
Fee have 2 parameters $amount and $isPercent.
You make set multi products usint multiple product() method. This method has 4 parameters $name, $amount, $quantity and $currency
On default $currency is taked from $vendor stripe info and $quantity = 1
$amount must be a float type
$sessionCheckout = new Checkout;
$session = $sessionCheckout->vendor(auth()->user())
->destinationCharges()
->serReferenceTransaction($order->reference_number)
->customer($user)
->product(__('orders.transaction.name', [
'days' => $days,
'project' => $projectName,
'campaign' => $campaignName,
]), $amount)
->fee(10, true)
->successUrl(route('orders.paymentSuccess', ['uuid'=>$order->uuid]))
->cancelUrl(route('orders.checkout', ['uuid'=>$order->uuid]))
->create();
$vendor = User:: (object) [
'first_name' => 'Zenon',
'last_name' => 'Burczymucha',
'phone' => '+48555555555',
'email' => '[email protected]',
'country' => 'PL',
];
$vendorCompany = Company:: (object) [
'city' => 'Warszawa',
'address' => 'Zatyna 12',
'address_2' => '',
'postcode' => '01-000',
'state' => 'Mazowieckie',
'name' => 'Firma Testowa',
'phone' => '+48555555555',
'tax_no_prefix' => 'PL',
'tax_no' => '0123456789',
'country' => 'PL',
];
We have only implemented the repositories for the Stripe resources we are using in our application.
If you find this package is missing a resource you need in your application, an ideal way to contribute is to submit a pull request to add the missing repository.