Sản phẩm là nền tảng của Dodo Payments. Dù bạn bán nội dung tải xuống một lần, gói đăng ký định kỳ hay quyền truy cập dựa trên mức sử dụng, bạn đều bắt đầu bằng việc tạo sản phẩm. Mỗi sản phẩm xác định cách sản phẩm được định giá, hiển thị khi thanh toán và cung cấp sau khi mua.
One‑Time
Tính phí một lần cho quyền truy cập trọn đời hoặc một sản phẩm bàn giao duy nhất.
Subscriptions
Tính phí theo lịch với thời gian dùng thử, phân bổ theo tỷ lệ và các tiện ích bổ sung.
Usage‑Based
Đo lường mức tiêu thụ và tính phí theo mức sử dụng thực tế.
Tạo sản phẩm
Bạn có thể tạo sản phẩm từ dashboard hoặc qua API. Chọn mô hình định giá ngay từ đầu — One-Time, Subscription hoặc Usage-Based — rồi cấu hình thông tin chi tiết. Không thể thay đổi mô hình định giá về sau; hãy tạo sản phẩm mới nếu bạn cần một mô hình khác.1
Name & description
Cung cấp tiêu đề rõ ràng và phần mô tả ngắn gọn, tập trung vào giá trị. Mô tả hỗ trợ Markdown.

