
The Entitlements dashboard. Each entitlement is a reusable template; the right pane shows individual customer grants.
Que sont les droits d’accès ?
Un droit d’accès est une définition réutilisable de ce que vous fournissez à un client, comme une clé de licence Pro, un rôle Discord « Patrons », l’accès à votre dépôt GitHub privé ou un ensemble d’e-books téléchargeables. Vous associez des droits d’accès aux produits, puis Dodo Payments les fournit lorsqu’un client paie. Lorsqu’un client achète le produit, Dodo Payments crée une attribution : l’émission de ce droit d’accès pour un client donné. Une attribution possède l’un des quatre statuts suivants :Pending pendant la livraison, Delivered une fois que le client y a accès, Failed si la livraison n’a pas pu aboutir, et Revoked lorsque l’accès est retiré.
Intégrations Disponibles
Chaque droit d’accès est fourni via une intégration. Choisissez l’intégration correspondant à ce que vous vendez.License Keys
Digital Files
Feature Flags
Discord
GitHub
Telegram
Framer
Notion
Comment fonctionnent les Grants
Les attributions suivent les mêmes événements de paiement et d’abonnement que ceux que vous recevez sous forme de webhooks. Dodo Payments crée et révoque automatiquement les attributions pour les achats en fonction du cycle de vie du paiement ; vous n’avez donc pas besoin d’appeler vous-même l’API des attributions.Cycle de vie des Grants
Une attribution évolue selon les statuts suivants :Created
Delivered. Les attributions de clés de licence commencent également avec Delivered lorsque le droit d’accès utilise fulfillment_mode: auto (la valeur par défaut). Avec fulfillment_mode: manual, l’attribution commence avec Pending, sans clé, jusqu’à ce que vous en fournissiez une avec Fulfill License Key Grant. Toutes les autres intégrations commencent avec Pending.Les intégrations basées sur OAuth (Discord, GitHub, Notion) exposent un oauth_url que le client consulte pour donner son consentement. Dodo Payments tente de générer cette URL lors de la création de l’attribution. En cas d’échec, le champ reste null jusqu’à ce que le client démarre le processus d’acceptation depuis son e-mail de livraison ou le Customer Portal. Les intégrations directes à la plateforme (Telegram, Framer, Digital Files) restent Pending uniquement pendant la mise à disposition, puis passent à Delivered.Delivered
Delivered et delivered_at est défini. La livraison est terminée lorsque la clé de licence est générée, que le rôle est attribué, que l’accès au dépôt est accordé, que les liens vers les fichiers sont résolus ou que le flux OAuth est terminé.Failed
Failed. Les champs error_code et error_message enregistrent la raison.Revoked
Revoked. Le champ revocation_reason enregistre le déclencheur.Comportement des attributions selon les événements
Chaque événement de paiement et d’abonnement modifie les attributions comme suit :(entitlement, customer, subscription) ; les renouvellements et les réactivations ne créent donc pas d’attributions en double. Les attributions ponctuelles sont idempotentes par (entitlement, customer, payment).Créer votre premier droit d’accès
Open Entitlements
Pick an Integration
Configure Delivery

Creating a GitHub entitlement. Each integration shows the fields it needs.
Save
Associer des droits d’accès aux produits
Ouvrez un produit, accédez à sa section Entitlements, puis sélectionnez les droits d’accès à fournir lors de l’achat du produit. Un produit peut fournir plusieurs droits d’accès à la fois. Par exemple, un plan Pro peut inclure une clé de licence, un accès GitHub et un rôle Discord.
Attaching entitlements to a product. Selected entitlements are delivered on every successful purchase or active subscription.
Expérience client
E-mail et Customer Portal
Après un achat, le client reçoit un e-mail de livraison contenant la clé de licence, les liens de téléchargement, les liens d’invitation OAuth ou l’invitation de plateforme correspondant aux droits d’accès du produit. Ces mêmes informations restent disponibles dans le Customer Portal, sous l’historique de ses commandes, tant que l’attribution est active.Livraison basée sur OAuth
L’accès aux abonnements Discord, GitHub et Notion nécessite que le client autorise Dodo Payments à accorder cet accès. Ces attributions restentPending jusqu’à ce que le client termine le flux OAuth depuis le lien figurant dans son e-mail ou dans le Customer Portal. Une fois l’autorisation accordée, l’attribution passe à Delivered et Dodo Payments met en place l’accès à la plateforme.
Révocation
Lorsqu’une attribution est révoquée, Dodo Payments supprime l’accès sur la plateforme : le rôle Discord est supprimé, le collaborateur GitHub est retiré ou la clé de licence est désactivée. Le client voit cette modification dans le Customer Portal.Gérer les attributions
Ouvrez un droit d’accès depuis le tableau de bord pour consulter ses attributions. Le panneau de détails affiche le nombre total d’attributions, un filtre par statut et une ligne par attribution avec le client, la date d’accès, le statut et une action Revoke. Pour gérer les attributions par programmation, répertoriez-les avec le filtrestatus et révoquez une attribution donnée par son ID :
Gestion via l’API
Create Entitlement
List Entitlements
Get Entitlement
Update Entitlement
Delete Entitlement
Upload File
List Grants
Revoke Grant
Webhooks
Dodo Payments envoie quatre événements webhook pour le cycle de vie des attributions. Abonnez-vous à ces événements pour maintenir votre application synchronisée avec les accès de chaque client.Entitlement Grant Webhook Payloads
revocation_reason.Bonnes pratiques
- Utilisez un droit d’accès par canal de livraison. Ne partagez pas un même droit d’accès Discord entre des produits dont les rôles attendus diffèrent. Créez un droit d’accès par rôle afin que la révocation reste propre.
- Testez d’abord en mode test. Créez le droit d’accès, associez-le à un produit de test, effectuez un paiement et observez l’attribution passer de
PendingàDelivered. Annulez ensuite l’abonnement de test et vérifiez que l’attribution est révoquée. - Écoutez
entitlement_grant.delivered, et nonpayment.succeeded. Un paiement peut réussir avant la fin de la fourniture, en particulier pour les flux OAuth. Attendez que l’attribution atteigneDeliveredavant de déverrouiller les fonctionnalités dépendantes dans vos propres systèmes. Un droit fourni dès sa création, comme une clé de licence automatiquement fournie ou un indicateur de fonctionnalité, arrive sous la formeentitlement_grant.createdavecstatus: "Delivered". - Considérez
entitlement_grant.failedcomme nécessitant une action. Une attribution ayant échoué signifie qu’un client a payé sans obtenir l’accès. Présentez ces attributions à votre équipe d’assistance ou déclenchez une nouvelle attribution. - Associez
revocation_reasonà vos flux de rétention. Une révocationsubscription_on_holdpeut être récupérée, car le client peut mettre à jour sa carte. Une révocationmanualest intentionnelle. Traitez-les différemment dans vos messages aux clients. - Ne révoquez pas l’accès lors de
subscription.past_due. Cet événement ouvre une période de grâce, et le client conserve l’accès jusqu’à la fin de cette période. Attendezsubscription.on_holdousubscription.cancelled.