worldline Direct
S'inscrire

Introduction

L'introduction des directives SCA vous impose de relever de nouveaux défis, mais vous offre également de nouvelles opportunités.

L'une d'elles est la possibilité de traiter des montants différents lors de l'authentification (le contrôle 3-D Secure) et de l'autorisation (le paiement effectif). En le combinant avec notre fonctionnalité de tokenisation, les deux étapes peuvent se produire à différents moments, vous permettant de :

  • Expéditions différées/partiellement fractionnées : Vous souhaitez offrir à vos clients des biens/services pour une période d'essai. Alternativement, certains biens/services ne sont pas disponibles au moment de la commande. Finalisez/facturez la livraison à un moment ultérieur – mais vos clients n'auront pas besoin de visiter votre magasin et de s'authentifier à nouveau !
  • Augmenter un montant autorisé : Vous souhaitez ajouter une marge à un montant de base, car le montant final que vous voulez facturer est soit égal, soit supérieur au moment de la commande. Pensez au cas d'une réservation de chambre d'hôtel à l'avance, mais vous devez facturer plus sur la facture finale en raison de services supplémentaires pendant le séjour. Il n'y a pas besoin d'une transaction supplémentaire pour couvrir cette marge : authentifiez simplement la commande pour le montant maximum (montant de base + marge) et facturez entre le montant final dans la limite du montant authentifié.

