Stripe x Okta 共催セミナー 2023/01 での講演資料です。
サブスクリプション決済入門Stripeでの実装方法と、要件定義時のポイントStripe x Okta 共催セミナー 2023/01@hidetaka_devJan 20231
View Slide
今日のトピック● Stripeでサブスクリプションを始める3つの方法● サブスクリプションの契約後に想定すべき3つの運用イベントとStripeでの対応方法● なぜStripeの組み込みは、Webhookを利用した「イベント駆動型」になるのか2Stripe x Okta 共催セミナー 2023/01
岡本 秀高 ( @hidetaka_dev )● Stripe Developer Advocate(ex-developer in Digitalcube)● JavaScript / TypeScript developer○ AWS Lambda / CDK○ Next.js / React○ WordPress / Alexa / etc● AWS Samurai 2017 /AWS Community Day APAC 2017● QiitaでStripeに関するDev blogを週2/3本で更新中○ https://qiita.com/hideokamoto○ 年間120記事ペース3Stripe x Okta 共催セミナー 2023/01
今日のトピック● Stripeでサブスクリプションを始める3つの方法● サブスクリプションの契約後に想定すべき3つの運用イベントとStripeでの対応方法● なぜStripeの組み込みは、Webhookを利用した「イベント駆動型」になるのか4Stripe x Okta 共催セミナー 2023/01
さまざまな場面で、サブスクリプション契約は発生する● StripeやOkta Customer Identity Cloud(旧Auth0)などのWebサービス● 食料品などの定期購入・宅配サービス● インターネット回線やテナントなどの利用契約● 保守運用費用やコンサルティングなどの専門サービス● etc..-> サービスの提供体系によって、サブスクリプションの始め方が変化する5Stripe x Okta 共催セミナー 2023/01
Stripeで実現できるサブスクリプションの始め方● 1: 事前に用意した料金に対して、顧客が申し込みを行う○ Stripe Billing + Stripe Payment Links / Checkout / Elements● 2: ユーザーごとに料金体系を動的に作成し、顧客が申し込みを行う○ Stripe Billing + Stripe Checkout / Elements● 3: 個別の料金体系を作成し、請求書を顧客に送付する○ Stripe Billing + Stripe Invoicing6Stripe x Okta 共催セミナー 2023/01
Stripe Billingでサブスクリプション運用を簡単にする● 請求処理や再請求処理、プラン変更の日割計算など● 従量課金やパッケージ価格にも対応● クレジットカード・銀行振込など複数決済に対応● 利用料: 決済額の0.5%7Stripe x Okta 共催セミナー 2023/01
Stripe Invoicingで請求書発行などの請求業務を効率化● オンライン / PDFの請求書を発行・送付○ API組み込みにも対応● クレジットカード・銀行振込など複数決済に対応● 銀行振込は1時間単位での自動消し込みをサポート● 利用料: 決済額の0.4%8Stripe x Okta 共催セミナー 2023/01
Stripe Payment Linksでノーコードな申し込みページ● buy.stripe.comで申し込み用URLを作成● URLを共有するだけで決済やサブスク申し込みの導線を作ることができる● アップセルやクロスセルにも対応● 利用料: 無料9Stripe x Okta 共催セミナー 2023/01
Stripe Checkoutでローコードで決済フォームを実装● リダイレクト型決済フロー● 数行のコードで、安全かつ高機能な決済フォームが実現● アップセルやクロスセルにも対応● 利用料: 無料*カスタムドメインは月10USD10Stripe x Okta 共催セミナー 2023/01
Stripe Elementsでデザインに馴染む高機能決済フォーム● 埋め込み型決済フォーム● 複数の決済方法をサポート● CSS変数やテーマ機能で見た目のカスタマイズが可能● 利用料: 無料11Stripe x Okta 共催セミナー 2023/01
ビジネス体系に応じた製品の使い分け● 顧客向けのダッシュボードやUIがまだない○ Invoicingで請求書を発行○ Payment Linksで申し込みURLを作成● ダッシュボードなどの開発工数を低く抑えたい○ Checkoutや料金表で、Stripeが用意する決済画面を利用する● ブランドにあったデザインで組み込みを行いたいより複雑な条件や追加の入力フォームをフローに組み込みたい○ Elementsを利用し、JavaScriptで決済フォームを埋め込み12Stripe x Okta 共催セミナー 2023/01
埋め込み型の料金表● Stripeに登録した料金データで料金表を作成できる● HTML / JSのスニペットを埋め込みだけで実現● 機能表やラベルのカスタマイズなども可能● 利用料: 無料13Stripe x Okta 共催セミナー 2023/01src="https://js.stripe.com/v3/pricing-table.js">pricing-table-id="prctbl_xxxxx"publishable-key="pk_test_xxxxx">
今日のトピック● Stripeでサブスクリプションを始める3つの方法● サブスクリプションの契約後に想定すべき3つの運用イベントとStripeでの対応方法● なぜStripeの組み込みは、Webhookを利用した「イベント駆動型」になるのか14Stripe x Okta 共催セミナー 2023/01
サブスクリプションは、「契約してからが本番」● サブスクリプションは、「契約し続けてもらう」必要がある○ 使わないサブスクサービスは、解約される■ 競合他社への乗り換え: 「もっと安いor便利なサービスにしよう」■ 需要の消失: 「子どもが成長したので、もう使わない」● 機能への不満だけでなく、サポートや契約体系などへの不満も解約理由になりうる15Stripe x Okta 共催セミナー 2023/01
サブスクリプションで発生しやすいサポートタスク● 契約内容の確認と変更○ プランの変更や解約・請求履歴の確認○ 請求書等の送付先住所・メールアドレスの変更● 決済に関連する事象○ カードの有効期限切れや銀行振込の入金忘れ○ 不正決済の申し立て(チャージバック請求)対応● 営業やマーケティングなどとの連携○ 優良顧客の特定、会計データのエクスポート16Stripe x Okta 共催セミナー 2023/01
Stripeで運用タスクを効率化する● 契約内容の確認と変更○ Customer Portalでリダイレクト型請求マイページを実装● 決済に関連する事象○ 支払い失敗などの通知メールの自動送信○ 3DS2への対応やRadarを利用した不正検知システムの提供● 営業やマーケティングなどとの連携○ ダッシュボードやAPIの検索機能、レポート機能17Stripe x Okta 共催セミナー 2023/01
Stripe Customer Portalで請求マイページ● リダイレクト型顧客請求マイページ● 顧客情報・決済情報請求履歴・プラン変更など● ノーコード / APIで組み込みが可能● 利用料: 無料18Stripe x Okta 共催セミナー 2023/01
失敗した支払いのフォローアップ● 決済の再試行を3回実施● 失敗した場合に、メールを送信して情報更新● 有料オプションを利用して、スマートリトライなど追加機能もBilling Scale (0.8%)19Stripe x Okta 共催セミナー 2023/01
3Dセキュア2への対応や不正利用対策● 3Dセキュア2に対応○ 組み込み作業はほぼ不要● レポートを元にリクエストの閾値を調整可能● Radarを利用して、カスタムの認証ルールなども設定が可能になる20Stripe x Okta 共催セミナー 2023/01
ダッシュボードのフィルタ機能で、見たい情報を抽出● 各情報一覧にある「フィルタ機能」○ Billing, Payment, Customer, etc● 作成日や決済ステータスで、情報をフィルタリング○ 例:直近X日に作成された、 未払いのサブスクリプション● フィルタ条件は、URLのクエリ文字列として追加される○ /payments?status[0]=canceled&status[1]=blocked● 「よく見る条件」をブックマーク社内Wikiやポータルで共有しよう21Stripe x Okta 共催セミナー 2023/01
今日のトピック● Stripeでサブスクリプションを始める3つの方法● サブスクリプションの契約後に想定すべき3つの運用イベントとStripeでの対応方法● なぜStripeの組み込みは、Webhookを利用した「イベント駆動型」になるのか22Stripe x Okta 共催セミナー 2023/01
サブスクリプションの「状態変化」をWebhookで検知● サブスクリプションでは、さまざまな出来事が発生する○ プランを変更した・解約した○ 今月の決済で、LTVが1000万円を突破した○ 銀行振込の入金額が不足していた● 運用タスクは、顧客や契約の「状態」が変化したときに発生する○ Stripeの中で状態が変化が発生したことを、外に伝える仕組みがStripe Webhook23Stripe x Okta 共催セミナー 2023/01
Webhookで、運用業務を自動化する● Webhookを利用して、「XXの時、YYを行う」ワークフローが組める○ 未払いが発生した時、ユーザーに提供する機能を制限する○ トライアル期間終了間際に、フォローアップメールを送付する○ 年間の決済額が一定額を超えた時、特別割引を適用する● 「連携するためのシステム」はノーコードでも構築可能○ Zapierなどのノーコードサービスを利用する○ Webhook APIを開発して、システムと連携する■ AWS / GCP / Azureなどのワークフローサービスでローコードに開発することも可能24Stripe x Okta 共催セミナー 2023/01
StripeとOkta Customer Identity Cloud(CIC)を連携する● Stripeのサブスクが状態変化したとき、Okta CICのユーザーを操作する● 連携の例:○ サブスクリプションを解約したら、ユーザーを削除する○ プランが変わった時、ユーザーの権限を変更する● バッチ処理での連携も○ Okta CICのOrganizations参加人数に応じた従量課金の請求をStripeで作成25Stripe x Okta 共催セミナー 2023/01
まとめ● Stripeを利用して、さまざまなサブスクリプション契約を提供できる○ 請求書 / URL / システム組み込み○ 従量課金, パッケージ価格 / 月額, 年額, 四半期● サブスクリプションでは、「運用・サポート」タスクを要件に含めよう○ 未払い対応 / 状況確認 / カスタマーサクセス● Webhookを利用して、Okta CICなどと契約状態の変化を共有しよう○ ノーコードサービス / クラウドサービス / API開発26Stripe x Okta 共催セミナー 2023/01