Aperçu
Digital Product Delivery est le type d’entitlement Digital Files. Vous téléversez vos fichiers une seule fois dans un entitlement Digital Files, puis vous associez cet entitlement à un produit. Dodo Payments transmet ensuite des liens de téléchargement presigned à chaque client payant par e-mail et dans le Customer Portal. Un entitlement Digital Files prend en charge :- Téléversements de fichiers hébergés : Dodo Payments stocke vos fichiers et les distribue via des URL presigned à durée de validité limitée.
- Lien de téléchargement externe : une URL par entitlement qui pointe vers des fichiers hébergés ailleurs, par exemple sur Dropbox, Google Drive ou S3.
- Instructions de téléchargement : texte libre affiché au client sur sa page de commande et dans l’e-mail de livraison.
Caractéristiques Clés
File Upload
Téléversez des fichiers tels que des PDF, des archives ZIP, des images et des vidéos, jusqu’à 500 MiB chacun. Dodo Payments transmet chaque téléversement vers le stockage.
Multiple Files
Associez autant de fichiers que nécessaire à un même entitlement.
External Links
Ajoutez un lien de téléchargement externe, tel qu’une URL Dropbox, Google Drive ou S3 signée, à la place ou en complément des fichiers hébergés.
Presigned URLs
Dodo Payments distribue les fichiers hébergés via des URL presigned. Chaque URL de téléchargement expire 15 minutes après sa génération.
Configurer la livraison d’un produit numérique
1
Open Entitlements
Accédez à Entitlements dans le dashboard, puis cliquez sur + pour créer un entitlement.
2
Choose Digital Files
Sélectionnez Digital Files et saisissez un Name pour l’entitlement.
3
Add Files, Links, and Instructions
Configurez n’importe quelle combinaison de ces champs :
- Téléverser des fichiers : téléversez un ou plusieurs fichiers. Chaque téléversement renvoie un
file_idet ajoute le fichier à l’digital_file_idsde l’entitlement. - External Download Link : une URL commençant par
http://ouhttps://, accessible aux clients. Dodo Payments la distribue avec les fichiers hébergés. - Instructions : texte libre affiché au client, par exemple “Décompressez l’archive et exécutez setup.sh.”

