Laravel PHP プログラミング

【準備編】プラットフォーム作成の為にコネクトを使おう

更新日:

この記事は決済システムの組み込みが可能になるStripeのAPIをPHPのLaravelフレームワークへの実装の仕方についてになります。
単発決済〜サブスクリプション決済、プラットフォーム作成までを全8回に分けて書いていきたいと思います!
今回は4回目の「【準備編】プラットフォーム作成の為にコネクトを使おう」になります。

 

全8回

1,【準備編】LaravelでのStripeの環境を作成する
2,【初級編】LaravelでStripeを使って単発決済を実装する
3,【中級編】LaravelでStripeを使ったSubscription決済をする
4,【準備編】プラットフォーム作成の為にコネクトを使おう
5,【上級編】LaravelでStripeを使ってプラットフォーム型の単発決済をする①
6,【上級編】LaravelでStripeを使ってプラットフォーム型の単発決済をする②※direct charge
7,【上級編】LaravelでStripeを使ってプラットフォーム型のSubscription決済をする
8,【番外編】Laravelでメール確認付きの安全な会員登録に変更しよう

今回は「4,【準備編】プラットフォーム作成の為にコネクトを使おう」になります。
プラットフォームを構築する際に、プラットフォームを利用しているユーザーから手数料など入金の一部を徴収する為に必要な事がコネクトになります。
コネクトの概要〜コネクトの作成までをご紹介します。

コネクトの概要は下記の図をご覧ください。

簡単にご説明すると親ユーザー(自分)の下に子ユーザーを作り、子ユーザーがStripeを通じて得た収益の一部を親ユーザーに手数料の様な形で入金をする仕組みになります。
親ユーザーに紐付いた子ユーザーを作成するのがコネクトです!
単発決済やサブスクリプション決済の両方でコネクトは利用できます。

データベースを修正する

コネクトに登録した際に子ユーザー固有のID(stripe_user_id)が付与されます。
※頭にacctが付いたIDになります。
このIDを格納する為にデータベースのUserテーブルにカラムを追加しましょう。

stripe_user_idという名前でusersテーブルにカラムを追加してください。

コネクト作成用のコードを追加する

次にapp→Http→Controllers→HomeController.phpを開き下記functionを追加してください。

クライアントIDはStripe管理画面のConnect→設置より確認できます。

また、この画面で「リダイレクト URI を追加…」をクリックし、「サイトURL/connect」を設定しておいてください。
※サイトURLはシステムを設置しているURLを入力してください。

次にRoutes→web.phpを開き下記を追加します。

Route::get('/connect','HomeController@connect');

次にconnect.blade.phpを作成しコネクトへ飛ばす為のボタンを追加します。
resources→viewsに入りconnect.blade.phpを作成してください。

次にresources→views→layouts→app.blade.phpを開きconnectページへのリンクを追加しましょう。

ではコネクトを使ってみましょう!
※注意:親ユーザーと同じアカウント(Stripe、会員サイトの会員両方)ではconnectできない為、別でアカウントをお持ちの方にテストを協力してもらうなどの必要があります。

まず、registerよりコネクトする用の新しいログイン情報を作成します。

作成が完了したらログインを行いユーザー名のプルダウンよりコネクトをクリックしコネクトページに入ってください。
※同じ親ユーザーと同じStripeアカウントではコネクトできません。

遷移したページでコネクトボタンをクリックします。
下記の様なStripeの画面に移動します。
※Stripeにログインしていない方はユーザー作成画面が表示されます。

「Connect my Stripe account」をクリックしてください。

connectボタンのあるページに画面が遷移すれば完了です。

Stripeの管理画面から確認してみましょう!

「Connect→アカウント」をクリックし、最近連結されたアカウントに追加されていれば成功です!

親ユーザーに子ユーザーが紐付けられている状態です!

次回は紐付けられたユーザーから親ユーザーに送金する実践的な実装を行っていきます!

-Laravel, PHP, プログラミング

Copyright© TAKKUBLOG , 2024 All Rights Reserved.