ホームページ  >  記事  >  PHPフレームワーク  >  Laravel 開発: Laravel Cashier を使用してサブスクリプションの支払いを処理するにはどうすればよいですか?

Laravel 開発: Laravel Cashier を使用してサブスクリプションの支払いを処理するにはどうすればよいですか?

王林
王林オリジナル
2023-06-14 09:38:431311ブラウズ

インターネット時代において、サブスクリプション モデルは主要なビジネス モデルの 1 つになりました。多くの企業は、サブスクリプション モデルを通じて、より安定した収益源を達成できます。 Laravel Cashier は、サブスクリプションの支払いを処理する便利な方法を提供します。

Laravel Cashier は、Taylor Otwell によって作成された Laravel コンポーネントであり、開発者による Stripe ベースのサブスクリプション支払いの処理を支援します。 Stripe は、安全で柔軟かつ強力な支払い処理機能を提供する人気のオンライン支払いサービスです。この記事では、Laravel Cashier を使用して Laravel プロジェクトでサブスクリプションの支払いを処理する方法を説明します。

  1. Laravel Cashier のインストール

まず、composer を使用して Laravel Cashier をインストールする必要があります。ターミナルで次のコマンドを実行して、インストールを完了します。

composer require laravel/cashier
  1. Stripe API キーの構成

次に、Laravel プロジェクトで Stripe API キーを構成する必要があります。 Stripe Web サイトでアカウントを作成すると、「API」メニューの下に Stripe API キーが表示されます。 config/services.php ファイルを開き、次のコードを追加します:

'stripe' => [
    'key' => env('STRIPE_KEY'),
    'secret' => env('STRIPE_SECRET'),
],

この構成ファイルは、Stripe API キーを .env ファイルに保存します。.env ファイルに次の内容が含まれていることを確認してください:

STRIPE_KEY=your_stripe_key
STRIPE_SECRET=your_stripe_secret
  1. サブスクリプションプランの作成

Stripe Web サイトでサブスクリプションプランを作成した後、支払いオプションとして使用できるように、これらのプランを Laravel アプリケーションに追加する必要があります。 app/Providers/AppServiceProvider.php ファイルを開き、次のコードを追加します:

use LaravelCashierCashier;

public function boot()
{
    Cashier::useSubscriptionModel(YourSubscriptionModel::class);
    Cashier::useCurrency('usd', '$');
    Cashier::usePlans([
        'monthly' => [
            'name' => 'Monthly Subscription',
            'description' => 'Monthly subscription',
            'price' => 10,
        ],
        'yearly' => [
            'name' => 'Yearly Subscription',
            'description' => 'Yearly subscription',
            'price' => 50,
        ],
    ]);
}

このコード ブロックには 2 つの重要な要素が含まれています: 最初の要素は、アプリのモデルとして作成する必要があるサブスクリプション モデルを使用してサブスクリプションを定義します。部分。2 番目の要素はサブスクリプション プランを定義し、利用可能なすべてのサブスクリプション オプションを作成および表示するために使用されます。

  1. サブスクリプションと支払い

これで、Web アプリケーションでユーザーのサブスクリプションを作成できるようになります。 Laravel Cashier には、ユーザーのサブスクリプションを簡単に管理できる便利なメソッドがいくつか用意されています。

// 为用户创建订阅
$user->newSubscription('main', 'monthly')->create($token);

// 获取用户当前订阅
$user->subscription('main');

// 取消用户订阅
$user->subscription('main')->cancel();

// 恢复用户订阅
$user->subscription('main')->resume();

// 对用户订阅进行切换
$user->subscription('main')->swap('yearly');

上記のコード例では、まず newSubscription() メソッドを使用してユーザーの新しいサブスクリプションを作成します。メソッドはサブスクリプション名を指定し、2 番目のパラメーターはプラン名を指定します。次に、create() メソッドを使用して支払いを処理し、Stripe トークンをパラメータとして渡します。 subscription() メソッドを使用して、ユーザー サブスクリプションの取得、キャンセル、復元、切り替えなどの他の操作を実行することもできます。

  1. サブスクリプション情報の表示

最後に、ユーザーの現在のサブスクリプション情報をプロフィール ページに表示できます。簡単なコード例を次に示します。

@if ($user->subscribed('main'))
    <p><b>Plan:</b> {{ $user->subscription('main')->stripe_plan }}</p>
    <p><b>Renewal Date:</b> {{ $user->subscription('main')->ends_at->toFormattedDateString() }}</p>
@endif

このコード ブロックには、ユーザーがアプリケーションにサブスクライブしているかどうかを確認する簡単な条件ステートメントが含まれています。ユーザーがすでに購読している場合は、ユーザーのプラン名と更新日を表示できます。

概要

この記事では、Laravel Cashier を使用してサブスクリプションの支払いを処理する方法について説明しました。まず、Laravel Cashierをインストールし、Stripe APIキーを設定しました。次に、いくつかのサブスクリプションプランを作成し、Laravel Cashier に組み込まれているプラ​​ンをそれらに置き換えました。次に、ユーザーがサブスクリプションを作成、キャンセル、再開するためのいくつかのメソッドを使用します。最後に、ユーザーの現在のサブスクリプション情報をプロフィール ページに表示します。この記事がお役に立てば幸いです。ご質問やご提案がございましたら、下のコメント欄に残してください。

以上がLaravel 開発: Laravel Cashier を使用してサブスクリプションの支払いを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。