Hướng dẫn này sử dụng Node.js và Express. Bạn có thể điều chỉnh code cho framework của mình (Next.js, React, Vue, v.v.) và tùy chỉnh UI để phù hợp với ứng dụng của bạn.
- Tạo các sản phẩm đăng ký với giá dựa trên số ghế
- Thiết lập các tiện ích bổ sung cho các ghế bổ sung
- Tạo liên kết thanh toán với số lượng tiện ích bổ sung tùy chỉnh
- Xử lý các phiên thanh toán với số lượng ghế động
Những gì chúng ta đang xây dựng
Hãy tạo một mô hình giá dựa trên số ghế:- Gói cơ bản: $49/tháng cho tối đa 5 thành viên nhóm
- Add-on chỗ ngồi: $2/tháng cho mỗi chỗ ngồi bổ sung
- Payment Link: Checkout động với số lượng chỗ ngồi tùy chỉnh
Trước khi bắt đầu, hãy đảm bảo bạn có:
- Một tài khoản Dodo Payments
- Sự quen thuộc cơ bản với TypeScript/Node.js
Bước 1: Tạo Tiện Ích Bổ Sung Ghế Của Bạn
Tạo một add-on đại diện cho các chỗ ngồi bổ sung. Add-on này sẽ được gắn vào subscription cơ bản và cho phép khách hàng mua thêm chỗ ngồi.
1
Navigate to Add-Ons
- Trên bảng điều khiển Dodo Payments của bạn, ở lại phần Products
- Nhấp vào tab Add-Ons
- Nhấp Create Add-On
2
Enter add-on details
Điền các giá trị sau cho add-on chỗ ngồi của chúng ta:Tên Add-On:
Additional Team SeatMô tả: Add extra team members to your workspace with full access to all featuresGiá: Enter → 2.00Tiền tệ: Phải khớp với tiền tệ của đăng ký cơ bản của bạnDanh mục thuế: Chọn danh mục phù hợp cho sản phẩm của bạn.3
Save your add-on
- Xem lại tất cả cài đặt của bạn:
- Tên: Additional Team Seat
- Giá: $2.00/tháng
- Nhấp vào Create Add-On
Add-on đã được tạo! Add-on chỗ ngồi của bạn giờ có thể được gắn vào các gói đăng ký.
Bước 2: Tạo Sản Phẩm Đăng Ký Cơ Bản Của Bạn
Tạo một sản phẩm subscription cơ bản bao gồm 5 thành viên nhóm. Đây sẽ là nền tảng cho mô hình định giá theo số lượng chỗ ngồi của bạn.
1
Navigate to Products
- Đăng nhập vào bảng điều khiển Dodo Payments của bạn
- Nhấp vào Products trong thanh bên trái
- Nhấp vào nút Create Product
- Chọn Subscription làm loại sản phẩm
2
Fill in the subscription details
Bây giờ chúng ta sẽ nhập các chi tiết cụ thể cho gói cơ bản của mình:Tên sản phẩm:
MotionMô tả: Where your team's documentation lives.Giá định kỳ: Enter → 49.00Chu kỳ thanh toán: Select → MonthlyĐơn vị tiền tệ: Chọn đơn vị bạn ưa thích (ví dụ, USD)Bước 3: Kết Nối Tiện Ích Bổ Sung Với Đăng Ký
Liên kết add-on chỗ ngồi với subscription cơ bản để khách hàng có thể mua thêm chỗ ngồi trong quá trình checkout.1
Attach the seat add-on

