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
130
サブスクリプション決済入門 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
200
収益を高めるための Stripeダッシュボード活用術 / jp_stripes_online_7
stripehideokamoto
0
250
No-code SaaS and Full Site Editing / wcasia2023
stripehideokamoto
0
220
コア機能開発に集中するための Stripe Checkout活用法 / jp_stripes_deep_dive_202301
stripehideokamoto
0
350
State of Checkout 2022から見た オンライン決済フローの最適化/jp-stripes-miyzaki-202301
stripehideokamoto
0
100
ノーコード・ローコードツールで サブスク運用を効率化する方法 / JP_Stripes_Osaka_202301
stripehideokamoto
0
61
ビジネスユーザを巻込む Stripeダッシュボード活用法 / jp_stripes_deepdive-202212
stripehideokamoto
0
210
AWSでローコードにはじめる サブスクリプション運用の効率化/aws-startup-tech-meetup-fukuoka-2
stripehideokamoto
0
110
サブスクリプション決済入門 Stripeでの実装方法と、要件定義時のポイント/jp_stripes_okayama_vol3
stripehideokamoto
9
5.5k
Other Decks in Technology
See All in Technology
GitHub Actions/Docker/Terraform/Renovate で最小限の Monorepo CD パイプラインを作る / Minimalistic Monorepo CD Pipeline with GitHub Actions, Docker, Terraform and Renovate
yuyatakeyama
4
340
【shownet.conf_】コンピューティング資源を統合した分散コンテナ基盤の進化
shownet
PRO
0
300
Hazard pointers with reference counter
ennael
PRO
0
110
ガバメントクラウド開発と変化と成長する組織 / Organizational change and growth in developing a government cloud
kazeburo
2
380
ORM と向き合う
hoto17296
7
5.9k
Oracle GoldenGate 23ai 導入Tips
oracle4engineer
PRO
1
200
kube-vipとkube-proxy置き換えCiliumを積んだ究極のK3sクラスタを建てる
logica0419
4
190
Oracle Database 23ai 新機能#4 Real Application Clusters
oracle4engineer
PRO
0
110
スクラム導入の舞台裏:QAエンジニアがスクラムマスターになるまで
bubo1201
0
110
How CERN serves 1EB of data via FUSE
ennael
PRO
0
16k
Webセキュリティのあるきかた
akiym
10
2.4k
つよつよリーダーが 抜けたらどうする? 〜ナビタイムのAgile⽀援組織の変遷〜
navitimejapan
PRO
22
13k
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.9k
Fontdeck: Realign not Redesign
paulrobertlloyd
81
5.2k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Bash Introduction
62gerente
608
210k
Fireside Chat
paigeccino
32
2.9k
Debugging Ruby Performance
tmm1
73
12k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
279
13k
BBQ
matthewcrist
84
9.2k
Visualization
eitanlees
143
15k
How to Ace a Technical Interview
jacobian
275
23k
How To Stay Up To Date on Web Technology
chriscoyier
786
250k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
225
22k
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