Skip to main content
Les droits convertissent un paiement réussi ou un abonnement actif en accès réel : une clé de licence dans la boîte de réception de votre client, un flag de fonctionnalité que votre application vérifie, un rôle Discord, un dépôt GitHub, un modèle Notion, un lien de remix Framer, une invitation à un chat Telegram ou un ensemble de fichiers téléchargeables. Dodo Payments émet, suit et révoque cet accès automatiquement au fur et à mesure que le cycle de vie du paiement évolue.
Tableau de bord des droits avec une liste de droits à gauche et une activité de concession à droite

The Entitlements dashboard. Each entitlement is a reusable template; the right pane shows individual customer grants.

Qu’est-ce que les Droits ?

Un droit est une définition réutilisable de quelque chose que vous livrez à un client : une clé de licence Pro, un rôle Discord “Patrons”, l’accès à votre dépôt GitHub privé, un lot d’e-books téléchargeables. Vous attachez des droits à des produits, et Dodo Payments s’occupe du reste. Lorsqu’un client achète le produit, Dodo Payments crée un grant, c’est-à-dire l’attribution de ce droit à un client donné. Les grants passent par un nombre limité de statuts : Pending pendant la livraison, Delivered une fois que le client y a accès, Failed si la livraison n’a pas pu être effectuée, et Revoked lorsque l’accès est révoqué.
Les droits contrôlent l’accomplissement (le client a-t-il accès ?). Les crédits contrôlent la consommation (combien peuvent-ils utiliser ?). Les deux peuvent être attachés au même produit. Voir Facturation par crédit pour les crédits.

Intégrations Disponibles

Dodo Payments livre chaque droit via une intégration dédiée. Choisissez l’intégration qui correspond à ce que vous vendez.

License Keys

Générez des clés de licence uniques avec des limites d’activation et d’expiration. Idéal pour les logiciels, les plugins et les CLIs.

Digital Files

Distribuez des fichiers téléchargeables (e-books, modèles, médias) avec des URLs de téléchargement présignées et des instructions optionnelles.

Feature Flags

Protégez des fonctionnalités dans votre propre application à la suite d’un achat. Livrée instantanément, vérifiée via API, révoquée en cas d’annulation.

Discord

Attribuez à un client un rôle sur votre serveur Discord lors de son achat. Révocation automatique en cas d’annulation.

GitHub

Ajoutez des clients comme collaborateurs à un dépôt privé avec le niveau de permission que vous choisissez.

Telegram

Ajoutez des clients à un chat ou canal Telegram privé après l’achat.

Framer

Débloquez un lien de remix de modèle Framer pour les clients payants.

Notion

Dupliquez un modèle Notion dans l’espace de travail du client lors de l’achat.

Comment fonctionnent les Grants

Les grants sont pilotés par les mêmes événements de paiement et d’abonnement que vous recevez déjà en tant que webhooks. Vous n’avez pas besoin d’appeler l’API de grant vous-même pour les achats. Dodo Payments crée et révoque les grants automatiquement en fonction du cycle de vie des paiements sous-jacent.

Cycle de vie des Grants

1

Created

Un grant est créé lorsqu’un paiement est finalisé ou qu’un abonnement devient actif. Les feature flags passent directement à Delivered. Les clés de licence passent également directement à Delivered lorsque l’entitlement utilise fulfillment_mode: auto (la valeur par défaut) ; avec fulfillment_mode: manual, le grant est créé dans Pending sans clé, jusqu’à ce que vous en fournissiez une via Fulfill License Key Grant. Toutes les autres intégrations commencent dans Pending. Les intégrations basées sur OAuth (Discord, GitHub, Notion) exposent un oauth_url que le client doit consulter pour terminer son consentement ; le champ est null sur un grant nouvellement créé et est renseigné lorsque le client commence le processus d’acceptation depuis son e-mail de livraison ou le customer portal. Les intégrations directement connectées à la plateforme (Telegram, Framer, Digital Files) restent brièvement dans Pending pendant la configuration de la livraison, puis passent à Delivered.
2

Delivered

Une fois la livraison terminée (clé de licence générée, rôle attribué, accès au dépôt accordé, liens vers les fichiers résolus, processus OAuth terminé), le grant passe à Delivered et delivered_at est défini.
3

Failed

Si l’appel d’intégration renvoie une erreur non réessayable (jeton OAuth révoqué, autorisation refusée, fichier qui n’existe plus), le grant passe à Failed. Les champs error_code et error_message indiquent la raison.
4

Revoked

Lorsque l’accès est révoqué (abonnement annulé, remboursement émis ou révocation effectuée par le marchand), le grant passe à Revoked. Le champ revocation_reason enregistre le déclencheur.

Comportement des Grants par Événement

Les grants pilotés par abonnement sont idempotents par (entitlement, customer, subscription); les renouvellements et réactivations ne créent pas de grants en double. Les grants ponctuels sont idempotents par (entitlement, customer, payment).

Créez votre premier droit

1

Open Entitlements

Accédez à Droits dans votre tableau de bord Dodo Payments et cliquez sur + pour créer un nouveau droit.
2

