Slide 1

Slide 1 text

サブスクリプション決済入門 Stripeでの実装方法と、要件定義時のポイント Stripe x Okta 共催セミナー 2023/01 @hidetaka_dev Jan 2023 1

Slide 2

Slide 2 text

今日のトピック ● Stripeでサブスクリプションを始める3つの方法 ● サブスクリプションの契約後に想定すべき 3つの運用イベントとStripeでの対応方法 ● なぜStripeの組み込みは、 Webhookを利用した「イベント駆動型」になるのか 2 Stripe x Okta 共催セミナー 2023/01

Slide 3

Slide 3 text

岡本 秀高 ( @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/hideoka moto ○ 年間120記事ペース 3 Stripe x Okta 共催セミナー 2023/01

Slide 4

Slide 4 text

今日のトピック ● Stripeでサブスクリプションを始める3つの方法 ● サブスクリプションの契約後に想定すべき 3つの運用イベントとStripeでの対応方法 ● なぜStripeの組み込みは、 Webhookを利用した「イベント駆動型」になるのか 4 Stripe x Okta 共催セミナー 2023/01

Slide 5

Slide 5 text

さまざまな場面で、サブスクリプション契約は発生する ● StripeやOkta Customer Identity Cloud(旧Auth0)などのWebサービス ● 食料品などの定期購入・宅配サービス ● インターネット回線やテナントなどの利用契約 ● 保守運用費用やコンサルティングなどの専門サービス ● etc.. -> サービスの提供体系によって、サブスクリプションの始め方が変化する 5 Stripe x Okta 共催セミナー 2023/01

Slide 6

Slide 6 text

Stripeで実現できるサブスクリプションの始め方 ● 1: 事前に用意した料金に対して、顧客が申し込みを行う ○ Stripe Billing + Stripe Payment Links / Checkout / Elements ● 2: ユーザーごとに料金体系を動的に作成し、顧客が申し込みを行う ○ Stripe Billing + Stripe Checkout / Elements ● 3: 個別の料金体系を作成し、請求書を顧客に送付する ○ Stripe Billing + Stripe Invoicing 6 Stripe x Okta 共催セミナー 2023/01

Slide 7

Slide 7 text

Stripe Billingでサブスクリプション運用を簡単にする ● 請求処理や再請求処理、 プラン変更の日割計算など ● 従量課金や パッケージ価格にも対応 ● クレジットカード・銀行振込など複 数決済に対応 ● 利用料: 決済額の0.5% 7 Stripe x Okta 共催セミナー 2023/01

Slide 8

Slide 8 text

Stripe Invoicingで請求書発行などの請求業務を効率化 ● オンライン / PDFの 請求書を発行・送付 ○ API組み込みにも対応 ● クレジットカード・銀行振込など複 数決済に対応 ● 銀行振込は1時間単位での 自動消し込みをサポート ● 利用料: 決済額の0.4% 8 Stripe x Okta 共催セミナー 2023/01

Slide 9

Slide 9 text

Stripe Payment Linksでノーコードな申し込みページ ● buy.stripe.comで 申し込み用URLを作成 ● URLを共有するだけで 決済やサブスク申し込みの 導線を作ることができる ● アップセルや クロスセルにも対応 ● 利用料: 無料 9 Stripe x Okta 共催セミナー 2023/01

Slide 10

Slide 10 text

Stripe Checkoutでローコードで決済フォームを実装 ● リダイレクト型決済フロー ● 数行のコードで、 安全かつ高機能な 決済フォームが実現 ● アップセルや クロスセルにも対応 ● 利用料: 無料 *カスタムドメインは月10USD 10 Stripe x Okta 共催セミナー 2023/01

Slide 11

Slide 11 text

Stripe Elementsでデザインに馴染む高機能決済フォーム ● 埋め込み型決済フォーム ● 複数の決済方法をサポート ● CSS変数やテーマ機能で 見た目のカスタマイズが可能 ● 利用料: 無料 11 Stripe x Okta 共催セミナー 2023/01

Slide 12

Slide 12 text

ビジネス体系に応じた製品の使い分け ● 顧客向けのダッシュボードやUIがまだない ○ Invoicingで請求書を発行 ○ Payment Linksで申し込みURLを作成 ● ダッシュボードなどの開発工数を低く抑えたい ○ Checkoutや料金表で、Stripeが用意する決済画面を利用する ● ブランドにあったデザインで組み込みを行いたい より複雑な条件や追加の入力フォームをフローに組み込みたい ○ Elementsを利用し、JavaScriptで決済フォームを埋め込み 12 Stripe x Okta 共催セミナー 2023/01

Slide 13

Slide 13 text

埋め込み型の料金表 ● Stripeに登録した料金データで 料金表を作成できる ● HTML / JSのスニペットを 埋め込みだけで実現 ● 機能表やラベルの カスタマイズなども可能 ● 利用料: 無料 13 Stripe x Okta 共催セミナー 2023/01

Slide 14

Slide 14 text

今日のトピック ● Stripeでサブスクリプションを始める3つの方法 ● サブスクリプションの契約後に想定すべき 3つの運用イベントとStripeでの対応方法 ● なぜStripeの組み込みは、 Webhookを利用した「イベント駆動型」になるのか 14 Stripe x Okta 共催セミナー 2023/01

Slide 15

Slide 15 text

サブスクリプションは、「契約してからが本番」 ● サブスクリプションは、「契約し続けてもらう」必要がある ○ 使わないサブスクサービスは、解約される ■ 競合他社への乗り換え: 「もっと安いor便利なサービスにしよう」 ■ 需要の消失: 「子どもが成長したので、もう使わない」 ● 機能への不満だけでなく、 サポートや契約体系などへの不満も解約理由になりうる 15 Stripe x Okta 共催セミナー 2023/01

Slide 16

Slide 16 text

サブスクリプションで発生しやすいサポートタスク ● 契約内容の確認と変更 ○ プランの変更や解約・請求履歴の確認 ○ 請求書等の送付先住所・メールアドレスの変更 ● 決済に関連する事象 ○ カードの有効期限切れや銀行振込の入金忘れ ○ 不正決済の申し立て(チャージバック請求)対応 ● 営業やマーケティングなどとの連携 ○ 優良顧客の特定、会計データのエクスポート 16 Stripe x Okta 共催セミナー 2023/01

Slide 17

Slide 17 text

Stripeで運用タスクを効率化する ● 契約内容の確認と変更 ○ Customer Portalでリダイレクト型請求マイページを実装 ● 決済に関連する事象 ○ 支払い失敗などの通知メールの自動送信 ○ 3DS2への対応やRadarを利用した不正検知システムの提供 ● 営業やマーケティングなどとの連携 ○ ダッシュボードやAPIの検索機能、レポート機能 17 Stripe x Okta 共催セミナー 2023/01

Slide 18

Slide 18 text

Stripe Customer Portalで請求マイページ ● リダイレクト型 顧客請求マイページ ● 顧客情報・決済情報 請求履歴・プラン変更など ● ノーコード / APIで 組み込みが可能 ● 利用料: 無料 18 Stripe x Okta 共催セミナー 2023/01

Slide 19

Slide 19 text

失敗した支払いのフォローアップ ● 決済の再試行を3回実施 ● 失敗した場合に、 メールを送信して情報更新 ● 有料オプションを利用して、 スマートリトライなど 追加機能も Billing Scale (0.8%) 19 Stripe x Okta 共催セミナー 2023/01

Slide 20

Slide 20 text

3Dセキュア2への対応や不正利用対策 ● 3Dセキュア2に対応 ○ 組み込み作業はほぼ不要 ● レポートを元に リクエストの閾値を調整可能 ● Radarを利用して、 カスタムの認証ルールなども 設定が可能になる 20 Stripe x Okta 共催セミナー 2023/01

Slide 21

Slide 21 text

ダッシュボードのフィルタ機能で、見たい情報を抽出 ● 各情報一覧にある「フィルタ機能」 ○ Billing, Payment, Customer, etc ● 作成日や決済ステータスで、 情報をフィルタリング ○ 例:直近X日に作成された、   未払いのサブスクリプション ● フィルタ条件は、 URLのクエリ文字列として追加される ○ /payments?status[0]=canceled&st atus[1]=blocked ● 「よく見る条件」をブックマーク 社内Wikiやポータルで共有しよう 21 Stripe x Okta 共催セミナー 2023/01

Slide 22

Slide 22 text

今日のトピック ● Stripeでサブスクリプションを始める3つの方法 ● サブスクリプションの契約後に想定すべき 3つの運用イベントとStripeでの対応方法 ● なぜStripeの組み込みは、 Webhookを利用した「イベント駆動型」になるのか 22 Stripe x Okta 共催セミナー 2023/01

Slide 23

Slide 23 text

サブスクリプションの「状態変化」をWebhookで検知 ● サブスクリプションでは、さまざまな出来事が発生する ○ プランを変更した・解約した ○ 今月の決済で、LTVが1000万円を突破した ○ 銀行振込の入金額が不足していた ● 運用タスクは、顧客や契約の「状態」が変化したときに発生する ○ Stripeの中で状態が変化が発生したことを、 外に伝える仕組みがStripe Webhook 23 Stripe x Okta 共催セミナー 2023/01

Slide 24

Slide 24 text

Webhookで、運用業務を自動化する ● Webhookを利用して、「XXの時、YYを行う」ワークフローが組める ○ 未払いが発生した時、ユーザーに提供する機能を制限する ○ トライアル期間終了間際に、フォローアップメールを送付する ○ 年間の決済額が一定額を超えた時、特別割引を適用する ● 「連携するためのシステム」はノーコードでも構築可能 ○ Zapierなどのノーコードサービスを利用する ○ Webhook APIを開発して、システムと連携する ■ AWS / GCP / Azureなどのワークフローサービスで ローコードに開発することも可能 24 Stripe x Okta 共催セミナー 2023/01

Slide 25

Slide 25 text

StripeとOkta Customer Identity Cloud(CIC)を連携する ● Stripeのサブスクが状態変化したとき、Okta CICのユーザーを操作する ● 連携の例: ○ サブスクリプションを解約したら、ユーザーを削除する ○ プランが変わった時、ユーザーの権限を変更する ● バッチ処理での連携も ○ Okta CICのOrganizations参加人数に応じた 従量課金の請求をStripeで作成 25 Stripe x Okta 共催セミナー 2023/01

Slide 26

Slide 26 text

まとめ ● Stripeを利用して、さまざまなサブスクリプション契約を提供できる ○ 請求書 / URL / システム組み込み ○ 従量課金, パッケージ価格 / 月額, 年額, 四半期 ● サブスクリプションでは、「運用・サポート」タスクを要件に含めよう ○ 未払い対応 / 状況確認 / カスタマーサクセス ● Webhookを利用して、Okta CICなどと契約状態の変化を共有しよう ○ ノーコードサービス / クラウドサービス / API開発 26 Stripe x Okta 共催セミナー 2023/01