stripeとは
システムで決済を行う際に決済代行会社の選定は悩みます。
本記事で扱うstripeは海外のサービスでありながら、各国の税制に対応していたりと、グローバルなサービスには強い特徴があります。
また、PHPのフレームワークであるLaravelでは、楽に導入できます。
本記事では、そんなstripeの難しい概念をざっくりと解説しようと思います。
より詳しい解説は公式ドキュメントをご覧ください。
https://docs.stripe.com/?locale=ja-JP
https://docs.stripe.com/api
本記事の対象
ざっくりとstripeの概念を解説します。
そのため、本記事の対象は「はじめてstripe使うけど、複雑でよくわからない!」という方になります。
かなり割愛した内容なので、技術書でいうところの入門書の入門書です。
Customer
所謂、ユーザーや会員と同義です。
customerに支払い方法やサブスクリプションが紐付きます。
PaymentMethod
支払い方法です。
Customerは複数の支払い方法を持てます。
ここでの支払い方法はカード決済といった支払い方法だけでなく、カードそのもののことです。
Subscription
定期購入・継続購入のことです。
指定された期間(毎月・毎年)に決められた金額を自動で決済します。
Customerは複数Subscriptionを持てます。
また、ステータスも存在し、トライアル状態、アクティブ、決済施行中、キャンセルetc..が存在します。
Price
商品という呼ばれ方をしています。
Subscriptionに紐付きます。
前項で記載した、
- 指定された期間
- 決められた金額
はPriceで設定します。
SubsctiptionではなくPriceで期間や金額を持つことにより、Subscriptionのプラン変更が容易にできる印象です。
Invoice
請求のことです。
毎月決済を行うSubscriptionが設定されている場合、毎月Invoiceが作成されます。
使い方
Customerに対して、Priceを設定してSubscriptionを作成します。
Priceで設定した期間ごとにInvoiceが作成されます。
カード等をPaymentMethodに設定していた場合、自動で決済が行われます。
おまけ
ここからは、stripeからは少し離れて、3Dセキュア認証についてざっくり解説します。
3Dセキュアとは
3Dセキュアとは、不正利用防止の本人認証のことです。
ECサイト等で買い物をしたときに、カード会社のページに遷移してSMS送信されたパスコードを入れたり・・・とするアレです。
https://www.meti.go.jp/press/2023/03/20240315002/20240315002.html
2025年3月末までにEC事業者は対応が必須とされています。
自動決済の場合の対応
カード番号を入力して、3Dセキュアで認証して決済。
通常の決済は確かに良いのですが、Subscriptionの場合は自動決済のため、できないのではないかという疑問が発生します。
その疑問に対して、stripeでは「本人認証が発生する場合があります」と表明(?)しています。
既に作成されたSubscriptionに紐付くInvoiceに対して、本人認証を別途行う必要があります。
余談ですが、fincodeやPGマルチペイメントの場合には「自動決済では本人認証が発生しない」と表明(?)しています。
しかし、支払い方法の設定時に3Dセキュア認証が発生する場合があります。(stripeでは支払い方法の設定では発生しない)
最後に
ざっくりと解説しました。
本当にざっくりです。
詳細に解説しようとすると、各パラメーターや、そもそもアカウントの種類、その他概念等々・・・・日が暮れてしまいますので、本当にざっくりにしました。
外部サービスってサービス毎に概念理解しなくてはいけなくて大変ですよね・・・・