💸

スタートアップこそ収益が大事じゃないか? 初めてのStripeとサーバレスアーキテクチャ

2023/12/20に公開

概要

先日、2023年11月14日に、「JP_Stripes サッポロ vol.9 - 事例から学ぶDXとオンライン決済」というイベントが開催されました。

[イベントページはこちら]
https://jpstripes.connpass.com/event/295418/

その中で私も登壇させていただきまして、副業でお手伝いをしているスタートアップさんでの事例についてを「スタートアップこそ収益が大事じゃないか? 初めてのStripeとサーバレスアーキテクチャ」という内容でお話しさせていただき、その内容についてを今回、記事として書いていこうと思いたち筆を走らせることにしました。

早速本題における課題感

とある走り出し始めたシードのスタートアップにて起こっていた問題なのだが、彼らは提供しているWebサービスの中で決済機能を持ち合わせていなかった。

前提としてのサービス構成

  • まずは、どんなサービスなのかを知らないとStripeを使ったことでどんな課題が解消されたのかを説明することが難しいため、簡単にサービスの話をいたします。
  • 扱っていたサービスとしては、いろんな方(学生、社会人、etc..)が使えるWebサービスで、フードのデリバリーサービスです。

  • よくあるイベント集客サービスがあると思いますが、特定のイベントへの参加登録として"ご飯"を注文すると、その特定のイベントへ参加することができる。そんなサービスとなっています。

サービスの流れ

  • サービスの流れも実にシンプルで、関係者がテイクアウトができる飲食店、Webサイトの運営会社、Webサイトを利用する人(イベントを作成し募集するユーザと特定のイベントに参加登録するユーザ)がいます。

既存サービスの課題

  • ここで起こっていたこととしては、開発メンバーがどうしても立ち上げ当初のスタートアップということもあり、基本常時動けるエンジニアが0人で、ファウンダーと副業で入っているエンジニアが時間を見つけて開発する。そんな体制が続いていました。
  • そのため、ビジネスモデルを作成し、お客様先に営業し機能のフィードバック、お客様が求める機能をすぐにリリースしたいという気持ちと、今あるサービスのキャッシュフローを綺麗にしたいが優先度見合いで落ちてしまう。そんなこと起きていました。
  • サービスとしては、どうやってマネタイズしていたかというと、“お金”が絡む箇所については、全てサービス運営者が直接やりとりし、“収益化”はおろか、ランチ会で回収しきれない金額については持ち出し状態となっていた状態でした。

救世主"Stripe"

  • ちょうどこの頃、ファウンダーの方と地方のコミュニティイベントで知り合い、現状を知ったこともあり、そうしたら"Stripe"を組み込み、既存のサービスにキャッシュフローが自動で回る仕組みを作ろうと提案し、時間を見合いながら開発をさせていただきました。

全体のアーキテクチャ

  • サービスとしては、基本Firebaseを使用していたというのもあり、そこにStripeを叩けるようSDKを用いて機能追加をしていきます。
  • ポイントは、このサービスにおけるイベントの情報や、ご飯を注文したデータというのは、Firestoreに保存していたため、フロント側でご飯の注文(イベントへの参加)を申し込み、StripeのChackout機能を用いてカード決済をした後に、もし決済が失敗するとご飯を注文していないのにfirestore上はご飯を注文したことになっているそんなこと事象が発生しかねませんでした。
  • ただ、Stripeはwebhookというものを用意しており、実際にカード会社の支払いが完了したタイミングでそれをイベントで知らせることができます。
  • なので、Cloud Functionsを活用し、StripeからのWebhookをトリガーとして、Cloud Functionsを呼び出し、ちゃんとカード決済が通ったものだけ、Firestoreのデータを更新するような仕組みも導入しております。

今回、"Stripe"をこのような形で組み込む際に考えたこと

それは2つあります。

①: ユーザが加速的に増えるようなサービスでは無い

  • まず1つ目には、"ユーザが加速的に増えるようなサービスでは無い"ということです。
  • これはとても重要で、直接バッチなどを経由せずに叩きに行かせているのは、まだそこまでのトラフィックがかかるようなサービスではないことが挙げられます。
  • そのため、直接SDKを使用し叩かせる判断を行いました。

②: 少ない人的リソース

  • 2つ目には、"少ない人的リソース"だったという点。
  • なるべく少ないコンポーネントでアーキテクチャをしていかないと、自分たちで運用する手間が増えてしまう。そのため、最小構成となるような実装を心がけた形となります。

シードのスタートアップとサーバレス

  • 私が思うに、彼らは常に”常に顧客から始まり、仮説検証、テスト、フィードバック、改善すること”をしている。でないと他社のサービスとは差別化ができませんし、何よりスピード感が重要です。
  • これを実現するには、運用コストをどれだけ減らせるか。楽できるかが重要だと思っています。
  • だからこそ、シードのスタートアップとサーバレスというサービスは相性がいいですし、使うべきだと思っています。


引用元: https://x.com/kzkHykw1991/status/1673334357094813699?s=20

まとめ

今回の課題解決のために、"Stripe"を使っていったのだが本当にいいサービスだなという印象を持ちました。なにより、Stripeを組み込んだことにより、課題であった収益化が見込めるようになったこと、そして、シードのスタートアップこそサーバレスを使うべきだということに改めて気付かされたそんな体験談でした。

Discussion