Skip to main content
Couverture de l'aperçu des codes de réduction
Les codes de réduction vous permettent de proposer des promotions et des avantages ciblés. Créez des réductions en pourcentage, définissez des limites et des dates d’expiration, restreignez-les à certains produits et appliquez-les lors du checkout.

Checkout Sessions

Appliquez un ou plusieurs codes empilés lors du passage en caisse hébergé avec discount_codes et les contrôles de l’interface utilisateur.

Get Discount

Récupérez une remise par son ID pour examiner son statut et ses restrictions.

Get Discount by Code

Recherchez et validez une réduction à l’aide de son nom de code (par exemple, « SAVE20 »).

Create Discount (API)

Créez de nouveaux codes de réduction par programmation.

List & Update Discounts

Parcourez et gérez les réductions existantes ; modifiez ou supprimez selon les besoins.

Qu’est-ce que les codes de rabais ?

Les codes de rabais sont des jetons promotionnels qui réduisent les totaux de commande au moment du paiement. Ils sont idéaux pour : Les codes de réduction sont des jetons promotionnels qui réduisent le total de la commande lors du checkout. Utilisez-les pour des campagnes saisonnières, des avantages liés au premier achat, des offres de reconquête ou des tarifs B2B négociés. Les codes sont basés sur un pourcentage (par exemple, 15 % de réduction) ou sur un montant fixe (par exemple, 5 $ de réduction). Vous pouvez cumuler jusqu’à 20 codes par checkout, paiement ou abonnement, afin qu’un client puisse utiliser à la fois une offre de bienvenue et un code de campagne lors de la même transaction. Restreignez les codes à certains produits, limitez le nombre d’utilisations par client, définissez des dates d’expiration et contrôlez les personnes autorisées à les utiliser.
  • Rabais flexibles : Pourcentage ou montant fixe de réduction
  • Contrôle ciblé : Restriction par produit et cycles d’abonnement
  • Gouvernance des campagnes : Dates d’expiration et limites d’utilisation
  • Paiement sans friction : Champ UI et support API via des sessions de paiement
  • Réductions flexibles : réductions en pourcentage ou d’un montant fixe
  • Codes cumulables : appliquez jusqu’à 20 codes par checkout, paiement ou abonnement
  • Contrôle ciblé : restreignez par produit, cycles d’abonnement et éligibilité du client
  • Gestion des campagnes : dates de début planifiées, dates d’expiration, limites d’utilisation globales et par client
  • Tarification par devise : définissez la déduction fixe, le plafond du montant et le sous-total minimum pour chaque devise
Créez des codes de rabais dans votre tableau de bord Dodo Payments, puis appliquez-les dans le paiement hébergé ou via l’API.

Configuration du tableau de bord

Liste des remises dans le tableau de bord Dodo Payments affichant les codes de remise existants

Configuration dans le tableau de bord

  • Nom de la remise (obligatoire) : Libellé interne pour le tableau de bord.
  • Code (obligatoire) : La chaîne que les clients saisissent lors du checkout. Générez un code aléatoire ou saisissez le vôtre (3 caractères minimum, automatiquement converti en majuscules).
  • Type (obligatoire) : Percentage (pourcentage de remise) ou Amount (déduction forfaitaire).
  • Amount (obligatoire) : Pour un pourcentage, le pourcentage de remise dans le tableau de bord (par ex. 15 pour 15 %). Via l’API, la même valeur est exprimée en points de base (1500). Pour un montant, la déduction forfaitaire dans la devise par défaut du code.
  • Date de début (facultatif) : Planifiez l’activation du code à une date ultérieure. Laissez ce champ vide pour l’activer immédiatement.
  • Date d’expiration (facultatif) : Date après laquelle le code ne peut plus être utilisé.
  • Limite d’utilisation (facultatif, sous Advanced) : Nombre maximal d’utilisations au total pour tous les clients. Un panier multi-abonnements compte comme une seule utilisation.
  • Limite d’utilisation par client (facultatif, sous Advanced) : Nombre maximal d’utilisations par un même client. Cette valeur doit être inférieure ou égale à la limite d’utilisation globale lorsque les deux sont définies.
  • Éligibilité des clients (facultatif) : Limitez les clients autorisés à utiliser le code — tous les clients, les nouveaux clients, les clients existants ou une liste sélectionnée manuellement.
  • Options de devise (facultatif) : Le montant de la remise pour chaque devise dans laquelle vous vendez. Consultez Options par devise.
  • Restriction de produit (facultatif) : Limitez le code à des produits spécifiques.
  • Limite de cycles d’abonnement (facultatif, sous Advanced) : Nombre de cycles de facturation auxquels la remise s’applique. Laissez ce champ vide pour une durée indéfinie.
  • Conserver lors d’un changement de plan (facultatif) : Maintenez la remise active lorsqu’un abonnement change de plan (preserve_on_plan_change).
  • Métadonnées (facultatif) : Ajoutez des paires clé-valeur personnalisées pour le suivi interne.
  • Exiger une valeur minimale de commande (facultatif, sous Advanced) : Sous-total minimal du panier (par devise) requis pour appliquer le code.
