Skip to main content
GitHub 权限将付费客户添加为私人仓库的协作者。您可以选择权限级别 (pull, push, triage, maintain, 或者 admin),由 Dodo Payments 处理邀请、接受跟踪和取消时的移除。

交付内容

  • 客户通过 OAuth 流程被邀请到您的 GitHub 仓库,将其 GitHub 账户链接到购买上。
  • 一旦他们接受,GitHub 将根据配置的权限级别授予他们协作者访问权限。
  • 取消、退款或手动撤销会移除协作者。
常见用途包括源码可用产品、付费模板、课程代码仓库和客户 SDK 阶段性访问。

连接 GitHub

1

Open Entitlements

在您的 Dodo Payments 仪表板中,转到 Entitlements 并点击 + 开始新的权限设置。
2

Pick GitHub

选择 GitHub Access 作为集成。如果 GitHub 尚未连接,系统会提示您 连接 GitHub
新权限面板提示商家连接 GitHub

Connect GitHub prompt before the install handoff.

点击后将在新标签页中打开 GitHub。登录,然后在拥有仓库的组织或用户账户上安装 Dodo Payments GitHub 应用。您可以授予 所有仓库 访问权限或仅限您打算限制访问的仓库。
GitHub 安装和授权页面,包含所有仓库和仅选择仓库选项

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

当 GitHub 重定向返回时,您将看到账户已连接的确认信息。
GitHub 访问成功连接确认页面

Account connected — return to the Dodo Payments dashboard to continue.

3

Pick a repository and permission

回到仪表板,选择应授予权限的 仓库 并选择 权限 级别。仓库选择器仅显示 GitHub 应用有访问权限的仓库。给权限命名并点击 Create Entitlement
GitHub 权限表单,包含已连接的 GitHub Access、仓库选择器、权限下拉选项和名称字段

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

4

Save the entitlement

保存并将权限附加到任何产品。购买该产品的客户将在交付时收到 GitHub 邀请。

权限级别

GitHub 的标准仓库权限适用:
授予适合您使用案例的 最低特权。大多数付费内容场景只需要 pull

客户流程

  1. 客户完成结账。
  2. Dodo Payments 在 Pending 状态下创建 grant。其 oauth_urlnull,直到客户开始 accept flow;此时该字段会填充 GitHub authorization URL。
  3. 客户通过其电子邮件或 Customer Portal 中的链接完成授权。
  4. Dodo Payments 按照配置的 permission 邀请客户的 GitHub 账户加入 repository。创建邀请后,grant 将变为 Delivered
  5. 如果 subscription 被取消、退款或撤销,客户将被移除为 collaborator。

所需配置

API 创建

Webhooks

标准的 entitlement_grant.* webhook 事件 涵盖了 GitHub 流程:
  • entitlement_grant.created 会触发,并携带 status: "Pending";此时 oauth_url 仍为 null。客户从 delivery email 或 Customer Portal 开始 accept flow 后,GitHub authorization URL 才会填充。
  • 创建 collaborator 邀请后,entitlement_grant.delivered 会触发。
  • 如果 GitHub App 失去对 repository 的访问权限,entitlement_grant.failed 会携带 error_code: "github_permission_denied"(或类似值)触发。

故障排除

Dodo Payments GitHub 应用必须安装在拥有仓库的组织或用户上。打开 Entitlements → Integrations → GitHub,重新安装应用,确保授予相关仓库的访问权限。
GitHub 应用的安装不再有对仓库的访问权限,或仓库已重命名/转移。重新授予应用访问权限,下次重新授权将成功。
客户必须在通知页面接受 GitHub 邀请,或点击电子邮件中的链接接受邀请。在接受之前,客户仍处于“已邀请”状态,但无法克隆仓库。从 Dodo Payments 的角度来看,该授权仍处于 Delivered 状态;我们发出的是邀请。
最后修改于 2026年8月21日