Zum Hauptinhalt springen

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.

Die GitHub-Berechtigung fügt einen zahlenden Kunden als Kollaborator in einem privaten Repository hinzu. Sie wählen die Berechtigungsebene (pull, push, triage, maintain oder admin) und Dodo Payments übernimmt Einladung, Annahmeüberwachung und Entfernung bei Kündigung.

Was geliefert wird

  • Der Kunde wird über einen OAuth-Flow, der seinen GitHub-Account mit dem Kauf verknüpft, zu Ihrem GitHub-Repository eingeladen.
  • Sobald sie akzeptieren, gewährt GitHub ihnen auf der konfigurierten Berechtigungsebene Kollaboratorenzugang.
  • Kündigung, Rückerstattung oder manueller Widerruf entfernt den Kollaborator.
Häufige Anwendungen sind quelloffene Produkte, bezahlte Vorlagen, Kurscode-Repos und gesperrte Client-SDKs.

GitHub verbinden

1

Open Entitlements

Gehen Sie in Ihrem Dodo Payments-Dashboard zu Berechtigungen und klicken Sie auf + , um eine neue Berechtigung zu starten.
2

Pick GitHub

Wählen Sie GitHub-Zugang als Integration. Falls GitHub noch nicht verbunden ist, werden Sie aufgefordert, GitHub verbinden auszuwählen.
Neues Berechtigungspanel, das den Händler auffordert, GitHub zu verbinden
Durch Klicken öffnet sich GitHub in einem neuen Tab. Melden Sie sich an und installieren Sie die Dodo Payments GitHub App im Organisations- oder Benutzerkonto, das das Repository besitzt. Sie können Zugriff auf alle Repositories oder nur auf die gewähren, die Sie sperren möchten.
GitHub-Installations- und Autorisierungsseite mit Optionen für Alle Repositories und Nur ausgewählte Repositories
Wenn GitHub zurückleitet, sehen Sie eine Bestätigung, dass das Konto verbunden ist.
Bestätigungsseite für erfolgreich verbundenen GitHub-Zugang
3

Pick a repository and permission

Zurück im Dashboard, wählen Sie das Repository, dem die Berechtigung Zugriff gewähren soll, und wählen Sie die Berechtigungsstufe. Der Repository-Auswahldialog zeigt nur Repositories an, auf die die GitHub App Zugriff hat. Geben Sie der Berechtigung einen Namen und klicken Sie auf Berechtigung erstellen.
GitHub-Berechtigungsformular mit verbundenem GitHub-Zugang, Repository-Auswahl, Berechtigungs-Dropdown und Namensfeld
4

Save the entitlement

Speichern und die Berechtigung einem Produkt zuweisen. Kunden, die dieses Produkt kaufen, erhalten bei Lieferung eine GitHub-Einladung.

Berechtigungsstufen

GitHubs Standard-Repository-Berechtigungen gelten:
BerechtigungBeste Verwendung
pullNur-Lese-Zugriff. Kunden können das Repo klonen, abrufen und anzeigen.
triageLesezugriff plus die Möglichkeit, Issues und Pull-Anfragen zu verwalten.
pushLese- + Schreibzugriff. Kunden können Branches pushen und Pull-Anfragen öffnen.
maintainPush-Zugriff plus Verwaltung der Repositoriumseinstellungen (außer sensitiven).
adminVolle Kontrolle über das Repository. Mit Vorsicht verwenden.
Gewähren Sie das geringste Privileg, das zu Ihrem Anwendungsfall passt. Die meisten Szenarien mit kostenpflichtigem Inhalt benötigen nur pull.

Kundenfluss

  1. Der Kunde schließt den Kauf ab.
  2. Dodo Payments erstellt einen Grant im pending-Status mit einem oauth_url, damit der Kunde seinen GitHub-Account verknüpfen kann.
  3. Der Kunde autorisiert über den Link in seiner E-Mail oder im Kundenportal.
  4. Dodo Payments lädt den GitHub-Account des Kunden mit der konfigurierten Berechtigung zum Repository ein. Der Grant wechselt zu delivered, sobald die Einladung erstellt ist.
  5. Wenn das Abonnement gekündigt, erstattet oder widerrufen wird, wird der Kunde als Kollaborator entfernt.

Erforderliche Konfiguration

FeldErforderlichBeschreibung
target_idJaDas Repository, zu dem der Kunde eingeladen werden soll. Der Repository-Auswahldialog im Dashboard füllt dies für Sie aus.
permissionJaEine der Optionen: pull, push, triage, maintain, admin.

Erstellung über API

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

Webhooks

Die Standard-entitlement_grant.* Webhook-Ereignisse decken den GitHub-Flow ab:
  • entitlement_grant.created enthält den oauth_url für die GitHub-Autorisierung.
  • entitlement_grant.delivered wird ausgelöst, sobald die Kollaborator-Einladung erstellt ist.
  • entitlement_grant.failed wird mit error_code: "github_permission_denied" (oder ähnlich) ausgelöst, wenn die GitHub App den Zugriff auf das Repository verloren hat.

Fehlerbehebung

Die Dodo Payments GitHub App muss auf der Org oder dem Benutzer installiert sein, die bzw. der das Repository besitzt. Öffnen Sie Berechtigungen → Integrationen → GitHub und installieren Sie die App neu, indem Sie sicherstellen, dass Sie den relevanten Repositories Zugriff gewähren.
Die Installation der GitHub App hat keinen Zugriff mehr auf das Repository oder das Repository wurde umbenannt/übertragen. Gewähren Sie der App erneut Zugang und der nächste Regrant wird erfolgreich sein.
Kunden müssen die GitHub-Einladung über ihre Benachrichtigungsseite oder durch Klicken des Links in ihrer E-Mail akzeptieren. Bis sie akzeptieren, bleiben sie “eingeladen”, können das Repo jedoch nicht klonen. Der Grant bleibt aus der Perspektive von Dodo Payments delivered; die Einladung ist das, was wir ausgeben.
Last modified on May 14, 2026