Accéder directement au contenu
Créez un compte ou connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compteConnectez-vous
Démarrer
Paiements
Revenus
Plateformes et marketplaces
Gestion de fonds
Ressources pour les développeurs
API et SDKAide
AperçuAccepter un paiementMettre votre intégration à niveau
Paiements en ligne
PrésentationTrouver votre cas d'usage
Utiliser Payment Links
Créer une page de paiement
Créer une intégration personnalisée avec Elements
Développer une intégration dans l'application
Utiliser Managed Payments
Utiliser Checkout Studio
Paiements récurrents
Paiements par TPE
Aperçu de Terminal
Disponibilité
Lecteurs
No-code
Intégration personnalisée
Moyens de paiement
Ajouter des moyens de paiement
Gérer les moyens de paiement
Paiement accéléré avec Link
Opérations de paiement
Analyses
Soldes et délai de règlement
Conformité et sécurité
Devises
Refus de paiement
Litiges
Radar pour la protection contre la fraude
Virements
ReçusRemboursements et annulations
Intégrations avancées
Tunnels de paiement personnalisés
    Présentation
    Paiements pour les clients existants
    Créer un tunnel de paiement en deux étapes
    Encaisser des majorations
    Collecter les informations de paiement avant de créer un Intent
    Finaliser les paiements sur le serveur
    Accepter des commandes par courrier et par téléphone (MOTO)
    Cartes bancaires américaines et canadiennes
    Transférer des informations de carte bancaires vers des endpoints d'API tiers
    Postes de paiement
    Métadonnées du secteur
Acquisition flexible
Paiements hors session
Orchestration multiprestataire
Au-delà des paiements
Constituez votre entreprise
Cryptomonnaies
Commerce agentique
Financial Connections
Climate
Vérifier l'identité
France
Français (France)
  1. Accueil/
  2. Paiements/
  3. Custom payment flows
Version bêta publique

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 :

PaysMoyens de paiement autorisésMontant maximal de la majoration
États-UnisCartes bancaires uniquement3 %
CanadaCartes bancaires uniquement2,4 %
AustralieToutes les cartes4 %
Nouvelle-ZélandeToutes les cartes4 %

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.amount ou surcharge.enforce_validation 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.status indique si la surcharge est disponible en fonction du pays et du type de financement du moyen de paiement.
    • Cela renvoie available ou unavailable.
  • surcharge.maximum_amount 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 de surcharge.maximum_amount. Il vous incombe de vous assurer que la majoration que vous appliquez ne dépasse pas ces limites.
  • Par défaut, Stripe valide la majoration que vous appliquez à un PaymentIntent donné 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_validation: disabled. Si vous désactivez la validation en définissant enforce_validation: disabled, Stripe ne renvoie pas le champ maximum_amount et la restriction technique par défaut sur le montant de la majoration ne s’applique pas.
  • 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_validation: disabled 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.
  • Vous pouvez également passer enforce_validation: enabled pour activer explicitement la validation technique du montant maximum de majoration. Une fois cette opération effectuée, il n’est plus possible de modifier 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.enforce_validation, la réponse inclut enforce_validation: automatic pour indiquer ce comportement.

Scénario 1 : Activer la validation et utiliser maximum_amount

Créez un PaymentIntent avec la validation activée afin de recevoir maximum_amount :

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_VePHdqKTYQjKNInc7u56JBrQ
:"
\ -H "Stripe-Version: 2026-03-25.preview" \ -d amount=1000 \ -d currency=usd \ -d "payment_method=
{{PAYMENT_METHOD_ID}}
" \ -d "payment_method_types[]=card" \ -d "amount_details[surcharge][enforce_validation]=enabled"
Example response
{ "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

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_VePHdqKTYQjKNInc7u56JBrQ
:"
\ -H "Stripe-Version: 2026-03-25.preview" \ -d amount=1000 \ -d currency=usd \ -d "payment_method=
{{PAYMENT_METHOD_ID}}
" \ -d "payment_method_types[]=card" \ -d "amount_details[surcharge][enforce_validation]=disabled"

Stripe ne renvoie pas maximum_amount lorsque vous désactivez la validation.

Example response
{ "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.maximum_amount 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.maximum_amount. Si vous appliquez une majoration supérieure à surcharge.maximum_amount, 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_details[surcharge][amount].

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents/
{{PAYMENT_INTENT_ID}}
/confirm
\ -u "
sk_test_VePHdqKTYQjKNInc7u56JBrQ
:"
\ -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"
Example response
{ "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 :

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_VePHdqKTYQjKNInc7u56JBrQ
:"
\ -H "Stripe-Version: 2026-03-25.preview" \ -d amount=1020 \ -d currency=usd \ -d "payment_method=
{{PAYMENT_METHOD_ID}}
" \ -d "payment_method_types[]=card" \ -d "amount_details[surcharge][enforce_validation]=enabled" \ -d "amount_details[surcharge][amount]=20"

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.
Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents/
{{PAYMENT_INTENT_ID}}
/capture
\ -u "
sk_test_VePHdqKTYQjKNInc7u56JBrQ
:"
\ -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"

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_details.surcharge.amount dans le PaymentIntent pour voir la majoration appliquée.

Rapports

Le champ amount_details_surcharge_amount est disponible dans la table payment_intents 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éeVersion bêta publique
amount_surcharge (niveau supérieur)amount_details[surcharge][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éeamount_details[surcharge][enforce_validation]
Application de la majoration uniquement sur /update et /confirmMajoration disponible sur /create, /update, /confirm, et /capture
maximum_amount et status renvoyés dans le hachage payment_method_options.maximum_amount et status renvoyés dans le hachage amount_details
Cette page vous a-t-elle été utile ?
OuiNon
  • Besoin d'aide ? Contactez le service Support.
  • Discutez par chat sur Discord avec les développeurs de Stripe.
  • Consultez notre log des modifications.
  • Des questions ? Contactez l'équipe commerciale.
  • LLM ? Lire llms.txt.
  • Propulsé par Markdoc
Sur cette page