Arborescence des pages

Vous regardez une version antérieure (v. /pages/viewpage.action?pageId=747146192) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 28) afficher la version suivante »

Contenu


Comment configurer votre compte ?

Vous devez vous rapprocher de votre responsable de compte FLOA pour obtenir les informations nécessaires permettant de configurer votre compte sur Payline (Identifiants du compte et  mot de passe). 
Vous pouvez procéder au paramétrage dans votre compte marchand Payline en indiquant l’ID Marchand et le nom de l’alias du contrat partenaire à créer. 
Vous devez réaliser des transactions tests pour valider le bon fonctionnement en production.


Afin de créer un moyen de paiement FLOA 3x4x sur Payline, en homologation et en production, rendez-vous sur le centre d’administration dans l’onglet « Configuration » puis « Vos moyens de paiement ».
Un écran de recherche s’affiche, cliquez sur le bouton « Nouveau moyen de paiement ».


Écran de création de moyen de paiement  1/2

Sélectionnez votre point de vente puis le type de moyen de paiement "Casino".
Cliquez ensuite sur le bouton « Suivant ».


Écran de création de moyen de paiement  2/2

Renseigner un libellé de votre choix par exemple "Floa_", un numéro de contrat et un numéro de banque transmis par FLOA puis sélectionner votre devise.
Cliquez sur le statut « Actif » et n'activez pas le rejeu de la transaction ni la collecte du titulaire de la carte bancaire sans demande de l'équipe Support Payline.
Renseignez ensuite vos informations bancaires.


Pour ces deux moyens de paiement, il est indispensable de renseigner 4 informations :

  • Identifiant STS
  • Mot de passe STS
  • Identifiant commerçant
  • Identifiant site commerçant
  • Si le contrat souscrit est un contrat 3DS ou non

Pour ces deux moyens de paiement, il est indispensable de renseigner 4 informations :

  • Identifiant STS
  • Mot de passe STS
  • Identifiant commerçant
  • Identifiant site commerçant
  • Si le contrat souscrit est un contrat 3DS ou non


Le code (card_code) du moyen de paiement est : CASINO_3XCB ou CASINO4XCB


Ces données sont fournies aux commerçants par Banque FLOA.



Comment proposer le paiement FLOA 3x / 4x à vos clients ?

Le mode d'intégration est disponible avec l'API WebPayment  : services doWebPayment et getWebPaymentDetail.
Le mode d'intégration en API direct avec la fonction 3DS est disponible. 

Les principes d’utilisation 

Au moment du doWebPayment, Payline réalise une demande d'éligibilité de paiement avant de proposer le moyen de paiement 3x ou 4x. 

Payline affiche les conditions de crédit : échéancier et CGV.
Payline peut remplir les champs la date de naissance, département et nom de jeune fille s'ils sont fournis par le commerçant.
Le moyen de paiement ne s'affiche pas si le score n'a pu être réalisé. L'échéancier s'affiche même en cas de données personnelles manquantes.

Les paiements FLOA 3x/4x sont éligibles au traitement par le module anti-fraude Payline, au même titre que les autres transactions.
Si une authentification 3DSecure est nécessaire, Payline gère l’affichage de la page ACS. Seul un refus banque (FICP ou acquéreur) peut conduire à un refus du paiement.
La fonction  getWebPaymentDetail  renvoie l’échéancier sélectionné par l'acheteur.

Le marchand a la possibilité de modifier le montant de la commande après que le paiement ait été accepté. Le montant doit être inférieur ou égal à celui de la commande initiale .

La référence commande doit être différente a chaque paiement : balise order.ref



Il faut également vérifier : Le domaine.
Lors de l'exécution du JavaScript, il soit bien redirigé vers CB4X, l'enregistrement CNAME suivant devra être mis en place afin de relier le domaine cb4x.payline.com vers threatmetrix.cb4x.fr : "cb4x.payline.com CNAME threatmetrix.cb4x.fr"
Sinon le script ne se chargera pas.



Les web services en mode Web

Les services doWebPayment et getWebPaymentDetail  sont disponibles. 

L'object Payment sera transmis par le commerçant avec les valeurs Action = 101 et Mode = CPT.
Le service getWebPaymentDetail  retourne l'échéancier : champ transaction.partnerAdditionalData avec paymentSchedule. Cette fonction implique l'utilisation d'une balise version avec une valeur >= 16.


{
  "paymentSchedule": [
    {
      "amount": "2895",
      "date": "2018-03-02T00:00:00+01:00",
      "rank": "1"
    },
    {
      "amount": "2892",
      "date": "2018-04-01T00:00:00+02:00",
      "rank": "2"
    },
    {
      "amount": "2892",
      "date": "2018-05-01T00:00:00+02:00",
      "rank": "3"
    },
    {
      "amount": "2892",
      "date": "2018-05-31T00:00:00+02:00",
      "rank": "4"
    }
  ]
}


