ホームページ >PHPフレームワーク >Laravel >Laravel 開発: Laravel Cashier を使用してサブスクリプション支払いを実装する方法は?
Laravel は、Web アプリケーションの開発プロセスを大幅に簡素化する人気のある PHP フレームワークです。 Laravel Cashier は、サブスクリプションの支払いを処理する機能を提供する支払い処理ライブラリです。 Stripe と統合して、ユーザーがサブスクリプション機能を備えたアプリケーションを実行できるようにすることができます。この記事では、Laravel Cashierを使用してサブスクリプション支払いを実装する方法を紹介します。
Laravel Cashier を使用する前に、Stripe アカウントを作成する必要があります。 Stripe はオンライン支払いを処理するためのクラウド プラットフォームであり、その API は Laravel Cashier と簡単に統合できます。 Stripe Web サイトにアクセスし、アカウントを作成して、コンソールにログインします。コンソールでは、Stripe を Laravel Cashier に統合するために必要な重要な情報である API キーを見つけることができます。
Composer を使用して、Laravel プロジェクトに Laravel Cashier をインストールします。ターミナルで、Laravel プロジェクトのルート ディレクトリに移動し、次のコマンドを実行します。
composer require laravel/cashier
上記のコマンドを実行すると、Composer は必要な依存関係を自動的にインストールし、Laravel Cashier をプロジェクトに追加します。
Laravel Cashier をインストールした後、Stripe API を適切に使用するように構成する必要があります。まず、プロジェクトで config/services.php ファイルを開き、次のコードをファイルに追加します。
'stripe' => [ 'model' => AppModelsUser::class, 'key' => env('STRIPE_KEY'), 'secret' => env('STRIPE_SECRET'), ],
上記のコードは、Stripe を使用するために必要な API キーを含む必要な設定情報を Laravel Cashier に提供し、ユーザーモデル。
次に、.env ファイルで Stripe API キーと Stripe Connect クライアント ID を構成します。
STRIPE_KEY=your-stripe-key STRIPE_SECRET=your-stripe-secret STRIPE_CLIENT_ID=your-stripe-client-id
後で Stripe を統合しますAPI を使用するには、アプリケーションで使用するサブスクリプション プランを作成する必要があります。 Stripe コンソールで、「製品」タブに移動し、「新規製品」をクリックして製品を作成します。製品を作成した後、[請求] タブを開き、[新しいプラン] をクリックしてプランを作成します。必要に応じてプラン名、価格、期間を入力し、「プランを作成」をクリックします。
Laravel Cashier はユーザーモデルを使用してサブスクリプションを管理します。したがって、続行する前に、ユーザー モデルにいくつかのメソッドを含める必要があります。ユーザーモデルを開き、次のコードをファイルの最後に追加します。
use LaravelCashierBillable; class User extends Model implements AuthenticatableContract, CanResetPasswordContract { use Authenticatable, CanResetPassword, Billable; }
上記のコードは、ユーザーモデルで Laravel Cashier の Billable トレイトを使用しています。これにより、ユーザーモデルで Laravel Cashier 関連のメソッドを使用できるようになります。
Laravel Cashier を使用してサブスクリプション関数を実装するのは非常に簡単です。ビューに次のフォームを追加するだけです:
<form method="POST" action="{{ route('subscribe') }}"> {{ csrf_field() }} <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key="{{ config('services.stripe.key') }}" data-amount="999" data-name="My Awesome Website" data-description="Monthly Subscription" data-image="https://stripe.com/img/documentation/checkout/marketplace.png" data-locale="auto"> </script> </form>
上記のコードは、Stripe 購読ボタンを Web サイトに追加します。ユーザーがボタンをクリックすると、Stripe ページにジャンプして購読プロセスを完了します。
コントローラーに次のコードを追加して、サブスクリプション情報をユーザー モデルに関連付けます。
public function subscribe(Request $request) { $user = $request->user(); $user->newSubscription('main', 'plan_id')->create($request->stripeToken); return redirect()->back(); }
上記のコードは、新しいサブスクリプションを作成し、それをユーザー モデルに関連付け、保存します。 Stripe のサブスクリプション支払い情報。次に、ユーザーをページにリダイレクトして戻し、アプリケーションの実行を続けます。
Laravel Cashier では、購読解除は非常に簡単です。特定のサブスクリプションをキャンセルするには、コントローラーに次のコードを追加するだけです。
public function cancel(Request $request) { $user = $request->user(); $user->subscription('main')->cancel(); return redirect()->back(); }
上記のコードは、特定のサブスクリプションをキャンセルし、ユーザーをページにリダイレクトします。
結論
Laravel Cashier は、サブスクリプションの支払いプロセスを大幅に簡素化できる強力な支払い処理ライブラリです。 Stripe API を使用することで、Laravel Cashier はサブスクリプションプロセスを Laravel アプリケーションに簡単に統合できます。この記事のガイダンスに従って、Laravel Cashier を使用してサブスクリプション支払い機能を簡単に実装できます。
以上がLaravel 開発: Laravel Cashier を使用してサブスクリプション支払いを実装する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。