
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
- Remises flexibles : remises en pourcentage ou d’un montant fixe
-
Codes cumulables : appliquez jusqu’à 20 codes par commande, paiement ou abonnement — combinez des campagnes (par ex.
WELCOME10+BLACKFRIDAY20) sans créer de codes personnalisés - Contrôle ciblé : restreignez l’utilisation par produit, cycles d’abonnement et éligibilité du client
- Gouvernance 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
- Checkout fluide : prise en charge du champ dans l’interface et de l’API via les sessions de checkout
Configuration du tableau de bord

Configuration dans le tableau de bord
- Nom de la remise (obligatoire) : nom interne et nom affiché dans le tableau de bord
- Code (obligatoire) : chaîne saisie par les clients lors du checkout, ou générez un code aléatoire à l’aide du bouton prévu à cet effet
- Type (obligatoire) : choisissez Pourcentage (réduction en pourcentage) ou Montant (déduction fixe)
- Montant (obligatoire) : valeur en pourcentage ou montant fixe pour une remise de type Montant
- Date de début (facultative) : planifiez l’activation ultérieure du code ; laissez ce champ vide pour l’activer immédiatement
- Date d’expiration (facultative) : date après laquelle le code devient invalide
- Limite d’utilisation (facultative) : nombre maximal total d’utilisations pour tous les clients
- Limite d’utilisation par client (facultative) : 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é du client (facultative) : limitez les personnes autorisées à utiliser le code — tous les clients, les nouveaux clients, les clients existants ou une liste sélectionnée manuellement
- Options de devise (facultatives) : valeurs par devise — consultez Options par devise
- Restriction de produit (facultative) : limitez l’applicabilité à certains produits
- Limite de cycles d’abonnement (facultative) : nombre de cycles de facturation pendant lesquels la remise s’applique
- Conserver lors d’un changement de plan (facultatif) : conservez la remise active lorsque le plan de l’abonnement change (
preserve_on_plan_change) - Métadonnées (facultatives) : ajoutez des paires clé-valeur personnalisées pour le suivi interne ou les intégrations



Un
amount en pourcentage est exprimé en points de base via l’API — 1500 signifie 15 %. Un amount fixe est une valeur monétaire, libellée dans la devise définie par les options du code.Types de remise
Les deux types peuvent être combinés dans le même tableau
discount_codes et sont appliqués dans l’ordre du tableau.

Éligibilité du client
Définissezcustomer_eligibility pour contrôler les personnes autorisées à utiliser un code :

Options par devise
Les options de devise permettent à un même code de fonctionner correctement dans toutes les devises que vous vendez. Chaque entrée définit, pour une seule devise :- Montant — pour une remise de type Montant, il s’agit de la déduction elle-même ; pour une remise en Pourcentage, il plafonne le montant que le code peut déduire. Correspond à
max_amount_possiblevia l’API. - Sous-total minimum — le code s’applique uniquement lorsque le panier atteint ce sous-total.
0signifie qu’il n’y a aucun minimum. - Par défaut — une entrée peut être marquée comme valeur par défaut à partir de laquelle les autres devises non configurées sont converties.

Le sous-total minimum est toujours calculé à partir des prix d’origine du panier, jamais à partir du total intermédiaire au cours d’un cumul. L’ordre de cumul ne modifie donc jamais le respect du minimum.
Expérience de checkout
- Les acheteurs saisissent le code dans le champ du checkout.
- Les remises éligibles sont appliquées et les totaux sont mis à jour immédiatement.

