Skip to main content
Entitlement chuyển một khoản thanh toán thành công hoặc subscription đang hoạt động thành quyền truy cập: license key trong hộp thư của khách hàng, feature flag mà ứng dụng của bạn kiểm tra, vai trò Discord, repository GitHub, template Notion, liên kết remix Framer, lời mời trò chuyện Telegram hoặc một gói tệp có thể tải xuống. Dodo Payments tự động cấp, theo dõi và thu hồi quyền truy cập đó khi vòng đời thanh toán thay đổi.
Bảng điều khiển Entitlements với danh sách entitlement ở bên trái và hoạt động grant ở bên phải

The Entitlements dashboard. Each entitlement is a reusable template; the right pane shows individual customer grants.

Entitlement là gì?

Entitlement là định nghĩa có thể tái sử dụng về một nội dung bạn cung cấp cho khách hàng, chẳng hạn như license key Pro, vai trò Discord “Patrons”, quyền truy cập vào repository GitHub riêng tư hoặc một gói sách điện tử có thể tải xuống. Bạn gắn entitlement vào product, và Dodo Payments cung cấp entitlement đó khi khách hàng thanh toán. Khi khách hàng mua product, Dodo Payments tạo một grant: một lần cấp entitlement cho một khách hàng. Grant có một trong bốn trạng thái: Pending trong khi quá trình cung cấp đang diễn ra, Delivered khi khách hàng đã có quyền truy cập, Failed nếu không thể hoàn tất việc cung cấp, và Revoked khi quyền truy cập bị thu hồi.
Entitlement kiểm soát việc cung cấp (khách hàng có quyền truy cập không?). Credit kiểm soát mức sử dụng (họ có thể sử dụng bao nhiêu?). Bạn có thể gắn cả hai vào cùng một product. Xem Credit-Based Billing để biết thêm về credit.

Các Tích Hợp Có Sẵn

Mỗi entitlement được cung cấp thông qua một integration. Hãy chọn integration phù hợp với nội dung bạn bán.

License Keys

Tạo mã giấy phép duy nhất với giới hạn kích hoạt và thời hạn. Phù hợp nhất cho phần mềm, plugin, và CLI.

Digital Files

Cung cấp các tệp có thể tải xuống, chẳng hạn như sách điện tử, template và nội dung đa phương tiện, bằng URL tải xuống presigned và hướng dẫn tùy chọn.

Feature Flags

Kiểm soát các tính năng trong ứng dụng của riêng bạn dựa trên giao dịch mua. Được cung cấp khi tạo, kiểm tra thông qua API và thu hồi khi hủy.

Discord

Cấp cho khách hàng một vai trò trong server Discord của bạn khi họ mua hàng. Vai trò sẽ tự động bị xóa khi hủy.

GitHub

Thêm khách hàng làm người cộng tác vào kho lưu trữ riêng tư theo mức quyền bạn chọn.

Telegram

Thêm khách hàng vào trò chuyện hoặc kênh Telegram riêng tư sau khi mua.

Framer

Mở khóa một liên kết remix của mẫu Framer cho khách hàng thanh toán.

Notion

Nhân bản một mẫu Notion vào không gian làm việc của khách hàng khi mua.

Cách thức hoạt động của Grants

Grant tuân theo cùng các sự kiện thanh toán và subscription mà bạn nhận được dưới dạng webhook. Dodo Payments tự động tạo và thu hồi grant cho các giao dịch mua dựa trên vòng đời thanh toán, vì vậy bạn không cần tự gọi grant API.

Vòng đời của Grant

Grant trải qua các trạng thái sau:
1

Created

