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 状态的授权,并提供 oauth_url 供客户链接其 GitHub 账户。
  3. 客户通过电子邮件或客户门户中的链接进行授权。
  4. Dodo Payments 邀请客户的 GitHub 账户按配置的权限访问仓库。创建邀请后,授权移至 delivered
  5. 如果订阅被取消、退款或撤销,客户将被移除为协作者。

所需配置

API 创建

Webhooks

标准的 entitlement_grant.* webhook 事件 涵盖了 GitHub 流程:
  • entitlement_grant.created 包含用于 GitHub 授权的 oauth_url
  • entitlement_grant.delivered 在协作者邀请创建后触发。
  • entitlement_grant.failederror_code: "github_permission_denied"(一类)一同触发,如果 GitHub 应用失去了仓库的访问权限。

故障排除

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