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
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)
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 Client ID dan Secret Anda.Konfigurasi Dodo Payments
Hasilkan kunci API dan rahasia Webhook dari dasbor Dodo. Atur lingkungan ke
test_mode saat mengembangkan.Buat produk dan fitur
Di dasbor Dodo → Produk → Buat Produk. Opsional tambahkan metadata:UI harga membaca array
features ini dan merendernya secara dinamis.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 menerapkan fungsi
dodo-webhookterbaru - Verifikasi nama header benar di fungsi Anda (Dodo-Signature)
Pengiriman database gagal
Pengiriman database gagal
- Periksa sintaks
DATABASE_URLdan egress jaringan Supabase - Tunggu ~2–3 menit setelah pembuatan proyek sebelum pengiriman pertama
Ketidaksesuaian pengalihan OAuth
Ketidaksesuaian pengalihan OAuth
- URI pengalihan harus
https://[ref].supabase.co/auth/v1/callback - Pastikan sama di Google Cloud dan penyedia Auth Supabase
Anda sekarang memiliki kerangka kerja SaaS langganan yang berfungsi dengan Supabase dan Dodo Payments.
Repositori asli dan langkah-langkah rinci: dodo-supabase-subscription-starter.