Dodo Payments tạo grant khi một khoản thanh toán hoàn tất hoặc một subscription trở nên hoạt động. Grant feature flag bắt đầu ở trạng thái Delivered. Grant license key cũng bắt đầu ở trạng thái Delivered khi entitlement sử dụng fulfillment_mode: auto (mặc định). Trong fulfillment_mode: manual, grant bắt đầu ở trạng thái Pending mà chưa có key, cho đến khi bạn cung cấp key bằng Fulfill License Key Grant. Mọi integration khác đều bắt đầu ở trạng thái Pending.Các integration dựa trên OAuth (Discord, GitHub, Notion) cung cấp một oauth_url mà khách hàng truy cập để đồng ý. Dodo Payments cố gắng tạo URL này khi tạo grant. Nếu không thành công, trường này giữ trạng thái null cho đến khi khách hàng bắt đầu quy trình chấp nhận từ email cung cấp hoặc Customer Portal. Các integration trực tiếp trên nền tảng (Telegram, Framer, Digital Files) chỉ giữ trạng thái Pending trong khi việc cung cấp đang được thiết lập, sau đó chuyển sang Delivered.
2

Delivered

Khi việc cung cấp hoàn tất, grant chuyển sang Delivered và delivered_at được thiết lập. Việc cung cấp hoàn tất khi license key được tạo, vai trò được gán, quyền truy cập repository được cấp, các liên kết tệp được xác định hoặc quy trình OAuth hoàn tất.
3

Failed

Nếu lệnh gọi integration trả về lỗi không thể retry, chẳng hạn như OAuth token đã bị thu hồi, quyền bị từ chối hoặc tệp không còn tồn tại, grant chuyển sang Failed. Các trường error_code và error_message ghi lại lý do.
4

Revoked

Khi quyền truy cập bị thu hồi, chẳng hạn do subscription bị hủy, khoản hoàn tiền được phát hành hoặc bạn thu hồi grant, grant chuyển sang Revoked. Trường revocation_reason ghi lại tác nhân.

Hành vi của Grant theo Sự kiện

Mỗi sự kiện thanh toán và subscription thay đổi grant như sau:
Grant do subscription điều khiển là idempotent theo (entitlement, customer, subscription), vì vậy các lần gia hạn và kích hoạt lại không tạo grant trùng lặp. Grant một lần là idempotent theo (entitlement, customer, payment).

Tạo Entitlement Đầu tiên

1

Open Entitlements

Đi tới Entitlements trong dashboard và nhấp vào + để tạo entitlement.
2

Pick an Integration

Chọn loại integration: License Key, Digital Files, Feature Flag, Discord, GitHub, Telegram, Figma, Framer hoặc Notion. Đối với integration nền tảng, trước tiên hãy kết nối tài khoản nếu bạn chưa thực hiện.
3

Configure Delivery

Điền các trường cho integration. Ví dụ: GitHub yêu cầu repository và mức quyền, Discord yêu cầu server và vai trò tùy chọn, còn License Key yêu cầu giới hạn activations và thời hạn license.
New Entitlement form with integration selector and configuration fields

Creating a GitHub entitlement. Each integration shows the fields it needs.

4

Save

Nhấp vào Create Entitlement. Giờ đây bạn có thể gắn entitlement vào bất kỳ product nào.

Gắn Entitlement vào Product

Mở một product, đi tới phần Entitlements và chọn các entitlement cần cung cấp khi product được mua. Một product có thể cung cấp nhiều entitlement cùng lúc. Ví dụ: plan Pro có thể bao gồm license key, quyền truy cập GitHub và vai trò Discord.
Product entitlement selection panel showing checkboxes for each available entitlement

Attaching entitlements to a product. Selected entitlements are delivered on every successful purchase or active subscription.


Trải nghiệm Khách hàng

Email và Customer Portal

Sau khi mua hàng, khách hàng nhận được email cung cấp có license key, liên kết tải xuống, liên kết lời mời OAuth hoặc lời mời nền tảng tương ứng với các entitlement trên product. Những thông tin tương tự vẫn có trong Customer Portal, bên dưới lịch sử đơn hàng của họ, trong khi grant đang hoạt động.

Cung cấp dựa trên OAuth

Quyền truy cập subscriber vào Discord, GitHub và Notion yêu cầu khách hàng ủy quyền cho Dodo Payments cấp quyền truy cập đó. Các grant này giữ trạng thái Pending cho đến khi khách hàng hoàn tất quy trình OAuth từ liên kết trong email hoặc Customer Portal. Sau khi khách hàng ủy quyền, grant chuyển sang Delivered và Dodo Payments cấp quyền truy cập nền tảng.

Thu hồi