Le formulaire affiche un Résumé actualisé du code que vous créez dans un panneau latéral. Passez à Preview pour voir comment la réduction apparaît lors du checkout :
Formulaire New Discount Code avec les panneaux latéraux Summary et Preview à côté des détails de la remise
Plus bas dans le formulaire — éligibilité, restrictions et options avancées :
Éligibilité, restrictions et options avancées pour un code de remise
Utilisez les limites de cycle pour une tarification d’introduction des abonnements (par exemple, « 50 % de réduction pendant 3 mois »).
Un amount en pourcentage est exprimé en basis points via l’API — 1500 signifie 15 %. Une remise amount fixe est une valeur monétaire, libellée dans les options de devise du code.

Types de remise

Les deux types peuvent être cumulés dans le même tableau discount_codes et sont appliqués dans l’ordre du tableau.
Éditeur de code de remise avec le type Amount sélectionné, affichant une déduction fixe de 500 INR

Éligibilité des clients

Définissez customer_eligibility pour contrôler les personnes autorisées à utiliser un code :
Menu déroulant d'éligibilité des clients affichant les options Any, First-time, Existing et Specific customer
Un code specific commence avec zéro client éligible et rejette toute utilisation jusqu’à ce que vous lui ajoutiez des clients. Ajoutez-les dans le dashboard ou à l’aide de l’API discount customers.
Associez l’éligibilité à la limite d’utilisation par client pour plafonner le nombre de fois où chaque client peut utiliser le code, indépendamment de la limite d’utilisation globale.

Options par devise

Lorsque vous vendez dans plusieurs devises, définissez le comportement propre à chaque devise pour chaque code. Sous Currency options, chaque entrée indique :
  • Amount — pour une réduction de type Amount, la déduction fixe dans cette devise ; pour une réduction de type Percentage, le plafond de réduction maximal. Correspond à max_amount_possible dans l’API.
  • Default — désignez une devise comme devise par défaut. Les devises non configurées sont converties à partir de cette devise par défaut.
Définissez séparément le minimum par devise sous Require a minimum order value dans Advanced :
  • Minimum subtotal — le code s’applique uniquement lorsque le panier atteint ce sous-total dans cette devise. 0 signifie qu’aucun minimum n’est défini.
Panneau des options de devise avec le montant et le sous-total minimum par devise pour INR et USD
Les réductions de type Amount nécessitent au moins une option de devise avec une devise par défaut résolvable, car une déduction fixe n’a aucun sens sans devise. Les réductions de type Percentage ne nécessitent pas d’options de devise.
Le sous-total minimal est toujours calculé sur les prix d’origine du panier, et non sur le total cumulé après l’application des remises précédentes de la pile. L’ordre d’empilement ne change jamais le respect ou non du minimum.Pour un abonnement, le minimum est vérifié une seule fois sur le produit et ses modules complémentaires réunis. Par exemple, un produit à $0 avec un module complémentaire à $5 respecte un minimum de $4. Un code Amount (flat) s’applique toujours uniquement au produit d’abonnement, et non à ses modules complémentaires.

Expérience de Checkout

Les clients saisissent les codes de remise dans le champ du checkout. Les codes éligibles sont appliqués immédiatement et les totaux sont mis à jour.
Page de checkout affichant une remise appliquée au total de la commande
Dans les Checkout Sessions, transmettez discount_codes (un tableau) pour appliquer au préalable un ou plusieurs codes. Le champ de saisie de la remise est affiché par défaut. Définissez feature_flags.allow_discount_code sur false pour le masquer. Les codes sont appliqués dans l’ordre du tableau, dans la limite de 20.

Empilement des codes de remise