4
Save the Entitlement
Cliquez sur Create Entitlement. Vous pouvez maintenant associer l’entitlement à n’importe quel produit.
Attacher aux Produits
Ouvrez un produit, accédez à sa section Entitlements, puis sélectionnez votre entitlement Digital Files. Dodo Payments fournit l’entitlement pour chaque achat réussi ou abonnement actif associé à ce produit.
Attaching the Digital Files entitlement to a product alongside other entitlements.
Comment la Livraison Fonctionne
La livraison Digital Files suit le cycle de vie standard des grants. Chaque événement affecte un grant Digital Files comme suit :Expérience Client
Confirmation d’Achat
Après un paiement réussi, le client reçoit un e-mail contenant les liens de téléchargement et les éventuelles instructions que vous avez configurées.
Accès au Portail Client
Les clients peuvent récupérer leurs liens de téléchargement depuis le Customer Portal tant que leur grant est actif. Le portail génère de nouvelles URL presigned à la demande ; l’achat continue donc de fonctionner même après l’expiration des liens contenus dans l’e-mail.
Les clients peuvent télécharger les fichiers depuis l’e-mail de confirmation ou les ouvrir à tout moment depuis le Customer Portal.
Gérer les Fichiers Programmatiquement
Téléverser un fichier dans un entitlement
Pour téléverser un fichier, envoyez-le en tant quemultipart/form-data dans un champ file. Le champ facultatif filename doit précéder la partie file, car Dodo Payments ignore les champs envoyés après celle-ci. Sans filename, Dodo Payments utilise le nom du fichier téléversé. La réponse renvoie le nouvel file_id.
Lister les grants et résoudre les URL de téléchargement
Chaque grant Digital Files possède un objetdigital_product_delivery contenant une URL presigned actualisée pour chaque fichier. Pour lire les URL, listez les grants de l’entitlement :
Supprimer un fichier d’un entitlement
Pour détacher un fichier, transmettez sonfile_id et l’ID de l’entitlement :
Points importants
- Les URL presigned expirent rapidement. Les URL de téléchargement contenues dans les payloads des grants et les événements webhook sont valides pendant 15 minutes. Ne les stockez pas. Récupérez de nouvelles URL lorsque le client doit télécharger à nouveau le fichier.
- La mise à jour des fichiers concerne uniquement les achats futurs. Le remplacement ou la suppression d’un fichier ne modifie pas les téléchargements déjà émis. Chaque grant conserve la configuration de l’entitlement au moment de sa création ; les anciens clients peuvent donc toujours obtenir la version qui était alors disponible.
- Les remboursements n’invalident pas les copies téléchargées. Un client qui a déjà téléchargé un fichier conserve cette copie. Pour les contenus révocables, tels que les médias soumis à des restrictions de licence ou les accès limités dans le temps, associez Digital Files à License Keys et validez la clé à l’exécution.
- Pour les contenus sensibles, préférez des URL externes avec leur propre authentification. Les URL presigned de Dodo Payments sont à durée de validité limitée, mais toute personne disposant de l’URL peut télécharger le fichier jusqu’à son expiration. Un contenu hébergé en externe et protégé par une connexion à un compte vous offre davantage de contrôle.
Gestion via l’API
Create Entitlement
Créez un entitlement Digital Files avec une URL externe et des instructions facultatives.
Upload File
Téléversez un fichier de 500 MiB maximum et associez-le à l’entitlement.
Delete File
Détachez un fichier de l’entitlement.
List Grants
Listez les grants et lisez les URL de téléchargement résolues.
Update Entitlement
Mettez à jour les instructions ou l’URL externe, ou remplacez les fichiers.
Revoke Grant
Révoquez manuellement l’accès d’un client.
Webhooks
La livraison et la révocation de fichiers numériques envoient les quatre événements webhookentitlement_grant.*. Pour les grants Digital Files, le payload comprend un objet digital_product_delivery contenant la liste résolue des fichiers, le champ facultatif instructions et le champ facultatif external_url. Chaque fichier contient un download_url presigned, le filename, le content_type, le file_size en octets et expires_in, le nombre de secondes avant l’expiration de l’URL :
Livraison de produits numériques héritée
Les produits configurés avec l’ancien bloc
digital_product_delivery directement sur le produit ont été automatiquement migrés vers un entitlement Digital Files. Les fichiers téléversés via l’ancienne API de fichiers produit sont conservés : ils restent téléchargeables et apparaissent dans les payloads des grants avec les fichiers nouvellement téléversés. La configuration digital_files de l’entitlement les suit dans la liste legacy_file_ids. Pour ajouter des fichiers, modifier les instructions ou remplacer l’URL externe, modifiez l’entitlement Digital Files migré sous Entitlements.Les réponses du produit incluent toujours les champs hérités au niveau du produit (digital_product_delivery.external_url, digital_product_delivery.instructions) pour assurer la rétrocompatibilité, mais l’entitlement fait foi.Bonnes pratiques
- Considérez les téléchargements comme des livraisons uniques. Les clients peuvent partager ou perdre les liens ; concevez donc votre produit en partant du principe que tout ce qu’ils téléchargent leur appartient définitivement.
- Utilisez les instructions pour définir les attentes. Pour les bundles contenant plusieurs fichiers, ajoutez une ligne
instructionsexpliquant quoi installer en premier ou comment combiner les fichiers. - Tenez compte de la limite de 500 MiB. Hébergez ailleurs les artefacts plus volumineux, tels que les jeux de données de plusieurs Go ou les formations vidéo, et créez un lien vers eux avec
external_urlau lieu de les téléverser. - Associez License Keys pour un accès révocable. Pour révoquer l’accès aux fonctionnalités intégrées au produit après un remboursement, associez l’entitlement Digital Files à un entitlement License Key et validez la clé à l’exécution.
- Testez le flux d’actualisation du Customer Portal. Vérifiez qu’un client peut revenir sur le portail une semaine plus tard et obtenir malgré tout un lien de téléchargement fonctionnel. Le portail est le principal moyen de récupération lorsque les liens d’e-mail expirent.