Passer au contenu principal
Couverture de l'aperçu des codes de réduction
Les codes de remise vous permettent de réaliser des promotions et des incitations ciblées. Créez des remises en pourcentage ou des remises fixes, définissez des limites et des dates d’expiration, restreignez-les à des produits et appliquez-les de manière transparente lors du paiement.

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.

Validate Discount

Vérifiez si une réduction est valide selon son ID.

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 :
  • Campagnes saisonnières : Black Friday, lancements de produits ou anniversaires
  • Offres d’acquisition : Incitations à la première achat ou récompenses de parrainage
  • Fidélisation : Récompenses de reconquête ou de fidélité pour les clients existants
  • Offres B2B : Tarification contractée ou négociée via des codes privés

Avantages clés

  • 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: Pourcentage ou montant fixe
  • Codes empilables: Appliquez jusqu’à 20 codes par passage en caisse, paiement ou abonnement — combinez les campagnes (par exemple WELCOME10 + BLACKFRIDAY20) sans créer de codes sur mesure
  • Contrôle ciblé: Limitez par produit et cycles d’abonnement
  • Gouvernance des campagnes: Dates d’expiration et limites d’utilisation
  • Passage en caisse transparent: Champ UI et support API via les sessions de caisse
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

  • Nom du rabais (obligatoire) : Nom interne et affiché dans le tableau de bord
  • Code (obligatoire) : La chaîne que les clients saisissent au moment du paiement
  • Type et Montant (obligatoire) : Définissez une valeur en pourcentage ou un montant fixe, ou générez un code aléatoire à l’aide du bouton fourni
  • Date d’expiration (facultatif) : Date après laquelle le code devient invalide
  • Limite d’utilisation (facultatif) : Nombre total maximal de redemptions pour tous les clients
  • Restriction de produit (facultatif) : Limitez l’applicabilité à des produits sélectionnés
  • Limite de cycle d’abonnement (facultatif) : Nombre de cycles de facturation auxquels le rabais s’applique
  • Nom de la remise (obligatoire) : Nom d’affichage interne et dans le tableau de bord
  • Code (obligatoire) : La chaîne que les clients saisissent lors du paiement
  • Type et montant (obligatoire) : Définissez une valeur en pourcentage ou un montant fixe, ou générez un code aléatoire à l’aide du bouton fourni
  • Date d’expiration (optionnel) : Date après laquelle le code devient invalide
  • Limite d’utilisation (optionnel) : Nombre total maximal de réceptions pour tous les clients
  • Restriction de produit (optionnel) : Limitez l’applicabilité aux produits sélectionnés
  • Limite de cycle d’abonnement (optionnel) : Nombre de cycles de facturation auxquels la remise s’applique
  • Métadonnées (optionnel) : Attachez des paires clé-valeur personnalisées pour le suivi interne ou les intégrations

Expérience de paiement

  1. Les acheteurs saisissent le code dans le champ de paiement.
  2. Les rabais éligibles sont appliqués et les totaux se mettent à jour immédiatement.
Dans les sessions de paiement, transmettez discount_code pour préappliquer un code, et définissez feature_flags.allow_discount_code pour afficher le champ de saisie.
Dans les sessions de caisse, passez discount_codes (un tableau) pour pré-appliquer un ou plusieurs codes, et définissez feature_flags.allow_discount_code pour afficher le champ de saisie. Les codes sont appliqués dans l’ordre du tableau, jusqu’à un maximum de 20.

Empilement des Codes de Réduction

Les sessions de paiement, les paiements et les abonnements acceptent jusqu’à 20 codes empilés via le tableau discount_codes (max 20 entrées). Les codes sont appliqués dans l’ordre du tableau, donc le premier code éligible réduit d’abord le prix de base, le code suivant réduit le prix déjà réduit, et ainsi de suite. L’ensemble complet des réductions appliquées est renvoyé dans la réponse sous discount_ids (sur les paiements/abonnements) et discounts (détail plus riche par réduction, y compris la position et les cycles d’abonnement restants).
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_abc', quantity: 1 }],
  discount_codes: ['WELCOME10', 'BLACKFRIDAY20'], // applied in this order
  customer: { email: 'user@example.com' },
  return_url: 'https://yoursite.com/return'
});
Le champ simple discount_code est déprécié mais toujours entièrement pris en charge pour la compatibilité descendante — les intégrations existantes continuent de fonctionner sans modification. Il ne peut pas être combiné avec discount_codes dans la même requête. Nous recommandons de migrer vers discount_codes (la forme tableau) quand cela est pratique, même pour les codes uniques, pour profiter de l’empilement et de la forme de réponse plus riche.

