arthurnassar/laravel-stripe-connect

v0.4.6 2024-08-01 16:51 UTC

README

这是由Simon Hamp(@simonhamp)创建的simonhamp/laravel-stripe-connect的分支。

此分支仅供个人使用

提示

此包假定您的User模型将代表您平台上的转账接收者,但这可以进行更改。

安装

通过Composer安装

composer require simonhamp/laravel-stripe-connect

.env中添加您的Stripe凭据

STRIPE_KEY=pk_test_XxxXXxXXX
STRIPE_SECRET=sk_test_XxxXXxXXX

运行迁移

php artisan migrate

重要

如果您打算使用除了您的users表之外的其他表来记录接收者的Stripe账户详情,请运行php artisan vendor:publish来发布迁移并选择适当的选项。然后您可以在应用的database/migrations文件夹中编辑已发布的迁移。

使用方法

Payable特性添加到任何您认为代表接收者的模型中。

use SimonHamp\LaravelStripeConnect\Traits\Payable;

class User extends Model
{
    use Payable;

然后您可以使用方便的方法让接收者设置或连接他们的Stripe账户到您的平台。

以下是一个示例路由,可以让用户通过Stripe Connect的注册流程

Route::get('/connect', function () {
    if (! auth()->user()->getStripeAccountId()) {
        auth()->user()->createStripeAccount(['type' => 'express']);
    }

    if (! auth()->user()->isStripeAccountActive()) {
        return redirect(auth()->user()->getStripeAccountLink());
    }

    return redirect('dashboard');
})->middleware(['auth']);

一旦用户的Stripe账户全部连接并激活,您就可以开始创建转账

auth()->user()->transfer(10000, 'usd');

注意

Stripe期望金额以货币的最小单位(在这种情况下为分)表示,所以上面的转账是向登录用户转账100美元。