Le service doRefund permet de rembourser la commande.
La fonction doReset de l’API Payline permet au marchand de demander l’annulation totale ou partielle de la commande.


Les web services en mode Direct 

Le mode d'intégration en API direct est disponible en utilisant le webservice isRegistered. Ce service vous permet de récupérer le scoring data nécessaire pour appeler le moyen de paiement Floa. 
Vous récupérez un registrationToken à renvoyer dans la demande de 3D Secure verifyEnrollment puis dans la demande de paiement doAuthorization.

En entrée le commerçant indique le contrat, le montant, commande et les données personnelles.
En retour, il reçoit un l'échéancier de paiement dont les frais de dossier et le registrationToken qui permettra de réaliser le paiement.

Les étapes :

  • Sur le site marchand, le consommateur valide son panier, puis le marchand appelle Payline avec le service isRegistered
  • Payline retourne un code 02500 - Accepter pour valider la demande et renvoie le registrationToken  ainsi qu'une balise data contenant un objet JSON avec l'échéancier paymentSchedules et le montant totalAmount ;
  • Puis il renvoie le jeton registrationToken dans la balise payment en appelant le verifyEnrollment pour réaliser le 3D Secure ;
  • Le consommateur saisie son mot de passe reçu par mobile ;
  • Le marchand réalise la demande de paiement doAuthorization avec registrationToken dans la balise payment et les données 3DS ;
  • Payline réalise la requête et la réponse du l'autorisation et renvoie une notification.

Lorsque un doAuthorization ou un verifyEnrollment est réalisé avec la balise registrationToken demandé qui est absente, vide ou incorrectement valorisée.

L'erreur suivante est remontée par le service : code 02999, short_message ERROR, long_message 'Invalid registration token'.


Exemples de web services

1. Branchement de la demande de scoring : isRegistered


2. Branchement du 3DS : verifyEnrollment


3. Branchement de la demande d'autorisation : doAuthorization



Authentification 3D Secure 

Les paiements sont éligibles au traitement par le module anti-fraude Payline, au même titre que les autres transactions. 
Si une authentification 3DSecure est nécessaire, Payline gère l’affichage de la page ACS. Seul un refus banque (FICP ou acquéreur) peut conduire à un refus du paiement.


Les champs obligatoires

Les champs obligatoires doivent être renseignés lors de la demande de paiement, dans le cas contraire la demande sera refusée. 

En complément des données obligatoires pour obtenir un paiement, vous devez transmettre les données obligatoires suivantes :

  • Order.country : FR (= FRANCE)
  • Order.deliveryMode : voir valeurs possibles entre 1 et 5
  • Order.reference
  • Order.date
  • Order.Amount et Payment.Amount :  l'order amount est le montant global de la commande. Le champs order.amount doit être égal au payment.amount.

    • Order.amount 

    • Order.currency = 978
    • Payment.amount 

    • Payment.currency = 978
  • Buyer.title : voir valeurs possibles
  • Buyer.lastname
  • Buyer.firstname
  • Buyer.email
  • Buyer.birthDate
  • Buyer.phoneType : voir valeurs possibles.
  • Buyer.phone
  • Buyer.billingAdress.title : voir valeurs possibles
  • Buyer.billingAdress.lastname
  • Buyer.billingAdress.firstname
  • Buyer.billingAdress.street1
  • Buyer.billingAdress.city
  • Buyer.billingAdress.zipcode
  • Buyer.billingAdress.country
  • Buyer.ip  :   doit être vide.
  • PrivateData

    KeyValueValeurs possibles
    OrderSaleChannel

    Canal de vente

    Obligatoire.

    DESKTOP
    TABLET
    TABLET_IPAD
    SMARTPHONE
    SMARTPHONE_ANDROID
    SMARTPHONE_IPHONE

    CustomerBirthZipCode

    Code postal de la ville de naissance (1 ou 4 caractères refusés).

    Facultatif : si non renseigné, Payline collectera cette information dans le formulaire

    99 : si étranger
    972 : pour la Martinique
    06000 pour Nice et non 6000

    CustomerMaidenName

    Nom de jeune fille

    Facultatif : si non renseigné, Payline collectera cette information dans le formulaire


    OrderTag

    Valeur du Tag de la commande (champ libre).

    Facultatif.



Transmission des données clients

Pour transmettre les données 3DS, OTA, champs libre et historique, vous devez utiliser la balise <miscData></miscData> du doWebPayment en version 18 ou supérieure. Cette balise prend en compte un object JSON formaté qui sera retransmis à Floa.
Les données OTA doivent être référencées par le numéro de contrat auquel elles font référence. Ces données sont facultatives.

Les balises <![CDATA[ ... ]]> ne sont pas obligatoires.

