Upgrade to Pro — share decks privately, control downloads, hide ads and more …

サブスクリプション決済入門 Stripeでの実装方法と、要件定義時のポイント/okta-str...

サブスクリプション決済入門 Stripeでの実装方法と、要件定義時のポイント/okta-stripe-202301

Stripe x Okta 共催セミナー 2023/01 での講演資料です。

Hidetaka Okamoto (Stripe)

January 25, 2023
Tweet

More Decks by Hidetaka Okamoto (Stripe)

Other Decks in Technology

Transcript

  1. 岡本 秀高 ( @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
  2. さまざまな場面で、サブスクリプション契約は発生する • StripeやOkta Customer Identity Cloud(旧Auth0)などのWebサービス • 食料品などの定期購入・宅配サービス • インターネット回線やテナントなどの利用契約

    • 保守運用費用やコンサルティングなどの専門サービス • etc.. -> サービスの提供体系によって、サブスクリプションの始め方が変化する 5 Stripe x Okta 共催セミナー 2023/01
  3. 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
  4. Stripe Invoicingで請求書発行などの請求業務を効率化 • オンライン / PDFの 請求書を発行・送付 ◦ API組み込みにも対応 •

    クレジットカード・銀行振込など複 数決済に対応 • 銀行振込は1時間単位での 自動消し込みをサポート • 利用料: 決済額の0.4% 8 Stripe x Okta 共催セミナー 2023/01
  5. ビジネス体系に応じた製品の使い分け • 顧客向けのダッシュボードやUIがまだない ◦ Invoicingで請求書を発行 ◦ Payment Linksで申し込みURLを作成 • ダッシュボードなどの開発工数を低く抑えたい

    ◦ Checkoutや料金表で、Stripeが用意する決済画面を利用する • ブランドにあったデザインで組み込みを行いたい より複雑な条件や追加の入力フォームをフローに組み込みたい ◦ Elementsを利用し、JavaScriptで決済フォームを埋め込み 12 Stripe x Okta 共催セミナー 2023/01
  6. 埋め込み型の料金表 • Stripeに登録した料金データで 料金表を作成できる • HTML / JSのスニペットを 埋め込みだけで実現 •

    機能表やラベルの カスタマイズなども可能 • 利用料: 無料 13 Stripe x Okta 共催セミナー 2023/01 <script async src="https://js.stripe.com/v3/pricing-table.js" ></script> <stripe-pricing-table pricing-table-id="prctbl_xxxxx" publishable-key="pk_test_xxxxx" ></stripe-pricing-table>
  7. サブスクリプションは、「契約してからが本番」 • サブスクリプションは、「契約し続けてもらう」必要がある ◦ 使わないサブスクサービスは、解約される ▪ 競合他社への乗り換え: 「もっと安いor便利なサービスにしよう」 ▪ 需要の消失:

    「子どもが成長したので、もう使わない」 • 機能への不満だけでなく、 サポートや契約体系などへの不満も解約理由になりうる 15 Stripe x Okta 共催セミナー 2023/01
  8. サブスクリプションで発生しやすいサポートタスク • 契約内容の確認と変更 ◦ プランの変更や解約・請求履歴の確認 ◦ 請求書等の送付先住所・メールアドレスの変更 • 決済に関連する事象 ◦

    カードの有効期限切れや銀行振込の入金忘れ ◦ 不正決済の申し立て(チャージバック請求)対応 • 営業やマーケティングなどとの連携 ◦ 優良顧客の特定、会計データのエクスポート 16 Stripe x Okta 共催セミナー 2023/01
  9. Stripeで運用タスクを効率化する • 契約内容の確認と変更 ◦ Customer Portalでリダイレクト型請求マイページを実装 • 決済に関連する事象 ◦ 支払い失敗などの通知メールの自動送信

    ◦ 3DS2への対応やRadarを利用した不正検知システムの提供 • 営業やマーケティングなどとの連携 ◦ ダッシュボードやAPIの検索機能、レポート機能 17 Stripe x Okta 共催セミナー 2023/01
  10. ダッシュボードのフィルタ機能で、見たい情報を抽出 • 各情報一覧にある「フィルタ機能」 ◦ Billing, Payment, Customer, etc • 作成日や決済ステータスで、

    情報をフィルタリング ◦ 例:直近X日に作成された、   未払いのサブスクリプション • フィルタ条件は、 URLのクエリ文字列として追加される ◦ /payments?status[0]=canceled&st atus[1]=blocked • 「よく見る条件」をブックマーク 社内Wikiやポータルで共有しよう 21 Stripe x Okta 共催セミナー 2023/01
  11. サブスクリプションの「状態変化」をWebhookで検知 • サブスクリプションでは、さまざまな出来事が発生する ◦ プランを変更した・解約した ◦ 今月の決済で、LTVが1000万円を突破した ◦ 銀行振込の入金額が不足していた •

    運用タスクは、顧客や契約の「状態」が変化したときに発生する ◦ Stripeの中で状態が変化が発生したことを、 外に伝える仕組みがStripe Webhook 23 Stripe x Okta 共催セミナー 2023/01
  12. Webhookで、運用業務を自動化する • Webhookを利用して、「XXの時、YYを行う」ワークフローが組める ◦ 未払いが発生した時、ユーザーに提供する機能を制限する ◦ トライアル期間終了間際に、フォローアップメールを送付する ◦ 年間の決済額が一定額を超えた時、特別割引を適用する •

    「連携するためのシステム」はノーコードでも構築可能 ◦ Zapierなどのノーコードサービスを利用する ◦ Webhook APIを開発して、システムと連携する ▪ AWS / GCP / Azureなどのワークフローサービスで ローコードに開発することも可能 24 Stripe x Okta 共催セミナー 2023/01
  13. StripeとOkta Customer Identity Cloud(CIC)を連携する • Stripeのサブスクが状態変化したとき、Okta CICのユーザーを操作する • 連携の例: ◦

    サブスクリプションを解約したら、ユーザーを削除する ◦ プランが変わった時、ユーザーの権限を変更する • バッチ処理での連携も ◦ Okta CICのOrganizations参加人数に応じた 従量課金の請求をStripeで作成 25 Stripe x Okta 共催セミナー 2023/01
  14. まとめ • Stripeを利用して、さまざまなサブスクリプション契約を提供できる ◦ 請求書 / URL / システム組み込み ◦

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