1K Views
September 27, 24
スライド概要
JP_Stripesサッポロ 2024
Stripe Developer Advocate
JP_Stripesサッポロ Stripeを使った 効率的なアプリケーション開発の進め方 岡本 秀高 ( @hidetaka_dev ) 2024/09
岡本 秀高 Stripe Developer Advocate こんな話できます ● ● ● Stripe入門 Stripe製品・実装Deep Dive / ワークショップ 個人的にStripeを使っている経験談 ○ 請求管理 ○ SaaSへの組み込み ○ ノーコードでチケット販売 こんな相談やお話し募集中 Stripeが好きすぎて中の人になった人 ● ● ● ● JP_Stripes京都の元運営 JP_Stripes Connect 2019の実行委員長 Stripe Apps一人アドベントカレンダー完走 [ 継続中 ] QiitaでStripe記事を累計200本以上更新 ● ● ● ● Stripe導入相談 「Stripe導入したよー」のお知らせ 決済やサブスク請求で悩んでいる人の紹介 JP_Stripes(都市名)やりましょう! https://hidetaka.dev/ja-JP https://wp-kyoto.net https://x.com/hidetaka_dev
アプリケーション開発における課題 ● 人がいない ● 時間がない ● 予算・売上がない 3
アプリケーション開発における課題 開発できる 人がいない 開発のための 時間が足りない ● 単純な人不足 ● 専任か兼任か ● 必要なスキルの欠如 ● 要件の定義 ● 採用のための予算と ● ツールの選定 面接等のリソース問題 ● 実装とテスト ● リリース後の保守時間 作ったものの 売上が足りない ● 製品はあるが、 売る仕組みがない ● プロモーションするための 仕掛け作りが間に合わない ● 単価を増やす仕組みを 用意していない
短期間での収益化と そのための開発リソースの確保が求められている 開発リソースの確保は経営課題 経営幹部の 61% が、 優秀な開発者の確保は成功にとっ て重要な課題だと回答 短期的な収益性の改善がより重要 73% ● ● 短期的な売り上げの向上 コスト削減と効率化
アプリケーション開発とマネタイズの効率化 ● 作らないで開発 する ○ SaaSやローコードツールの活用 ● 外で販売・契約できるフロー をつくる ○ YAGNI原則に基づく機能開発 ● 変化に耐えられる構成 を意識する 6
SaaS / ローコードによる「作らない開発」 ● 顧客への価値提案につながる機能開発に集中 ● サービスを成立させるための機能を外部化 ○ 認証認可・決済請求管理・インフラ等 ○ SaaS API / ノーコード・ローコードツール 7
Q: そのツールをいつまで使い続けるか? ● 軌道に乗るまでは、ツールに要件を合わせていく ● いつまでツールの仕様に追従 するか? ○ 問題がないので、長期契約へ移行 する ○ 別のツールへの移行 プロジェクトを立ち上げる ○ OSSなので、forkして自社でメンテ する 8
Stripeはノーコードから API組み込みまで、幅広く対応 Payment Links / ダッシュボード Checkout / 料金表 Elements ( JS / iOS / Android ) ノーコードで素早く開始 段階的な「埋め込み化」 独自UIで「ホワイトラベル化」 ・メールアドレスまたはリンク ・単発・サブスクリプション ・システム連携はWebhook ・リダイレクト型申し込みページ ・APIでシステムと顧客情報を連携 ・後ろの連携は、 ノーコード時代のシステムを活用 ・埋め込み型決済フォーム ・より柔軟な決済シナリオ ・Appearance APIによるカスタマイズ カスタマーポータル カスタマーポータル(ディープリンク) メール認証式マイページ 段階的な「埋め込み化」 独自UIで「ホワイトラベル化」 ・請求情報の表示 ・決済情報の変更 ・プラン変更・解約など ・マイページTOPを独自UIに ・必要な「操作」を、 ディープリンクにて実現 ・Stripe APIをシステムに組み込み ・準備できた機能から順に ディープリンクより移行する APIを利用した独自 UI 9
“Stripe Paymentsの実装は、 Oh my teethリリースの直前になっておこなわ れました。 ” “Oh my teeth が Stripe Payments を 実装するために要した期間は、わずか 1週間でした。 ” https://stripe.com/jp/customers/oh-my-tee th
DEV UPDATE 2023 顧客向けの請求マイページもノーコード・ローコードで実現 請求に関する UI 開発が不要に 請求履歴やプラン変更、 決済手段の更新などをStripeが提供するUIで ノーコードから API組み込みまで メール認証によるノーコードでの提供、 customer_idによるセッションの作成に対応 必要な画面に直接遷移も 「ディープリンク機能」を使うと、 プラン変更や決済ページへ直接遷移できる https://sizu.me/terms?tab=privacy
DEV UPDATE 2024 [New] Payment Linksで支払い回数を制限する https://stripe.com/sessions 12
DEV UPDATE 2024 [New] プランごとのアクセス権管理も、 Stripe上で完結 Entitlements ( エンタイトルメント ) 商品ごとに機能リストを登録する サブスクリプションを作成すると、 自動的にcustomerに機能が割り当てられる プランごとのアクセス権管理が 1つのAPIコールで実現 customer_idをAPIに渡すと、 利用できる機能リストが取得できる。 リストにキーがあるかを見て、 表示非表示の制御が可能 https://sizu.me/terms?tab=privacy
Stripeを使って作らずに開発する ● まずはPayment Links / Customer Portalから始める ● 機能が不足してきたら、 CheckoutやCustomer Portal Deep Linkに移行する ● Entitlements APIを活用して、 上位プランや無料アクセスへの対応もより簡単に 14
アプリの外で販売 / 契約できるフローを検討する ● 初期ステージから、ユーザー登録等の機能は必要か? ○ 問い合わせが来たら、 手動でユーザーアカウントを発行する方法は? ● 大型の商談や契約がまとまった時の動線はどうする? → IDaaS / Stripeで、アカウントと契約を手動作成 15
メールアドレスがわかれば、ダッシュボードでサブスク契約は作れる まずは手動で請求発行 商談や問い合わせベースで発行 メールで支払いリンクを送信して決済 組み込み後の同期は不要 APIからの契約と同じ扱いになるので、 正式リリース後のデータ移行やsyncも不要 https://sizu.me/terms?tab=privacy
DEV UPDATE 2024 [New] サブスクリプションや請求書に複数の割引クーポンが適用可能に 割引方法がより柔軟に 1つの請求書やサブスクリプションに 複数のクーポンを適用できるように APIからも、ダッシュボードからも システム的な自動適用、 管理画面からの個別設定等、様々な使い方 https://sizu.me/terms?tab=privacy
DEV UPDATE 2024 [New] オートメーションで業務フローを自動化 ワークフローのトリガーを指定 社内通知や Webhook連携をカスタマイズ 18
必要になってから機能を開発する ● 最初期から全ての機能は必要 ですか? ○ アカウントや契約作成は手動じゃだめですか? ● 後からAPI組み込み / 自動化できる からこそ、 あえて手動操作で開発期間を短縮 する 19
変化に耐えられる構成を意識する ● 環境の変化に素早く対応する ○ ビジネスのトレンド ○ 法規制やガイドラインなど ● バスに乗り遅れない準備はできているか? ○ 情報のキャッチアップ ○ システムの変更 20
Notice 2025/03 全てのECサイトで 3Dセキュア認証の 導入が義務化 https://www.j-credit.or.jp/download/news20231114_a1.pdf 21
開発者向けの重要なお知らせ Stripeでの3Dセキュア対応方法について 追加作業は (原則)不要 APIの更新が必要 ● ● ● ● ● ● ● Stripe Payment Links Stripe Checkout 埋め込み料金表 / Buy Button Stripe Elements ○ 決済: Payment Intent ○ カード情報の保存 : Setup Intent Charges API Sources API レガシーバージョンの Stripe Checkout 22
開発者向けの重要なお知らせ Charges / Sources API ↓ Payment Intents API / Setup Intents API への移行ガイド https://stripe.com/docs/payments/payment-intents/migration 23
膨大なAPI・製品 アップデート 244 2022年にリリースされた ユーザー向け新機能の数 336 2022年にリリースされた ユーザー向けAPIアップデートの数 https://docs.stripe.com/changelog?locale=ja-JP
決済の前と後ろで実装を個別に変更できる Dashboard Payment Links ( ノーコード ) コア機能 / オートメーション ( ノーコード ) Checkout ( ローコード ) IPaaS / Amazon EventBridge Elements ( API組み込み ) Webhook API ( API組み込み ) ( ローコード ) 25
変化に対応できる仕組みと設計を ● ドメイン特化のSaaSを活用して、 規制やガイドラインへの対応を任せてしまう ● イベント駆動な仕組みを取り入れて、 変更が必要な領域を最小化する 26
そもそもの 開発速度を高める
New Stripe Workbench Stripeの開発・デバッグを1ブラウザで支援するオールインワンツール https://docs.stripe.com/workbench?locale=ja-JP
Beta Stripe Sandboxes 29
https://speakerdeck.com/hideki_ojima/jp-stripes-osaka8?slide=18
開発者にとっての RevOps導入ジャーニー ● 課題解決のための決済 SaaS導入 ○ 決済の複雑さや変化への対応コストを外部化する ● 仕組み( Ops)化でデータ駆動な意思決定へ ○ 顧客や収益性の分析と自動化によるチームの最適化 ● RevOpsとして、全社プロジェクト化 ○ 営業やマーケとの連携によるデータ利活用 31
「Stripeという巨人の肩」をうまく乗りこなす 「作らず」に 収益化を開始する ダッシュボードで 現在位置を明確に 少ないコードで 変化を実現する ● ノーコード製品の活用 ● 売上やMRRなどのレポート ● 法改正や規制対応 ● 更新のリマインドや督促も ● 未払いや決済エラーの特定 ● 決済手段の追加や Stripeのコア機能で対応 ● 顧客の契約・請求履歴から ● オートメーションやappで ワークフローや連携も 次の対応を計画 ● SQLによる詳細レポートも 提供する国の拡大 ● イベント駆動による 段階的なUIの切替
DEV UPDATE 「決済を知る」ことで、ビジネスの成長に貢献しよう https://stripe.com/jp/customers/awa 33