Laravel PHP プログラミング

便利すぎる!単発決済、サブスクリプション決済、プラットフォームまで作れちゃうStripeの機能まとめ

更新日:

今、話題の決済サービス「Stripe」の活用方法についての記事になります。「Stripe」の利点、実際に作成できる決済方法や実装に便利だった環境や実装できた決済の種類をご紹介します。

※具体的な実装について書き出すと長くなりすぎる為、実装については追々書いていきたいと思います!

Stripeとは?

Stripe はインターネットビジネスのためのソフトウェアプラットフォーム決定版です。
世界中の先進的な企業のために、毎年何兆円にのぼる決済処理を取り扱っています。
引用元:https://stripe.com/jp

上記は Stripe社のWEBサイトからの引用になります。
日本の三井住友が資本参加するなど、今、決済業界でかなり熱いサービスになります!
カードの取扱種類も多いのが魅力です!

  • Visa
  • Mastercard
  • amex
  • JCB(※JCBは利用にサイト審査が必要です。)
  • Apple Pay

Stripeの魅力① 決済画面がシンプル

下記、Stripeでの決済画面です。

決済ボタンをクリックするとカードとメールアドレス情報を入力する画面がポップアップします。
「決済情報を保存する」にチェックを入れておけば次回からの入力も省けます!
また、決済フォームにの入力項目を増やす事もでき、下記の様な住所な氏名の入力も可能ですのでECサイトの作成にも向いていますね!

 

フォームについてはStripe社が提供しているコードを埋め込むだけでOKです!

※送信情報の受け取り側のプログラム構築は別途必要です。

Stripeの魅力② システムへの組み込みが便利で決済種類も豊富

Stripeの魅力(私がハマった部分)といえばシステムへの組み込みやすさでしょう!

「Ruby」、「Python」、「PHP」、「Java」、「Node」、「Go」、「.NET」、「iOS」、「Android」
各言語対応のAPIライブラリを用意してくれているので、困った時にはこちらをみれば安心です!

https://stripe.com/docs/libraries

Stripeでできる(できた)決済の種類

決済の種類も豊富です!この後ご説明しますが

  • 単発決済
  • サブスクリプション決済
  • プラットフォーム型(単発決済)
  • プラットフォーム型(サブスクリプション決済)

あらゆる決済方法への組み込みが可能です!

 

実装に便利な環境(PHP)

私が実装に使った環境をご紹介します。

  • 言語:PHP7
  • データベース:MySql
  • フレームワーク:Laravel
  • 使用パッケージ:Laravel Cashier

普段からPHP、Laravel環境で開発を行っているのでPHP、Laravelを採用しました。
Laravelは管理画面の構築などが自動で行えるなど、Stripeと親和性の高いパッケージが複数あります。
また、LaravelにはStripe用のパッケージ「Laravel Cashier」があり、開発速度を爆速にしてくれます!
https://laravel.com/docs/5.6/billing

また、Stripeには「テストモード」があります。
テストモードでは架空のカード番号を使い架空の取引を行えますので開発段階でのカード決済テストに便利です!
※管理画面のテストモード

※Stripe開発での注意点
Stripeでは開発でも本番環境でもSSL(https化)した環境でしか動作しません。

必ずSSL化した環境でテストを行いましょう。

単発決済

一回の単発決済です!

流れは下記図の様になります。

Stripeの決済ボタンを設置している販売サイトAから購入された場合です。
最もシンプルな決の仕組みになります。
送られてきた決済情報をStripeへ送信し決済処理を行ってもらうプログラムが必要ですがStripe公式へ複数の言語で記載してくれています!

https://stripe.com/docs/charges

決済された情報はStripe管理画面の「支払い」より確認する事ができます。

 

サブスクリプション型決済

最近流行りの定期決済になります。

一度決済を行った購入者から毎日〜毎月など定期的に自動で引き落としを行ってくれます。
流れは下記の様になります。

