• France
Démonstrations
Rechercher
Catégories
Tags
Français
Français
Implémentation
Formulaire embarqué (cartes)
API REST de paiement
Formulaire en redirection
Échange de fichiers
Paiement Mobile
Exemples de code
Modules de paiement
Back office
Guides
Aide
FAQ
Tutoriels vidéos
Contacter le support

Enregistrement d'une carte sans paiement

  • Cinématique
  • Initialisation de la session de paiement
  • Analyse de la réponse

Cinématique

Initialisation de la session de paiement

Ce cas d’utilisation nécessite la création d’un formToken via un appel au Web Service Charge/CreateToken.

POST https://api-clicandpay.groupecdn.fr/ api-payment/V4/Charge/CreateToken

Aucun champ spécifique n'est nécessaire pour bénéficier de la protection 3D Secure.

Dans le cadre de l'application de la DSP2, une authentification forte est requise lors de l'enregistrement d'une carte.

Le champ strongAuthentication est ignoré et une demande d'authentification forte est réalisée automatiquement.

Analyse de la réponse

A la fin de l'opération, la plateforme retourne un objet Payment à l'URL de notification du site marchand et au client JavaScript.

Voici la liste des attributs décrivant, par cas d'usage, le résultat de l'authentification du porteur :

Cas d'usage Champs retournés
Transaction avec authentification forte réussie
  • authenticationResponse.value.status = SUCCESS  : Authentification réussie.
  • authenticationResponse.value.authenticationType = CHALLENGE (Valeur retournée en 3DS1 et 3DS2).
  • authenticationResponse.value.commerceIndicator = 5 (Visa ou AMEX) ou 02 (Mastercard).
  • authenticationResponse.value.extension.authenticationType = THREEDS_V1 ou THREEDS_V2.
  • transactionDetails.liabilityShift = YES  : Le paiement est garanti.
  • transactions.effectiveStrongAuthentication = ENABLED  : Le porteur s'est authentifié avec succès.
Transaction avec authentification frictionless réussie, le marchand dispose de l'option "Frictionless 3DS2" et a demandé une authentification sans interaction du porteur.
  • authenticationResponse.value.status = SUCCESS  : Authentification réussie.

  • authenticationResponse.value.authenticationType = FRICTIONLESS.

  • authenticationResponse.value.commerceIndicator = 5 (Visa ou AMEX) ou 02 (Mastercard).
  • authenticationResponse.value.extension.authenticationType = THREEDS_V2.
  • transactionDetails.liabilityShift = NO  : Le paiement n'est pas garanti.

  • transactions.effectiveStrongAuthentication = ENABLED  : Le porteur s'est authentifié avec succès.

Transaction avec authentification frictionless réussie, le marchand n'a pas demandé une authentification sans interaction du porteur.
  • authenticationResponse.value.status = SUCCESS  : Authentification réussie.

  • authenticationResponse.value.authenticationType = FRICTIONLESS.

  • authenticationResponse.value.commerceIndicator = 5 (Visa ou AMEX) ou 02 (Mastercard).
  • authenticationResponse.value.extension.authenticationType = THREEDS_V2.
  • transactionDetails.liabilityShift = YES  : Le paiement est garanti.

  • transactions.effectiveStrongAuthentication = ENABLED  : Le porteur s'est authentifié avec succès.
Transaction avec authentification 3D Secure en échec
  • authenticationResponse.value.status = FAILED  : Erreur d’authentification.

  • authenticationResponse.value.authenticationType = CHALLENGE.

  • authenticationResponse.value.commerceIndicator = null
  • authenticationResponse.value.extension.authenticationType = THREEDS_V1 ou THREEDS_V2.
  • authenticationResponse.value.reason.code = CARD_AUTHENTICATION_FAILED  : Refus de l’authentification par l’émetteur.
  • transactionDetails.liabilityShift = null : Le paiement n'est pas garanti.

  • transactions.effectiveStrongAuthentication = DISABLED  : l'authentification du porteur est en échec.

Carte non enrôlée
  • authenticationResponse.value.status = NOT_ENROLLED  : Porteur non enrôlé.

  • authenticationResponse.value.authenticationType = null

  • authenticationResponse.value.commerceIndicator = null
  • authenticationResponse.value.extension.authenticationType = THREEDS_V1.
  • transactionDetails.liabilityShift = NO  : Le paiement n'est pas garanti.

  • transactions.effectiveStrongAuthentication = DISABLED  : l'authentification du porteur est en échec.

© 2023 | Tous droits réservés à Clic&Pay
2.16.0-doc-1.8