単発決済〜サブスクリプション決済、プラットフォーム作成までを全8回に分けて書いていきたいと思います!
今回は5回目の「【上級編】LaravelでStripeを使ってプラットフォーム型の単発決済をする①」になります。
全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でメール確認付きの安全な会員登録に変更しよう
今回は「5,【上級編】LaravelでStripeを使ってプラットフォーム型の単発決済をする①」になります。
前項でコネクトしたユーザー(子ユーザー)を介して決済があった場合に手数料としてコネクトされたユーザー(親ユーザー)にも支払いが行われる実装です。
決済の流れは下記の様になります。
一旦、親ユーザーのStripeに入金された後に子ユーザーに親ユーザーから入金が行われます。
Stripeの手数料3.6%は親ユーザーにかかります。
それでは実装していきましょう!
子ユーザーの決済ページを作る
複数コネクトした子ユーザーがあった場合、どの子ユーザーを介して決済があったかを知る必要があります。
その為に子ユーザーごとの決済ページを作成します。
resources→viewsを開きcharge.blade.phpを作成してください。
次に
routes→web.phpを開き下記を追加してください。
Route::get('connectcharge','ChargeController@connectcharge');
Route::post('onecharge','ChargeController@onecharge');
次にapp→Http→Controllers→ChargeController.phpを開いてください。
下記functionを追加してください。
1,000円入金があった内、400円を子ユーザーに入金します。
準備が整いましたので決済のテストをしてみましょう!
「サイトURL/connectcharge」へアクセスするとユーザー名と決済ボタンが表示されます。
コネクトしているユーザーのみ表示がされます。
「このユーザーを通じて決済をする」をクリックするとStripeの決済画面が立ち上がります。
テスト用のカード番号で決済してみましょう。
カード番号:4242 4242 4242 4242
MM/YY:01 20
cvc:000
「Charge successful」という画面に遷移されStripe管理画面のconnect→送金に金額が反映されていれば成功です!
コネクトを使った決済①については以上になります!
次回は親ユーザーではなく子ユーザーに直接入金し、親ユーザーに送金する流れのdirect chargeについてご説明致します。