Skip to main content
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.
Giữ câu đầu tiên hướng đến khách hàng và tập trung vào kết quả; câu này sẽ được hiển thị nổi bật tại trang thanh toán.
Products
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.
Sau đó thiết lập giá:
  • 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 daysTrial 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í.
Bạn muốn đặt giá cố định theo đơn vị tiền tệ hoặc quốc gia thay vì chuyển đổi FX theo thời gian thực? Hãy đặt pricing_mode trên product và gắn các quy tắc Localized Pricing — ví dụ €9.99 bằng EUR hoặc ₹999 tại Ấn Độ.
Việc thay đổi giá chỉ ảnh hưởng đến các giao dịch mua mới. Các subscription hiện tại tuân theo quy tắc thay đổi plan.
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
Thêm hoặc xóa các benefits khi offer của bạn phát triển. Các subscriber hiện tại sẽ được cấp hoặc thu hồi quyền truy cập tương ứng.

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.
Product Collections

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

  1. 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)
  2. Nhóm vào một collection: Thêm các product liên quan vào một Product Collection
  3. 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
  4. 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.
Các trang biểu mẫu product và collection có các nút hành động ở header, giúp bạn lưu mà không cần cuộn xuống cuối biểu mẫu dà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.
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_intervalsubscription_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.
Để 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.
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.
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.
Pre-signed URL sẽ hết hạn sau 60 giây, vì vậy hình ảnh phải được tải lên trong khoảng thời gian đó.
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
Nếu tải lên thành công, AWS S3 sẽ trả về status 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.
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.
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.
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.
Lần sửa đổi cuối 31 tháng 7, 2026