Kho lưu trữ GitHub
Bộ khởi động đăng ký Next.js + Supabase + Dodo Payments tối thiểu
Demo trực tiếp
Khám phá bản demo đã triển khai
Tổng quan
Một bộ khởi động sẵn sàng cho sản xuất cho các đăng ký sử dụng Next.js 15, React 19, Supabase, Drizzle ORM và Dodo Payments. Nó đi kèm với Google OAuth, thanh toán đăng ký, xử lý webhook, sơ đồ cơ sở dữ liệu và một bảng điều khiển cơ bản.Nếu bạn chỉ cần các trình xử lý tuyến đường cho một ứng dụng hiện có, hãy xem các bộ điều hợp chuyên dụng: Next.js Adaptor và Express Adaptor.
Điều kiện tiên quyết
- Node.js 18+ (hoặc Bun 1.0+)
- Dự án Supabase (URL, Anon key, Service role key, Database URL)
- Tài khoản Dodo Payments (API key, Webhook secret)
- Google Cloud OAuth client (Client ID và Secret)
Bắt đầu nhanh
Tạo dự án Supabase
Tạo một dự án Supabase và sao chép:
- NEXT_PUBLIC_SUPABASE_URL
- NEXT_PUBLIC_SUPABASE_ANON_KEY
- SUPABASE_SERVICE_ROLE_KEY
- DATABASE_URL (Chuỗi kết nối)
Cấu hình Google OAuth
Đặt URI chuyển hướng thành:
https://[your-project-ref].supabase.co/auth/v1/callback trong Google Cloud, sau đó kích hoạt nhà cung cấp Google trong Supabase Auth bằng Client ID và Secret của bạn.Cấu hình Dodo Payments
Tạo một API key và Webhook secret từ bảng điều khiển Dodo. Đặt môi trường thành
test_mode trong quá trình phát triển.Tạo sản phẩm và tính năng
Trong bảng điều khiển Dodo → Sản phẩm → Tạo sản phẩm. Tùy chọn thêm siêu dữ liệu:Giao diện giá cả đọc mảng
features này và hiển thị nó một cách động.Chạy máy chủ phát triển
Những gì được bao gồm
- Xác thực qua Supabase (Google OAuth đã được cấu hình)
- Thanh toán đăng ký qua Dodo Payments
- Supabase Edge Function cho webhooks (
dodo-webhook) - Lược đồ và di chuyển Drizzle ORM
- Bảng điều khiển với hóa đơn, trạng thái đăng ký và tính năng kế hoạch
Các tệp và đường dẫn chính
- Chức năng Edge
- Các tuyến Next.js
- Cơ sở dữ liệu (Drizzle)
Biến môi trường
Supabase
Supabase
Dodo Payments
Dodo Payments
Google OAuth
Google OAuth
Xác minh và khắc phục sự cố
Chữ ký webhook không hợp lệ (401)
Chữ ký webhook không hợp lệ (401)
- Đảm bảo
DODO_WEBHOOK_SECRETkhớp với giá trị từ bảng điều khiển Dodo - Xác nhận bạn đã triển khai chức năng
dodo-webhookmới nhất - Kiểm tra tên tiêu đề là chính xác trong chức năng của bạn (Dodo-Signature)
Đẩy cơ sở dữ liệu thất bại
Đẩy cơ sở dữ liệu thất bại
- Kiểm tra cú pháp
DATABASE_URLvà mạng Supabase egress - Chờ ~2–3 phút sau khi tạo dự án trước khi đẩy lần đầu tiên
Mismatched redirect OAuth
Mismatched redirect OAuth
- URI chuyển hướng phải là
https://[ref].supabase.co/auth/v1/callback - Đảm bảo điều tương tự trong Google Cloud và nhà cung cấp Supabase Auth
Bạn hiện có một mô hình SaaS đăng ký hoạt động với Supabase và Dodo Payments.
Kho lưu trữ gốc và các bước chi tiết: dodo-supabase-subscription-starter.