Skip to main content
L’entitlement GitHub ajoute un client payant comme collaborateur sur un dépôt privé. Vous choisissez le niveau d’autorisation (pull, push, triage, maintain ou admin). Dodo Payments envoie l’invitation de collaborateur et supprime le collaborateur lorsque l’entitlement est révoqué.

Ce qui est fourni

  • Le client connecte son compte GitHub depuis le Customer Portal. Cela associe son compte GitHub à l’achat.
  • Dodo Payments invite ce compte à rejoindre votre dépôt avec le niveau d’autorisation configuré. Le client obtient l’accès après avoir accepté l’invitation sur GitHub. Si le client est propriétaire du dépôt, aucune invitation n’est nécessaire.
  • Une annulation, un remboursement ou une révocation manuelle supprime le collaborateur et annule toute invitation en attente.
Les utilisations courantes incluent les produits dont le code source est disponible, les modèles payants, les dépôts de code de cours et les SDK clients dont l’accès est restreint.

Connecter GitHub

1

Open Entitlements

Dans le tableau de bord Dodo Payments, accédez à Entitlements et cliquez sur + pour commencer un nouvel entitlement.
2

Pick GitHub

Choisissez GitHub Access comme intégration. Si GitHub n’est pas encore connecté, cliquez sur Connect GitHub.
Nouveau panneau de droit demandant au marchand de connecter GitHub

Connect GitHub prompt before the install handoff.

GitHub s’ouvre dans un nouvel onglet. Connectez-vous, puis installez la GitHub App de Dodo Payments sur l’organisation ou le compte utilisateur propriétaire du dépôt. Vous pouvez accorder à l’application l’accès à All repositories ou à Only select repositories. Si vous sélectionnez des dépôts, incluez chaque dépôt auquel vous souhaitez restreindre l’accès.
GitHub Install and Authorize page with All repositories and Only select repositories options

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

Lorsque GitHub redirige l’utilisateur, une page de confirmation indique que le compte est connecté.
GitHub Access connected successfully confirmation page

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

3

Pick a Repository and Permission

De retour dans le tableau de bord, sélectionnez le Repository auquel l’entitlement accorde l’accès, puis sélectionnez le niveau de Permission. Le sélecteur de dépôts répertorie uniquement ceux auxquels la GitHub App peut accéder. Saisissez un Name pour l’entitlement, puis cliquez sur Create Entitlement.
Formulaire de droit GitHub avec Accès GitHub connecté, sélecteur de dépôt, menu déroulant de permission et champ de nom

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

4

Attach It to a Product

Associez l’entitlement à n’importe quel produit. Les clients qui achètent ce produit reçoivent une invitation GitHub après avoir connecté leur compte GitHub.

Niveaux d’autorisation

L’entitlement utilise les autorisations de dépôt standard de GitHub :
Accordez le moindre privilège adapté à votre cas d’utilisation. La plupart des produits de contenu payant n’ont besoin que de pull.

Parcours client

  1. Le client termine le paiement.
  2. Dodo Payments crée une attribution à l’état Pending. Dodo Payments essaie immédiatement de créer une URL d’autorisation GitHub et la stocke dans oauth_url. En cas d’échec, oauth_url reste null jusqu’à ce que le client commence le processus d’acceptation.
  3. L’e-mail de confirmation du paiement indique que le droit d’accès nécessite une Action requise et contient un lien vers le Customer Portal. Dans le portail, le client clique sur Connect et autorise l’accès avec GitHub. Un lien d’autorisation expire après 30 minutes, et le Customer Portal en génère un nouveau lorsque le client revient.
  4. Dodo Payments invite le compte GitHub du client à rejoindre le dépôt avec le niveau d’autorisation configuré. L’attribution passe à l’état Delivered une fois l’invitation créée. Si GitHub refuse l’invitation, l’attribution n’est pas accordée.
  5. Si l’abonnement est résilié, si le paiement est remboursé ou si l’attribution est révoquée, Dodo Payments supprime le client en tant que collaborateur et annule toute invitation en attente.

Configuration requise

Créer via l’API

Webhooks

Les événements webhook standard entitlement_grant.* couvrent le flux GitHub :
  • entitlement_grant.created est déclenché avec status: "Pending". oauth_url peut déjà contenir l’URL d’autorisation GitHub. S’il contient null, il est renseigné lorsque le client commence le processus d’acceptation depuis le Customer Portal.
  • entitlement_grant.delivered est déclenché une fois l’invitation du collaborateur créée.
  • entitlement_grant.revoked est déclenché lorsque l’accès est retiré. Si vous désinstallez la GitHub App, Dodo Payments révoque les attributions en attente et accordées de cette installation avec revocation_reason: platform_external.
  • entitlement_grant.failed est déclenché avec error_code: "GRANT_ACCESS_FAILED" si Dodo Payments ne peut pas ajouter le client au dépôt, par exemple parce que la GitHub App n’y a plus accès.

Dépannage

La GitHub App de Dodo Payments doit être installée sur l’organisation ou le compte utilisateur propriétaire du dépôt. Dans le formulaire de droit d’accès, cliquez sur Disconnect dans la carte GitHub, puis cliquez sur Connect GitHub pour réinstaller l’application et lui accorder l’accès aux dépôts que vous souhaitez protéger.
L’installation de la GitHub App n’a plus accès au dépôt, ou le dépôt a été renommé ou transféré. Accordez à nouveau à l’application l’accès au dépôt ; la prochaine réattribution réussira.
Les clients acceptent l’invitation GitHub depuis leurs notifications GitHub ou depuis le lien contenu dans l’e-mail d’invitation de GitHub. Tant qu’ils ne l’ont pas acceptée, ils sont invités mais ne peuvent pas cloner le dépôt. Le grant est toujours Delivered dans Dodo Payments, car l’invitation est émise par Dodo Payments.
Dernière modification le 26 septembre 2026