Gestion API

Créez des codes de réduction par programmation avec type et montant.

API Reference

Affichez l’API de création de réduction.
Listez toutes les réductions ou récupérez des détails pour la gestion et l’audit.

API Reference

Parcourez les API de liste et de récupération.
Recherchez une réduction en utilisant son code lisible par l’homme (par exemple, “SAVE20”) au lieu de l’ID interne.

API Reference

Récupérez la réduction par nom de code.
Modifiez la configuration de la réduction, comme le montant, l’expiration ou les restrictions.

API Reference

Découvrez comment mettre à jour les détails de la réduction.
Vérifiez si une réduction est valide et applicable avant de l’appliquer.

API Reference

Validez l’utilisation de la réduction.
Désactivez ou supprimez les réductions qui ne sont plus nécessaires.

API Reference

Supprimez une réduction.

Cas d’Usage Courants

  • Offres d’introduction: Promotions de lancement à durée limitée pour les nouveaux produits
  • En masse ou B2B: Réductions contractuelles pour des ensembles de produits sélectionnés
  • Programmes de fidélisation: Codes de reconquête dans les workflows de prévention de l’attrition
  • Campagnes saisonnières: Promotions basées sur des vacances ou des événements

Exemples d’Intégration

Créer une réduction avec des métadonnées

Attachez des paires clé–valeur personnalisées pour le suivi interne.
const discount = await client.discounts.create({
  type: 'percentage',
  amount: 1500, // 15%
  code: 'SUMMER2025',
  metadata: {
    campaign: 'summer_promo',
    source: 'email_blast'
  }
});
Utilisez les métadonnées pour étiqueter les réductions par campagne, source ou ID de référence interne afin de pouvoir concilier l’utilisation et mesurer le retour sur investissement plus tard.

Appliquer des réductions dans les Sessions de Caisse

Pré-appliquez une ou plusieurs réductions empilées et affichez l’interface de saisie du code.
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  discount_codes: ['BLACKFRIDAY2024', 'NEWUSER5'], // stacked in array order
  customer: { email: 'user@example.com', name: 'Jane Doe' },
  return_url: 'https://yoursite.com/return'
});

Appliquer des réductions lors des changements de plan

Offre des prix promotionnels lorsque les clients passent à un abonnement supérieur ou inférieur.
await client.subscriptions.changePlan('sub_123', {
  product_id: 'prod_pro',
  quantity: 1,
  proration_billing_mode: 'prorated_immediately',
  discount_codes: ['UPGRADE20']
});
discount_codes valueComportement lors du changement de plan
undefined / null (non fourni)Les réductions existantes avec preserve_on_plan_change=true sont conservées si applicables au nouveau produit.
[] (tableau vide)Toutes les réductions existantes sont supprimées de l’abonnement.
['CODE_A', 'CODE_B', ...]Remplace toutes les réductions existantes par cet ensemble empilé, appliqué dans l’ordre du tableau.
Lisez toutes les réductions appliquées à partir de l’abonnement via le nouveau tableau discounts sur la réponse d’abonnement. Chaque entrée inclut discount_id, position, cycles_remaining (pour les abonnements), et le code original.

Activer l’entrée de réduction sans pré-application

Permettez aux clients d’entrer un code à la caisse sans en passer un à l’avance.
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  feature_flags: {
    allow_discount_code: true
  },
  return_url: 'https://yoursite.com/return'
});

Meilleures Pratiques

  • Nommez clairement: Utilisez des codes reconnaissables qui correspondent aux noms de campagne
  • Limitez dans le temps: Ajoutez des expirations pour créer un sentiment d’urgence et éviter les abus
  • Définir sagement: Limitez à des produits spécifiques pour éviter la perte de marge
  • Validez tôt: Vérifiez l’applicabilité du code avant de confirmer le paiement
  • Suivez l’impact: Suivez l’utilisation et la conversion par campagne
Les codes de réduction sont des leviers puissants pour l’acquisition et la fidélisation. Commencez avec des offres simples et bien nommées, validez soigneusement et itérez en fonction de la performance.
Last modified on May 22, 2026