0からはじめるプログラマー独立・開業ブログ

【上級編】LaravelでStripeを使ってプラットフォーム型の単発決済をする①

更新日:

この記事は決済システムの組み込みが可能になるStripeのAPIをPHPのLaravelフレームワークへの実装の仕方についてになります。
単発決済〜サブスクリプション決済、プラットフォーム作成までを全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についてご説明致します。

  • B!