Pick an integration

Choisissez le type d’intégration : License Key, Digital Files, Feature Flag, Discord, GitHub, Telegram, Figma, Framer ou Notion. Pour les intégrations de plateforme, connectez d’abord votre compte si ce n’est pas déjà fait.
3

Configure delivery

Remplissez les champs spécifiques à l’intégration. Par exemple, GitHub demande un dépôt et un niveau de permission ; Discord demande un serveur et un rôle optionnel ; la Clé de licence demande des limites d’activation et d’expiration.
Formulaire de nouveau droit avec sélecteur d'intégration et champs de configuration

Creating a GitHub entitlement. Each integration shows the fields it needs.

4

Save

Enregistrez le droit. Vous pouvez maintenant l’attacher à n’importe quel produit.

Attacher des Droits aux Produits

Ouvrez un produit, développez Paramètres avancés → Droits & Crédits, et sélectionnez les droits qui doivent être délivrés lorsque le produit est acheté. Un seul produit peut délivrer plusieurs droits à la fois. Par exemple, un plan Pro peut inclure une clé de licence, un accès GitHub et un rôle Discord.
Panneau de sélection des droits de produit montrant des cases à cocher pour chaque droit disponible

Attaching entitlements to a product. Selected entitlements are delivered on every successful purchase or active subscription.


Expérience Client

Email et portail client

Les clients reçoivent un email de livraison après l’achat contenant la clé de licence, les liens de téléchargement, les liens d’invitation OAuth ou l’invitation à la plateforme, selon ce qui s’applique aux droits du produit. Les mêmes détails restent disponibles indéfiniment depuis le Portail Client dans leur historique de commandes.

Livraison basée sur OAuth

L’accès des abonnés à Discord, GitHub et Notion nécessite que le client autorise Dodo Payments à leur accorder l’accès. Ces grants restent dans le statut Pending jusqu’à ce que le client termine le processus OAuth en utilisant le lien figurant dans son e-mail ou son Customer Portal. Une fois l’autorisation accordée, le grant passe à Delivered et l’accès à la plateforme est provisionné immédiatement.

Révocation

Les grants révoqués sont supprimés au niveau de la plateforme : le rôle Discord est retiré, le collaborateur GitHub est retiré, la clé de licence est désactivée. Les clients voient le changement reflété dans le portail client.
Pour les fichiers numériques, la révocation supprime l’accès aux URL pré-signées à l’avenir mais ne rend pas invalides les copies qu’un client a déjà téléchargées. Planifiez le contenu de manière appropriée.

Gérer les Grants

Ouvrez n’importe quel droit à partir du tableau de bord pour voir ses grants. Le panneau de détails du grant montre les grants totaux, les filtres de statut, les informations client, les dates de livraison et une action de révocation. Vous pouvez également gérer les grants de manière programmatique :

Gestion par API

Create Entitlement

Créez un nouveau droit de tout type d’intégration.

List Entitlements

Listez les droits avec filtrage par type d’intégration.

Get Entitlement

Récupérez un droit et sa configuration résolue.

Update Entitlement

Mettez à jour le nom, la description ou la configuration de l’intégration.

Delete Entitlement

Supprimez un droit en douceur ; les grants existants ne sont pas affectés.

Upload File

Téléchargez un fichier vers un droit de fichiers numériques (jusqu’à 500 MiB).

List Grants

Listez tous les grants pour un droit avec des filtres de statut et de clients.

Revoke Grant

Révoquez manuellement un seul grant.

Webhooks

Dodo Payments déclenche quatre événements webhook pour le cycle de vie des grants. Abonnez-vous à ces événements pour garder votre application en synchronisation avec ce que chaque client peut accéder.

Entitlement Grant Webhook Payloads

Consultez le schéma de charge utile complet, les événements d’exemple et revocation_reason référence.

Bonnes pratiques

  • Utilisez un entitlement par canal de livraison. Ne partagez pas un entitlement Discord unique entre des produits ayant des objectifs de rôles différents ; créez-en un par rôle pour permettre une révocation claire.
  • Commencez par tester en mode test. Créez l’entitlement, associez-le à un produit de test, effectuez un checkout et observez la transition du grant via Pending → Delivered. Vérifiez que l’annulation de l’abonnement de test révoque le grant.
  • Écoutez entitlement_grant.delivered, pas payment.succeeded. Un paiement peut réussir avant la fin du fulfillment (en particulier pour les flux OAuth). Attendez l’événement de livraison avant de déverrouiller les fonctionnalités dépendantes dans vos propres systèmes.
  • Considérez entitlement_grant.failed comme une action à traiter. Un grant échoué signifie qu’un client a payé sans obtenir l’accès. Signalez ces cas à votre équipe de support ou déclenchez une nouvelle attribution.
  • Associez revocation_reason à vos flux de rétention. Une révocation subscription_on_hold peut être résolue (le client peut mettre à jour sa carte). Une révocation manual est intentionnelle. Traitez-les différemment dans vos communications avec les clients.
Dernière modification le 21 août 2026