Tổng quan
Bộ khởi động tối thiểu Next.js cung cấp một điểm khởi đầu sẵn sàng để tích hợp Dodo Payments với ứng dụng Next.js của bạn. Mẫu này bao gồm các phiên thanh toán, xử lý webhook, cổng khách hàng và các thành phần UI hiện đại để giúp bạn bắt đầu chấp nhận thanh toán nhanh chóng.Bộ khởi động này sử dụng Next.js 16 App Router với TypeScript, Tailwind CSS 4, và
@dodopayments/nextjs adapter.Tính năng
- Cài đặt nhanh - Bắt đầu trong chưa đầy 5 phút
- Tích hợp thanh toán - Quy trình thanh toán được cấu hình sẵn sử dụng
@dodopayments/nextjs - UI hiện đại - Trang giá cả sạch sẽ, chủ đề tối với Tailwind CSS
- Xử lý Webhook - Điểm cuối webhook sẵn sàng cho các sự kiện thanh toán
- Cổng khách hàng - Quản lý đăng ký chỉ với một cú nhấp chuột
- TypeScript - Được gõ hoàn toàn với các kiểu tối thiểu, tập trung
- Thanh toán được điền sẵn - Chứng minh việc truyền dữ liệu khách hàng để cải thiện UX
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn đã có:- Node.js 20.9+ (cần thiết cho Next.js 16)
- Tài khoản Dodo Payments (để truy cập API và Webhook Keys từ bảng điều khiển)
Bắt đầu nhanh
1
Nhân bản kho lưu trữ
2
Cài đặt phụ thuộc
3
Lấy thông tin xác thực API
Đăng ký tại Dodo Payments và lấy thông tin xác thực của bạn từ bảng điều khiển:
- API Key: Bảng điều khiển → Nhà phát triển → API Keys
- Webhook Key: Bảng điều khiển → Nhà phát triển → Webhooks
4
Cấu hình biến môi trường
Tạo một Cập nhật các giá trị với thông tin xác thực Dodo Payments của bạn:
.env file trong thư mục gốc:5
Thêm sản phẩm của bạn
Cập nhật
src/lib/products.ts với các ID sản phẩm thực tế của bạn từ Dodo Payments:6
Chạy máy chủ phát triển
Cấu trúc dự án
Tùy chỉnh
Cập nhật thông tin sản phẩm
Chỉnh sửasrc/lib/products.ts để sửa đổi:
- ID sản phẩm (từ bảng điều khiển Dodo của bạn)
- Giá cả
- Tính năng
- Mô tả
Điền trước dữ liệu khách hàng
Trongsrc/app/components/ProductCard.tsx, thay thế các giá trị cứng bằng dữ liệu người dùng thực tế của bạn:
Cập nhật cổng khách hàng
Trongsrc/app/components/Header.tsx, thay thế ID khách hàng cứng:
Sự kiện Webhook
Bộ khởi động này chứng minh việc xử lý hai sự kiện webhook trongsrc/app/api/webhook/route.ts:
onSubscriptionActive- Kích hoạt khi một đăng ký trở nên hoạt độngonPaymentSucceeded- Kích hoạt khi một khoản thanh toán thành công
Triển khai
Xây dựng cho sản xuất
Triển khai lên Vercel
[Cập nhật URL Webhook
Sau khi triển khai, cập nhật URL webhook của bạn trong Bảng điều khiển Dodo Payments:Khắc phục sự cố
Module không tìm thấy hoặc lỗi xây dựng
Module không tìm thấy hoặc lỗi xây dựng
Xóa
node_modules và cài đặt lại các phụ thuộc:Chuyển hướng thanh toán không thành công
Chuyển hướng thanh toán không thành công
Nguyên nhân phổ biến:
- ID sản phẩm không hợp lệ - xác minh rằng nó tồn tại trong bảng điều khiển Dodo của bạn
- Sai API key hoặc cài đặt môi trường trong
.env - Kiểm tra bảng điều khiển trình duyệt và terminal để tìm lỗi
Webhooks không nhận sự kiện
Webhooks không nhận sự kiện
Đối với thử nghiệm cục bộ, sử dụng ngrok để phơi bày máy chủ của bạn:Cập nhật URL webhook trong bảng điều khiển Dodo của bạn thành URL ngrok. Nhớ cập nhật file .env của bạn với khóa xác thực webhook chính xác.
Liên kết cổng khách hàng không hoạt động
Liên kết cổng khách hàng không hoạt động
Thay thế
CUSTOMER_ID cứng trong src/app/components/Header.tsx bằng một ID khách hàng thực tế từ bảng điều khiển Dodo của bạn.Hoặc tích hợp hệ thống xác thực và cơ sở dữ liệu của bạn để lấy ID khách hàng một cách động.Tìm hiểu thêm
Hỗ trợ
Cần giúp đỡ với bộ khởi động?- Tham gia cộng đồng Discord của chúng tôi để đặt câu hỏi và thảo luận
- Kiểm tra kho GitHub để biết các vấn đề và cập nhật
- Liên hệ với đội ngũ hỗ trợ của chúng tôi để được trợ giúp