Khi grant bị thu hồi, Dodo Payments xóa quyền truy cập trên nền tảng: xóa vai trò Discord, xóa cộng tác viên GitHub hoặc vô hiệu hóa license key. Khách hàng nhìn thấy thay đổi trong Customer Portal.
Đối với Digital Files, việc thu hồi sẽ ngăn tạo URL tải xuống presigned mới, nhưng không vô hiệu hóa các bản sao mà khách hàng đã tải xuống. Hãy tính đến điều này khi lập kế hoạch kiểm soát quyền truy cập nội dung.

Quản lý Grant

Mở bất kỳ entitlement nào từ dashboard để xem các grant của entitlement đó. Bảng chi tiết hiển thị tổng số grant, bộ lọc trạng thái và một hàng cho mỗi grant, bao gồm khách hàng, ngày truy cập, trạng thái và thao tác Revoke. Để quản lý grant theo chương trình, hãy liệt kê chúng bằng bộ lọc status và thu hồi một grant theo ID:

Quản lý API

Create Entitlement

Tạo entitlement thuộc bất kỳ loại integration nào.

List Entitlements

Liệt kê entitlement, lọc theo loại integration.

Get Entitlement

Truy xuất entitlement và cấu hình đã được phân giải.

Update Entitlement

Cập nhật tên, mô tả hoặc cấu hình integration.

Delete Entitlement

Xóa mềm một entitlement. Các grant hiện có không bị thu hồi, nhưng Dodo Payments không còn quản lý chúng.

Upload File

Tải tệp có kích thước tối đa 500 MiB lên entitlement Digital Files.

List Grants

Liệt kê các grant của entitlement, lọc theo trạng thái và khách hàng.

Revoke Grant

Thu hồi thủ công một grant.

Webhook

Dodo Payments gửi bốn sự kiện webhook trong vòng đời của grant. Hãy đăng ký các sự kiện này để giữ cho ứng dụng của bạn đồng bộ với những nội dung mỗi khách hàng có thể truy cập.

Entitlement Grant Webhook Payloads

Xem schema payload đầy đủ, các event mẫu và tài liệu tham chiếu revocation_reason.

Thực hành Tốt nhất

  • Sử dụng một entitlement cho mỗi kênh cung cấp. Không dùng chung một entitlement Discord cho các product có mục đích vai trò khác nhau. Hãy tạo một entitlement cho mỗi vai trò để việc thu hồi luôn rõ ràng.
  • Trước tiên hãy kiểm thử ở test mode. Tạo entitlement, gắn entitlement vào một product kiểm thử, thực hiện checkout và theo dõi grant chuyển từ Pending sang Delivered. Sau đó hủy subscription kiểm thử và xác nhận grant đã bị thu hồi.
  • Lắng nghe entitlement_grant.delivered, không phải payment.succeeded. Một khoản thanh toán có thể thành công trước khi việc cung cấp hoàn tất, đặc biệt với các quy trình OAuth. Hãy chờ grant đạt Delivered trước khi mở khóa các tính năng phụ thuộc trong hệ thống của bạn. Grant được cung cấp ngay khi tạo, chẳng hạn license key tự động hoàn tất hoặc feature flag, sẽ đến dưới dạng entitlement_grant.created với status: "Delivered".
  • Xem entitlement_grant.failed là trạng thái cần xử lý. Grant thất bại nghĩa là khách hàng đã thanh toán nhưng chưa nhận được quyền truy cập. Hiển thị các grant này cho đội ngũ hỗ trợ hoặc kích hoạt việc cấp lại.
  • Ánh xạ revocation_reason vào các quy trình giữ chân khách hàng. Việc thu hồi subscription_on_hold có thể khôi phục vì khách hàng có thể cập nhật thẻ. Việc thu hồi manual là có chủ ý. Hãy xử lý chúng khác nhau trong thông báo gửi khách hàng.
  • Không thu hồi quyền truy cập khi có subscription.past_due. Sự kiện đó mở ra thời gian gia hạn, và khách hàng vẫn giữ quyền truy cập cho đến khi khoảng thời gian kết thúc. Hãy chờ subscription.on_hold hoặc subscription.cancelled.
Lần sửa đổi cuối 26 tháng 9, 2026