Hướng dẫn này cung cấp mã triển khai mẫu cho một ứng dụng Node.js/Express. Bạn có thể chỉnh sửa mã này theo khung công tác cụ thể của mình (Next.js, React, Vue, v.v.) và tùy chỉnh giao diện người dùng theo nhu cầu ứ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 đô la/tháng cho tối đa 5 thành viên trong nhóm
- Tiện ích bổ sung ghế: 2 đô la/tháng cho mỗi ghế bổ sung
- Liên kết thanh toán: Thanh toán động với số lượng ghế 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
Bây giờ chúng ta cần tạo một tiện ích bổ sung đại diện cho các ghế bổ sung. Tiện ích bổ sung này sẽ được gắn vào đăng ký cơ bản của chúng tôi và cho phép khách hàng mua thêm ghế.
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
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.Bước 2: Tạo Sản Phẩm Đăng Ký Cơ Bản Của Bạn
Chúng ta sẽ bắt đầu bằng cách tạo một sản phẩm đăng ký cơ bản bao gồm 5 thành viên trong nhóm. Đây sẽ là nền tảng cho mô hình giá dựa trên số ghế của chúng ta.
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
Bước 3: Kết Nối Tiện Ích Bổ Sung Với Đăng Ký
Bây giờ chúng ta cần liên kết tiện ích bổ sung ghế của mình với đăng ký cơ bản để khách hàng có thể mua thêm ghế trong quá trình thanh toán.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
Bước 4: Tạo Liên Kết Thanh Toán Với Số Lượng Tiện Ích Bổ Sung Tùy Chỉnh
Bây giờ hãy tạo một ứng dụng Express.js để tạo liên kết thanh toán với số lượng tiện ích bổ sung tùy chỉnh. Đây là nơi sức mạnh thực sự của giá dựa trên số ghế xuất hiện - bạn có thể tạo các phiên thanh toán động với bất kỳ số lượng ghế bổ sung nào.Set up your project
Tạo một dự án Node.js mới và cài đặt các phụ thuộc cần thiết:Tạo một file
tsconfig.json:Add a simple web interface
Tạo một file
public/index.html để dễ kiểm tra:Giao diện web đã được tạo! Bạn giờ có một giao diện đơn giản để thử các số lượng chỗ ngồi khác nhau.
Bước 5: Kiểm Tra Triển Khai Của Bạn
Hãy kiểm tra triển khai giá dựa trên số ghế của chúng ta để đảm bảo mọi thứ hoạt động chính xác.Start your server
- Đảm bảo bạn có file
.envchứa API key chính xác - Cập nhật ID sản phẩm và add-on trong mã của bạn bằng các giá trị thực từ bảng điều khiển Dodo Payments
- Khởi động server của bạn:
Server của bạn nên khởi động thành công và hiển thị “Server running on http://localhost:3000”
Test the web interface

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