Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
サブスクリプション決済入門 Stripeでの実装方法と、要件定義時のポイント/okta-str...
Search
Hidetaka Okamoto (Stripe)
January 25, 2023
Technology
0
180
サブスクリプション決済入門 Stripeでの実装方法と、要件定義時のポイント/okta-stripe-202301
Stripe x Okta 共催セミナー 2023/01 での講演資料です。
Hidetaka Okamoto (Stripe)
January 25, 2023
Tweet
Share
More Decks by Hidetaka Okamoto (Stripe)
See All by Hidetaka Okamoto (Stripe)
Stripeではじめる Revenue Operations / jp_stripes_okinawa_8
stripehideokamoto
0
260
収益を高めるための Stripeダッシュボード活用術 / jp_stripes_online_7
stripehideokamoto
0
330
No-code SaaS and Full Site Editing / wcasia2023
stripehideokamoto
0
240
コア機能開発に集中するための Stripe Checkout活用法 / jp_stripes_deep_dive_202301
stripehideokamoto
0
450
State of Checkout 2022から見た オンライン決済フローの最適化/jp-stripes-miyzaki-202301
stripehideokamoto
0
170
ノーコード・ローコードツールで サブスク運用を効率化する方法 / JP_Stripes_Osaka_202301
stripehideokamoto
0
110
ビジネスユーザを巻込む Stripeダッシュボード活用法 / jp_stripes_deepdive-202212
stripehideokamoto
0
290
AWSでローコードにはじめる サブスクリプション運用の効率化/aws-startup-tech-meetup-fukuoka-2
stripehideokamoto
0
140
サブスクリプション決済入門 Stripeでの実装方法と、要件定義時のポイント/jp_stripes_okayama_vol3
stripehideokamoto
9
5.8k
Other Decks in Technology
See All in Technology
QAはソフトウェアエンジニアリングを学んで実践するのが大事なの
ymty
1
480
宇宙パトロール ルル子から考える LT設計のコツ
masakiokuda
2
110
評価の納得感を2段階高める「構造化フィードバック」
aloerina
1
260
Copilot Agentを普段使いしてわかった、バックエンド開発で使えるTips
ykagano
1
1.3k
新規プロダクト開発、AIでどう変わった? #デザインエンジニアMeetup
bengo4com
0
490
TODAY 看世界(?) 是我們在看扣啦!
line_developers_tw
PRO
0
280
マルチテナント+マルチプロダクト SaaS への AI Agent の組み込み方
kworkdev
PRO
2
390
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全
opelab
3
270
TerraformをSaaSで使うとAzureの運用がこんなに楽ちん!HCP Terraformって何?
mnakabayashi
0
190
「実体」で築く共通認識: 開発現場のコミュニケーション最適化 / Let's Get on the Same Page with Concrete Artifacts: Optimization of Communication in dev teams
kazizi55
0
150
What's new in OpenShift 4.19
redhatlivestreaming
1
340
2025/6/21 日本学術会議公開シンポジウム発表資料
keisuke198619
2
430
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Gamification - CAS2011
davidbonilla
81
5.3k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Docker and Python
trallard
44
3.4k
Thoughts on Productivity
jonyablonski
69
4.7k
The Language of Interfaces
destraynor
158
25k
Visualization
eitanlees
146
16k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Bash Introduction
62gerente
614
210k
Transcript
サブスクリプション決済入門 Stripeでの実装方法と、要件定義時のポイント Stripe x Okta 共催セミナー 2023/01 @hidetaka_dev Jan 2023
1
今日のトピック • Stripeでサブスクリプションを始める3つの方法 • サブスクリプションの契約後に想定すべき 3つの運用イベントとStripeでの対応方法 • なぜStripeの組み込みは、 Webhookを利用した「イベント駆動型」になるのか 2
Stripe 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/hideoka moto ◦ 年間120記事ペース 3 Stripe x Okta 共催セミナー 2023/01
今日のトピック • Stripeでサブスクリプションを始める3つの方法 • サブスクリプションの契約後に想定すべき 3つの運用イベントとStripeでの対応方法 • なぜStripeの組み込みは、 Webhookを利用した「イベント駆動型」になるのか 4
Stripe x Okta 共催セミナー 2023/01
さまざまな場面で、サブスクリプション契約は発生する • StripeやOkta Customer Identity Cloud(旧Auth0)などのWebサービス • 食料品などの定期購入・宅配サービス • インターネット回線やテナントなどの利用契約
• 保守運用費用やコンサルティングなどの専門サービス • etc.. -> サービスの提供体系によって、サブスクリプションの始め方が変化する 5 Stripe x Okta 共催セミナー 2023/01
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
Stripe Billingでサブスクリプション運用を簡単にする • 請求処理や再請求処理、 プラン変更の日割計算など • 従量課金や パッケージ価格にも対応 • クレジットカード・銀行振込など複
数決済に対応 • 利用料: 決済額の0.5% 7 Stripe x Okta 共催セミナー 2023/01
Stripe Invoicingで請求書発行などの請求業務を効率化 • オンライン / PDFの 請求書を発行・送付 ◦ API組み込みにも対応 •
クレジットカード・銀行振込など複 数決済に対応 • 銀行振込は1時間単位での 自動消し込みをサポート • 利用料: 決済額の0.4% 8 Stripe x Okta 共催セミナー 2023/01
Stripe Payment Linksでノーコードな申し込みページ • buy.stripe.comで 申し込み用URLを作成 • URLを共有するだけで 決済やサブスク申し込みの 導線を作ることができる
• アップセルや クロスセルにも対応 • 利用料: 無料 9 Stripe x Okta 共催セミナー 2023/01
Stripe Checkoutでローコードで決済フォームを実装 • リダイレクト型決済フロー • 数行のコードで、 安全かつ高機能な 決済フォームが実現 • アップセルや
クロスセルにも対応 • 利用料: 無料 *カスタムドメインは月10USD 10 Stripe x Okta 共催セミナー 2023/01
Stripe Elementsでデザインに馴染む高機能決済フォーム • 埋め込み型決済フォーム • 複数の決済方法をサポート • CSS変数やテーマ機能で 見た目のカスタマイズが可能 •
利用料: 無料 11 Stripe x Okta 共催セミナー 2023/01
ビジネス体系に応じた製品の使い分け • 顧客向けのダッシュボードやUIがまだない ◦ Invoicingで請求書を発行 ◦ Payment Linksで申し込みURLを作成 • ダッシュボードなどの開発工数を低く抑えたい
◦ Checkoutや料金表で、Stripeが用意する決済画面を利用する • ブランドにあったデザインで組み込みを行いたい より複雑な条件や追加の入力フォームをフローに組み込みたい ◦ Elementsを利用し、JavaScriptで決済フォームを埋め込み 12 Stripe x Okta 共催セミナー 2023/01
埋め込み型の料金表 • 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>
今日のトピック • Stripeでサブスクリプションを始める3つの方法 • サブスクリプションの契約後に想定すべき 3つの運用イベントとStripeでの対応方法 • なぜStripeの組み込みは、 Webhookを利用した「イベント駆動型」になるのか 14
Stripe x Okta 共催セミナー 2023/01
サブスクリプションは、「契約してからが本番」 • サブスクリプションは、「契約し続けてもらう」必要がある ◦ 使わないサブスクサービスは、解約される ▪ 競合他社への乗り換え: 「もっと安いor便利なサービスにしよう」 ▪ 需要の消失:
「子どもが成長したので、もう使わない」 • 機能への不満だけでなく、 サポートや契約体系などへの不満も解約理由になりうる 15 Stripe x Okta 共催セミナー 2023/01
サブスクリプションで発生しやすいサポートタスク • 契約内容の確認と変更 ◦ プランの変更や解約・請求履歴の確認 ◦ 請求書等の送付先住所・メールアドレスの変更 • 決済に関連する事象 ◦
カードの有効期限切れや銀行振込の入金忘れ ◦ 不正決済の申し立て(チャージバック請求)対応 • 営業やマーケティングなどとの連携 ◦ 優良顧客の特定、会計データのエクスポート 16 Stripe x Okta 共催セミナー 2023/01
Stripeで運用タスクを効率化する • 契約内容の確認と変更 ◦ Customer Portalでリダイレクト型請求マイページを実装 • 決済に関連する事象 ◦ 支払い失敗などの通知メールの自動送信
◦ 3DS2への対応やRadarを利用した不正検知システムの提供 • 営業やマーケティングなどとの連携 ◦ ダッシュボードやAPIの検索機能、レポート機能 17 Stripe x Okta 共催セミナー 2023/01
Stripe Customer Portalで請求マイページ • リダイレクト型 顧客請求マイページ • 顧客情報・決済情報 請求履歴・プラン変更など •
ノーコード / APIで 組み込みが可能 • 利用料: 無料 18 Stripe x Okta 共催セミナー 2023/01
失敗した支払いのフォローアップ • 決済の再試行を3回実施 • 失敗した場合に、 メールを送信して情報更新 • 有料オプションを利用して、 スマートリトライなど 追加機能も
Billing Scale (0.8%) 19 Stripe x Okta 共催セミナー 2023/01
3Dセキュア2への対応や不正利用対策 • 3Dセキュア2に対応 ◦ 組み込み作業はほぼ不要 • レポートを元に リクエストの閾値を調整可能 • Radarを利用して、
カスタムの認証ルールなども 設定が可能になる 20 Stripe x Okta 共催セミナー 2023/01
ダッシュボードのフィルタ機能で、見たい情報を抽出 • 各情報一覧にある「フィルタ機能」 ◦ Billing, Payment, Customer, etc • 作成日や決済ステータスで、
情報をフィルタリング ◦ 例:直近X日に作成された、 未払いのサブスクリプション • フィルタ条件は、 URLのクエリ文字列として追加される ◦ /payments?status[0]=canceled&st atus[1]=blocked • 「よく見る条件」をブックマーク 社内Wikiやポータルで共有しよう 21 Stripe x Okta 共催セミナー 2023/01
今日のトピック • Stripeでサブスクリプションを始める3つの方法 • サブスクリプションの契約後に想定すべき 3つの運用イベントとStripeでの対応方法 • なぜStripeの組み込みは、 Webhookを利用した「イベント駆動型」になるのか 22
Stripe x Okta 共催セミナー 2023/01
サブスクリプションの「状態変化」をWebhookで検知 • サブスクリプションでは、さまざまな出来事が発生する ◦ プランを変更した・解約した ◦ 今月の決済で、LTVが1000万円を突破した ◦ 銀行振込の入金額が不足していた •
運用タスクは、顧客や契約の「状態」が変化したときに発生する ◦ Stripeの中で状態が変化が発生したことを、 外に伝える仕組みがStripe Webhook 23 Stripe x Okta 共催セミナー 2023/01
Webhookで、運用業務を自動化する • Webhookを利用して、「XXの時、YYを行う」ワークフローが組める ◦ 未払いが発生した時、ユーザーに提供する機能を制限する ◦ トライアル期間終了間際に、フォローアップメールを送付する ◦ 年間の決済額が一定額を超えた時、特別割引を適用する •
「連携するためのシステム」はノーコードでも構築可能 ◦ Zapierなどのノーコードサービスを利用する ◦ Webhook APIを開発して、システムと連携する ▪ AWS / GCP / Azureなどのワークフローサービスで ローコードに開発することも可能 24 Stripe x Okta 共催セミナー 2023/01
StripeとOkta Customer Identity Cloud(CIC)を連携する • Stripeのサブスクが状態変化したとき、Okta CICのユーザーを操作する • 連携の例: ◦
サブスクリプションを解約したら、ユーザーを削除する ◦ プランが変わった時、ユーザーの権限を変更する • バッチ処理での連携も ◦ Okta CICのOrganizations参加人数に応じた 従量課金の請求をStripeで作成 25 Stripe x Okta 共催セミナー 2023/01
まとめ • Stripeを利用して、さまざまなサブスクリプション契約を提供できる ◦ 請求書 / URL / システム組み込み ◦
従量課金, パッケージ価格 / 月額, 年額, 四半期 • サブスクリプションでは、「運用・サポート」タスクを要件に含めよう ◦ 未払い対応 / 状況確認 / カスタマーサクセス • Webhookを利用して、Okta CICなどと契約状態の変化を共有しよう ◦ ノーコードサービス / クラウドサービス / API開発 26 Stripe x Okta 共催セミナー 2023/01