LaravelとStripeの連携:サブスクに加入済みか判定し表示を変える方法

Laravel上の決済機能
スポンサーリンク

Laravelは、Stripeの決済機能と連携が可能です。

ミドルウェア機能を使って、ユーザーがサブスクリプションに加入しているか判断し、表示や動作を変更できます。

具体的な方法を解説していきますね。

LaravelとStripeを便利に使っていきましょう。

スポンサーリンク

LaravelとStripeの連携:サブスクに加入済みか判定し表示を変える方法

LaravelのプロジェクトとStripeが連携済みであるとして、説明を進めていきます。

Laravelにミドルウェアを設定し、ユーザーがサブスク加入済みかどうかで、次のように処理を振り分けます。

今回実行するステップは、次のとおり。

  1. ミドルウェアの作成と設定
  2. ミドルウェアファイルの編集
  3. ルート設定にミドルウェアを利用

詳しい手順を説明していきます。

① ミドルウェアの作成と設定

下記のコマンドで、ミドルウェアを作成します。

作成後、app/Http の中の Kernel.phpファイルに、作成したミドルウェアを登録しておきます。

protected $routeMiddlewareの一番下あたりに入れておきましょう。

kernel.php記入例


じゅんこ
じゅんこ

ミドルウェアを作成したら、ここの登録もお忘れなく!

② ミドルウェアファイルの編集

次に、作成した StripeMiddlewareファイルを編集します。

ミドルウェアファイルは、app/Http/Middleware の中に入っています。

Laravel8の公式マニュアルに沿って、次のように入れておきましょう。

【subscription】には、サブスク登録ページを設定しておきます。

このミドルウェアを使うと、ユーザーがサブスクに加入しているかどうか判定してくれます。

ユーザーがまだサブスクに加入していない場合、サブスク登録画面が表示されます。

公式マニュアルはこちら。

③ ルート設定にミドルウェアを利用

②で設定した StripeMiddlewareをルート設定で使っていきます。

routes/web.phpファイルを開き、登録情報ページへのルート設定を、次のようにミドルウェアでくくります。

Route::middleware([‘StripeMiddleware’])->group(function(){
登録情報ページへのルート設定;
});
なお、 group (function() {  の後は、複数のルート設定をいれておけます。
実際のコード例は次の通り。

これでユーザーが登録情報ページにアクセスしようとすると、ミドルウェアがユーザーのサブスク加入をチェックしてくれます。

おまけ:運用例

下記のようなリンクをサイドバーなどに貼っておきます。

ユーザーがサブスク未加入の場合には、サブスク登録ページが表示されます。

サブスク加入済みの場合は、登録情報ページが表示されます。

さいごに

今回は、ユーザーがサブスクリプションに加入しているかどうかをチェックするミドルウェアを作りました。

ミドルウェアの設定方法は、こちらでも解説しています。

「ミドルウェアってなに?」という方は、下記の記事もおすすめ。

渾身のマンガで解説してます^^

LaravelとStripeを連携させると、色々な操作が可能になります。

LaravelとStripeの連携にご興味があれば、関連記事もチェックしてみてください。

Laravel上の決済機能

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中!
会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

【個別サポート実施中】

「本ブログに記載の方法を試してみたけれど、うまくいかない」「コードを見てほしい」という方のために、有償でメールサポートいたします。以下のボタンをクリックして相談フォームにアクセスして下さい。

詳しく見る

Twitter始めました。
スポンサーリンク
40代からプログラミング!

コメント

タイトルとURLをコピーしました