Repositori GitHub
Minimal Next.js + Supabase + Dodo Payments boilerplate langganan
Demo Langsung
Jelajahi demo yang dideploy
Ikhtisar
Sebuah boilerplate siap produksi untuk langganan menggunakan Next.js 15, React 19, Supabase, Drizzle ORM, dan Dodo Payments. Ini dilengkapi dengan Google OAuth, checkout langganan, penanganan webhook, skema database, dan dasbor dasar.Jika Anda hanya membutuhkan penangan rute untuk aplikasi yang sudah ada, lihat adaptor khusus: Next.js Adaptor dan Express Adaptor.
Prasyarat
- Node.js 18+ (atau Bun 1.0+)
- Proyek Supabase (URL, Kunci Anon, Kunci peran layanan, URL Database)
- Akun Dodo Payments (Kunci API, rahasia Webhook)
- Klien Google Cloud OAuth (ID Klien dan Rahasia)
Memulai dengan Cepat
1
Klon dan instal
2
Buat proyek Supabase
Buat proyek Supabase dan salin:
- NEXT_PUBLIC_SUPABASE_URL
- NEXT_PUBLIC_SUPABASE_ANON_KEY
- SUPABASE_SERVICE_ROLE_KEY
- DATABASE_URL (String koneksi)
3
Konfigurasi Google OAuth
Atur URI pengalihan ke:
https://[your-project-ref].supabase.co/auth/v1/callback di Google Cloud, lalu aktifkan penyedia Google di Supabase Auth menggunakan ID Klien dan Rahasia Anda.4
Konfigurasi Dodo Payments
Hasilkan kunci API dan rahasia Webhook dari dasbor Dodo. Atur lingkungan ke
test_mode saat mengembangkan.5
Buat .env.local
6
Provision skema database
Tabel yang dibuat:
users, subscriptions, payments.7
Deploy fungsi webhook
cURL
8
Tambahkan webhook di Dodo Payments
Atur URL endpoint ke:Pilih peristiwa pembayaran dan langganan.
9
Buat produk dan fitur
Di dasbor Dodo → Produk → Buat Produk. Opsional tambahkan metadata:UI harga membaca array ini
features dan merendernya secara dinamis.10
Jalankan server dev
Apa yang disertakan
- Autentikasi melalui Supabase (Google OAuth dikonfigurasi)
- Checkout langganan melalui Dodo Payments
- Fungsi Edge Supabase untuk webhook (
dodo-webhook) - Skema dan migrasi Drizzle ORM
- Dasbor dengan faktur, status langganan, dan fitur rencana
File dan jalur kunci
- Fungsi Edge
- Rute Next.js
- Database (Drizzle)
Variabel lingkungan
Supabase
Supabase
Dodo Payments
Dodo Payments
Google OAuth
Google OAuth
Verifikasi dan pemecahan masalah
Tanda tangan webhook tidak valid (401)
Tanda tangan webhook tidak valid (401)
- Pastikan
DODO_WEBHOOK_SECRETcocok dengan nilai dari dasbor Dodo - Konfirmasi Anda telah mendepoy fungsi
dodo-webhookterbaru - Verifikasi nama header benar di fungsi Anda (Dodo-Signature)
Push database gagal
Push database gagal
- Periksa sintaks
DATABASE_URLdan egress jaringan Supabase - Tunggu ~2–3 menit setelah pembuatan proyek sebelum push pertama
Ketidaksesuaian pengalihan OAuth
Ketidaksesuaian pengalihan OAuth
- URI pengalihan harus
https://[ref].supabase.co/auth/v1/callback - Pastikan sama di Google Cloud dan penyedia Supabase Auth
Anda sekarang memiliki kerangka kerja SaaS langganan yang berfungsi dengan Supabase dan Dodo Payments.
Repositori asli dan langkah-langkah rinci: dodo-supabase-subscription-starter.