Dans les Checkout Sessions, transmettez
discount_codes (un tableau) pour préappliquer un ou plusieurs codes. Le champ de saisie du code de réduction est affiché par défaut — feature_flags.allow_discount_code prend par défaut la valeur true. Définissez-le sur false uniquement si vous souhaitez le masquer. Les codes sont appliqués dans l’ordre du tableau, jusqu’à un maximum de 20.Cumul des codes de remise
Les sessions de checkout, les paiements et les abonnements acceptent jusqu’à 20 codes cumulés via le tableaudiscount_codes (20 entrées maximum). Les codes sont appliqués dans l’ordre du tableau : le premier code éligible réduit d’abord le prix de base, le suivant réduit le prix déjà remisé, et ainsi de suite. L’ensemble des remises appliquées est renvoyé dans la réponse sous discount_ids (pour les paiements/abonnements) et discounts (détails plus complets par remise, notamment la position et le nombre de cycles d’abonnement restants).
Le champ singulier
discount_code est obsolète, mais reste entièrement pris en charge pour assurer la rétrocompatibilité — 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 vous recommandons de migrer vers discount_codes (la forme tableau) lorsque cela vous convient, même pour un seul code, afin de profiter du cumul et d’une structure de réponse plus riche.Gestion via l’API
Create discounts
Create discounts
Créez des codes de remise par programmation avec un type et un montant.
API Reference
Consultez l’API de création de remise.
List and retrieve
List and retrieve
Répertoriez toutes les remises ou récupérez leurs détails à des fins de gestion et d’audit.
API Reference
Parcourez les API de référencement et de récupération.
Get discount by code
Get discount by code
Recherchez une remise à l’aide de son code lisible par l’utilisateur (par ex. « SAVE20 ») plutôt qu’avec son identifiant interne.
API Reference
Récupérez une remise par nom de code.
Update discounts
Update discounts
Modifiez la configuration d’une remise, notamment son montant, son expiration ou ses restrictions.
API Reference
Découvrez comment mettre à jour les détails d’une remise.
Validate discounts
Validate discounts
Vérifiez qu’une remise est valide et applicable avant de l’appliquer.
API Reference
Validez l’utilisation d’une remise.
Delete discounts
Delete discounts
Désactivez ou supprimez les remises qui ne sont plus nécessaires.
API Reference
Supprimez une remise.
Manage the customer allow list
Manage the customer allow list
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épertoriez les clients associés (paginés, jusqu’à 100 par page).POST /discounts/{discount_id}/customers— associez des clients par ID. L’appel est idempotent et accepte jusqu’à 1 000 ID, qui doivent tous exister dans votre entreprise. La réponse renvoie uniquement les ID transmis dans cette requête ; utilisez donc l’endpoint de liste pour consulter la liste d’autorisation complète.DELETE /discounts/{discount_id}/customers/{customer_id}— dissociez un client donné.
Cas d’utilisation courants
- Offres de lancement : promotions limitées dans le temps pour de nouveaux produits
- Achats 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.Appliquer des remises dans les sessions de checkout
Préappliquez une ou plusieurs remises cumulées et affichez l’interface de saisie du code.Appliquer des remises lors d’un changement de plan
Proposez une tarification promotionnelle lorsque les clients passent à un plan supérieur ou inférieur.Consultez toutes les remises appliquées à l’abonnement via le nouveau tableau
discounts dans la réponse de l’abonnement. Chaque entrée comprend discount_id, position, cycles_remaining (pour les abonnements) et le code d’origine.Masquer le champ du code de réduction
Le champ de saisie du code de réduction est affiché par défaut afin que les clients puissent toujours saisir un code sans que vous ayez besoin d’en transmettre un au préalable. Définissezallow_discount_code sur false pour masquer entièrement le champ.
Bonnes pratiques
- Nommez clairement : utilisez des codes reconnaissables correspondant aux noms des campagnes
- Limitez dans le temps : ajoutez des dates d’expiration pour créer un sentiment d’urgence et éviter les abus
- Définissez judicieusement le périmètre : limitez les remises à certains produits afin d’éviter une érosion des marges
- Validez en amont : vérifiez l’applicabilité du code avant de confirmer le checkout
- Suivez l’impact : mesurez l’utilisation et la conversion par campagne
Les codes de remise sont de puissants leviers d’acquisition et de fidélisation. Commencez par des offres simples et clairement nommées, validez-les rigoureusement, puis ajustez-les en fonction de leurs performances.