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
1
Nhân bản và cài đặt
2
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)
3
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.4
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.5
Tạo .env.local
6
Cung cấp sơ đồ cơ sở dữ liệu
Các bảng đã được tạo:
users, subscriptions, payments.7
Triển khai chức năng webhook
cURL
8
Thêm webhook trong Dodo Payments
Đặt URL điểm cuối thành:Chọn các sự kiện thanh toán và đăng ký.
9
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 người dùng giá cả đọc mảng
features này và hiển thị nó một cách động.10
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
- Chức năng Edge của Supabase cho webhook (
dodo-webhook) - Sơ đồ 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 không thành công
Đẩy cơ sở dữ liệu không thành công
- 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
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.