• France
état des services
démonstrations
assistance
FAQContacter le support
Video tutorials
Rechercher
Catégories
Tags
France
France
Espagne
Europe (Anglais)
Inde
Accueil
Cas d'usage
Créer un paiement
Créer un paiement en plusieurs fois
Proposer un paiement complémentaire
Créer un paiement par alias (token)
Créer un lien de paiement
Créer un abonnement
Gérer vos abonnements
Gérer vos transactions (rembourser,...)
Analyser vos journaux
Docs API
Formulaire embarqué
API REST
Formulaire en redirection
SDK Mobile
Échange de fichiers
Mandats SEPA par API REST
Exemples de code
Moyens de paiement
Modules de paiement
Marketplace
Guides
Back Office Marchand
Back Office Expert
Guides fonctionnels

Utilisation du formulaire embarqué

  • Cas d'usage concernés
  • Cinématique
  • Initialisation de la session de paiement
  • Analyse de la réponse

Cas d'usage concernés

Ce chapitre s'applique pour les cas d'utilisation suivants :
  • Paiement comptant avec saisie des données de la carte,
  • Paiement par alias,
  • Proposition d'enregistrement de la carte pendant le paiement,
  • Enregistrement de la carte pendant le paiement,
  • Enregistrement d'une carte dans un wallet acheteur (avec ou sans paiement).

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/CreatePayment.

POSThttps://api.lyra.com/api-payment/V4/Charge/CreatePayment

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

Utilisez les champs ci-dessous pour construire la requête :

NOM DESCRIPTION REQUIS
amount Montant pour lequel l’authentification est demandée. Oui
currency Code alphanumérique de la devise. Oui
orderId Référence de la commande.

Ce champ est recommandé.

Non
formAction Type de comportement souhaité lors de la création de la transaction. Non
customer Objet contenant les données de l’acheteur. Non

Pour obtenir une description plus complète des champs à utiliser, testez le Web Service Charge/CreatePayment depuis notre playground.

En fonction du cas d'usage (c'est à dire de la valeur du champ formAction), une authentification forte peut être obligatoire. Dans ce cas, le champ strongAuthentication est ignoré.

Cas d'usage formAction Authentification forte requise?
Paiement simple PAYMENT

Le type d'authentification dépend de la décision de l'émetteur.

Pour les paiements en euro, le marchand peut demander une exemption à l'authentification forte si le montant est inférieur à 30€ et si la boutique possède l'option "Frictionless 3DS2".

Pour les paiements réalisés dans une autre devise, le marchand peut demander une authentification sans interaction du porteur si la boutique possède l'option "Frictionless 3DS2".

Paiement par alias PAYMENT Authentification forte et saisie du CVV requises.
Enregistrement de la carte pendant le paiement REGISTER_PAY Authentification forte requise.
Proposition d'enregistrement de la carte pendant le paiement ASK_REGISTER_PAY Authentification forte requise uniquement si l'acheteur accepte d'enregistrer son moyen de paiement.

Sinon, le comportement est identique à la valeur PAYMENT.

Paiement par wallet acheteur CUSTOMERWALLET Authentification forte requise uniquement si l'acheteur accepte d'enregistrer son moyen de paiement ou s'il utilise une carte déjà enregistrée.

Dans tous les autres cas, le comportement est identique à la valeur PAYMENT.

Il est possible de transmettre des champs spécifiques pour :
  • demander une exemption à l'authentification forte,
  • favoriser une authentification sans interaction du porteur,
  • débrayer l'authentification 3D Secure 1.

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 3-D 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.

  • Enregistrement d'une carte sans paiement
  • Préférence 3-D Secure
  • Champs permettant d'améliorer les chances de frictionless
Nous recrutons
Mentions légales
Charte de Protection des Données Personnelles
25.18-1.11