Skip to main content
GitHubのエンタイトルメントは、有料顧客をプライベートリポジトリの共同作業者として追加します。権限レベル(pullpushtriagemaintain、または admin)を選択し、Dodo Paymentsが招待、受諾の追跡、キャンセル時の削除を行います。

配信されるもの

  • 顧客はOAuthフローを通じてGitHubリポジトリに招待され、彼らのGitHubアカウントと購入をリンクします。
  • 受諾すると、GitHubが設定された権限レベルで共同作業者アクセスを付与します。
  • キャンセル、払い戻し、または手動の取り消しにより、共同作業者が削除されます。
一般的な用途には、ソース利用可能な製品、有料テンプレート、コースコードリポジトリ、ゲート付きクライアントSDKが含まれます。

GitHubを接続

1

Open Entitlements

Dodo Paymentsダッシュボードで、Entitlementsに移動し、**+**をクリックして新しいエンタイトルメントを開始します。
2

Pick GitHub

統合としてGitHub Accessを選択します。GitHubがまだ接続されていない場合は、Connect 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 Accessが正常に接続された確認ページ

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

3

Pick a repository and permission

ダッシュボードに戻り、エンタイトルメントがアクセスを許可するリポジトリを選択し、権限レベルを選びます。リポジトリピッカーにはGitHubアプリがアクセス可能なリポジトリのみが表示されます。エンタイトルメントに名前を付けてCreate Entitlementをクリックします。
接続されたGitHub Access、リポジトリセレクター、権限ドロップダウン、名前フィールドを持つGitHubエンタイトルメントフォーム

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_url は、顧客が accept フローを開始するまで null です。開始すると、GitHub の認証 URL が設定されます。
  3. 顧客が、メールまたは Customer Portal のリンクから認証します。
  4. Dodo Payments は、設定された権限で顧客の GitHub アカウントをリポジトリに招待します。招待が作成されると、grant は Delivered に移行します。
  5. サブスクリプションがキャンセル、返金、または取り消しされた場合、顧客はコラボレーターから削除されます。

必要な設定

API経由で作成

Webhooks

標準のentitlement_grant.* webhookイベントはGitHubフローをカバーします:
  • entitlement_grant.createdstatus: "Pending" とともに発生し、oauth_url は引き続き null です。顧客が配信メールまたは Customer Portal から accept フローを開始すると、GitHub の認証 URL が設定されます。
  • コラボレーターへの招待が作成されると、entitlement_grant.delivered が発生します。
  • GitHub App がリポジトリへのアクセスを失った場合、entitlement_grant.failederror_code: "github_permission_denied"(または類似の値)とともに発生します。

トラブルシューティング

Dodo Payments GitHubアプリはリポジトリを所有する会社またはユーザーにインストールされている必要があります。Entitlements → Integrations → GitHub を開き、アプリを再インストールし、関連するリポジトリへのアクセス権を付与してください。
GitHubアプリのインストールがリポジトリへのアクセス権を持たなくなったか、リポジトリ名が変更された/転送されました。アプリへのアクセスを再度許可し、次の再付与が成功します。
顧客は、通知ページから、またはメール内のリンクをクリックして GitHub の招待を承諾する必要があります。承諾するまで、顧客は「invited」の状態のままで、リポジトリを clone できません。Dodo Payments の観点では、grant は引き続き oauth_url です。発行するのは招待そのものです。
最終更新日 2026年8月21日