En tokenisant la carte de vos clients lors de la première étape (l'authentification), vous pouvez compléter la transaction lors de la deuxième étape (le paiement effectif) pour l'un ou l'autre cas d'utilisation.

Le Montant découplé est disponible pour les méthodes de paiement suivantes : 

  • American Express
  • MasterCard
  • Visa

via la méthode d'intégration Server-to-server.

CInématique de paiement

Il s'agit d'une cinématique de paiement de haut niveau couvrant uniquement les étapes obligatoires. Lisez le chapitre dédié dans notre guide Server-to-server pour des informations détaillées, des exemples de code et des étapes facultatives de la cinématique. Pour des informations spécifiques sur le processus d'authentification 3-D Secure, lisez le chapitre dédié dans notre guide 3-D Secure et SCA.
  1. Votre client va sur votre page de paiement et saisit ses données carte pour finaliser l'achat.
  2. Vous envoyez la première requête CreatePayment à notre plateforme, incluant les propriétés obligatoires 3-D Secure. Selon le cas d'utilisation, des différences s'appliquent :
    Cas d'utilisation "Expéditions différées/partiellement fractionnées"
    Cas d'utilisation "Augmenter un montant autorisé"
  3. Notre plateforme envoie une réponse contenant un objet merchantAction, vous demandant de déployer le 3-D Secure.
  4. Vous redirigez le client vers sa banque émettrice à l'redirectUrl. Les titulaires de cartes s'identifient.
  5. Nous soumettons la transaction financière réelle à l'acquéreur pour la traiter. Vous délivrez les biens/services.
  6. À un moment ultérieur, vous envoyez la deuxième requête CreatePayment à notre plateforme pour finaliser la transaction. Selon le cas d'utilisation, des différences s'appliquent :
    Cas d'utilisation "Expéditions différées/partiellement fractionnées"
    Cas d'utilisation "Augmenter un montant autorisé"
  7. En sautant le 3-D Secure, nous soumettons la transaction financière réelle à l'acquéreur pour la traiter.

Intégration

Pour utiliser cette fonctionnalité, vous devez inclure des propriétés supplémentaires à votre requête.

Selon le cas d'utilisation et laquelle des deux étapes dans la cinématique de paiement que vous souhaitez effectuer, des différences s'appliquent :

Première requête

Deuxième requête

Effectuer la première requête pour les expéditions différées/partiellement fractionnées

Ajoutez les propriétés suivantes à une requête standard CreatePayment (y compris les propriétés 3-D Secure obligatoires) :

{
    "Cardpaymentmethodspecificinput": {
        "Paymentproductid": XXX,
        "Threedsecure": {
            "Authenticationamount": 27530
        },
        "Requiresapproval": true,
        "Skipauthentication": false,
        "Tokenize": true,
        "Unscheduledcardonfilerequestor": "cardholderinitiated",
        "Unscheduledcardonfilesequenceindicator": "first",
        "Card": {
            "Cvv": "451",
            "Cardnumber": "4330264936344675",
            "Expirydate": "1225",
            "Cardholdername": "wile e. Coyote"
        },
        "Isrecurring": false,
        "Transactionchannel": "ecommerce"
    },
    "Order": {
        "Amountofmoney": {
            "Currencycode": "eur",
            "Amount": 0
        },
        "Customer": {
            "Billingaddress": {
                "Countrycode": "nl"
            },
            "device": {
                "acceptHeader": "texthtml,application/xhtml+xml,application/
xml;q=0.9,/;q=0.8",
                "ipAddress": "77.67.63.226",
                "locale": "es",
                "timezoneOffsetUtcMinutes": "-120",
                "userAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36",
                "browserData": {
                    "colorDepth": "32",
                    "javaEnabled": "true",
                    "screenHeight": "600",
                    "screenWidth": "400"
                }
            }
        }
    },
    "References": {
        "Merchantorderid": 123456,
        "Merchantreference": "ogpc8xjurfpfitba6orrpkbupogpvd"
    }
}
Propriétés Remarques

order.amountOfMoney.amount

Définir à "0"

cardPaymentMethodSpecificInput
     threeDSecure.authenticationAmount
     tokenize
     unscheduledCardOnFileRequestor
     unscheduledCardOnFileSequenceIndicator

threeDSecure.authenticationAmount : Le montant total que vous souhaitez facturer lors de la finalisation de la commande à la deuxième étape.

tokenize : Régler sur "true" pour créer un token dont vous avez besoin à la deuxième étape.

unscheduledCardOnFileRequestor : Définir sur "cardholderinitiated" pour indiquer que vos clients initient cette transaction.

unscheduledCardOnFileSequenceIndicator : Régler sur "first" pour indiquer qu'il s'agit de la première étape de cette transaction.

Vous trouverez des informations détaillées sur cet objet et ses propriétés dans notre CreatePaymentAPI.

Effectuer la première requête pour augmenter un montant autorisé

Ajoutez les propriétés suivantes à une requête standard CreatePayment (y compris les propriétés 3-D Secure obligatoires) :

{
    "Cardpaymentmethodspecificinput": {
        "Paymentproductid": XXX,
        "Threedsecure": {
            "Authenticationamount": 1200
        },
        "Requiresapproval": true,
        "Tokenize": true,
        "Unscheduledcardonfilerequestor": "cardholderinitiated",
        "Unscheduledcardonfilesequenceindicator": "first",
        "Card": {
            "Cvv": "451",
            "Cardnumber": "4330264936344675",
            "Expirydate": "1225",
            "Cardholdername": "wile e. Coyote"
        },
        "Isrecurring": false,
        "Transactionchannel": "ecommerce"
    },
    "Order": {
        "Amountofmoney": {
            "Currencycode": "eur",
            "Amount": 1000
        },
        "Customer": {
            "Billingaddress": {
                "Countrycode": "nl"
            },
            "device": {
                "acceptHeader": "texthtml,application/xhtml+xml,application/
                xml;q=0.9,/;q=0.8",
                "ipAddress": "77.67.63.226",
                "locale": "es",
                "timezoneOffsetUtcMinutes": "-120",
                "userAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 
                (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36",
                "browserData": {
                    "colorDepth": "32",
                    "javaEnabled": "true",
                    "screenHeight": "600",
                    "screenWidth": "400"
                }
            }
        }
    },
    "References": {
        "Merchantorderid": 123456,
        "Merchantreference": "ogpc8xjurfpfitba6orrpkbupogpvd"
    }
}
Propriétés Remarques

order.amountOfMoney.amount

Le montant de base minimum que vous souhaitez facturer lors de la finalisation de la commande à la deuxième étape.

cardPaymentMethodSpecificInput
     threeDSecure.authenticationAmount
     tokenize
     unscheduledCardOnFileRequestor
     unscheduledCardOnFileSequenceIndicator

threeDSecure.authenticationAmount : Le montant de base minimum + la marge.

tokenize : Régler sur "true" pour créer un token dont vous avez besoin à la deuxième étape.

unscheduledCardOnFileRequestor : Régler sur "cardholderinitiated" pour indiquer que vos clients initient cette transaction.

unscheduledCardOnFileSequenceIndicator : Régler sur "first" pour indiquer qu'il s'agit de la première étape de cette transaction.

Vous trouverez des informations détaillées sur cet objet et ses propriétés dans notre CreatePaymentAPI.

Effectuer la deuxième requête pour les expéditions différées/partiellement fractionnées

Ajoutez les propriétés suivantes à une requête standard CreatePayment :

{
  "cardPaymentMethodSpecificInput": {
   
"PaymentProductId": XXX,
"ThreeDSecure": {
"RequiresApproval": true,
"SkipAuthentication": true,
"SkipFraudService": true,
},
"token": "f5a1bf4d98b141109d331b2b224212e0",
"unscheduledCardOnFileRequestor": "merchantInitiated",
"unscheduledCardOnFileSequenceIndicator": "subsequent",
 
    "isRecurring": false,
    "paymentProductId": 1,
    "transactionChannel": "ECOMMERCE",
  },
  "order": {
    "amountOfMoney": {
      "currencyCode": "EUR",
      "amount": 2753
    },
    "customer": {
      "billingAddress": {
        "countryCode": "NL"
      }
    },
  }
}
Propriétés Remarques

order.amountOfMoney.amount

Le montant total que vous souhaitez facturer (égal à cardPaymentMethodSpecificInput.threeDSecure. authenticationAmount tel qu'envoyé à la première étape).

cardPaymentMethodSpecificInput
      token
      unscheduledCardOnFileRequestor
      unscheduledCardOnFileSequenceIndicator

token : Réglez sur la valeur reçue dans notre réponse à la première étape.

unscheduledCardOnFileRequestor : Réglez sur "merchantinitiated" pour indiquer qu'il s'agit de la deuxième étape de cette transaction.

unscheduledCardOnFileSequenceIndicator : Réglez sur "subsequent" pour indiquer qu'il s'agit de la deuxième étape de cette transaction.

Vous trouverez des informations détaillées sur cet objet et ses propriétés dans notre CreatePaymentAPI.

Effectuer la deuxième requête pour augmenter un montant autorisé

Ajoutez les propriétés suivantes à une requête standard CreatePayment :

{
  "cardPaymentMethodSpecificInput": {
   
"PaymentProductId": XXX,
"ThreeDSecure": {
"RequiresApproval": true,
"SkipAuthentication": true,
"SkipFraudService": true,
},
"token": "f5a1bf4d98b141109d331b2b224212e0",
"unscheduledCardOnFileRequestor": "merchantInitiated",
"unscheduledCardOnFileSequenceIndicator": "subsequent",
 
    "isRecurring": false,
    "paymentProductId": 1,
    "transactionChannel": "ECOMMERCE",
  },
  "order": {
    "amountOfMoney": {
      "currencyCode": "EUR",
      "amount": 200
    },
    "customer": {
      "billingAddress": {
        "countryCode": "NL"
      }
    },
  }
}
Propriétés Remarques

order.amountOfMoney.amount

Un montant entre le minimum de base (égal à order.amountOfMoney.amount tel qu'envoyé à la première étape) et le montant maximum (égal à cardPaymentMethodSpecificInput.threeDSecure.authenticationAmount tel qu'envoyé à la première étape.


Assurez-vous que la marge ne dépasse pas 20 % du montant de base.

cardPaymentMethodSpecificInput
     token
     unscheduledCardOnFileRequestor
     unscheduledCardOnFileSequenceIndicator

token : Régler sur la valeur reçue dans notre réponse à la première étape.

unscheduledCardOnFileRequestor : Régler sur "merchantinitiated" pour indiquer qu'il s'agit de la deuxième étape de cette transaction.

unscheduledCardOnFileSequenceIndicator : Régler sur "subsequent" pour indiquer qu'il s'agit de la deuxième étape de cette transaction.

Vous trouverez des informations détaillées sur cet objet et ses propriétés dans notre CreatePaymentAPI.

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.