Skip to main content
Das GitHub-Entitlement fügt einen zahlenden Kunden als Collaborator zu einem privaten Repository hinzu. Sie wählen die Berechtigungsstufe (pull, push, triage, maintain oder admin). Dodo Payments sendet die Einladung an den Collaborator und entfernt ihn, wenn das Grant widerrufen wird.

Was bereitgestellt wird

  • Der Kunde verbindet sein GitHub-Konto über das Customer Portal. Dadurch wird sein GitHub-Konto mit dem Kauf verknüpft.
  • Dodo Payments lädt dieses Konto mit der konfigurierten Berechtigungsstufe in Ihr Repository ein. Der Kunde erhält Zugriff, nachdem er die Einladung auf GitHub angenommen hat. Wenn der Kunde Eigentümer des Repositorys ist, ist keine Einladung erforderlich.
  • Bei einer Kündigung, Rückerstattung oder einem manuellen Widerruf werden der Collaborator entfernt und ausstehende Einladungen gelöscht.
Typische Anwendungsfälle sind Source-Available-Produkte, kostenpflichtige Vorlagen, Code-Repositorys für Kurse und geschützte Client-SDKs.

GitHub verbinden

1

Open Entitlements

Gehen Sie im Dodo Payments-Dashboard zu Entitlements und klicken Sie auf +, um ein neues Entitlement zu erstellen.
2

Pick GitHub

Wählen Sie GitHub Access als Integration. Wenn GitHub noch nicht verbunden ist, klicken Sie auf Connect GitHub.
Neues Berechtigungspanel, das den Händler auffordert, GitHub zu verbinden

Connect GitHub prompt before the install handoff.

GitHub wird in einem neuen Tab geöffnet. Melden Sie sich an und installieren Sie anschließend die Dodo Payments GitHub App in der Organisation oder im Benutzerkonto, der bzw. das Eigentümer des Repositorys ist. Sie können der App Zugriff auf All repositories oder Only select repositories gewähren. Wenn Sie Repositorys auswählen, müssen Sie jedes Repository einschließen, dessen Zugriff Sie beschränken möchten.
GitHub Install and Authorize page with All repositories and Only select repositories options

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

Wenn GitHub zurückleitet, zeigt eine Bestätigungsseite an, dass das Konto verbunden ist.
GitHub Access connected successfully confirmation page

Account connected. Return to the Dodo Payments dashboard to continue.

3

Pick a Repository and Permission

Wählen Sie im Dashboard das Repository aus, auf das das Entitlement Zugriff gewährt, und anschließend die Permission-Stufe. Der Repository-Auswahldialog listet nur Repositorys auf, auf die die GitHub App zugreifen kann. Geben Sie einen Name für das Entitlement ein und klicken Sie auf Create Entitlement.
GitHub-Berechtigungsformular mit verbundenem GitHub-Zugang, Repository-Auswahl, Berechtigungs-Dropdown und Namensfeld

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

4

Attach It to a Product

Verknüpfen Sie das Entitlement mit einem beliebigen Produkt. Kunden, die dieses Produkt kaufen, erhalten eine GitHub-Einladung, nachdem sie ihr GitHub-Konto verbunden haben.

Berechtigungsstufen

Das Entitlement verwendet die standardmäßigen Repository-Berechtigungen von GitHub:
Gewähren Sie die geringsten Berechtigungen, die für Ihren Anwendungsfall ausreichen. Die meisten Produkte mit kostenpflichtigen Inhalten benötigen nur pull.

Kundenablauf

  1. Der Kunde schließt den Checkout ab.
  2. Dodo Payments erstellt einen Grant im Status Pending. Dodo Payments versucht sofort, eine GitHub-Autorisierungs-URL zu erstellen, und speichert sie in oauth_url. Wenn dies fehlschlägt, bleibt oauth_url auf null, bis der Kunde den Akzeptierungsablauf startet.
  3. Die E-Mail zur Zahlungsbestätigung führt die Berechtigung als Aktion erforderlich auf und enthält einen Link zum Customer Portal. Im Portal klickt der Kunde auf Verbinden und autorisiert sich mit GitHub. Ein Autorisierungslink läuft nach 30 Minuten ab. Wenn der Kunde zurückkehrt, generiert das Customer Portal einen neuen Link.
  4. Dodo Payments lädt das GitHub-Konto des Kunden mit der konfigurierten Berechtigung in das Repository ein. Der Grant wechselt zu Delivered, sobald die Einladung erstellt wurde. Wenn GitHub die Einladung ablehnt, wird der Grant nicht bereitgestellt.
  5. Wenn das Abonnement gekündigt, die Zahlung erstattet oder der Grant widerrufen wird, entfernt Dodo Payments den Kunden als Mitwirkenden und storniert alle ausstehenden Einladungen.

Erforderliche Konfiguration

Erstellung über API

Webhooks

Die Standard-entitlement_grant.* Webhook-Ereignisse decken den GitHub-Flow ab:
  • entitlement_grant.created wird mit status: "Pending" ausgelöst. oauth_url kann die GitHub-Autorisierungs-URL bereits enthalten. Wenn der Wert null lautet, wird er ausgefüllt, sobald der Kunde den Akzeptierungsablauf über das Customer Portal startet.
  • entitlement_grant.delivered wird ausgelöst, sobald die Einladung an den Mitwirkenden erstellt wurde.
  • entitlement_grant.revoked wird ausgelöst, wenn der Zugriff entzogen wird. Wenn Sie die GitHub App deinstallieren, widerruft Dodo Payments die ausstehenden und bereitgestellten Grants dieser Installation mit revocation_reason: platform_external.
  • entitlement_grant.failed wird mit error_code: "GRANT_ACCESS_FAILED" ausgelöst, wenn Dodo Payments den Kunden nicht zum Repository hinzufügen kann, beispielsweise weil die GitHub App den Zugriff darauf verloren hat.

Fehlerbehebung

Die Dodo Payments GitHub App muss auf der Organisation oder dem Benutzer installiert sein, dem das Repository gehört. Klicken Sie im Berechtigungsformular auf der GitHub-Karte auf Trennen und anschließend auf GitHub verbinden, um die App erneut zu installieren und ihr Zugriff auf die Repositories zu gewähren, die Sie schützen möchten.
Die Installation der GitHub App hat keinen Zugriff mehr auf das Repository, oder das Repository wurde umbenannt oder übertragen. Gewähren Sie der App erneut Zugriff auf das Repository. Beim nächsten Grant-Vorgang ist der Zugriff wiederhergestellt.
Kunden nehmen die GitHub-Einladung über ihre GitHub-Benachrichtigungen oder über den Link in der Einladungs-E-Mail von GitHub an. Bis zur Annahme sind sie eingeladen, können das Repository jedoch nicht klonen. Das Grant hat in Dodo Payments weiterhin den Status Delivered, da Dodo Payments die Einladung ausstellt.
Zuletzt geändert am 26. September 2026