Surcoût
Un surcoût est un montant supplémentaire facturé par le commerçant pour couvrir le coût du traitement d'acceptation des paiements par carte. La fonctionnalité de surcoût de Mastercard Gateway vous permet d'appliquer un surcoût à une transaction en fonction des paramètres suivants :
- point d'entrée de la passerelle, par exemple, Hosted Checkout, DirectAPI
- mode de paiement, par exemple, Mastercard, Visa, American Express
- méthode de financement, par exemple, Crédit, Débit
- devise
Pour permettre à la passerelle de calculer un surcoût pour une transaction, vous devez configurer les règles de surcoût dans Merchant Administration. Si vous utilisez une intégration DirectAPI/Batch, vous pouvez également indiquer un surcoût précalculé sur la commande.
Conditions préalables
- Le surcoût doit être activé sur votre profil de commerçant dans Mastercard Gateway.
- Vous devez avoir configuré des règles de surcoût dans Merchant Administration pour permettre à la passerelle de calculer le surcoût.
Intégration en vue d'utiliser le surcoût
La passerelle prend en charge le surcoût sur les transactions à l'aide des méthodes d'intégration suivantes :
Intégration via DirectAPI/Batch
Vous pouvez appliquer un surcoût sur une commande à l'aide de l'une des options suivantes :
- surcoût calculé par la passerelle
Pour permettre à la passerelle de calculer un surcoût, renseignez le champ suivant dans une demande
Authorize
/Pay
ouUpdate Session
:order.netAmount
: il s'agit du montant devant être payé pour la commande avant l'application du surcoût.
Ne renseignez pas le champorder.amount
dans la demande. Voir la rubrique Questions fréquentes ci-dessous.Vous pouvez soumettre une demande
Retrieve Transaction
/Retrieve Order
pour extraire les détails du surcoût suivants :order.surchargeAmount
: surcoût calculé par la passerelle suivant vos règles de surcoût.order.amount
: montant total de la commande, le montant de surcoût étant inclus.
Vous pouvez également utiliser l'opérationPayment Options Inquiry
(Demande d'options de paiement) pour demander le montant de surcoût calculé en renseignant les champs :session.id
,order.netAmount
,order.currency
,gatewayEntryPoint
etsourceOfFunds.provided.card.prefix
. - surcoût calculé par le commerçant
Renseignez les champs suivants dans une demande
Authorize
/Pay
/Standalone Capture
Collecte autonome) ouUpdate Session
(Mettre à jour la session) :order.amount
: montant total de la commande, le montant de surcoût étant inclus.order.surchargeAmount
: surcoût, s'il y en a, applicable à cette commande. Ce montant doit être inclus dans le montant total de la commande que vous spécifiez dans le champorder.amount
.
La soumission d'une demande
Retrieve Transaction
/Retrieve Order
retourne les détails du surcoût que vous avez indiqués dans la demande de transaction plusorder.netAmount
(montant net égal au montant de la commande moins le montant du surcoût).
Payment Options Inquiry
pour demander des détails sur le système de cartes/le financement pour vous aider à évaluer et appliquer le surcoût approprié à une carte. Pour plus d'informations, voir la rubrique Questions fréquentes ci-dessous.- surcoût calculé par le commerçant
order.amount
: montant total de la commande, le montant de surcoût étant inclus.order.merchantCharge.amount
: montant des frais supplémentaires que vous facturez au payeur ; actuellement, il s'agit uniquement du montant de la surtaxe.order.merchantCharge.type
: type frais supplémentaires que vous facturez au payeur ; actuellement, il s'agit uniquement de la surtaxe. La valeur de commerçantCharge.type est surcharge.
- Surcoût calculé par la passerelle
order.netAmount
: il s'agit du montant devant être payé pour la commande avant l'application du surcoût.order.merchantCharge.type
: type frais supplémentaires que vous facturez au payeur ; actuellement, il s'agit uniquement de la surtaxe. La valeur de commerçantCharge.type est surcharge.
Référence de l'API Authorize (Autoriser) [REST][NVP]
Référence de l'API Retrieve Transaction (Extraire la transaction) [REST][NVP]
Référence de l'API Payment Options Inquiry (Demande d'options de paiement) [REST][NVP]
Intégration via Hosted Checkout
Le surcoût peut être calculé par la passerelle via Hosted Checkout.
Pour appliquer un surcoût à un paiement Hosted Checkout, renseignez le champ suivant dans la demande Hosted Checkout (fonction Checkout.configure()
ou opération Create Checkout Session
(Créer une session de paiement) suivant votre flux de paiement) :
order.netAmount
: montant devant être payé pour la commande avant l'application du surcoût.
order.amount
dans la demande. Voir la rubrique Questions fréquentes ci-dessous.Vous pouvez soumettre une demande Retrieve Transaction
/Retrieve Order
pour extraire les détails du surcoût :
order.surchargeAmount
: surcoût calculé par la passerelle suivant vos règles de surcoût.order.amount
: montant net plus le surcoût.
Le payeur peut voir le surcoût pour la carte qu'il a entrée et peut choisir de poursuivre avec le nouveau montant total, d'utiliser une carte différente ou d'annuler la commande. Le reçu de paiement présenté au payeur affiche le montant du surcoût appliqué.
order.netAmount
: montant devant être payé pour la commande avant l'application du surcoût.order.merchantCharge.type
: type frais supplémentaires que vous facturez au payeur ; actuellement, il s'agit uniquement de la surtaxe. La valeur de commerçantCharge.type est surcharge.
order.amount
dans la demande. Voir la rubrique Questions fréquentes ci-dessous.Vous pouvez soumettre une demande Retrieve Transaction
/Retrieve Order
pour extraire les détails du surcoût :
order.merchantCharge.amount
: montant des frais supplémentaires que vous facturez au payeur ; actuellement, il s'agit uniquement du montant de la surtaxe.order.amount
: montant net plus le surcoût.
Le payeur peut voir le surcoût pour la carte qu'il a entrée et peut choisir de poursuivre avec le nouveau montant total, d'utiliser une carte différente ou d'annuler la commande. Le reçu de paiement présenté au payeur affiche le montant du surcoût appliqué.
Questions fréquentes
La passerelle calcule-t-elle le surcoût si je renseigne les champs order.netAmount
et order.amount
dans ma demande ?
Le fait de renseigner les champs order.netAmount
et order.amount
sans renseigner le champ order.surchargeAmount
retourne une erreur, car la passerelle ne dispose pas d'informations suffisantes pour calculer le surcoût. La passerelle a besoin que vous renseigniez le champ order.netAmount
OU le champ order.amount
.
Si vous renseignez les trois champs, la passerelle ne calcule pas le surcoût, mais utilise le montant de surcoût que vous avez indiqué.
Puis-je choisir de ne pas appliquer de surcoût aux paiements par carte lors de la soumission d'une transaction ?
Oui, pour désactiver le surcoût,
- renseignez le champ order.amount dans votre demande de transaction pour indiquer le montant total de la commande.
Pour l'API directe de WSAPI version 50 à 66,
- lorsque le surcoût est calculé par le commerçant, ne renseignez pas les champs order.netAmount et order.surchargeAmount.
- lorsque le surcoût est calculé par la passerelle, ne renseignez pas le champ order.netAmount.
Pour l'API directe de WSAPI version 67 et versions supérieures,
- lorsque le surcoût est calculé par le commerçant, ne renseignez pas les champs order.netAmount, order.merchantCharge.amount et order.merchantCharge.type comme surcoût.
- lorsque le surcoût est calculé par la passerelle, ne renseignez pas les champs order.netAmount et order.merchantCharge.Type comme surcoût.
pour Hosted Checkout de WSAPI version 50 à 70,
- le surcoût est toujours calculé par la passerelle, ne renseignez pas le champ order.netAmount.
pour Hosted Checkout à compter de WSAPI version 71 et versions ultérieures.
- le surcoût est toujours calculé par la passerelle, ne renseignez pas les champs order.netAmount et order.merchantCharge.type comme surcoût.
Si le payeur demande un remboursement, le montant de surcoût est-il remboursé ?
Oui. Le surcoût étant inclus dans le champ order.amount
et comme il s'agit du montant remboursé au payeur, le montant de surcoût est également remboursé. En cas de remboursements partiels, le montant de surcoût est remboursé au prorata.
Si l'option de conversion de devise dynamique (DCC) est activée, la passerelle calcule-t-elle le surcoût dans la devise de facturation du payeur et dans ma devise préférée ?
Oui, la passerelle inclut le surcoût applicable dans le montant de la commande, qui est retourné dans le champ paymentTypes.card.currencyConversion.payerAmount
dans la devise de facturation du payeur et dans le champ order.amount
dans votre devise préférée (dans la réponse de l'opération Payment Options Inquiry
).
Puis-je extraire les données d'identification du type de carte pour faciliter le calcul d'un surcoût pour une commande ?
Vous pouvez renseigner le champ sourceOfFunds.provided.card.prefix
dans la demande Payment Options Inquiry
afin d'extraire les détails sur la carte utilisée pour le paiement, ce qui peut faciliter les décisions en matière de surcoût :
paymentTypes.card.scheme
: organisme qui possède une marque de carte et définit les règles concernant son utilisation.paymentTypes.card.brand
: Nom de marque utilisé pour décrire une carte reconnue et acceptée au niveau mondial. Pour de nombreux types principaux de carte, cela correspondra au nom du système. Sur certains marchés, une carte peut également être comarquée avec une marque locale reconnue et acceptée dans son pays/région d'origine (voir Marque locale).paymentTypes.card.localBrand
: Nom de marque utilisé pour décrire une carte reconnue et acceptée dans son pays/sa région d'origine. La carte peut également être émise conjointement avec une marque reconnue et acceptée dans le monde entier.paymentTypes.card.fundingMethod
: méthode utilisée par le payeur pour fournir des fonds pour le paiement.
Vous pouvez utiliser ces détails pour calculer un surcoût en fonction de la carte présenté par le payeur.
Référence de l'API Payment Options Inquiry (Demande d'options de paiement) [REST][NVP]