2
Pricing model & price
Chọn mô hình định giá:
- One‑Time: Giá cố định, thanh toán một lần.
- Subscription: Giá định kỳ theo khoảng thời gian và có thể kèm thời gian dùng thử.
- Usage‑Based: Giá được tính dựa trên các sự kiện được đo lường.
- Price: Số tiền cơ bản và đơn vị tiền tệ. Bạn có thể đặt giá cơ bản bằng bất kỳ đơn vị tiền tệ nào mà Dodo Payments có thể tính phí, không chỉ USD. Sử dụng trình chọn tiền tệ có chức năng tìm kiếm để tìm một đơn vị tiền tệ; USD, GBP, EUR và INR được ghim ở đầu danh sách.
- Discount (%): Khoản giảm giá nội tuyến tùy chọn, được hiển thị trong checkout và hóa đơn.
- Đối với subscription, hãy đặt Repeat every (ví dụ: 1 tháng hoặc 1 năm), Trial days và Trial amount tùy chọn cho paid trial. Giá subscription phải ít nhất là $1 (hoặc giá trị tương đương bằng đơn vị tiền tệ bạn chọn); các khoản tiền thấp hơn mức tối thiểu này không được hỗ trợ và subscription sẽ không hoạt động.
Khách hàng bên ngoài đơn vị tiền tệ cơ bản của bạn vẫn được tính phí thông qua Adaptive Currency, vì vậy bạn có thể tạo giá bằng bất kỳ đơn vị tiền tệ nào phù hợp nhất với thị trường của mình mà không cần thay đổi cách người mua bị tính phí.
3
Product media
Tải hình ảnh lên để giới thiệu product trong checkout và hóa đơn. Hỗ trợ PNG/JPG/WebP tối đa 3 MB. Bạn có thể sắp xếp lại hoặc thay thế bất cứ lúc nào.
4
Automated entitlements (Under Advanced Settings)
Gắn fulfillment tự động kích hoạt sau khi thanh toán:
- License Keys: Phát hành và xác thực các key duy nhất
- File Downloads: Cấp quyền truy cập file an toàn
- Custom: Kích hoạt logic entitlement của riêng bạn thông qua webhooks
Variants và tùy chọn pricing
Thay vì tạo variants trong cùng một product, hãy tạo các product riêng cho từng tùy chọn pricing (ví dụ: Monthly và Yearly). Sau đó, nhóm chúng vào một Product Collection để hiển thị tất cả tùy chọn trong một checkout duy nhất và bật tính năng chuyển plan trong Customer Portal.
Tại sao nên dùng phương pháp này?
- Mô hình pricing rõ ràng: Mỗi product có một mô hình pricing duy nhất, được xác định rõ (one-time, subscription hoặc usage-based)
- API dễ dự đoán: Tích hợp đơn giản hơn mà không cần logic variant lồng nhau
- Báo cáo dễ dàng hơn: Theo dõi doanh thu và các metric theo từng product mà không cần tổng hợp theo variant
- Checkout linh hoạt: Hiển thị nhiều product cạnh nhau, cho phép khách hàng so sánh và lựa chọn
Product Collections hoạt động như thế nào
- Tạo product: Thiết lập các product riêng cho từng plan (ví dụ: Starter Monthly, Starter Annual, Pro Monthly, Pro Annual)
- Nhóm vào một collection: Thêm các product liên quan vào một Product Collection
- Checkout thống nhất: Khách hàng nhìn thấy tất cả tùy chọn trong một checkout và chọn plan ưa thích
- Chuyển plan: Khách hàng có thể upgrade hoặc downgrade giữa các product trong cùng một collection thông qua Customer Portal
Product Collections
Nhóm các product liên quan để tạo trải nghiệm checkout thống nhất và quy trình upgrade/downgrade liền mạch.
Quản lý product
Bạn có thể quản lý product thông qua dashboard hoặc lập trình bằng API. API cung cấp toàn quyền kiểm soát việc tạo, cập nhật, truy xuất, tải hình ảnh lên và lưu trữ product.Quản lý trên Dashboard
- Update: Chỉnh sửa tên, mô tả, hình ảnh, giá, fields và benefits bất cứ lúc nào (pricing model là immutable).
- Archive: Ẩn product khỏi các giao dịch mua mới mà không làm gián đoạn khách hàng hiện tại. Bạn có thể unarchive sau đó.
- Drafts: Product đang được thực hiện sẽ được lưu dưới dạng draft để bạn có thể quay lại sau. Draft được lưu riêng biệt cho test mode và live mode, vì vậy product chưa hoàn tất ở một mode sẽ không bao giờ ảnh hưởng sang mode còn lại. Sử dụng Clear Draft để loại bỏ draft và bắt đầu lại.
Quản lý bằng API
Các hướng dẫn sau đây cho phép bạn tạo, cập nhật, quản lý và truy xuất product, bao gồm cả việc tải hình ảnh lên.Creating a Product
Creating a Product
Một product có thể là một item one-time hoặc một service dựa trên subscription. Để tạo product mới, hãy gửi request
POST đến endpoint /products với các thông tin như tên, mô tả, giá, đơn vị tiền tệ và việc product đó có phải là recurring product hay không.Đối với recurring product, hãy đặt object price thành giá recurring (type: recurring_price) và chỉ định payment_frequency_interval và subscription_period_interval (Day, Week, Month hoặc Year) cùng với số lượng tương ứng.Create Product API
Xem cấu trúc request và response chi tiết trong tài liệu Create Product API.
Updating a Product
Updating a Product
Để chỉnh sửa product hiện có, hãy gửi request
PATCH đến endpoint /products/{product_id}. Bạn có thể cập nhật các thuộc tính như tên, giá và mô tả trong khi giữ nguyên các chi tiết khác.Đảm bảo rằng product_id trong endpoint khớp với một product hiện có.Update Product API
Xem cấu trúc request và response chi tiết trong tài liệu Update Product API.
Retrieving Products
Retrieving Products
Bạn có thể lấy danh sách product được lưu trong account bằng cách sử dụng request
GET đến endpoint /products. Điều này cho phép bạn truy xuất thông tin chi tiết về product, bao gồm cả product active và archived.Retrieve Products API
Xem cấu trúc request và response chi tiết trong tài liệu Retrieve Products API.
Uploading Product Images
Uploading Product Images
Bạn có thể liên kết hình ảnh với product bằng cách tải hình ảnh lên AWS S3 thông qua pre-signed URL do API cung cấp. Trước tiên, hãy yêu cầu URL tải hình ảnh lên từ endpoint
/products/{product_id}/images, sau đó sử dụng URL được cung cấp để tải hình ảnh lên trong vòng 60 giây.Sau khi nhận được pre-signed URL từ API, hãy tải hình ảnh lên bằng method PUT. Điều này đảm bảo quyền truy cập an toàn và tạm thời vào AWS S3 để tải hình ảnh lên.Các thư viện được hỗ trợ để tải lên S3:- Node.js:
axios,node-fetch - Python:
requests,boto3 - Go:
net/http - PHP:
GuzzleHttp - Ruby:
rest-client
200 OK, cho biết hình ảnh đã được lưu trữ thành công.Upload Product Image API
Xem cấu trúc request và response chi tiết trong tài liệu Upload Product Image API.
Archiving a Product
Archiving a Product
Nếu không còn muốn hiển thị hoặc sử dụng product, bạn có thể archive product bằng request
DELETE đến endpoint /products/{id}. Thao tác này sẽ ẩn product nhưng không xóa product vĩnh viễn.Archive Product API
Xem cấu trúc request và response chi tiết trong tài liệu Archive Product API.
Unarchiving a Product
Unarchiving a Product
Nếu cần khôi phục product đã archived, hãy gửi request
POST đến endpoint /products/{product_id}/unarchive. Thao tác này sẽ kích hoạt lại product và giúp product sẵn sàng để sử dụng lần nữa.Unarchive Product API
Xem cấu trúc request và response chi tiết trong tài liệu Unarchive Product API.
Checkout & fulfillment
Checkout & fulfillment
Tạo các flow payment hoặc subscription từ product và tự động thực hiện fulfillment thông qua benefits và webhooks.
Checkout Sessions
Tạo checkout session cho các giao dịch mua one-time hoặc subscription.
Payment Webhooks
Phản hồi các event trong vòng đời payment.
Subscription Webhooks
Xử lý các event subscription được tạo, gia hạn và hủy.
Best practices
- Bắt đầu với sự rõ ràng: Tạo product riêng cho từng tùy chọn pricing (Monthly và Yearly)
- Sử dụng trial một cách hợp lý: Kết hợp trial với onboarding để thúc đẩy activation
- Tự động hóa fulfillment: Sử dụng benefits và webhooks để cung cấp ngay lập tức
- Gắn metadata: Lưu ID hệ thống của bạn để đối soát
Bạn đã sẵn sàng tạo product và bắt đầu bán — one-time, recurring hoặc theo usage.
Liên quan
Product Analytics
Theo dõi doanh thu, khách hàng, retention, subscriber và MRR cho từng product.
Localized Pricing
Đặt giá cố định theo đơn vị tiền tệ hoặc quốc gia cho product thay vì dựa vào tỷ giá hối đoái theo thời gian thực.