Skip to main content

GitHub Repository

最小構成の Next.js + Supabase + Dodo Payments サブスクリプション用ボイラープレート

Live Demo

デプロイ済みのデモを確認

概要

Next.js 15、React 19、Supabase、Drizzle ORM、Dodo Payments を使用した、本番環境対応のサブスクリプション用ボイラープレートです。Google OAuth、サブスクリプションのチェックアウト、webhook 処理、データベーススキーマ、基本的なダッシュボードがあらかじめ含まれています。
既存のアプリにルートハンドラーだけが必要な場合は、専用のアダプターを参照してください: Next.js Adaptor および Express Adaptor

前提条件

  • Node.js 18+(または Bun 1.0+)
  • Supabase プロジェクト(URL、Anon key、Service role key、Database URL)
  • Dodo Payments アカウント(API key、Webhook secret)
  • Google Cloud OAuth クライアント(Client ID と Secret)

クイックスタート

1

Clone and install

2

Create Supabase project

Supabase プロジェクトを作成し、以下をコピーします:
  • NEXT_PUBLIC_SUPABASE_URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY
  • SUPABASE_SERVICE_ROLE_KEY
  • DATABASE_URL(Connection string)
3

Configure Google OAuth

Google Cloud でリダイレクト URI を https://[your-project-ref].supabase.co/auth/v1/callback に設定し、Client ID と Secret を使用して Supabase Auth で Google provider を有効にします。
4

Configure Dodo Payments

Dodo ダッシュボードから API key と Webhook secret を生成します。開発中は環境を test_mode に設定します。
5

Create .env.local

シークレットをコミットしないでください。デプロイ環境では環境変数を使用します。
6

Provision database schema

作成されるテーブル: userssubscriptionspayments
7

Deploy webhook function

cURL
8

Add webhook in Dodo Payments

エンドポイント URL を次に設定します:
支払いおよびサブスクリプション関連のイベントを選択します。
9

Create products and features

Dodo ダッシュボード → Products → Create Product の順に選択します。必要に応じてメタデータを追加します:
料金 UI はこの features 配列を読み込み、動的にレンダリングします。
10

Run the dev server

http://localhost:3000 を開きます。

含まれる機能

  • Supabase による認証(Google OAuth を設定済み)
  • Dodo Payments によるサブスクリプションのチェックアウト
  • webhook 用 Supabase Edge Function(dodo-webhook
  • Drizzle ORM のスキーマとマイグレーション
  • 請求書、サブスクリプションのステータス、プランの機能を備えたダッシュボード
エンドツーエンドテストが完了するまで、DODO_PAYMENTS_ENVIRONMENTtest_mode のままにしてください。

主要なファイルとパス

環境変数

検証とトラブルシューティング

  • DODO_WEBHOOK_SECRET が Dodo ダッシュボードの値と一致していることを確認します
  • 最新の dodo-webhook function をデプロイしたことを確認します
  • function 内のヘッダー名(Dodo-Signature)が正しいことを確認します
  • DATABASE_URL の構文と Supabase のネットワーク egress を確認します
  • プロジェクト作成後、最初の push まで 2~3 分ほど待ちます
  • リダイレクト URI は https://[ref].supabase.co/auth/v1/callback である必要があります
  • Google Cloud と Supabase Auth provider の両方で同じ値になっていることを確認します
これで、Supabase と Dodo Payments を使った、動作するサブスクリプション SaaS の基盤が完成しました。
元のリポジトリと詳細な手順: dodo-supabase-subscription-starter
最終更新日 2026年7月31日