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

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

WBOY
WBOYオリジナル
2023-06-14 08:44:071223ブラウズ

消費者にサブスクリプション サービスを提供し始める企業が増えるにつれ、サブスクリプションの支払いは現代のインターネット コマースの重要な部分となっています。サブスクリプションサービスを構築したい場合、または既存のサービスにサブスクリプション支払い機能を追加したい場合は、Laravel Cashier と Paddle の組み合わせが適切なソリューションを提供します。

Laravel Cashier は、Laravel によって開発された拡張パッケージで、サブスクリプション処理と支払いゲートウェイの統合のためのシンプルで使いやすいインターフェイスを提供します。 Paddle は、標準に準拠した方法で支払いとサブスクリプションを処理できるようにするグローバル支払いソリューションです。

この記事では、Paddle アカウントと Laravel プロジェクト環境のセットアップ方法、サブスクリプション支払いの処理方法、Paddle のテスト方法など、Laravel Cashier と Paddle を使用してサブスクリプション支払いを処理する方法について説明します。

Paddle アカウントをセットアップする

Paddle を支払いゲートウェイとして使用するには、まず Paddle アカウントを作成する必要があります。 Paddle アカウントを作成したら、Paddle で製品を作成する必要があります。この製品は、サブスクリプション サービスのメイン製品になることも、アドオン製品またはサービスになることもできます。

次に、配送場所と税金ルールを設定する必要があります。これらのルールは、サービスのローカリゼーション範囲およびその他の重要な要素によって異なります。最後に、Paddle で製品の価格プランまたはサブスクリプション プランを設定する必要があります。このプランでは、サブスクリプション サービスの価格、支払いサイクル、およびその他の関連情報を定義します。

Laravel 環境をセットアップする

Laravel 環境をセットアップする前に、Laravel バージョンと PHP バージョンの要件を決定する必要があります。 Laravel Cashier は Laravel 5.1 以降で実行する必要があり、Paddle は PHP 7.0 以降で実行する必要があります。

Laravel と PHP のバージョン要件を確認したら、Laravel プロジェクトに Laravel Cashier を導入する必要があります。次のコマンドを実行して Laravel Cashier をインストールできます:

composer require laravel/cashier

インストールが成功したら、config/app.php にサービスプロバイダーとエイリアスを追加する必要があります。次のサービス プロバイダーをプロバイダー配列に追加します:

LaravelCashierCashierServiceProvider::class,

次のエイリアスをエイリアス配列に追加します:

'Cashier' => LaravelCashierFacadesCashier: : class,

次に、パドル情報を設定する必要があります。次の情報を config/services.php に追加します:

'paddle' => [

'vendor_id' => env('PADDLE_VENDOR_ID'),
'vendor_auth_code' => env('PADDLE_VENDOR_AUTH_CODE'),

],

上記の情報を Paddle アカウントに置き換える必要があります情報。この情報は、Paddle アカウントの設定ページで確認できます。

サブスクリプション支払いの処理

Paddle アカウントと Laravel 環境のセットアップが完了したので、Laravel Cashier と Paddle を使用してサブスクリプション支払いの処理を開始できます。

アプリケーションでは、支払いリクエストを処理するための簡単なルートを作成できます。例:

Route::get('/subscribe', function () {

$plan = request('plan');

$user = auth()->user();

$user->newSubscription('main', $plan)->create(request()->query('email'), [
    'metadata' => [
        'name' => $user->name,
        'company' => $user->company,
    ]
]);

return redirect('/');

});

上記のコードでは、Cashier を使用してサブスクリプションの新機能。まずユーザーの電子メール アドレスを取得して、新しいサブスクリプションを作成します。サブスクリプションを作成するとき、いくつかのユーザー情報をメタデータ配列に追加します。

defaultPaymentMethod メソッドを使用して、ユーザーのデフォルトの支払い方法を指定することもできます:

$user->defaultPaymentMethod('pm_1234567890');

支払いが受け取られたとき、Stripe イベントを使用して、ユーザーの支払いステータスを自動的に更新できます。例:

Route::post('/ストライプ/webhook', function (Request $request) {

$payload = $request->all();
$event = null;

if (isset($payload['type'])) {
    $event = StripeEvent::constructFrom($payload);
}

if ($event && $event->type === 'customer.subscription.updated') {
    $subscription = $event->data->object->id;
    $customer = $event->data->object->customer;

    $user = User::where('stripe_id', $customer)->first();

    $user->subscriptions()->where('stripe_id', $subscription)->update([
        'stripe_status' => $event->data->object->status,
    ]);
}

return response()->json(['success' => true]);

} ) ;

上記のコードでは、Stripe イベントを使用してユーザーのサブスクリプション ステータスを更新します。具体的な使用方法については、Stripe のドキュメントを参照してください。

テスト

上記の手順を完了し、サブスクリプションの支払いを実装した後、Paddle をテストして、すべての機能が適切に動作していることを確認する必要があります。

テストする前に、Paddle アカウントとテスト環境用のテスト製品を構成する必要があります。コードがテスト環境に対してスムーズに動作することを確認するには、テスト時にテスト量とテスト サブスクリプション ループを使用する必要があります。

テストが完了したら、Paddle ダッシュボードでテスト データを表示して、すべてが適切に動作していることを確認できます。問題が発生した場合は、Laravel Cashier または Paddle のドキュメントで詳細情報を見つけることができます。

結論

Laravel Cashier と Paddle の統合により、サブスクリプション支払い機能を実装するためのシンプルで構成が簡単なソリューションが提供されます。新しいサブスクリプション サービスを構築する場合でも、既存のサービスにサブスクリプション支払い機能を追加する場合でも、この組み合わせにより適切なソリューションが提供されます。

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

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