Skip to main content
GitHub entitlement thêm khách hàng đã thanh toán làm cộng tác viên trên một repository riêng tư. Bạn chọn cấp quyền (pull, push, triage, maintain hoặc admin). Dodo Payments gửi lời mời cộng tác viên và xóa cộng tác viên khi grant bị thu hồi.

Nội dung được cấp

  • Khách hàng kết nối tài khoản GitHub của họ từ Customer Portal. Thao tác này liên kết tài khoản GitHub của họ với giao dịch mua.
  • Dodo Payments mời tài khoản đó vào repository của bạn ở cấp quyền đã cấu hình. Khách hàng có quyền truy cập sau khi chấp nhận lời mời trên GitHub. Nếu khách hàng sở hữu repository thì không cần gửi lời mời.
  • Việc hủy, hoàn tiền hoặc thu hồi thủ công sẽ xóa cộng tác viên và hủy mọi lời mời đang chờ.
Các trường hợp sử dụng phổ biến gồm sản phẩm cung cấp mã nguồn, template trả phí, repository mã nguồn khóa học và SDK client giới hạn quyền truy cập.

Kết nối GitHub

1

Open Entitlements

Trong dashboard Dodo Payments, đi đến Entitlements và nhấp vào + để bắt đầu tạo entitlement mới.
2

Pick GitHub

Chọn GitHub Access làm integration. Nếu GitHub chưa được kết nối, hãy nhấp vào Connect GitHub.
Bảng entitlement mới yêu cầu merchant kết nối GitHub

Connect GitHub prompt before the install handoff.

GitHub mở trong tab mới. Đăng nhập, sau đó cài đặt Dodo Payments GitHub App trên organization hoặc tài khoản người dùng sở hữu repository. Bạn có thể cấp cho app quyền truy cập All repositories hoặc Only select repositories. Nếu chọn repository, hãy bao gồm mọi repository mà bạn dự định giới hạn quyền truy cập.
Trang Cài đặt và Ủy quyền GitHub với các tùy chọn All repositories và Only select repositories

GitHub Install & Authorize page. Choose which repositories the app can manage.

Khi GitHub chuyển hướng trở lại, một trang xác nhận cho biết tài khoản đã được kết nối.
Trang xác nhận GitHub Access đã được kết nối thành công

Account connected. Return to the Dodo Payments dashboard to continue.

3

Pick a Repository and Permission

Quay lại dashboard, chọn Repository mà entitlement cấp quyền truy cập, sau đó chọn cấp Permission. Trình chọn repository chỉ liệt kê những repository mà GitHub App có thể truy cập. Nhập Name cho entitlement và nhấp vào Create Entitlement.
Biểu mẫu entitlement GitHub với GitHub Access đã kết nối, bộ chọn repository, menu thả xuống permission và trường name

Creating a GitHub entitlement. Pick the repository and the permission you want customers to receive.

4

Attach It to a Product

Gắn entitlement với bất kỳ product nào. Khách hàng mua product đó sẽ nhận được lời mời GitHub sau khi kết nối tài khoản GitHub của họ.

Các cấp quyền

Entitlement sử dụng các quyền repository tiêu chuẩn của GitHub:
Cấp quyền tối thiểu phù hợp với trường hợp sử dụng của bạn. Hầu hết product nội dung trả phí chỉ cần pull.

Quy trình của khách hàng

  1. Khách hàng hoàn tất checkout.
  2. Dodo Payments tạo một grant ở trạng thái Pending. Dodo Payments ngay lập tức cố gắng tạo GitHub authorization URL và lưu URL đó vào oauth_url. Nếu thao tác này thất bại, oauth_url vẫn giữ giá trị null cho đến khi khách hàng bắt đầu accept flow.
  3. Email xác nhận thanh toán liệt kê entitlement ở trạng thái Action Required và liên kết đến Customer Portal. Trong portal, khách hàng nhấp vào Connect và authorize bằng GitHub. Authorization link hết hạn sau 30 phút, và Customer Portal tạo một link mới khi khách hàng quay lại.
  4. Dodo Payments mời GitHub account của khách hàng vào repository với permission đã được cấu hình. Grant chuyển sang Delivered ngay khi invitation được tạo. Nếu GitHub từ chối invitation, grant sẽ không được cấp.
  5. Nếu subscription bị hủy, payment được refund hoặc grant bị revoke, Dodo Payments sẽ xóa khách hàng khỏi danh sách collaborator và hủy mọi invitation đang chờ.

Cấu hình bắt buộc

Tạo qua API

Webhooks

Các webhook events entitlement_grant.* tiêu chuẩn bao quát quy trình GitHub:
  • entitlement_grant.created được kích hoạt với status: "Pending". oauth_url có thể đã chứa GitHub authorization URL. Nếu có giá trị null, giá trị này sẽ được điền khi khách hàng bắt đầu accept flow từ Customer Portal.
  • entitlement_grant.delivered được kích hoạt ngay khi collaborator invitation được tạo.
  • entitlement_grant.revoked được kích hoạt khi quyền truy cập bị thu hồi. Nếu bạn uninstall GitHub App, Dodo Payments sẽ revoke các grant đang chờ và đã được cấp của installation đó bằng revocation_reason: platform_external.
  • entitlement_grant.failed được kích hoạt cùng với error_code: "GRANT_ACCESS_FAILED" nếu Dodo Payments không thể thêm khách hàng vào repository, chẳng hạn vì GitHub App đã mất quyền truy cập vào repository đó.

Khắc phục sự cố

GitHub App của Dodo Payments phải được cài đặt trên organization hoặc user sở hữu repository. Trong entitlement form, nhấp vào Disconnect trên GitHub card, sau đó nhấp vào Connect GitHub để cài đặt lại app và cấp quyền truy cập cho app vào các repository mà bạn muốn kiểm soát.
Lượt cài đặt GitHub App không còn quyền truy cập vào repository, hoặc repository đã được đổi tên hay chuyển giao. Cấp lại quyền truy cập repository cho app, và lần regrant tiếp theo sẽ thành công.
Khách hàng chấp nhận lời mời GitHub từ thông báo GitHub của họ hoặc từ liên kết trong email mời của GitHub. Cho đến khi chấp nhận, họ đã được mời nhưng không thể clone repository. Grant vẫn ở trạng thái Delivered trong Dodo Payments, vì lời mời là thứ Dodo Payments cấp.
Lần sửa đổi cuối 26 tháng 9, 2026