GitHub 权限将付费客户添加为私人仓库的协作者。您可以选择权限级别 (
pull, push, triage, maintain, 或者 admin),由 Dodo Payments 处理邀请、接受跟踪和取消时的移除。交付内容
- 客户通过 OAuth 流程被邀请到您的 GitHub 仓库,将其 GitHub 账户链接到购买上。
- 一旦他们接受,GitHub 将根据配置的权限级别授予他们协作者访问权限。
- 取消、退款或手动撤销会移除协作者。
连接 GitHub
1
Open Entitlements
在您的 Dodo Payments 仪表板中,转到 Entitlements 并点击 + 开始新的权限设置。
2
Pick GitHub
选择 GitHub Access 作为集成。如果 GitHub 尚未连接,系统会提示您 连接 GitHub。
点击后将在新标签页中打开 GitHub。登录,然后在拥有仓库的组织或用户账户上安装 Dodo Payments GitHub 应用。您可以授予 所有仓库 访问权限或仅限您打算限制访问的仓库。
当 GitHub 重定向返回时,您将看到账户已连接的确认信息。

Connect GitHub prompt before the install handoff.

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

Account connected — return to the Dodo Payments dashboard to continue.
3
Pick a repository and permission
回到仪表板,选择应授予权限的 仓库 并选择 权限 级别。仓库选择器仅显示 GitHub 应用有访问权限的仓库。给权限命名并点击 Create Entitlement。

Creating a GitHub entitlement. Pick the repository and the permission you want customers to receive.
4
Save the entitlement
保存并将权限附加到任何产品。购买该产品的客户将在交付时收到 GitHub 邀请。
权限级别
GitHub 的标准仓库权限适用:客户流程
- 客户完成结账。
- Dodo Payments 创建处于
pending状态的授权,并提供oauth_url供客户链接其 GitHub 账户。 - 客户通过电子邮件或客户门户中的链接进行授权。
- Dodo Payments 邀请客户的 GitHub 账户按配置的权限访问仓库。创建邀请后,授权移至
delivered。 - 如果订阅被取消、退款或撤销,客户将被移除为协作者。
所需配置
API 创建
Webhooks
标准的entitlement_grant.* webhook 事件 涵盖了 GitHub 流程:
entitlement_grant.created包含用于 GitHub 授权的oauth_url。entitlement_grant.delivered在协作者邀请创建后触发。entitlement_grant.failed与error_code: "github_permission_denied"(一类)一同触发,如果 GitHub 应用失去了仓库的访问权限。
故障排除
Repository picker is empty
Repository picker is empty
Dodo Payments GitHub 应用必须安装在拥有仓库的组织或用户上。打开 Entitlements → Integrations → GitHub,重新安装应用,确保授予相关仓库的访问权限。
Grant fails with permission_denied
Grant fails with permission_denied
GitHub 应用的安装不再有对仓库的访问权限,或仓库已重命名/转移。重新授予应用访问权限,下次重新授权将成功。
Customer hasn't accepted the invite
Customer hasn't accepted the invite
客户必须从通知页面或点击电子邮件中的链接接受 GitHub 邀请。在他们接受之前,他们保持“已邀请”,但无法克隆仓库。在 Dodo Payments 的视角中,授权仍为
delivered;邀请是我们发出的。