はじめに
最近、個人でwebサービスを運営する人が増えてきました。個人運営からはじめたサービスが、ビジネスとして成長していくケースも少なくない状態になっています。
しかし、実際に収益を得るためには決済処理の実装について考える必要があります。そこで、webサービスを個人運営するとき、簡単に決済処理を実装する方法を紹介します。
Firebase の機能と Stripe を使用すると、独自のサーバー インフラストラクチャを構築することなく、ウェブアプリで支払い処理を実装できます。
参考リンク
Firebase による支払い処理
URL : https://firebase.google.com/docs/use-cases/payments?hl=ja
参考になる本
- サーバーレス開発プラットフォーム Firebase入門
- Firebase Authenticationで学ぶ ソーシャルログイン入門 ID管理の原則にそった実装のベストプラクティス
- 良いコード/悪いコードで学ぶ設計入門―保守しやすい 成長し続けるコードの書き方
Stripe とは
Stripeは、オンライン決済のためのプラットフォームです。開発者には、APIを使用して決済処理を組み込むことができます。Stripeはクレジットカード、デビットカード、Apple Pay、Google Payなど様々な支払い方法をサポートしており、開発者はカスタマイズ可能なチェックアウトページを作成することができます。また、Stripeは、決済処理の自動化、顧客データの管理、決済取引の詳細な分析などの機能も提供しています。
事前準備
Firebase CLI を使用出来るようにする
Firebase CLI を使用することで、拡張機能をインストールして管理することができます。
以下のサイトでセットアップ手順をまとめました。
Stripe アカウントの作成
ダッシュボードでテスト用の API キー/シークレットを用意する。
実装
- Firebaseプロジェクトを作成: Firebaseコンソールにアクセスして新しいプロジェクトを作成します。
- Stripeアカウントを作成: Stripeにアクセスしてアカウントを作成します。
- Firebase Cloud Functionsを使って決済処理を実装: Firebase Cloud Functionsを使って決済処理のバックエンドを実装します。Stripe APIを使って支払いを受け付け、Firebase Realtime Databaseを使ってトランザクション情報を保存することができます。
- クライアントアプリを開発: FirebaseとStripeを使って決済処理を実装するためのクライアントアプリを開発します。ここではStripe Checkoutを使って支払いフォームを作成し、Firebase SDKを使ってCloud Functionsにデータを送信することができます。
- デプロイ: 最後に開発したアプリをデプロイします。これにより、Firebase Cloud Functionsがバックエンドとして動作し、Stripe Checkoutがフロントエンドとして動作するようになります。
まとめ
参考にしたコードはこちらです。
iOSやandroidの決済であれば、RevenueCatで実装するのも良いと思います。