跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt

Use this file to discover all available pages before exploring further.

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
点击后将在新标签页中打开 GitHub。登录,然后在拥有仓库的组织或用户账户上安装 Dodo Payments GitHub 应用。您可以授予 所有仓库 访问权限或仅限您打算限制访问的仓库。
GitHub 安装和授权页面,包含所有仓库和仅选择仓库选项
当 GitHub 重定向返回时,您将看到账户已连接的确认信息。
GitHub 访问成功连接确认页面
3

Pick a repository and permission

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

Save the entitlement

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

权限级别

GitHub 的标准仓库权限适用:
权限最适合
pull只读访问。客户可以克隆、拉取和查看仓库。
triage读取访问权限加上管理问题和拉取请求的能力。
push读 + 写访问。客户可以推送分支和打开拉取请求。
maintain推送访问权限加上对仓库设置的管理(不包括敏感设置)。
admin对仓库的完全控制。谨慎使用。
授予适合您使用案例的 最低特权。大多数付费内容场景只需要 pull

客户流程

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

所需配置

字段必需描述
target_id邀请客户到的仓库。仪表板的仓库选择器会为您填写这一项。
permission其中一个 pull, push, triage, maintain, admin

API 创建

const entitlement = await client.entitlements.create({
  name: 'Code Share Repository',
  integration_type: 'github',
  integration_config: {
    target_id: 'acme/private-sdk',
    permission: 'pull',
  },
});

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;邀请是我们发出的。
Last modified on May 14, 2026