有料の会員制のサイトやサロンの作成に便利です!
登録された定期支払ユーザーの情報はBillingの定期支払より確認する事ができます。

 

プラットフォーム型決済

プラットフォーム型の決済になります!

少し聞き慣れない言葉になるかと思いますが、普段私達が使っている仕組みです。
例を上げるとamazonの様な形です。
amazonは直接販売も行っていますが、amazonに販売者登録をしたユーザーが販売した金額の手数料をamazonが徴収するという事も行っています。
このamazon(親)と販売者(子)の様な販売者から手数料を徴収する決済形式を作成することができます。

その為には2つ条件が必要になります。(Standardプランを用いた場合)

1つは手数料を徴収されるユーザーがStripeの利用ユーザーに登録する事
2つ目は徴収されるユーザーと徴収するユーザーで親子関係(コネクト)を構築する事です。

コネクトはプログラム上で行う事ができます。
※Stripeユーザー登録がまだの場合やログアウト中の場合は下記の様なユーザー登録から行う画面が表示されます。

 

コネクトが成功したユーザーは管理画面のConnect→アカウントより確認することができます。

 

プラットフォーム作成には必ずコネクトが必要になります。
コネクトについては下記公式にも詳しく書かれています!

https://stripe.com/docs/connect

プラットフォームを使った単発決済①

プラットフォーム機能を使った単発決済になります。

通常の単発決済と違い、決済額の一部が親ユーザーに入金されます。
流れは下記の様になります。

※下記はコネクト済みでの内容になります。

プラットフォームサイトA上のユーザーAの販売ページより購入者が購入した場合になります。
一旦、プラットフォームサイトAのStripeに入金された後に手数料を引いた金額がコネクトしたユーザーAのStrpeに送金されます。
親から子への送金の流れです。
この場合、Stripeへの決済手数料(3.6%)は親ユーザーにかかってきます。

また、購入者の情報については親ユーザーのみに分かり子ユーザーへは表示されません。

プラットフォームを使った単発決済②(direct charge)

こちらは大まかには単発決済①と同じですが、決済の流れが違います。
direct chargeと呼ばれる方法になります。

こちらでは、ユーザーAのStripeへ入金された後にプラットフォームサイトAのStripeへ手数料分入金される仕組みになります。
流れとしては子ユーザーから親ユーザーへの入金になり為、Stripeへの決済手数料(3.6%)は子ユーザーにかかります。

また、購入者の情報については子ユーザーのみに分かり親ユーザーへは表示されません。

プラットフォームを使ったサブスクリプション決済

最後はサブスクリプション決済を使ったプラットフォームです。

有料会員サイトやサロンを運営したいユーザーを子として親ユーザーが毎月や毎日の定期支払額から手数料を徴収する事ができます。
流れとしては下記の様になります。

 

一度、有料会員登録が行われるとコネクトしたユーザーと親ユーザーへの定期支払が実行され続けます。

 

Stripeを学習する上で良かった事

今回、組み込みのプログラム部分には触れていませんが、実際に組み込んでみると結構苦労しました・・・
公式の説明が全部英語な為、英語を訳して考える必要がありますね!
ただ、組み込みについてStripeへ何度も問い合わせをさせて頂いたのですが、とても丁寧に説明してくださりとても助かりました!

余裕が出てきたら各決済方法やプラットフォーム構築のプログラムの組み込みについても書いてみたいと思います!

 

決済画面を簡単に、またプラットフォーム構築をここまで簡易に行えるものは今まで出会った事はありませんでした!
最後になりましたら何度も丁寧に回答してくださったStripeのカスタマーセンターの方には本当に感謝しております!

ありがとうございました!

※当記事は筆者が実際にStripeを扱った上での内容になります。
誤りなどがございましたら大変お手数ではございますが問い合わせフォームよりご指摘の程お願い致します。

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

Copyright© TAKKUBLOG , 2018 All Rights Reserved.