Le numéro de contrat contenu dans le JSON doit être un numéro de contrat présent dans les balises selectedContractList ou secondSelectedContractList du service doWebPayment appelé. S'ils ne sont pas non présent une erreur 'Invalid contractNumber' est levée avec le code retour 02303.

Le JSON doit être bien formaté de la manière suivante : 

  • { "ContractNUMBER" "Contenu JSON ..." }

avec { "CASINO_3XCB" : "{'optionalTravelDetails':{...}"  'additionalNumericFieldList':{...}" , 'additionalTextFieldList':{...}" ,  'MerchantCustomerHistory':{...}" , }

Données de scoring Floa

Les données contenues dans le JSON correspondent aux données du service Score de Floa:

  • optionalTravelDetails
  • additionalNumericFieldList
  • additionalTextFieldList
  • MerchantCustomerHistory :

Champs

Description

Format

CanceledOrderAmountMontant total en centimes des commandes annulées durant les 2 dernières annéesInteger
CanceledOrderCountNombre de commandes effectuées puis annulées par le client durant les 2 dernières annéesInteger
FirstOrderDateDate de la première commande du client Format AAAA-MM-JJDateTime
FraudAlertCountNombre d’alertes de fraude concernant les commandes du client durant les 2 dernières annéesInteger
LastOrderDateDate de la dernière commande du client Format AAAA-MM-JJDateTime
PaymentIncidentCountNombre d’incidents de paiement concernant les commandes du client durant les 2 dernières annéesInteger
RefusedManyTimesOrderCountNombre de commandes dont le paiement en plusieurs fois a été refusé au cours des 2 dernières annéesInteger
UnvalidatedOrderCountNombre de commandes refusées dans la phase de validation au cours des 2 dernières annéesInteger
ValidatedOneTimeOrderCountNombre de commandes ayant été réglées en 1 fois au cours des 2 dernières annéesInteger
ValidatedOrderCountNombre de commandes validées ces 2 dernières années.Integer

Données de voyage


<impl:miscData>
    <![CDATA[
        { "CASINO_3XCB": "{'optionalTravelDetails':
                                {'class':'First',
                                 'departureDate':'2019-10-05T08:43:00',
                                 'destinationCountry':'GN',
                                 'insurance':'SIMPLE',
                                 'mainDepartureCompany':'Luftansa',
                                 'ownTicket':false,
                                 'ticketCount':1,
                                 'travellerCount':2,
                                 'travellerPassportList':[{'expirationDate':'2018-12-31T08:45:00','issuanceCountry':'FR'},
                                                          {'expirationDate':'2019-01-01T08:45:00','issuanceCountry':'DE'}],
                                 'type':'TwoWay'
                                },
                            'additionalNumericFieldList':[{'index':'1', 'value':'10'},
                                                          {'index':'2', 'value':'20'}],
                            'additionalTextFieldList':[{'index':'11', 'value':'val11'},
                                                       {'index':'22', 'value':'val22'}],
                            'MerchantCustomerHistory':{'CanceledOrderAmount':'1000', 
                                                       'CanceledOrderCount':'900', 
                                                       'FirstOrderDate':'2016-12-31T08:45:00', 
                                                       'FraudAlertCount':'0', 
                                                       'LastOrderDate':'2017-12-29T11:14:00'}
                          }"
        }
      ]]>
</impl:miscData>



Comment réaliser des tests ?

Vous devez demander un compte de test ainsi que des cartes de test à Banque FLOA.

Pour pouvoir faire des tests sur l'API, vous pouvez utiliser la carte de test ci-dessous :

Numéro5017670000001800
CVV000
Date d'expiration> à la dernière échéance


Les codes de retour

Avec l'API WebPayment, Payline vous informe du résultat d'un paiement via le code retour des messages getWebPaymentDetailsetgetTransactionDetails.
Avec l'API DirectPayment, Payline vous informe du résultat de manière synchrone en réponse du doAuthorization

Lorsque le paiement est accepté, Payline renvoie le code retour à la valeur  00000.
Pour un paiement refusé, le code varie en fonction du motif de refus (Par exemple : 04xxx pour une suspicion de fraude).

Consulter les codes retours ici.

Les codes spécifiques au moyen de paiement sont listés ci dessous.


État de la transaction Code partenaire
Statut – code - Motif

autorisation réussi

0

ACCEPTED – 00000 – Transaction accepted

Refus - requête invalide

1

REFUSED – 02020 - Transaction refused by partner

Refus - autorisation refusée par la banque

2

REFUSED – 02020 - Transaction refused by partner

Échec technique

3

ERROR – 02106 - Payment partner error

En attente

4

ONHOLD_PARTNER – 02005 - Transaction in progress, please wait for payment status

État indéterminé

5

ERROR – 02106 - Payment partner error

Annulé

6

CANCELLED – 02319 - Transaction cancelled by user


Exemples de trame




  • Aucune étiquette