Les sessions de checkout, les paiements et les abonnements acceptent jusqu’à 20 codes empilés via le tableau discount_codes. Les codes sont appliqués dans l’ordre du tableau : le premier code éligible réduit le prix initial, le suivant réduit le prix déjà remisé, et ainsi de suite. Lorsque la parité de pouvoir d’achat est activée, le prix initial correspond au montant ajusté selon la PPP. La réponse inclut discount_ids (pour les paiements/abonnements) et discounts (informations plus détaillées pour chaque remise, notamment la position et le nombre de cycles d’abonnement restants).
Le champ singulier discount_code est obsolète, mais entièrement pris en charge pour assurer la rétrocompatibilité. Il ne peut pas être combiné avec discount_codes dans la même requête. Migrez vers discount_codes (la forme tableau) pour bénéficier de l’empilement et d’une réponse plus détaillée.
Pour un prix d’abonnement avec Card-Optional at Zero Price activé, une pile de codes qui réduit le montant dû aujourd’hui jusqu’à 0 supprime également l’obligation de fournir une carte — le client finalise son checkout sans moyen de paiement enregistré, comme pour un prix natif 0.

Gestion de l’API

Créez des codes de remise par programmation en indiquant leur type et leur montant.

API Reference

Consultez l’API de création des remises.
Répertoriez toutes les remises ou récupérez leurs détails à des fins de gestion et d’audit.

API Reference

Consultez les API de listing et de récupération.
Recherchez une remise à l’aide de son code lisible par un humain (par ex. “SAVE20”) plutôt qu’avec son ID interne.

API Reference

Récupérez une remise par son nom de code.
Modifiez la configuration d’une remise, notamment son montant, sa date d’expiration ou ses restrictions.

API Reference

Découvrez comment mettre à jour les détails d’une remise.
Récupérez une remise par son ID pour vérifier son statut, son nombre d’utilisations et ses restrictions avant de l’appliquer.

API Reference

Récupérez une remise par son ID.
Désactivez ou supprimez les remises qui ne sont plus nécessaires.

API Reference

Supprimez une remise.
Pour une remise dont customer_eligibility est défini sur specific, gérez les clients autorisés à l’utiliser :
  • GET /discounts/{discount_id}/customers — répertorie les clients associés (avec pagination, jusqu’à 100 par page).
  • POST /discounts/{discount_id}/customers — associe des clients par ID. L’appel est idempotent et accepte jusqu’à 1 000 ID, qui doivent tous exister au préalable dans votre entreprise. La réponse renvoie uniquement les ID transmis dans cette requête ; utilisez donc l’endpoint de listing pour consulter l’ensemble de la liste d’autorisation.
  • DELETE /discounts/{discount_id}/customers/{customer_id} — dissocie un seul client.

Cas d’utilisation courants

  • Offres de lancement : Promotions limitées dans le temps pour les nouveaux produits
  • Vente en volume ou B2B : Remises contractuelles pour certains ensembles de produits
  • Fidélisation : Codes de reconquête dans les processus de prévention du churn
  • Campagnes saisonnières : Promotions liées aux fêtes ou à des événements

Exemples d’intégration

Créer une remise avec des métadonnées

Ajoutez des paires clé-valeur personnalisées pour le suivi interne.
Utilisez les métadonnées pour identifier les remises par campagne, source ou ID de référence interne, afin de rapprocher ultérieurement les utilisations et de mesurer le ROI.

Appliquer des remises dans les Checkout Sessions

Appliquez au préalable une ou plusieurs remises empilées et affichez l’interface de saisie du code.

Appliquer des remises lors des changements de plan

Proposez des tarifs promotionnels lorsque les clients passent à un plan supérieur ou inférieur pour leur abonnement.
Le paramètre discount_codes contrôle la gestion des remises :
Lisez toutes les remises appliquées dans le tableau discounts de l’abonnement, dans la réponse. Chaque entrée comprend discount_id, position, cycles_remaining et le code d’origine.

Masquer le champ du code de remise

La saisie de la remise est affichée par défaut. Définissez allow_discount_code sur false pour la masquer.

Bonnes pratiques

  • Nommez clairement : Utilisez des codes reconnaissables correspondant aux noms des campagnes.
  • Définissez une durée limitée : Ajoutez des dates d’expiration pour créer un sentiment d’urgence et prévenir les abus.
  • Définissez judicieusement le périmètre : Limitez les remises à des produits spécifiques pour éviter l’érosion des marges.
  • Validez en amont : Vérifiez l’applicabilité du code avant de confirmer le checkout.
  • Surveillez l’impact : Suivez l’utilisation et la conversion par campagne.
Dernière modification le 8 octobre 2026