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
WordPress(+ Stripe)で始める サブスクリプションビジネス/tokyo-wp-...
Search
Hidetaka Okamoto (Stripe)
November 06, 2022
Technology
0
99
WordPress(+ Stripe)で始める サブスクリプションビジネス/tokyo-wp-meetup-2022-11
Hidetaka Okamoto (Stripe)
November 06, 2022
Tweet
Share
More Decks by Hidetaka Okamoto (Stripe)
See All by Hidetaka Okamoto (Stripe)
Stripeではじめる Revenue Operations / jp_stripes_okinawa_8
stripehideokamoto
0
210
収益を高めるための Stripeダッシュボード活用術 / jp_stripes_online_7
stripehideokamoto
0
260
No-code SaaS and Full Site Editing / wcasia2023
stripehideokamoto
0
220
コア機能開発に集中するための Stripe Checkout活用法 / jp_stripes_deep_dive_202301
stripehideokamoto
0
370
State of Checkout 2022から見た オンライン決済フローの最適化/jp-stripes-miyzaki-202301
stripehideokamoto
0
110
サブスクリプション決済入門 Stripeでの実装方法と、要件定義時のポイント/okta-stripe-202301
stripehideokamoto
0
150
ノーコード・ローコードツールで サブスク運用を効率化する方法 / JP_Stripes_Osaka_202301
stripehideokamoto
0
70
ビジネスユーザを巻込む Stripeダッシュボード活用法 / jp_stripes_deepdive-202212
stripehideokamoto
0
220
AWSでローコードにはじめる サブスクリプション運用の効率化/aws-startup-tech-meetup-fukuoka-2
stripehideokamoto
0
120
Other Decks in Technology
See All in Technology
強いチームと開発生産性
onk
PRO
34
11k
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
AGIについてChatGPTに聞いてみた
blueb
0
130
Why does continuous profiling matter to developers? #appdevelopercon
salaboy
0
190
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
130
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
180
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
500
複雑なState管理からの脱却
sansantech
PRO
1
140
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
88
5.7k
Building an army of robots
kneath
302
43k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
The Cult of Friendly URLs
andyhume
78
6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Faster Mobile Websites
deanohume
305
30k
GraphQLとの向き合い方2022年版
quramy
43
13k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Transcript
WordPress(+ Stripe)で始める サブスクリプションビジネス Tokyo WordPress Meetup 2022 Fall @hidetaka_dev Nov
2022 1
今日のトピック • WordPressとStripeを使えば、 最小限のコードでサブスクリプションビジネスを開始できる • サブスクリプションの決済システムを組み込む時に 意識・注意したい3つのポイント • プラグインとSaaSベンダー、どの巨人の肩に乗るべきか? 2
Tokyo WordPress Meetup 2022 Fall
岡本 秀高 ( @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 Tokyo WordPress Meetup 2022 Fall
今日のトピック • WordPressとStripeを使えば、 最小限のコードでサブスクリプションビジネスを開始できる • サブスクリプションの決済システムを組み込む時に 意識・注意したい3つのポイント • プラグインとSaaSベンダー、どの巨人の肩に乗るべきか? 4
Tokyo WordPress Meetup 2022 Fall
今日のトピック • WordPressとStripeを使えば、 最小限のコードでサブスクリプションビジネスを開始できる • サブスクリプションの決済システムを組み込む時に 意識・注意したい3つのポイント • プラグインとSaaSベンダー、どの巨人の肩に乗るべきか? 5
Tokyo WordPress Meetup 2022 Fall
いろんなサブスクリプションの形 • 対面・オンラインでのサービス ・・・ジム、音楽教室 • 定期購入・頒布会 ・・・野菜、日本酒などの定期購入 • コンテンツへのアクセス・閲覧権・・・動画、記事またはコミュニティ • システム・サービス ・・・Webサービス •
etc 6 Tokyo WordPress Meetup 2022 Fall
サブスクリプション(定期課金)を始めるためには • 申し込みを受け付けるフォームの用意 • 提供するプラン・料金の管理 • クレジットカード・銀行振込などの決済方法の安全な処理 • 定期的な請求と、請求失敗時の通知やユーザーへの案内 •
契約状況を管理するダッシュボード • 顧客が支払い履歴や契約・支払い情報を確認・管理できるマイページ • etc… 7 Tokyo WordPress Meetup 2022 Fall
商品・サービス注文フォーム ダッシュボードから 商品 / 料金 / 決済方法などを 設定してリンクを取得 アップセルやクロスセル、 配送方法の設定なども可能
顧客マスタが複数作成され、 複数のサブスクリプション を契 約する場合には不向き 8 Tokyo WordPress Meetup 2022 Fall Stripe Payment Linksで、ノーコードに申し込みを受付
ノーコードで 契約管理マイページを提供 申し込み時に入力した メールアドレスで認証 プラン変更・決済手段更新、 請求履歴の確認やPDF DLな ど 表示項目や操作内容は ダッシュボードにて
カスタマイズ可能 9 Tokyo WordPress Meetup 2022 Fall Stripe Customer Portalで、顧客マイページも
Stripeが用意する 決済・マイページにリンクする ボタンブロックでリンクを設定 ウィジェットやメニューで リンクを指定 申込や契約管理は Stripe側に任せてしまう 10 Tokyo WordPress
Meetup 2022 Fall フルサイト編集やブロックあるいはウィジェットで設定
PHPやNodeの公式SDK 複雑なサブスクリプションや WPとのデータ連携など 詳しくは「Qiita Stripe」で 検索(年100記事ペース) 11 Tokyo WordPress Meetup
2022 Fall コードをかけば、より柔軟なフローや運用も
WooCommerce Simple Membershipなど 日本語で提供できるか否かは テスト環境などで要チェック ・Stripeのサポート有無 ・サブスク対応有無 ・日本円への対応 ・メールやUIの日本語化 (特にシステム送信系)
12 Tokyo WordPress Meetup 2022 Fall プラグインは、日本で使えるかなどの対応状況に注意
今日のトピック • WordPressとStripeを使えば、 最小限のコードでサブスクリプションビジネスを開始できる • サブスクリプションの決済システムを組み込む時に 意識・注意したい3つのポイント • プラグインとSaaSベンダー、どの巨人の肩に乗るべきか? 13
Tokyo WordPress Meetup 2022 Fall
14 ポイント1: 令和3年に改正された特定商取引法への対応 Tokyo WordPress Meetup 2022 Fall 令和3年特定商取引法・預託法の改正について https://www.caa.go.jp/policies/policy/consumer_transaction/amendment/2021/
最終確認画面に 右の6情報を表示する ・トライアル終了後の請求額 ・期間限定商品の販売期間 ・解約方法や医薬品 誤認を与える表示がある場合 申込の撤回が可能になる事も
15 Stripe Checkout / Payment Linksでの設定ガイド Tokyo WordPress Meetup 2022
Fall https://qiita.com/hideokamoto/items/9ca5845a4f68dae808fd Stripeが用意するページを 使う場合に対応する方法 API組み込みや プラグイン利用時は 各自で対応が必要 Stripe以外のSaaSでも 組み込み型では 自前対応が必要なことが多い
ポイント2: 非同期な決済フローのサポート • 「申し込みしたい」と思った時に、 クレジットカードを入力できるとは限らない ◦ 電車などの公共交通機関で移動中 ◦ あまり重要な情報を流したくないネットワークに接続している ◦
大勢の人がいるため、クレジットカードを出したくない • コンビニ決済や銀行振込 ◦ 申込だけして、 後で決済を実行する 16 Tokyo WordPress Meetup 2022 Fall https://go.stripe.global/apac-state-of-checkouts-2022-ja
17 Webhookで、決済の「状態変化」を検知する Tokyo WordPress Meetup 2022 Fall https://qiita.com/hideokamoto/items/76e7b92416fd9beeff66 システムでの状態変化を 別システムに通知する仕組み
非同期決済の「状態変化」を WordPressに通知する ・決済の成功 ・振り込み期限の超過 ・入金額の過不足 ・不正利用の疑いを検知 カード決済のみを考慮すると 後からの決済手段追加が hard
18 WordPressでは、WP APIでWebhook APIが作れる Tokyo WordPress Meetup 2022 Fall https://qiita.com/hideokamoto/items/76e7b92416fd9beeff66
add_action: rest_api_init register_rest_routeで APIエンドポイントを追加 permission_callbackで、 正しいリクエストかを検証 callbackでWebhookの データを受け取り処理する Webhookのリクエストは POSTが中心(たまにGET)
ポイント3: 未払いや契約更新などの「状態」を監視する • サブスクリプションは、契約してからが本番 ◦ 競合他社への移行や解約、トライアルの途中解約や本契約切り替え ◦ 未払いが発生した場合の連絡やアカウントの停止・回復処理 ◦ 請求書・領収書の発行、カードの有効期限更新
• 決済プロバイダやプラグインから送られる「状態変化」を監視する ◦ Webhookやメール通知を利用 ◦ 「契約・決済がXXしたらYYの処理を行う」 ◦ 運用開始後に判明するケースも多いので、拡張・柔軟性が大切 19 Tokyo WordPress Meetup 2022 Fall
メールやCRM連携など WPの外と連携させたい場合 サブスクに関するイベントを トリガーにする ・契約開始 ・解約 ・決済失敗など コードを書かずに、 サブスクの契約まわりを ある程度用意できる
20 Tokyo WordPress Meetup 2022 Fall Zapierなどのノーコード系WF/RPAツールの活用
今日のトピック • WordPressとStripeを使えば、 最小限のコードでサブスクリプションビジネスを開始できる • サブスクリプションの決済システムを組み込む時に 意識・注意したい3つのポイント • プラグインとSaaSベンダー、どの巨人の肩に乗るべきか? 21
Tokyo WordPress Meetup 2022 Fall
「サブスクリプション」の管理者は「誰」? • サブスクリプションの管理: 契約者や内容の保持と変更等への対応 ◦ 契約者情報:名前やメールアドレス ◦ 契約内容:プラン、契約日、割引の設定、決済ステータス • 「サブスクリプションの情報」は、連携方法によって保存先が変わる
◦ プラグイン: 決済プロバイダとの連携方法によって変わる ◦ 決済系SaaS: 利用したツール・SDK/APIの提供元が保存・管理 ◦ 自前実装: 実装方法に依存 22 Tokyo WordPress Meetup 2022 Fall
誰にサブスクリプションの管理を任せるべきか? • WordPress上で管理する(WooCommerceなど) • 決済プロバイダ・SaaS上で管理する • 独自のシステム・DBを利用する 23 Tokyo WordPress
Meetup 2022 Fall
誰にサブスクリプションの管理を任せるべきか? • WordPress上で管理する(WooCommerceなど) ◦ ✅ WordPressのコンテキストで開発がしやすい ▪ Hooks, WP_Usersクラス, etc
◦ ✅ 複数の決済プロバイダが利用できる ▪ 例: Stripe(カード系) + Square (実店舗決済) ◦ 🔶 WordPressのDBに個人情報が保存されるリスク ◦ 🔶 決済プロバイダが用意する機能がフルに利用できないケースもある ▪ WooCommerce <> Stripeの場合、 「コンビニ決済」や「銀行振込」は2022/10時点で未対応 24 Tokyo WordPress Meetup 2022 Fall
誰にサブスクリプションの管理を任せるべきか? • 決済プロバイダ・SaaS上で管理する(Stripe, Square, Shopify, etc) ◦ ✅ データの管理や、法的な変更への対応を委任できる ▪
PCI DSS, GDPR, 特商法, etc ◦ ✅ SaaS側による機能追加の恩恵を受けやすい ▪ StripeではCheckoutやカスタマーポータルの更新が活発 ◦ 🔶 「SaaSで現状できないこと」が、機能要求とぶつかるケース ▪ Stripeでは、2022/11時点で対面決済が日本ではできない ◦ 🔶 WebhookでのWordPress連携など、 多少の組み込み開発が必要になるケースも 25 Tokyo WordPress Meetup 2022 Fall
「WordPressで完結できるか」は判断点の1つ • サブスクリプションには、だいたい例外が生まれる ◦ 特別オファー、優待オファー ◦ 担当者交代によるマニュアルでの請求先情報更新 ◦ 価格を改定すると、旧プランユーザーが例外枠になることも •
プラグインの機能で、顧客サポートや例外の処理ができるか否か? ◦ 通販や頒布会(定期購入)は、WooCommerceなどが強い ◦ SaaSやメンバーシップなどのサービスは要注意 26 Tokyo WordPress Meetup 2022 Fall
SaaSとOSSで、「巨人の肩」を乗りこなそう • 用途に応じて、OSSやSaaSを組み合わせる ◦ ウェブサイトやシステムの構築: WordPress ◦ 通販サイトの構築や運用: WooCommerce (+
Stripe) ◦ サブスクリプションの運用管理: Stripe + WP API • 各システムや各部署・担当者が、「自分の役割」に専念できる環境作り ◦ 少人数の場合は、「あえてWordPressに集約」も有効 ▪ 例: WooCommerce + Stripe -> サブスクはStripe単独管理 • OSSやSaaSにも、高パフォーマンスで働ける環境を用意しよう 27 Tokyo WordPress Meetup 2022 Fall