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

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

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

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

今日のサブスクリプション経済では、多くの企業や新興企業が、音楽、映画、ゲームからクラウド ストレージやアプリケーションなどに至るまで、さまざまなサブスクリプション サービスを提供しています。開発者の場合は、サブスクリプションの支払いを処理できるシステムを構築する必要があります。この記事では、Laravel Cashier と Braintree を使用してこれを実現する方法を説明します。

Laravel Cashier は、サブスクリプションと支払いを処理するためのシンプルかつ強力なインターフェイスを提供する Laravel 拡張機能です。 Braintree は、さまざまな支払い方法を簡単に受け入れることができるグローバルなオンライン支払い処理プラットフォームです。

具体的な実装にはLaravel 8とBraintreeを使用します。プロジェクトに Laravel Cashier および Braintree 拡張機能をインストールする必要があります。具体的な実装手順は次のとおりです。

  1. 環境変数の設定

まず、プロジェクトに環境変数を設定して、Braintree API キーやその他の設定を保存する必要があります。 .env ファイルに環境変数を設定できます。 Braintree API テスト キーの使用例を次に示します。

BRAINTREE_ENV=sandbox
BRAINTREE_MERCHANT_ID=your_merchant_id
BRAINTREE_PUBLIC_KEY=your_public_key
BRAINTREE_PRIVATE_KEY=your_private_key
  1. Braintree 支払いポータルの作成

次に、Braintree コントロール パネルで支払いポータルを作成する必要があります。 。各ポータルには、支払いの処理に使用される一意の識別子と資格情報があります。コントロール パネルでポータルを作成した後、資格情報をコピーして保存します。

  1. Braintree の構成

次に、Braintree 構成を config/services.php ファイルに追加する必要があります。構成例を次に示します。

'braintree' => [
    'environment' => env('BRAINTREE_ENV'),
    'merchant_id' => env('BRAINTREE_MERCHANT_ID'),
    'public_key' => env('BRAINTREE_PUBLIC_KEY'),
    'private_key' => env('BRAINTREE_PRIVATE_KEY'),
],
  1. サブスクリプション プランの作成

Laravel Cashier と Braintree を使用してサブスクリプション プランを作成できるようになりました。サブスクリプション プランは、毎月または毎年など、定期的に料金が請求されるサービスです。サブスクリプション プランを作成する方法の例を次に示します。

use LaravelCashierSubscription;

$subscription = Subscription::create([
    'name' => 'Monthly Subscription Plan',
    'stripe_id' => 'monthly-subscription-plan',
    'stripe_plan' => 'monthly',
    'quantity' => 1,
    'trial_period_days' => 14,
]);

$user->subscriptions()->save($subscription);

この例では、「Monthly Subscription Plan」というサブスクリプション プランを作成します。その Stripe_id は「monthly-subscription-plan」、ストライプ_プランは「monthly」です。 」。 「quantity」パラメータはサブスクリプションの数量を指定し、「trial_period_days」パラメータは試用期間の日数を指定します。購読情報を保存すると、ユーザーはプランに購読できるようになります。

  1. 支払いの処理

最後に、サブスクリプションの支払いを処理する必要があります。幸いなことに、Laravel Cashier はすでに支払いの詳細を処理しています。 Laravel Cashier を使用すると、支払いゲートウェイの複雑さを心配することなく、支払いを簡単に処理できます。支払い処理の例を次に示します。

use LaravelCashierCashier;

$user = User::find(1);

$paymentMethod = $user->defaultPaymentMethod();

$payment = $user->charge(10, $paymentMethod);

if ($user->subscribed('monthly-subscription-plan')) {
    // 更新用户的订阅和付款信息
    $user->subscription('monthly-subscription-plan')->update([
        'stripe_id' => $payment->id,
        'ends_at' => null,
    ]);
}

この例では、$user->defaultPaymentMethod() メソッドを使用してユーザーのデフォルトの支払い方法を取得し、10 ドルを請求します。サブスクリプション プランが「Monthly-Subscription-plan」の場合、ユーザーのサブスクリプションおよび支払い情報が更新されます。

結論

Laravel Cashier と Braintree を使用すると、サブスクリプションの支払いの処理が簡単になりました。サブスクリプション プランを簡単に作成および管理し、支払いを処理できます。もちろん、これは単なる例であり、独自のプロジェクトにさらに機能を追加できます。この記事がお役に立てば幸いです!

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

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