
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
Configuration du tableau de bord

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.
15pour 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.


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.

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

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_possibledans 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.
- Minimum subtotal — le code s’applique uniquement lorsque le panier atteint ce sous-total dans cette devise.
0signifie qu’aucun minimum n’est défini.

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.
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 tableaudiscount_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
Create discounts
Create discounts
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.
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
Consultez les API de listing et de récupération.
Get discount by code
Get discount by code
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.
Update discounts
Update discounts
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.
Retrieve a discount
Retrieve a discount
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.
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é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.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.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éfinissezallow_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.