osenco / subscriptions
一个简单易用的订阅包
v0.0.1-alpha
2023-08-06 04:19 UTC
Requires
- php: >=8.2
- illuminate/console: ^8.0|^10.0
- illuminate/database: ^8.0|^10.0
- illuminate/support: ^8.0|^10.0
This package is auto-updated.
Last update: 2024-09-06 07:55:45 UTC
README
Laravel 订阅包
安装
composer require osenco/subscriptions
设置与配置
php artisan vendor:publish --provider="Osen\Subscriptions\SubscriptionsServiceProvider"
php artisan migrate
// 或者使用安装命令
php artisan subscriptions:install
用法
将特质添加到您的用户模型中
use Osen\Subscriptions\Concerns\HasSubscriptions; class User extends Authenticatable { use HasSubscriptions; // <- here }
创建一个计划
use Osen\Subscriptions\Models\SubscriptionPlan; $plan = SubsriptionPlan::create([ 'name' => 'Basic', 'description' => 'Basic plan', 'price' => 1000, 'interval' => 'month', 'interval_count' => 1, 'trial_period_days' => 30, 'active' => true, ]);
或者使用 Plan Facade
use Osen\Subscriptions\Facades\Plan; ... Plan::called('Basic') ->describedAs('Basic plan') ->pricedAt(1000) ->interval('month') // or interval('months', 5) ->trialDays(30) ->active() ->save();
将用户订阅到一个计划
use Osen\Subscriptions\Facades\Subscription; use Osen\Subscriptions\Facades\Subscribe; $user = User::find(1); $plan = Plan::find(1); $subscription = $user->subscribeTo($plan, 1); //OR use the Subscribe Facade for one or multiple users $subscription = Subscribe::subscriber($user)->to($plan, 1); $subscription = Subscribe::subscribers($userIds)->to($plan, 1);
为订阅添加宽限期
$subscription = $user->subscribeTo($plan, 1)->gracePeriodDays(7);