Encaisser des majorationsVersion bêta publique
Compensez vos frais de traitement des cartes bancaires grâce à des majorations.
Les majorations vous permettent de compenser une partie des coûts liés à l’acceptation des paiements par carte. Si vous êtes une plateforme qui détermine et perçoit des frais de paiement auprès de vos comptes connectés, les majorations permettent à ces derniers de compenser ces coûts.
Conformité
Si vous appliquez une majoration sur vos paiements par carte, vous devez être conforme avec l’ensemble des lois, réglementations et règles des réseaux de cartes applicables. Les exigences en matière de majoration varient selon les régions et les types de cartes et peuvent inclure des obligations telles que :
- Calculez avec précision les montants de majoration autorisés afin qu’ils ne dépassent pas les limites imposées par la législation applicable, les réseaux de cartes ou votre coût d’acceptation (que vous devez déterminer).
- Informer votre acquéreur ou le réseau de cartes bancaires de votre intention d’appliquer une majoration.
- Appliquer des majorations homogènes sur vos différents réseaux ou produits de cartes.
- Indiquez de manière claire et visible les montants de majoration applicables à chaque transaction ainsi que le coût total pour le titulaire de la carte avant l’achat, et faites apparaître la majoration séparément sur le reçu de la transaction.
- Offrez la possibilité d’annuler la transaction ou de choisir un autre moyen de paiement après que le montant de la majoration a été communiqué au titulaire de la carte.
Même lorsque la fonctionnalité de majoration est disponible, vous devez vous assurer que la majoration est autorisée et que le montant que vous appliquez ne dépasse pas les limites fixées par la législation, les réglementations ou les réseaux de cartes applicables. Il vous incombe de comprendre et d’être conforme à toutes les exigences ou restrictions propres à un pays ou une région (y compris celles d’un État, d’une province ou d’un territoire).
Les informations présentées sur cette page concernant votre conformité à ces exigences sont fournies à titre indicatif et ne constituent pas un conseil juridique, fiscal, comptable ou professionnel. Consultez un expert si vous avez des doutes sur vos obligations.
Avertissement
Vous êtes entièrement responsable du paiement de toute amende, pénalité ou perte liée au non-respect des exigences applicables en matière de majoration.
Disponibilité
La surfacturation est disponible sur Visa, Mastercard, Amex, Discover, Eftpos, Diners, Interac, JCB, Maestro et Unionpay.
L’application d’une majoration est disponible dans les pays et pour les moyens de paiement suivants :
| Pays | Moyens de paiement autorisés | Montant maximal de la majoration |
|---|---|---|
| États-Unis | Cartes bancaires uniquement | 3 % |
| Canada | Cartes bancaires uniquement | 2,4 % |
| Australie | Toutes les cartes | 4 % |
| Nouvelle-Zélande | Toutes les cartes | 4 % |
Avant de commencer
- Votre intégration doit utiliser la version API 2026-03-25.preview. Vous devez utiliser les SDK en version bêta publique ou spécifier cette version de Stripe dans l’en-tête de votre requête pour accéder aux fonctionnalités en version bêta.
- Consultez les modifications de l’API si vous participez actuellement à la version bêta privée des frais supplémentaires.
Déterminer la disponibilité de la majoration
Lorsque vous envoyez surcharge. ou surcharge. et que vous associez un moyen de paiement à votre PaymentIntent, la réponse inclut les attributs suivants pour vous aider à déterminer la disponibilité de la majoration :
- L’attribut
surcharge.indique si la surcharge est disponible en fonction du pays et du type de financement du moyen de paiement.status - Cela renvoie
availableouunavailable.
- Cela renvoie
surcharge.indique le montant maximum de majoration que vous pouvez transmettre. Toutefois, cette valeur correspond à une restriction technique et non à un montant recommandé par Stripe. Les limites de majoration imposées par les lois ou les exigences des réseaux de cartes dans votre juridiction peuvent différer demaximum_ amount surcharge.. Il vous incombe de vous assurer que la majoration que vous appliquez ne dépasse pas ces limites.maximum_ amount - Par défaut, Stripe valide la majoration que vous appliquez à un
PaymentIntentdonné par rapport au montant maximum de majoration. Si vous tentez d’appliquer une majoration supérieure à ce montant maximum, une erreur est générée.
Désactiver la validation des montants de majoration
- Vous pouvez désactiver la validation du montant maximum de majoration en passant
enforce_. Si vous désactivez la validation en définissantvalidation: disabled enforce_, Stripe ne renvoie pas le champvalidation: disabled maximum_et la restriction technique par défaut sur le montant de la majoration ne s’applique pas.amount - Vous pouvez désactiver la validation du montant maximum de majoration au moment de créer, mettre à jour ou confirmer un PaymentIntent. Une fois que vous avez activé ou désactivé cette validation, il n’est plus possible de modifier
surcharge..enforce_ validation - Le fait de passer
enforce_ne supprime aucune autre restriction de disponibilité, y compris celles liées au type de financement de la carte ou à d’autres restrictions régionales. Vous devez vous assurer que la majoration que vous appliquez respecte toutes les lois applicables et les exigences des réseaux de cartes, que vous désactiviez ou non la validation du montant maximum de majoration.validation: disabled - Vous pouvez également passer
enforce_pour activer explicitement la validation technique du montant maximum de majoration. Une fois cette opération effectuée, il n’est plus possible de modifiervalidation: enabled surcharge..enforce_ validation - Par défaut, Stripe applique les restrictions techniques sur le montant maximum de majoration. Si vous ne transmettez aucun champ dans
surcharge., la réponse inclutenforce_ validation enforce_pour indiquer ce comportement.validation: automatic
Scénario 1 : Activer la validation et utiliser maximum_ amount
Créez un PaymentIntent avec la validation activée afin de recevoir maximum_ :
curl https://api.stripe.com/v1/payment_intents \ -u ":" \ -H "Stripe-Version: 2026-03-25.preview" \ -d amount=1000 \ -d currency=usd \ -d "payment_method=sk_test_VePHdqKTYQjKNInc7u56JBrQ" \ -d "payment_method_types[]=card" \ -d "amount_details[surcharge][enforce_validation]=enabled"{{PAYMENT_METHOD_ID}}
{ "id": "pi_123", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, "amount_details": { "surcharge": { "enforce_validation": "enabled", "maximum_amount": 24, "status": "available" } }, "status": "requires_confirmation" }
Scénario 2 : Désactiver la validation
curl https://api.stripe.com/v1/payment_intents \ -u ":" \ -H "Stripe-Version: 2026-03-25.preview" \ -d amount=1000 \ -d currency=usd \ -d "payment_method=sk_test_VePHdqKTYQjKNInc7u56JBrQ" \ -d "payment_method_types[]=card" \ -d "amount_details[surcharge][enforce_validation]=disabled"{{PAYMENT_METHOD_ID}}
Stripe ne renvoie pas maximum_ lorsque vous désactivez la validation.
{ "id": "pi_123", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, "amount_details": { "surcharge": { "enforce_validation": "disabled", "status": "available" } }, "status": "requires_confirmation" }
Calculer le montant de la majoration
Vous devez calculer des montants de majoration conformes aux exigences juridiques, réglementaires et des réseaux de cartes pour chaque transaction. Vos coûts de traitement des paiements varient selon la marque de la carte bancaire, le type de financement et les réseaux disponibles.
Si Stripe renvoie le montant maximum de majoration, comparez toujours votre majoration calculée avec surcharge. renvoyé dans le PaymentIntent pour le moyen de paiement sélectionné afin d’éviter des erreurs. Les règles des réseaux de cartes et de votre juridiction concernant les majorations peuvent évoluer au fil du temps. Stripe peut modifier le montant maximum de majoration. Il vous incombe de prendre en compte surcharge.. Si vous appliquez une majoration supérieure à surcharge., vous risquez de rencontrer des erreurs de validation.
Confirmer le paiement avec des frais supplémentaires
Après avoir calculé la majoration et l’avoir communiquée au client, vous pouvez appliquer la majoration lors de la confirmation ou de la capture du PaymentIntent.
Indiquez le montant total incluant la majoration
Stripe ne facture que le montant indiqué dans le champ amount de premier niveau et n’ajoute aucun montant supplémentaire. Vous devez donc indiquer dans ce champ amount le montant total incluant la majoration. Par exemple, pour un sous-total de 10,00 USD avec une majoration de 0,20 USD, vous devez passer 10,20 USD dans le champ amount de premier niveau. Le montant de la majoration de 0,20 USD sera spécifié séparément dans amount_.
curl https://api.stripe.com/v1/payment_intents//confirm \ -u "{{PAYMENT_INTENT_ID}}:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d amount_to_confirm=1020 \ -d "amount_details[surcharge][enforce_validation]=enabled" \ -d "amount_details[surcharge][amount]=20"sk_test_VePHdqKTYQjKNInc7u56JBrQ
{ "id": "pi_123", "object": "payment_intent", "amount": 1020, "amount_capturable": 1020, "amount_details": { "surcharge": { "enforce_validation": "enabled", "amount": 20, "maximum_amount": 24, "status": "available" } }, "status": "requires_capture" }
Appliquer une majoration lors de la création d’un PaymentIntent
Indiquez dans le champ amount de premier niveau le montant total incluant la majoration lors de la création d’un PaymentIntent :
curl https://api.stripe.com/v1/payment_intents \ -u ":" \ -H "Stripe-Version: 2026-03-25.preview" \ -d amount=1020 \ -d currency=usd \ -d "payment_method=sk_test_VePHdqKTYQjKNInc7u56JBrQ" \ -d "payment_method_types[]=card" \ -d "amount_details[surcharge][enforce_validation]=enabled" \ -d "amount_details[surcharge][amount]=20"{{PAYMENT_METHOD_ID}}
Appliquer la majoration lors de la capture
Vous pouvez également appliquer la majoration lors de la capture. Ce comportement peut être utilisé dans différents scénarios :
- Ajuster la majoration après confirmation : si vous devez modifier le montant de la majoration après confirmation, vous ne pouvez que le réduire. Il n’est pas possible d’augmenter le montant de la majoration lors de la capture.
- Scénarios de multicapture : lors de captures multiples sur un même PaymentIntent, vous pouvez spécifier le montant de la majoration pour chaque capture individuelle. La somme des montants de majoration appliqués lors des multicaptures ne peut pas dépasser le montant de majoration indiqué lors de la confirmation.
curl https://api.stripe.com/v1/payment_intents//capture \ -u "{{PAYMENT_INTENT_ID}}:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d amount_to_capture=1020 \ -d "amount_details[surcharge][enforce_validation]=enabled" \ -d "amount_details[surcharge][amount]=20"sk_test_VePHdqKTYQjKNInc7u56JBrQ
Remboursements
Vous devez mettre en place une logique pour rembourser les majorations au client lors d’un remboursement. Les règles des réseaux de cartes ainsi que certaines lois et réglementations exigent de rembourser la totalité de la majoration en cas de remboursement intégral, et de rembourser une majoration au prorata en cas de remboursement partiel. Par exemple, si un client retourne un article d’une valeur de 60,00 USD sur une commande totale de 100,00 USD, et que vous avez appliqué une majoration de 1,50 USD, le remboursement de la majoration au prorata doit être de 60,90 USD (60,00 USD + 60/100 de la majoration de 1,50 USD).
Reçus
Les reçus préconçus Stripe affichent automatiquement la majoration. Si vous créez des reçus personnalisés, affichez le montant de la majoration séparément. Par exemple, pour un achat totalisant 10,20 USD avec une majoration de 0,20 USD, vous devez afficher 10,00 USD et 0,20 USD comme postes séparés sur le reçu. Consultez amount_ dans le PaymentIntent pour voir la majoration appliquée.
Rapports
Le champ amount_ est disponible dans la table payment_ de Sigma pour plus de commodité. Ce champ représente le montant de la majoration appliquée à la transaction que vous transmettez au réseau de cartes.
Interopérabilité des fonctionnalités
- Vous pouvez utiliser la majoration avec les postes de paiement.
- Vous pouvez utiliser la majoration avec Multicapture et spécifier des montants de majoration différents pour chaque capture.
- Vous ne pouvez pas capturer un montant de majoration supérieur à celui indiqué lors de la confirmation.
- La somme des montants de majoration appliqués lors de multicaptures ne peut pas dépasser le montant de majoration indiqué lors de la confirmation.
- Si vous utilisez la majoration avec l’autorisation complémentaire, vous pouvez réduire le montant de la majoration via l’endpoint de capture du PaymentIntent si vous capturez moins que le montant autorisé. En revanche, vous ne pouvez pas augmenter la majoration, quel que soit le montant supplémentaire autorisé lors de l’autorisation complémentaire.
- La majoration n’est pas disponible lors de la capture automatique avec des autorisations partielles.
Migration des modifications d’API en version bêta privée
Si vous utilisez actuellement la version bêta privée de la majoration, voici les principales modifications à apporter pour bénéficier du comportement de la version bêta publique :
| Version bêta privée | Version bêta publique |
|---|---|
amount_ (niveau supérieur) | amount_ |
Stripe incrémente automatiquement le champ amount. | Vous indiquez le montant total dans le champ amount, incluant la majoration. |
| La validation des montants est toujours appliquée | amount_ |
Application de la majoration uniquement sur /update et /confirm | Majoration disponible sur /create, /update, /confirm, et /capture |
maximum_ et status renvoyés dans le hachage payment_. | maximum_ et status renvoyés dans le hachage amount_ |