worldline Direct
S'inscrire

Introduction

Gérer les coûts est essentiel pour une entreprise efficace, et cela s'applique également aux transactions elles-mêmes. Accepter des paiements peut entraîner de nombreux types de frais variables.

Plutôt que d'intégrer ces frais dans le prix de vos biens ou services, notre fonctionnalité de surtaxe vous permet d'accroître la transparence de ces frais pour vos clients.

En utilisant notre fonctionnalité Surcharge, vous pouvez :

  • Transférer une surtaxe à votre client pour récupérer vos coûts d'acceptation
  • Vous conformer aux règles imposées par les réseaux de paiement et les régulateurs locaux
  • Interroger les taux et montants des surtaxes via notre API et nos webhooks

Nous serons heureux de vous aider à commencer !

Cette fonctionnalité est disponible pour
Toutes les modes d'intégration
Les méthodes de paiement par carte

Vous pouvez appliquer des suppléments uniquement aux cartes commerciales. Le supplément ne doit pas dépasser les coûts de transaction supplémentaires imposés par le système pour ce type de carte.

Comprendre Surcharge

La fonctionnalité Surcharge implémente le mode "On Behalf Of" (Au Nom De) : Notre plateforme calcule et applique automatiquement un supplément à une transaction, simplifiant ainsi vos efforts d'intégration. Nous calculons le montant en fonction de

  • La carte elle-même (c'est-à-dire la marque, le pays d'émission, le type de carte de crédit/débit)
  • Vos taux de supplément préconfigurés.

    Les propriétés suivantes définissent la surtaxe de votre commande dans une demande CreateHostedCheckout/CreatePayment pour les modes Hosted Checkout Page/Hosted Tokenization Page/Server-to-server/Intégration mobile/client

    Propriétés Remarques

    order.amountOfMoney
         amount
         currencyCode

    amount : Le montant net (sans la surtaxe) que vous souhaitez facturer pour cette commande
    currencyCode : Le code de devise ISO 4217 pour ce montant

    order.surchargeSpecificInput
         mode

         surchargeAmount
              amount
              currencyCode

    mode : Valeur fixe "on-behalf-of".

    amount : Le montant de la surtaxe en plus du montant net (order.amountOfMoney.currencyCode)
    currencyCode : Le code de devise ISO 4217 pour ce montant

    Appliquer Surcharge

    Selon le mode d'intégration, des différences s'appliquent.

    Pour bien comprendre comment cette fonctionnalité fonctionne pour une configuration donnée, nous utilisons un exemple avec

    • Un montant net fixe de 10 EUR pour la commande réelle
    • Un montant de surtaxe de 0,33 EUR 

    Utilisez ce scénario pratique pour appliquer des surtaxes à vos demandes de paiement.

    N'oubliez pas de nous contacter avant d'utiliser cette fonctionnalité, car nous devrons préconfigurer votre compte.

    Si vous effectuez un suivi des transactions traitées, consultez les chapitres dédiés pour vous assurer de le faire correctement :
    Capturer les transactions
    Rembourser les transactions

    Appliquer la surtaxe "On Behalf Of"

    Nous proposons Surcharge pour les modes d'intégration suivantes :

    Hosted Checkout Page

    Suivez ces étapes pour créer une requête pour cette commande :

    Il s'agit d'un flux de paiement de haut niveau couvrant uniquement les étapes obligatoires pour cette fonctionnalité. Lisez notre chapitre dédié dans notre guide Hosted Checkout Page pour obtenir des informations détaillées, des exemples de code et des étapes facultatives dans le flux.

    1. Vos clients se rendent sur votre page de paiement et finalisent la commande.
    2. Vous envoyez cette requête CreateHostedCheckout à notre plateforme, en incluant le montant net (10 EUR dans cet exemple) dans la propriété amount et mode="on-behalf-of". Notre plateforme activera alors automatiquement la surtaxe sur cette commande :
      {
         "order":{
            "amountOfMoney":{
               "amount":1000,
               "currencyCode":"EUR"
            },
            "surchargeSpecificInput":{
               "mode":"on-behalf-of"
            }
         }
      }
      
    3. Vous redirigez les clients dans le navigateur vers l'redirectUrl. L'redirectUrl affiche le montant net dans le champ "Total charge" (10 EUR dans cet exemple). Une fois que le client saisit son numéro de carte sur la page de paiement, notre plateforme calcule le montant de la surtaxe et l'affiche sur une nouvelle ligne "Surtaxe carte" dans la page. Dans le même temps, le champ "Total charge" est mis à jour avec le montant final incluant la surtaxe (10,33 EUR dans cet exemple). Si le client met à jour ses informations de paiement, la page de paiement mettra automatiquement à jour toute modification de la surtaxe.
    4. Les clients confirment le paiement.
    5. Nous traitons la transaction et recevons le résultat de l'acquéreur.

    Hosted Tokenization Page

    Pour utiliser cette fonctionnalité, vous devez inclure l'élément JavaScript suivant en plus des éléments standards :

    function mySurchargeCallback(result) {
    	if (result.surcharge.success) {
    		console.log(result.surcharge.result);
        }
    	else {
    		console.log(result.surcharge.error)
    	}
    }
    

    La fonction mySurchargeCallback renvoie le taux de impayé applicable une fois que votre client a rempli l'iframe avec son numéro de carte.

    Suivez ces étapes pour créer une requête pour cette commande :

    Il s'agit d'un flux de paiement de haut niveau couvrant uniquement les étapes obligatoires pour cette fonctionnalité. Lisez notre chapitre dédié dans notre guide Hosted Tokenization Page pour obtenir des informations détaillées, des exemples de code et des étapes facultatives dans le flux.

    1. Vos clients se rendent sur votre page de paiement et finalisent l'achat.
    2. Vous envoyez une requête CreateHostedTokenization à notre plateforme. Notre plateforme renvoie une hostedTokenizationURL.
    3. Vous invoquez la fonction initialize() à partir du code JavaScript pour ajouter le formulaire de paiement dans un <iframe>. Assurez-vous d'ajouter la propriété mySurchargeCallback lors de la création de l'instance tokenizer et de définir le montant net et la devise (10 EUR dans cet exemple) pour cette instance tokenizer
      
          var tokenizer = new Tokenizer(
         hostedTokenizationUrl,
         'div-hosted-tokenization',
          {	
         surchargeCallback: mySurchargeCallback, 
      	   // autres propriétés omises
          });
      
      tokenizer.setAmount(1000, "EUR");
    4. Vos clients saisissent leurs données carte dans le <iframe>. Notre plateforme renvoie le montant de la surtaxe autorisée pour la carte en invoquant la fonction mySurchargeCallback. Cela s'applique aussi chaque fois que les clients mettent à jour le numéro de carte. Assurez-vous d'afficher la surtaxe en temps réel pour une transparence maximale envers vos clients avant le paiement effectif.
    5. Vos clients soumettent les données de la carte à notre plateforme en invoquant la fonction submitTokenization() à partir du code JavaScript.
    6. Notre plateforme tokenise les données de la carte.
    7. Vous envoyez cette requête CreatePayment à notre plateforme, incluant le montant net (10 EUR dans cet exemple) dans la propriété amount et mode="on-behalf-of":
      
      {
         "CardPaymentMethodSpecificInput":{
            "PaymentProductId":1,
            "SkipAuthentication":false,
            "Token":"tokenId",
            "ThreeDSecure":{
               "RedirectionData":{
                  "ReturnUrl":"https://yourRedirectionUrl.com"
               }
            }
         },
         "Order":{
            "AmountOfMoney":{
               "Amount":1000,
               "CurrencyCode":"EUR"
            },
            "surchargeSpecificInput":{
               "mode":"on-behalf-of"
            },
            "Customer":{
               "Device":{
                  "AcceptHeader":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
                  "Locale":"en_EN",
                  "TimezoneOffsetUtcMinutes":-180,
                  "UserAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
                  "Browserdata":{
                     "ColorDepth":24,
                     "JavaScriptEnabled":false,
                     "ScreenHeight":"1080",
                     "ScreenWidth":"1920"
                  }
               }
            }
         }
      }
      
    8. Nous traitons la transaction et recevons le résultat de l'acquéreur.

    !{dv.get('direct.S2S')}/!{dv.get('direct.title.mobile-client-integration')}

    Suivez ces étapes pour créer une requête pour cette commande :

    Voici une cinématique de paiement de haut niveau couvrant uniquement les étapes obligatoires pour cette fonctionnalité. Consultez notre chapitre dédié dans notre guide Server-to-server pour des informations détaillées, des exemples de code et des étapes optionnelles dans le flux.

    1. Vos clients se rendent sur votre page de paiement et saisissent leurs données de carte de crédit pour finaliser l'achat
      1'(optionnel). Vous envoyez une requête GetIINDetails à notre plateforme pour recevoir des informations sur le BIN de la carte du client. Notre réponse contiendra à la fois le pays émetteur de la carte (countryCode) et la marque (paymentProductId), vous permettant d'évaluer la surtaxe autorisée
    2. Vous envoyez cette requête SurchargeCalculation à notre plateforme, incluant le montant net (10 EUR dans cet exemple) dans la propriété amount et la carte de votre client dans la propriété cardNumber
      {
         "cardsource":{
            "card":{
               "cardNumber":"4330264936344675",
               "paymentProductId":1
            }
         },
         "amountOfMoney":{
            "amount":1000,
            "currencyCode":"EUR"
         }
      }
      

      Notre plateforme renvoie le montant de la surtaxe autorisée dans la propriété surcharges.surchargeAmount.amount et le montant total incluant la surtaxe dans la propriété surcharges.totalAmount.amount. Assurez-vous d'afficher le montant de la surtaxe en temps réel pour une transparence maximale envers vos clients avant le paiement effectif
    3. Vous envoyez cette requête CreatePayment à notre plateforme, incluant le montant net (10 EUR dans cet exemple) dans la propriété amount et mode="on-behalf-of". Notre plateforme ajoutera automatiquement la surtaxe autorisée à la commande :
      {
         "CardPaymentMethodSpecificInput":{
            "PaymentProductId":1,
            "SkipAuthentication":false,
            "Card":{
               "CardholderName":"John Doe",
               "CardNumber":"4330264936344675",
               "Cvv":123,
               "ExpiryDate":1236
            },
            "ThreeDSecure":{
               "RedirectionData":{
                  "ReturnUrl":"https://yourRedirectionUrl.com"
               }
            }
         },
         "Order":{
            "AmountOfMoney":{
               "Amount":1000,
               "CurrencyCode":"EUR"
            },
            "surchargeSpecificInput":{
               "mode":"on-behalf-of"
            },
            "Customer":{
               "Device":{
                  "AcceptHeader":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
                  "Locale":"en_EN",
                  "TimezoneOffsetUtcMinutes":-180,
                  "UserAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
                  "Browserdata":{
                     "ColorDepth":24,
                     "JavaScriptEnabled":false,
                     "ScreenHeight":"1080",
                     "ScreenWidth":"1920"
                  }
               }
            }
         }
      }
      
    4. Nous traitons la transaction et recevons le résultat de l'acquéreur

    Suivi des transactions avec Surcharge

    Capturer les transactions

    Lors de la capture d'une transaction avec surtaxe, assurez-vous de capturer uniquement le montant net (10 EUR de notre exemple pour la commande réelle). Notre plateforme capturera automatiquement le montant de la surtaxe en plus du montant net, ce qui donnera un montant brut total de 10 EUR plus la surtaxe (0,33 EUR dans notre exemple). Envoyez la capture avec les propriétés standard comme défini dans notre API Reference. Pour les captures partielles, notre plateforme ajoute automatiquement une surtaxe au prorata en plus du montant net que vous envoyez dans order.amount.amountOfMoney.

    Cette fonctionnalité ne prend en charge qu'une seule capture partielle

    Rembourser des transactions

    Lors du remboursement d'une transaction avec surtaxe, notre plateforme traitera toujours le montant exact défini dans la propriété order.amountOfMoney.amount. Pour une discrétion et une certitude totales, notre plateforme n'effectuera aucun calcul de surtaxe supplémentaire. Envoyez la requête de remboursement avec les propriétés standard telles que définies dans notre API Reference.

    Obtenez des retours sur les transactions traitées

    Notre plateforme fournit des informations sur les surtaxes pour les transactions traitées via à la fois des webhooks et des appels GetPayment/GetPaymentDetails. Tout appel webhooks/GET contiendra les propriétés suivantes :

    paymentOutput.surchargeSpecificOutput
         mode
         surchargeAmount
             amount
         surchargeAmount
              currencyCode

    Cette page vous a-t-elle été utile ?

    Avez-vous des commentaires ?

    Merci pour votre réponse.
    New Feature

    Try out our new chatbot and find answers to all your questions.