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

WordPress(+ Stripe)で始める サブスクリプションビジネス/tokyo-wp-meetup-2022-11

WordPress(+ Stripe)で始める サブスクリプションビジネス/tokyo-wp-meetup-2022-11

Hidetaka Okamoto (Stripe)

November 06, 2022
Tweet

More Decks by Hidetaka Okamoto (Stripe)

Other Decks in Technology

Transcript

  1. WordPress(+ Stripe)で始める サブスクリプションビジネス Tokyo WordPress Meetup 2022 Fall @hidetaka_dev Nov

    2022 1
  2. 今日のトピック • WordPressとStripeを使えば、 最小限のコードでサブスクリプションビジネスを開始できる • サブスクリプションの決済システムを組み込む時に 意識・注意したい3つのポイント • プラグインとSaaSベンダー、どの巨人の肩に乗るべきか? 2

    Tokyo WordPress Meetup 2022 Fall
  3. 岡本 秀高 ( @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
  4. 今日のトピック • WordPressとStripeを使えば、 最小限のコードでサブスクリプションビジネスを開始できる • サブスクリプションの決済システムを組み込む時に 意識・注意したい3つのポイント • プラグインとSaaSベンダー、どの巨人の肩に乗るべきか? 4

    Tokyo WordPress Meetup 2022 Fall
  5. 今日のトピック • WordPressとStripeを使えば、 最小限のコードでサブスクリプションビジネスを開始できる • サブスクリプションの決済システムを組み込む時に 意識・注意したい3つのポイント • プラグインとSaaSベンダー、どの巨人の肩に乗るべきか? 5

    Tokyo WordPress Meetup 2022 Fall
  6. いろんなサブスクリプションの形 • 対面・オンラインでのサービス ・・・ジム、音楽教室 • 定期購入・頒布会       ・・・野菜、日本酒などの定期購入 • コンテンツへのアクセス・閲覧権・・・動画、記事またはコミュニティ • システム・サービス      ・・・Webサービス •

    etc 6 Tokyo WordPress Meetup 2022 Fall
  7. サブスクリプション(定期課金)を始めるためには • 申し込みを受け付けるフォームの用意 • 提供するプラン・料金の管理 • クレジットカード・銀行振込などの決済方法の安全な処理 • 定期的な請求と、請求失敗時の通知やユーザーへの案内 •

    契約状況を管理するダッシュボード • 顧客が支払い履歴や契約・支払い情報を確認・管理できるマイページ • etc… 7 Tokyo WordPress Meetup 2022 Fall
  8. 商品・サービス注文フォーム ダッシュボードから 商品 / 料金 / 決済方法などを 設定してリンクを取得 アップセルやクロスセル、 配送方法の設定なども可能

    顧客マスタが複数作成され、 複数のサブスクリプション を契 約する場合には不向き 8 Tokyo WordPress Meetup 2022 Fall Stripe Payment Linksで、ノーコードに申し込みを受付
  9. ノーコードで 契約管理マイページを提供 申し込み時に入力した メールアドレスで認証 プラン変更・決済手段更新、 請求履歴の確認やPDF DLな ど 表示項目や操作内容は ダッシュボードにて

    カスタマイズ可能 9 Tokyo WordPress Meetup 2022 Fall Stripe Customer Portalで、顧客マイページも
  10. Stripeが用意する 決済・マイページにリンクする ボタンブロックでリンクを設定 ウィジェットやメニューで リンクを指定 申込や契約管理は Stripe側に任せてしまう 10 Tokyo WordPress

    Meetup 2022 Fall フルサイト編集やブロックあるいはウィジェットで設定
  11. PHPやNodeの公式SDK 複雑なサブスクリプションや WPとのデータ連携など 詳しくは「Qiita Stripe」で 検索(年100記事ペース) 11 Tokyo WordPress Meetup

    2022 Fall コードをかけば、より柔軟なフローや運用も
  12. WooCommerce Simple Membershipなど 日本語で提供できるか否かは テスト環境などで要チェック ・Stripeのサポート有無 ・サブスク対応有無 ・日本円への対応 ・メールやUIの日本語化  (特にシステム送信系)

    12 Tokyo WordPress Meetup 2022 Fall プラグインは、日本で使えるかなどの対応状況に注意
  13. 今日のトピック • WordPressとStripeを使えば、 最小限のコードでサブスクリプションビジネスを開始できる • サブスクリプションの決済システムを組み込む時に 意識・注意したい3つのポイント • プラグインとSaaSベンダー、どの巨人の肩に乗るべきか? 13

    Tokyo WordPress Meetup 2022 Fall
  14. 14 ポイント1: 令和3年に改正された特定商取引法への対応 Tokyo WordPress Meetup 2022 Fall 令和3年特定商取引法・預託法の改正について https://www.caa.go.jp/policies/policy/consumer_transaction/amendment/2021/

    最終確認画面に 右の6情報を表示する ・トライアル終了後の請求額 ・期間限定商品の販売期間 ・解約方法や医薬品 誤認を与える表示がある場合 申込の撤回が可能になる事も
  15. 15 Stripe Checkout / Payment Linksでの設定ガイド Tokyo WordPress Meetup 2022

    Fall https://qiita.com/hideokamoto/items/9ca5845a4f68dae808fd Stripeが用意するページを 使う場合に対応する方法 API組み込みや プラグイン利用時は 各自で対応が必要 Stripe以外のSaaSでも 組み込み型では 自前対応が必要なことが多い
  16. ポイント2: 非同期な決済フローのサポート • 「申し込みしたい」と思った時に、 クレジットカードを入力できるとは限らない ◦ 電車などの公共交通機関で移動中 ◦ あまり重要な情報を流したくないネットワークに接続している ◦

    大勢の人がいるため、クレジットカードを出したくない • コンビニ決済や銀行振込 ◦ 申込だけして、 後で決済を実行する 16 Tokyo WordPress Meetup 2022 Fall https://go.stripe.global/apac-state-of-checkouts-2022-ja
  17. 17 Webhookで、決済の「状態変化」を検知する Tokyo WordPress Meetup 2022 Fall https://qiita.com/hideokamoto/items/76e7b92416fd9beeff66 システムでの状態変化を 別システムに通知する仕組み

    非同期決済の「状態変化」を WordPressに通知する ・決済の成功 ・振り込み期限の超過 ・入金額の過不足 ・不正利用の疑いを検知 カード決済のみを考慮すると 後からの決済手段追加が hard
  18. 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)
  19. ポイント3: 未払いや契約更新などの「状態」を監視する • サブスクリプションは、契約してからが本番 ◦ 競合他社への移行や解約、トライアルの途中解約や本契約切り替え ◦ 未払いが発生した場合の連絡やアカウントの停止・回復処理 ◦ 請求書・領収書の発行、カードの有効期限更新

    • 決済プロバイダやプラグインから送られる「状態変化」を監視する ◦ Webhookやメール通知を利用 ◦ 「契約・決済がXXしたらYYの処理を行う」 ◦ 運用開始後に判明するケースも多いので、拡張・柔軟性が大切 19 Tokyo WordPress Meetup 2022 Fall
  20. メールやCRM連携など WPの外と連携させたい場合 サブスクに関するイベントを トリガーにする ・契約開始 ・解約 ・決済失敗など コードを書かずに、 サブスクの契約まわりを ある程度用意できる

    20 Tokyo WordPress Meetup 2022 Fall Zapierなどのノーコード系WF/RPAツールの活用
  21. 今日のトピック • WordPressとStripeを使えば、 最小限のコードでサブスクリプションビジネスを開始できる • サブスクリプションの決済システムを組み込む時に 意識・注意したい3つのポイント • プラグインとSaaSベンダー、どの巨人の肩に乗るべきか? 21

    Tokyo WordPress Meetup 2022 Fall
  22. 「サブスクリプション」の管理者は「誰」? • サブスクリプションの管理: 契約者や内容の保持と変更等への対応 ◦ 契約者情報:名前やメールアドレス ◦ 契約内容:プラン、契約日、割引の設定、決済ステータス • 「サブスクリプションの情報」は、連携方法によって保存先が変わる

    ◦ プラグイン: 決済プロバイダとの連携方法によって変わる ◦ 決済系SaaS: 利用したツール・SDK/APIの提供元が保存・管理 ◦ 自前実装:  実装方法に依存 22 Tokyo WordPress Meetup 2022 Fall
  23. 誰にサブスクリプションの管理を任せるべきか? • WordPress上で管理する(WooCommerceなど) • 決済プロバイダ・SaaS上で管理する • 独自のシステム・DBを利用する 23 Tokyo WordPress

    Meetup 2022 Fall
  24. 誰にサブスクリプションの管理を任せるべきか? • WordPress上で管理する(WooCommerceなど) ◦ ✅ WordPressのコンテキストで開発がしやすい ▪ Hooks, WP_Usersクラス, etc

    ◦ ✅ 複数の決済プロバイダが利用できる ▪ 例: Stripe(カード系) + Square (実店舗決済) ◦ 🔶 WordPressのDBに個人情報が保存されるリスク ◦ 🔶 決済プロバイダが用意する機能がフルに利用できないケースもある ▪ WooCommerce <> Stripeの場合、 「コンビニ決済」や「銀行振込」は2022/10時点で未対応 24 Tokyo WordPress Meetup 2022 Fall
  25. 誰にサブスクリプションの管理を任せるべきか? • 決済プロバイダ・SaaS上で管理する(Stripe, Square, Shopify, etc) ◦ ✅ データの管理や、法的な変更への対応を委任できる ▪

    PCI DSS, GDPR, 特商法, etc ◦ ✅ SaaS側による機能追加の恩恵を受けやすい ▪ StripeではCheckoutやカスタマーポータルの更新が活発 ◦ 🔶 「SaaSで現状できないこと」が、機能要求とぶつかるケース ▪ Stripeでは、2022/11時点で対面決済が日本ではできない ◦ 🔶 WebhookでのWordPress連携など、   多少の組み込み開発が必要になるケースも 25 Tokyo WordPress Meetup 2022 Fall
  26. 「WordPressで完結できるか」は判断点の1つ • サブスクリプションには、だいたい例外が生まれる ◦ 特別オファー、優待オファー ◦ 担当者交代によるマニュアルでの請求先情報更新 ◦ 価格を改定すると、旧プランユーザーが例外枠になることも •

    プラグインの機能で、顧客サポートや例外の処理ができるか否か? ◦ 通販や頒布会(定期購入)は、WooCommerceなどが強い ◦ SaaSやメンバーシップなどのサービスは要注意 26 Tokyo WordPress Meetup 2022 Fall
  27. SaaSとOSSで、「巨人の肩」を乗りこなそう • 用途に応じて、OSSやSaaSを組み合わせる ◦ ウェブサイトやシステムの構築: WordPress ◦ 通販サイトの構築や運用: WooCommerce (+

    Stripe) ◦ サブスクリプションの運用管理: Stripe + WP API • 各システムや各部署・担当者が、「自分の役割」に専念できる環境作り ◦ 少人数の場合は、「あえてWordPressに集約」も有効 ▪ 例: WooCommerce + Stripe -> サブスクはStripe単独管理 • OSSやSaaSにも、高パフォーマンスで働ける環境を用意しよう 27 Tokyo WordPress Meetup 2022 Fall