- Cuộn xuống phần Tiện Ích Bổ Sung
- Nhấp Thêm Tiện Ích Bổ Sung
- Từ menu thả xuống, chọn tiện ích bổ sung ghế của bạn
- Xác nhận rằng nó xuất hiện trong cấu hình đăng ký của bạn
2
Save subscription changes
- Xem lại toàn bộ thiết lập gói đăng ký của bạn:
- Gói cơ bản: $49/tháng cho 5 chỗ ngồi
- Tiện ích bổ sung: $2/tháng cho mỗi chỗ ngồi bổ sung
- Nhấp vào Lưu thay đổi
Đã cấu hình mô hình định giá theo số lượng chỗ ngồi! Khách hàng hiện có thể mua gói cơ bản và thêm chỗ ngồi khi cần.
Bước 4: Tạo Payment Link với số lượng Add-on tùy chỉnh
Tạo một ứng dụng Express.js để tạo payment link với số lượng add-on tùy chỉnh. Điều này cho phép bạn linh hoạt tạo các checkout session với bất kỳ số lượng chỗ ngồi bổ sung nào.1
Set up your project
Tạo một project Node.js mới và cài đặt các dependency cần thiết:Tạo file
tsconfig.json:2
Create your environment file
Tạo file
.env với API key của Dodo Payments:3
Implement the checkout session creation
Tạo file
src/server.ts với code sau:4
Add a simple web interface
Tạo file
public/index.html để dễ kiểm thử:Đã tạo giao diện web! Bạn hiện có một UI đơn giản để kiểm thử các số lượng chỗ ngồi khác nhau.
5
Serve static files
Thêm đoạn này vào
src/server.ts để serve file HTML:Đã cấu hình file tĩnh! Truy cập
http://localhost:3000 để xem giao diện demo của bạn.Bước 5: Kiểm thử triển khai của bạn
Hãy kiểm thử triển khai mô hình định giá theo số lượng chỗ ngồi để đảm bảo mọi thứ hoạt động chính xác.1
Start your server
- Đảm bảo bạn có file
.envvới API key chính xác - Cập nhật ID sản phẩm và add-on trong code bằng các giá trị thực từ dashboard Dodo Payments
- Khởi động server của bạn:
Server của bạn sẽ khởi động thành công và hiển thị “Server is running on port 3000”
2
Test the web interface

- Mở trình duyệt và truy cập
http://localhost:3000 - Bạn sẽ thấy giao diện demo định giá theo số lượng chỗ ngồi
- Thử các số lượng chỗ ngồi khác nhau (0, 3, 10, v.v.)
- Nhấp vào “Generate Checkout Link” cho mỗi số lượng
- Xác minh rằng các checkout URL được tạo chính xác
3
Test a checkout session
- Tạo một checkout link với 3 chỗ ngồi bổ sung
- Nhấp vào checkout URL để mở checkout của Dodo Payments
- Xác minh rằng checkout hiển thị:
- Gói cơ bản: $49/tháng
- Chỗ ngồi bổ sung: 3 × 2 dollar = $6/tháng
- Hoàn tất giao dịch mua thử nghiệm
Checkout sẽ hiển thị bảng phân tích giá chính xác và cho phép bạn hoàn tất giao dịch mua.
4
Listen for webhooks and update your database
Giữ database đồng bộ với các thay đổi về subscription và chỗ ngồi bằng cách lắng nghe các webhook event từ Dodo Payments. Webhook thông báo cho backend của bạn khi khách hàng hoàn tất checkout, cập nhật subscription hoặc thay đổi số lượng chỗ ngồi.Làm theo hướng dẫn webhook chính thức của Dodo Payments để xem hướng dẫn từng bước về cách thiết lập webhook endpoint và xử lý event:
Dodo Payments Webhooks Documentation
Tìm hiểu cách tiếp nhận và xử lý an toàn các webhook event để quản lý subscription và chỗ ngồi.
Khắc phục sự cố
Các vấn đề thường gặp và giải pháp tương ứng:Checkout creation failing
Checkout creation failing
Nguyên nhân có thể:
- Product ID hoặc add-on ID không hợp lệ
- API key không có đủ quyền
- Add-on chưa được liên kết đúng với subscription
- Sự cố kết nối mạng
- Xác minh product ID và add-on ID tồn tại trong dashboard Dodo Payments
- Kiểm tra add-on đã được gắn đúng vào subscription
- Đảm bảo API key có quyền tạo checkout session
- Kiểm thử kết nối API bằng một GET request đơn giản
Chúc mừng! Bạn đã triển khai mô hình định giá theo số lượng chỗ ngồi
Bạn đã tạo thành công hệ thống định giá theo số lượng chỗ ngồi với Dodo Payments. Sau đây là những gì bạn đã hoàn thành:Base Subscription
Đã tạo sản phẩm subscription với 5 chỗ ngồi đi kèm, giá $49/tháng
Seat Add-ons
Đã cấu hình add-on cho các chỗ ngồi bổ sung với giá $2/tháng cho mỗi chỗ ngồi
Checkout
Đã xây dựng API tạo checkout session với số lượng chỗ ngồi tùy chỉnh
Web Interface
Đã tạo giao diện web đơn giản để kiểm thử các số lượng chỗ ngồi khác nhau
Ví dụ này minh họa một triển khai tối thiểu của mô hình định giá theo số lượng chỗ ngồi. Khi sử dụng trong môi trường production, hãy bổ sung xử lý lỗi, authentication, validation dữ liệu, các biện pháp bảo mật và điều chỉnh logic cho phù hợp với yêu cầu của ứng dụng.