Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: suppr annulation

Contenu

Sommaire
maxLevel2
stylenone


Comment configurer votre compte ?

Vous devez vous rapprocher de votre responsable de compte ou d'un commercial pour la création de ce moyen de paiement.
Monext Online réalise toute la configuration.

Inclusion d'extrait
Contactez le support Monext Online
Contactez le support Monext Online
nopaneltrue

Une fois votre Casino 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. numéro de contrat créé alors le moyen de paiement est disponible.
Vous devez réaliser des transactions tests transactions 'pilote' pour valider le bon fonctionnement en production.

Afin de créer un moyen de paiement 3x4x Casino sur Payline, en homologation et en poduction, 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 ».

Ecran 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 ».

Ecran de création de moyen de paiement  2/2:

Renseigner un libellé de votre choix par exemple "Casino", un numéro de contrat et un numéro de banque transmis par Casino 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

Image Removed

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

Comment proposer le paiement Casino 3xCB / 4xCB à 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 


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


Image Added


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


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
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 Casino CB3xFLOA 3x/CB4x 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  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

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.

Développer
titleExemple partnerAdditionalData
Bloc de code
languagexml
themeConfluence
{
  "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 Casino. 
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

Développer
titleService isRegistered Request
Bloc de code
languagexml
themeConfluence
linenumberstrue
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:impl="http://impl.ws.payline.experian.com" xmlns:obj="http://obj.ws.payline.experian.com"> <soapenv:Header/> <soapenv:Body> <impl:isRegisteredRequest> <impl:version>18</impl:version> <impl:payment> <obj:amount>10000</obj:amount> <obj:currency>978</obj:currency> <obj:action>100</obj:action> <obj:mode>CPT</obj:mode> <obj:contractNumber>CASINO_3XCB</obj:contractNumber> <!--Optional:--> <obj:differedActionDate></obj:differedActionDate> <!--Optional:--> <obj:method></obj:method> <obj:softDescriptor></obj:softDescriptor> <!--Optional:--> <obj:cardBrand></obj:cardBrand> <!--Optional:--> <obj:registrationToken></obj:registrationToken> </impl:payment> <impl:order> <obj:ref>cas_test_015</obj:ref> <!--Optional:--> <obj:origin>10</obj:origin> <!--Optional:--> <obj:country>FR</obj:country> <!--Optional:--> <obj:taxes></obj:taxes> <obj:amount>10000</obj:amount> <obj:currency>978</obj:currency> <obj:date>23/11/2017 10:15</obj:date> <!--Optional:--> <obj:details> <!--0 to 100 repetitions:--> <obj:details> <!--Optional:--> <obj:ref></obj:ref> <!--Optional:--> <obj:price></obj:price> <!--Optional:-->
Extrait
hiddentrue

Script JavaScript : En mode widget et mode redirection, le marchand doit intégrer un .JS theatmetrix sur sa page de paiement.

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 payline.threatmetrix.cb4x.fr : "cb4x.payline.com CNAME threatmetrix.cb4x.fr"
Sinon le script ne se chargera pas.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Bonjour,

Suite à la PAYSUP 12879 et à la PAYLANO-4450, il y aurait quelques modifications et précisions à apporter à la documentation Casino 3/4xCB.

En effet, cette partie est erronée et à modifier :


Script JavaScript
 : En mode widget et mode redirection, le marchand doit intégrer un .JS theatmetrix sur sa page de paiement

Pour ThreatMetrix, les équipes technique m'ont confirmé, que c'est le WIDGET qui se charge d'insérer le script dans la page.

  1. Cette partie sur les certificats SSL est à supprimer après validation avec les équipes Floa :
  2. Les certificats SSL: pour que l'envoi de données à ThreatMetrix soit transparent, la génération d'un certificat SSL à partir du CSR fourni par CB4X devra être effectué par Payline. Une fois obtenu, il sera communiqué au processeur pour intégration sur leur loadBalancer.

Merci pour vos actions,

Cordialement,


Marine Matteï
Prestataire pour le compte de Monext [Support Payline]
T. +33 4 42 25 16 21
marine.mattei3@monext.net - www.monext.fr

Penser à l'environnement avant d'imprimer.
Consider the environment before printing.

---

Script JavaScript

En mode widget et mode redirection, le marchand doit intégrer un .JS theatmetrix sur sa page de paiement
Il faut insérer l’appel à ce JavaScript dans la page de paiement au moment de son chargement « OnLoad » ou dans son template en redirection. 

<script type="text/javascript" src="https://cb4x.payline.com/tags.js?org_id=b0st0pm3&pageid=1&session_id=OrderRef-ScoringToken-PaymentAttempt"> </script>
<noscript>

<iframe src="https://cb4x.payline.com/tags.js?org_id=b0st0pm3&pageid=1&session_id=OrderRef-ScoringToken-PaymentAttempt" style="width: 100px; height: 100px; border: 0; position: absolute; top: -5000px;">
</iframe>

</noscript>

A verifier : Les certificats SSL : pour que l'envoi de données à ThreatMetrix soit transparent, la génération d'un certificat SSL à partir du CSR fourni par CB4X devra être effectué par Payline. Une fois obtenu, il sera communiqué au processeur pour intégration sur leur loadBalancer.



Les web services en mode Web

Initier le paiement

Récupérer le résultat

  • 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.



Bloc de code
languagexml
themeConfluence
titleExemple partnerAdditionalData
linenumberstrue
collapsetrue
{
  "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"
    }
  ]
}


Remboursement

  • Le service doRefund permet de rembourser la commande.


Extrait

Annulation 

  • 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

  1. Sur le site marchand, le consommateur valide son panier, puis le marchand appelle Payline avec le service isRegistered.

  2. 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.

  3. Puis il renvoie le jeton registrationToken dans la balise payment en appelant le verifyEnrollment pour réaliser le 3D Secure.

  4. Le consommateur saisie son mot de passe reçu par mobile.

  5. Le marchand réalise la demande de paiement doAuthorization avec registrationToken dans la balise payment et les données 3DS.

  6. 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



Tab Content Wrapper


Tab Element
titleService isRegistered Request


Volet


Développer
titleRequest..


Bloc de code
languagexml
themeConfluence
linenumberstrue
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:impl="http://impl.ws.payline.experian.com" xmlns:obj="http://obj.ws.payline.experian.com">
   <soapenv:Header/>
   <soapenv:Body>
      <impl:isRegisteredRequest>
         <impl:version>18</impl:version>
         <impl:payment>
            <obj:
quantity><
amount>10000</obj:
quantity>
amount>
            <obj:currency>978</obj:currency>
      
<!--Optional:-->
      <obj:action>100</obj:action>
            <obj:
comment><
mode>CPT</obj:
comment>
mode>
            <obj:contractNumber>CASINO_3XCB</obj:contractNumber>
      
<!--Optional:-->
      <obj:differedActionDate></obj:differedActionDate>
            <obj:
category><
method></obj:
category>
method>
            <obj:softDescriptor></obj:softDescriptor>
      
<!--Optional:-->
      <obj:cardBrand></obj:cardBrand>
            <obj:
brand><
registrationToken></obj:
brand>
registrationToken>
         
<!--Optional:-->
</impl:payment>
         <impl:order>
            <obj:
subcategory1><
ref>cas_test_015</obj:
subcategory1>
ref>
            <obj:origin>10</obj:origin>
      
<!--Optional:-->
      <obj:country>FR</obj:country>
            <obj:
subcategory2><
taxes></obj:
subcategory2>
taxes>
            <obj:amount>10000</obj:amount>
      
<!--Optional:-->
      <obj:currency>978</obj:currency>
            <obj:
additionalData><
date>23/11/2017 10:15</obj:
additionalData>
date>
            
<!--Optional:-->
<obj:details>
               <!--0 to 100 
<obj:taxRate></obj:taxRate>
repetitions:-->
               
</obj
<obj:details>
    
</obj:details>
              <obj:
deliveryTime>1<
ref></obj:
deliveryTime>
ref>
                  <obj:
deliveryMode>1<
price></obj:
deliveryMode>
price>
                  <obj:
deliveryExpectedDate>31/12/2017<
quantity></obj:
deliveryExpectedDate>
quantity>
                  <obj:
deliveryExpectedDelay>66<
comment></obj:
deliveryExpectedDelay>
comment>
      
<!--Optional:-->
            <obj:
deliveryCharge><
category></obj:
deliveryCharge>
category>
         
</impl:order>
         
<impl:privateDataList>
<obj:brand></obj:brand>
                  <obj:subcategory1></obj:
privateData>
subcategory1>
                  <obj:
key>OrderSaleChannel<
subcategory2></obj:
key>
subcategory2>
                  <obj:
value>DESKTOP<
additionalData></obj:
value>
additionalData>
      
</obj:privateData>
            <obj:taxRate></obj:
privateData>
taxRate>
               
<obj:key>CustomerBirthZipCode<
</obj:
key>
details>
            
<obj:value>12345<
</obj:
value>
details>
            
<
<obj:deliveryTime>1</obj:
privateData>
deliveryTime>
            <obj:
privateData>
deliveryMode>1</obj:deliveryMode>
            <obj:
key>CustomerMaidenName<
deliveryExpectedDate>31/12/2017</obj:
key>
deliveryExpectedDate>
            
<obj:
value>Bob<
deliveryExpectedDelay>66</obj:
value>
deliveryExpectedDelay>
            
<
<obj:deliveryCharge></obj:
privateData>
deliveryCharge>
         </impl:
privateDataList>
order>
         <impl:
buyer>
privateDataList>
            <obj:
title>1</obj:title>
privateData>
               <obj:
lastName>Bouvier<
key>OrderSaleChannel</obj:
lastName>
key>
               <obj:
firstName>C<
value>DESKTOP</obj:
firstName>
value>
            
<obj:email>test@gmail.com<
</obj:
email>
privateData>
            <obj:
shippingAdress>
privateData>
               
<!--Optional:-->
<obj:key>CustomerBirthZipCode</obj:key>
               <obj:
title>1<
value>12345</obj:
title>
value>
            
<!--Optional:-->
</obj:privateData>
            <obj:
name>Bouvier</obj:name>
privateData>
               
<!--Optional:-->
<obj:key>CustomerMaidenName</obj:key>
               <obj:
firstName>Charlelie<
value>Bob</obj:
firstName>
value>
            
<!--Optional:-->
</obj:privateData>
         </impl:privateDataList>
      
<obj:lastName>B</obj:lastName>
   <impl:buyer>
            
<!--Optional:-->
<obj:title>1</obj:title>
            <obj:
street1>SArue de marseille<
lastName>Bouvier</obj:
street1>
lastName>
            
<!--Optional:-->
<obj:firstName>C</obj:firstName>
            
<obj:
street2>SAstreet2<
email>test@gmail.com</obj:
street2>
email>
            
<!--Optional:-->
<obj:shippingAdress>
               <obj:
cityName>Aix<
title>1</obj:
cityName>
title>
               
<!--Optional:-->
<obj:name>Bouvier</obj:name>
               <obj:
zipCode>13390<
firstName>Charlelie</obj:
zipCode>
firstName>
               
<!--Optional:-->
<obj:lastName>B</obj:lastName>
               <obj:
country>FR<
street1>SArue de marseille</obj:
country>
street1>
               
<!--Optional:-->
<obj:street2>SAstreet2</obj:street2>
               <obj:
phone>0600000000<
cityName>Aix</obj:
phone>
cityName>
               
<!--Optional:-->
<obj:zipCode>13390</obj:zipCode>
               <obj:
state>FRANCE<
country>FR</obj:
state>
country>
               
<!--Optional:-->
<obj:phone>0600000000</obj:phone>
               <obj:
county>france<
state>FRANCE</obj:
county>
state>
               
<!--Optional:-->
<obj:county>france</obj:county>
               <obj:phoneType>1</obj:phoneType>
            </obj:shippingAdress>
            <obj:billingAddress>
               <obj:title>1</obj:title>
               <obj:name>Michel</obj:name>
               <obj:firstName>Eric</obj:firstName>
               <obj:lastName>M</obj:lastName>
               <obj:street1>rue de marseille</obj:street1>
               <obj:street2>street2</obj:street2>
               <obj:cityName>Marseille</obj:cityName>
               <obj:zipCode>13001</obj:zipCode>
               <obj:country>FR</obj:country>
               <obj:phone>0600000000</obj:phone>
               <obj:state>FRANCE</obj:state>
               <obj:county/>
               <obj:phoneType>6</obj:phoneType>
            </obj:billingAddress>
            <obj:accountCreateDate>10/10/01</obj:accountCreateDate>
            <obj:accountAverageAmount>1000</obj:accountAverageAmount>
            <obj:accountOrderCount>1</obj:accountOrderCount>
            <obj:walletId/>
            <obj:walletDisplayed/>
            <obj:walletSecured/>
            <obj:walletCardInd/>
            <obj:ip/>
            <obj:mobilePhone>0600000000</obj:mobilePhone>
            <obj:customerId>7777902</obj:customerId>
            <obj:legalStatus/>
            <obj:legalDocument/>
            <obj:birthDate>1990-12-20</obj:birthDate>
            <obj:deviceFingerprint/>
         </impl:buyer>
      </impl:isRegisteredRequest>
   </soapenv:Body>
</soapenv:Envelope>
expand






Tab Element
titleService isRegistered Response


Volet


Développer
titleResponse..


Bloc de code
languagexml
themeConfluence
linenumberstrue
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <isRegisteredResponse xmlns="http://impl.ws.payline.experian.com">
         <result>
            <code xmlns="http://obj.ws.payline.experian.com">02500</code>
            <shortMessage xmlns="http://obj.ws.payline.experian.com">ACCEPTED</shortMessage>
            <longMessage xmlns="http://obj.ws.payline.experian.com">Operation Successfull</longMessage>
         </result>
         <token>eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ7XCJzdGF0dXNJbmRleFwiOjAsXC
J0b3RhbEFtb3VudFwiOjEwMTU1LFwidG9rZW5TVFNcIjpcImM2ODdjMWMyLTUxZjctNDU0Zi1iN
jFiLWE0OGZlMWM3ZDVjOVwiLFwidG9rZW5TY29yaW5nXCI6XCJhYmY4MDMyNy0zZmNiLTQ1ODct
YjlmMC0xMjBiYWQwYzQ5YzFcIixcInBheW1lbnRTY2hlZHVsZXNcIjpbe1wiYW1vdW50XCI6MzM
4NSxcImRhdGVcIjoxNTExNDc4MDAwMDAwLFwicmFua1wiOjF9LHtcImFtb3VudFwiOjMzODUsXC
JkYXRlXCI6MTUxNDA3MDAwMDAwMCxcInJhbmtcIjoyfSx7XCJhbW91bnRcIjozMzg1LFwiZGF0Z
VwiOjE1MTY2NjIwMDAwMDAsXCJyYW5rXCI6M31dLFwibWVyY2hhbnRDdXN0b21lcklkXCI6XCI3
Nzc3OTAyXCJ9In0.i5EFRmfwK214DrQPvgHwc8SCJ-KfoYNjRSHlZC5lSWtJqmmTTZQdSDkRPXBgkB6YKStU0ancwnLng6HGR_ypkQ</token>
         <data>{"paymentSchedules":[{"amount":3385,"date":1511478000000,"rank":1}, 
 {"amount":3385,"date":1514070000000,"rank":2},
 {"amount":3385,"date":1516662000000,"rank":3}],"totalAmount":10155}</data>
      </isRegisteredResponse>
   </soapenv:Body>
</soapenv:Envelope>






2. Branchement du 3DS : verifyEnrollment

expand



Tab Content Wrapper


Tab Element
titleService verifyEnrollment Request


Volet


Développer
titleRequest..


Bloc de code
languagexml
themeConfluence
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:impl="http://impl.ws.payline.experian.com" 
  xmlns:obj="http://obj.ws.payline.experian.com">
   <soapenv:Header/>
   <soapenv:Body>
      <impl:verifyEnrollmentRequest>
         <impl:version>17</impl:version>
         <impl:card>
            <!--Optional:-->
            <obj:encryptionKeyId></obj:encryptionKeyId>
            <!--Optional:-->
            <obj:encryptedData></obj:encryptedData>
            <!--Optional:-->
            <obj:number>5017670000001800</obj:number>
            <obj:type>MASTERCARD</obj:type>
            <!--Optional:-->
            <obj:expirationDate>1220</obj:expirationDate>
            <!--Optional:-->
            <obj:cvx>123</obj:cvx>
            <!--Optional:-->
            <obj:ownerBirthdayDate>1990-12-20</obj:ownerBirthdayDate>
            <!--Optional:-->
            <obj:password></obj:password>
            <!--Optional:-->
            <obj:cardPresent></obj:cardPresent>
            <!--Optional:-->
            <obj:cardholder></obj:cardholder>
            <!--Optional:-->
            <obj:token></obj:token>
         </impl:card>
         <impl:payment>
            <obj:amount>10000</obj:amount>
            <obj:currency>978</obj:currency>
            <obj:action>101</obj:action>
            <obj:mode>CPT</obj:mode>
            <obj:contractNumber>CAS_3XCB_3DS</obj:contractNumber>
            <!--Optional:-->
            <obj:differedActionDate></obj:differedActionDate>
            <!--Optional:-->
            <obj:method></obj:method>
            <obj:softDescriptor></obj:softDescriptor>
            <!--Optional:-->
            <obj:cardBrand>MASTERCARD</obj:cardBrand>
            <obj:registrationToken>eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ7XCJzdGF0dXN
JbmRleFwiOjAsXCJ0b3RhbEFtb3VudFwiOjEwMTU1LFwidG9rZW5TVFNcIjpcIjM2NmM0YmI0LWJhMj
EtNGUzMi1iOWRjLTU3M2E0MGZhMTJmYVwiLFwidG9rZW5TY29yaW5nXCI6XCJkYWI1ODA4OS0xYWFjL
TQ5ODgtOGZjZS1jYzA2MDU0NjkwYzNcIixcInBheW1lbnRTY2hlZHVsZXNcIjpbe1wiYW1vdW50XCI6
MzM4NSxcImRhdGVcIjoxNTExMzkxNjAwMDAwLFwicmFua1wiOjF9LHtcImFtb3VudFwiOjMzODUsXCJ
kYXRlXCI6MTUxMzk4MzYwMDAwMCxcInJhbmtcIjoyfSx7XCJhbW91bnRcIjozMzg1LFwiZGF0ZVwiOj
E1MTY1NzU2MDAwMDAsXCJyYW5rXCI6M31dLFwibWVyY2hhbnRDdXN0b21lcklkXCI6XCI3Nzc3OTAyX
CJ9In0.3gIXWt8iwgbzMz_-4QRhmZd-mM6IeuSdSc4DCrRoiAXTQpK3RcnTB_zPJgCyrc141j2i_UgO
69YNuHTGfOnQ</obj:registrationToken>
         </impl:payment>
         <impl:orderRef>cas_test_004</impl:orderRef>
         <impl:mdFieldValue></impl:mdFieldValue>
         <impl:userAgent></impl:userAgent>
         <impl:walletId></impl:walletId>
         <impl:walletCardInd></impl:walletCardInd>
         <!--Optional:-->
         <impl:generateVirtualCvx>true</impl:generateVirtualCvx>
         <impl:returnURL>http://www.concupourvendre.com/notif/notif.php</impl:returnURL>
      </impl:verifyEnrollmentRequest>
   </soapenv:Body>
</soapenv:Envelope>
expand






Tab Element
titleService verifyEnrollment
Response
Response


Volet


Développer
titleResponse..


Bloc de code
languagexml
themeConfluence
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <verifyEnrollmentResponse xmlns="http://impl.ws.payline.experian.com">
         <result>
            <code xmlns="http://obj.ws.payline.experian.com">00000</code>
            <shortMessage xmlns="http://obj.ws.payline.experian.com">ACCEPTED</shortMessage>
            <longMessage xmlns="http://obj.ws.payline.experian.com">Transaction approved</longMessage>
         </result>
         <actionUrl>https://3doffice.test.sips-atos.com/3doffice/prod/call_acs;jsessionid=PiLTP+yg1aJcIg03WbIEcDFz.3doffice11v</actionUrl>
         <actionMethod>Get</actionMethod>
         <pareqFieldName
xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <pareqFieldValue xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <termUrlName xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <termUrlValue
 xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
         
<mdFieldName
<pareqFieldValue xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
         
<mdFieldValue
<termUrlName xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
         
<token/> </verifyEnrollmentResponse> </soapenv:Body> </soapenv:Envelope>

3. Branchement de la demande d'autorisation : doAuthorization

Développer
titleService doAuthorization Request
Bloc de code
languagexml
themeConfluence
<soapenv:Envelope xmlns:soapenv
<termUrlValue xsi:nil="true" xmlns:xsi="http://
schemas
www.
xmlsoap
w3.org/
soap/envelope/" xmlns:impl="http://impl.ws.payline.experian.com"
2001/XMLSchema-instance"/>
         <mdFieldName xsi:nil="true" 
xmlns:
obj
xsi="http://
obj
www.
ws.payline.experian.com"> <soapenv:Header
w3.org/2001/XMLSchema-instance"/>
   
<soapenv:Body>
      
<impl:doAuthorizationRequest> <impl:version>17</impl:version> <impl:payment> <obj:amount>10000</obj:amount> <obj:currency>978</obj:currency>
<mdFieldValue xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
         <token/>
      
<obj:action>100</obj:action>
</verifyEnrollmentResponse>
   </soapenv:Body>
</soapenv:Envelope>






3. Branchement de la demande d'autorisation : doAuthorization



Tab Content Wrapper


Tab Element
titleService doAuthorization Request


Volet


Développer
titleRequest..


Bloc de code
languagexml
themeConfluence
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
       
<obj:mode>CPT</obj:mode>
           
<obj:contractNumber>CASINO_3XCB</obj:contractNumber>
xmlns:impl="http://impl.ws.payline.experian.com" 
        
<!--Optional:-->
          
<obj:differedActionDate></obj:differedActionDate>
xmlns:obj="http://obj.ws.payline.experian.com">
   <soapenv:Header/>
   <soapenv:Body>
      
<!--Optional:-->
<impl:doAuthorizationRequest>
         
<obj:method></obj:method>
<impl:version>17</impl:version>
         
<obj:softDescriptor></obj:softDescriptor>
<impl:payment>
            
<!--Optional:-->
<obj:amount>10000</obj:amount>
            <obj:
cardBrand><
currency>978</obj:
cardBrand>
currency>
            <obj:
registrationToken>eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ7XCJzdGF0dXNJ bmRleFwiOjAsXCJ0b3RhbEFtb3VudFwiOjEwMTU1LFwidG9rZW5TVFNcIjpcImI5NTNiM jA1LTg2ZjctNDI0Yi04ZjAyLWMyMGJhMTI1YjdhM1wiLFwidG9rZW5TY29yaW5nXCI6XC JlMjQ5OTk4Ny1jYzQ1LTQ3ZmMtYjYzMi02ZGFkODRlODcwYjhcIixcInBheW1lbnRTY2h lZHVsZXNcIjpbe1wiYW1vdW50XCI6MzM4NSxcImRhdGVcIjoxNTExNzM3MjAwMDAwLFwi cmFua1wiOjF9LHtcImFtb3VudFwiOjMzODUsXCJkYXRlXCI6MTUxNDMyOTIwMDAwMCxcI nJhbmtcIjoyfSx7XCJhbW91bnRcIjozMzg1LFwiZGF0ZVwiOjE1MTY5MjEyMDAwMDAsXC JyYW5rXCI6M31dLFwibWVyY2hhbnRDdXN0b21lcklkXCI6XCI3Nzc3OTAyXCJ9In0.bqo DO4yI1FVpMlwIlSUzHj60ECB8jEQByK6EWbTk48c5rf6EKKtt_fDEB69Fgl6fnhhbYyFV 2-48FfcFqz0Pbw<
action>100</obj:
registrationToken>
action>
         
</impl:payment>
   <obj:mode>CPT</obj:mode>
           
<impl:card>
 <obj:contractNumber>CASINO_3XCB</obj:contractNumber>
            
<!--Optional:-->
<obj:differedActionDate></obj:differedActionDate>
            <obj:
encryptionKeyId><
method></obj:
encryptionKeyId>
method>
            
<!--Optional:-->
<obj:softDescriptor></obj:softDescriptor>
            <obj:
encryptedData><
cardBrand></obj:
encryptedData>
cardBrand>        
            
<!--Optional:-->
<obj:registrationToken>eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ7XCJzdGF0dXNJ
bmRleFwiOjAsXCJ0b3RhbEFtb3VudFwiOjEwMTU1LFwidG9rZW5TVFNcIjpcImI5NTNiM
jA1LTg2ZjctNDI0Yi04ZjAyLWMyMGJhMTI1YjdhM1wiLFwidG9rZW5TY29yaW5nXCI6XC
JlMjQ5OTk4Ny1jYzQ1LTQ3ZmMtYjYzMi02ZGFkODRlODcwYjhcIixcInBheW1lbnRTY2h
lZHVsZXNcIjpbe1wiYW1vdW50XCI6MzM4NSxcImRhdGVcIjoxNTExNzM3MjAwMDAwLFwi
cmFua1wiOjF9LHtcImFtb3VudFwiOjMzODUsXCJkYXRlXCI6MTUxNDMyOTIwMDAwMCxcI
nJhbmtcIjoyfSx7XCJhbW91bnRcIjozMzg1LFwiZGF0ZVwiOjE1MTY5MjEyMDAwMDAsXC
JyYW5rXCI6M31dLFwibWVyY2hhbnRDdXN0b21lcklkXCI6XCI3Nzc3OTAyXCJ9In0.bqo
DO4yI1FVpMlwIlSUzHj60ECB8jEQByK6EWbTk48c5rf6EKKtt_fDEB69Fgl6fnhhbYyFV
2-48FfcFqz0Pbw</obj:registrationToken>
         </impl:payment>
         
<obj:number>5017670000001800</obj:number>
<impl:card>
            <obj:
type>MASTERCARD<
encryptionKeyId></obj:
type>
encryptionKeyId>
            
<!--Optional:-->
<obj:encryptedData></obj:encryptedData>
            <obj:
expirationDate>1220<
number>5017600000001800</obj:
expirationDate>
number>
            
<!--Optional:-->
<obj:type>MASTERCARD</obj:type>
            <obj:
cvx>000<
expirationDate>1220</obj:
cvx>
expirationDate>
            
<!--Optional:-->
<obj:cvx>000</obj:cvx>
            <obj:ownerBirthdayDate></obj:ownerBirthdayDate>
            
<!--Optional:-->
<obj:password></obj:password>
            <obj:
password><
cardPresent></obj:
password>
cardPresent>
            
<!--Optional:-->
<obj:cardholder>BOULIER Charle</obj:cardholder>
            <obj:
cardPresent><
token></obj:
cardPresent>
token>
         <
!--Optional:-->
/impl:card>
         
<obj:cardholder>BOUVIER Charlelie</obj:cardholder>
<impl:order>
            
<!--Optional:-->
<obj:ref>cas_test_016</obj:ref>
            <obj:
token><
origin></obj:
token>
origin>
         
</impl:card>
   
<impl:order>
<obj:country>FR</obj:country>
            <obj:
ref>cas_test_016<
taxes></obj:
ref>
taxes>
            
<!--Optional:-->
<obj:amount>10000</obj:amount>
            <obj:
origin><
currency>978</obj:
origin>
currency>
            
<!--Optional:-->
<obj:date>08/11/2017 16:45</obj:date>
            <obj:
country>FR</obj:country>
details>
            <
!--Optional:-->
/obj:details>
            <obj:
taxes><
deliveryTime></obj:
taxes>
deliveryTime>
            <obj:
amount>10000<
deliveryMode>2</obj:
amount>
deliveryMode>
            <obj:
currency>978<
deliveryExpectedDate></obj:
currency>
deliveryExpectedDate>
            <obj:
date>08/11/2017 16:45<
deliveryExpectedDelay></obj:
date>
deliveryExpectedDelay>
         </impl:order>
        
<!--Optional:-->
 <impl:buyer>
            <obj:
details>
title>12</obj:title>
            
<
<obj:lastName>Bouvier</obj:
details>
lastName>
            
<!--Optional:-->
<obj:firstName>Charlelie</obj:firstName>
            <obj:
deliveryTime><
email>bouvier.charlelie@gmail.com</obj:
deliveryTime>
email>
            
<!--Optional:-->
<obj:shippingAdress>
               <obj:
deliveryMode>2<
title>12</obj:
deliveryMode>
title>
               
<!--Optional:-->
<obj:name>Bouvier</obj:name>
               <obj:
deliveryExpectedDate><
firstName>Charlelie</obj:
deliveryExpectedDate>
firstName>
               
<!--Optional:-->
<obj:lastName>Bouvier</obj:lastName>
               <obj:
deliveryExpectedDelay><
street1>SArue de marseille</obj:
deliveryExpectedDelay>
street1>
        
</impl:order>
       <obj:street2>SAstreet2</obj:street2>
  
<impl:buyer>
             <obj:
title>12<
cityName>Aix</obj:
title>
cityName>
               <obj:
lastName>Bouvier<
zipCode>13390</obj:
lastName>
zipCode>
               <obj:
firstName>Charlelie<
country>FR</obj:
firstName>
country>
               <obj:
email>bouvier.charlelie@gmail.com<
phone>0600000000</obj:
email>
phone>
               <obj:state>FRANCE</obj:
shippingAdress>
state>
               
<!--Optional:-->
<obj:county>france</obj:county>
               <obj:
title>12<
phoneType>1</obj:
title>
phoneType>
            </obj:shippingAdress>
            
<!--Optional:-->
<obj:billingAddress>
               <obj:
name>Bouvier<
title>12</obj:
name>
title>
               
<!--Optional:-->
<obj:name>MichelB</obj:name>
               <obj:
firstName>Charlelie<
firstName>EricB</obj:firstName>
               
<!--Optional:-->
<obj:lastName>MICHELLB</obj:lastName>
               <obj:
lastName>Bouvier<
street1>BArue de marseille</obj:
lastName>
street1>
               
<!--Optional:-->
<obj:street2>BAstreet2</obj:street2>
               <obj:
street1>SArue de marseille<
cityName>Marseille</obj:
street1>
cityName>
               
<!--Optional:-->
<obj:zipCode>13013</obj:zipCode>
               <obj:
street2>SAstreet2<
country>FR</obj:
street2>
country>
               
<!--Optional:-->
<obj:phone>0600000000</obj:phone>
               <obj:
cityName>Aix<
state>FRANCE</obj:
cityName>
state>
               
<!--Optional:--
<obj:county/>
               <obj:
zipCode>13390<
phoneType>6</obj:
zipCode>
phoneType>
            
<!--Optional:-->
</obj:billingAddress>
            
<obj:
country>FR<
accountCreateDate>10/10/01</obj:
country>
accountCreateDate>
            
<!--Optional:-->
<obj:accountAverageAmount>1000</obj:accountAverageAmount>
            <obj:
phone>0600000000<
accountOrderCount>1</obj:
phone>
accountOrderCount>
            <obj:walletId/>
            
<!--Optional:--
<obj:walletDisplayed/>
            <obj:
state>FRANCE<
walletSecured/
obj:state>
>
            
<!--Optional:--
<obj:walletCardInd/>
            
<obj:
county>france<
ip/
obj:county>
>
            
<!--Optional:-->
<obj:mobilePhone>0600000000</obj:mobilePhone>
            <obj:
phoneType>1<
customerId>7777902</obj:
phoneType>
customerId>
            
</obj:shippingAdress>
<obj:legalStatus/>
            <obj:
billingAddress>
legalDocument/>
            <obj:
title>12<
birthDate>1991-06-29</obj:
title>
birthDate>
            <obj:
name>MichelB<
deviceFingerprint/
obj:name>
>
         </impl:buyer>
         
<obj:firstName>EricB</obj:firstName>
<impl:privateDataList>
            <!--0 to 100 
<obj:lastName>MICHELLB</obj:lastName>
repetitions:-->
            
<obj:
street1>BArue de marseille</obj:street1>
privateData>
               <obj:
street2>BAstreet2<
key>A</obj:
street2>
key>
               <obj:
cityName>Marseille<
value>A</obj:
cityName>
value>
            
<obj:zipCode>13013<
</obj:
zipCode>
privateData>
         </impl:privateDataList>
      
<obj:country>FR</obj:country>
   <impl:authentication3DSecure>
         
<obj:phone>0600000000</obj:phone>
</impl:authentication3DSecure>
         
<obj:state>FRANCE</obj:state>
<impl:media></impl:media>
      
<obj:county/
</impl:doAuthorizationRequest>
   </soapenv:Body>
</soapenv:Envelope>






Tab Element
titleService doAuthorization Response


Volet


Développer
titleResponse..


Bloc de code
languagexml
themeConfluence
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   
<obj:phoneType>6</obj:phoneType>
<soapenv:Body>
      
</obj:billingAddress> <obj:accountCreateDate>10/10/01</obj:accountCreateDate>
<doAuthorizationResponse xmlns="http://impl.ws.payline.experian.com">
         <result>
   
<obj:accountAverageAmount>1000</obj:accountAverageAmount>
         
<obj:accountOrderCount>1</obj:accountOrderCount> <obj:walletId/>
<code xmlns="http://obj.ws.payline.experian.com">00000</code>
            <shortMessage 
<obj:walletDisplayed/>
xmlns="http://obj.ws.payline.experian.com">ACCEPTED</shortMessage>
            <longMessage 
<obj:walletSecured/>
xmlns="http://obj.ws.payline.experian.com">Transaction approved</longMessage>
         
<obj:walletCardInd/>
</result>
         <transaction>
   
<obj:ip/>
         
<obj:mobilePhone>0600000000</obj:mobilePhone>
<id xmlns="http://obj.ws.payline.experian.com">CAS1711271108524303</id>
            <date 
<obj:customerId>7777902</obj:customerId> <obj:legalStatus/>
xmlns="http://obj.ws.payline.experian.com">27/11/17 11:09:01</date>
            
<obj:legalDocument
<isDuplicated xsi:nil="true" xmlns="http://obj.ws.payline.experian.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
            <isPossibleFraud 
<obj:birthDate>1991-06-29</obj:birthDate> <obj:deviceFingerprint/>
xsi:nil="true" xmlns="http://obj.ws.payline.experian.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
       
</impl:buyer>
     <fraudResult xsi:nil="true" 
<impl:privateDataList>
xmlns="http://obj.ws.payline.experian.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
            
<!--0 to 100 repetitions:-->
<explanation xsi:nil="true" xmlns="http://obj.ws.payline.experian.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
            
<obj:privateData>
<threeDSecure xmlns="http://obj.ws.payline.experian.com">N</threeDSecure>
            <score 
<obj:key>A</obj:key>
xsi:nil="true" xmlns="http://obj.ws.payline.experian.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
         </transaction>
         
<obj:value>A</obj:value>
<authorization>
            
</obj:privateData>
<number xmlns="http://obj.ws.payline.experian.com"/>
         
</impl:privateDataList>
   <date 
<impl:authentication3DSecure>
xmlns="http://obj.ws.payline.experian.com">27/11/17 11:09:01</date>
         </
impl:authentication3DSecure>
authorization>
         
<impl:media></impl:media>
<card>
   
</impl:doAuthorizationRequest> </soapenv:Body> </soapenv:Envelope> Développer
titleService doAuthorization Response
Bloc de code
languagexml
themeConfluence
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   
<soapenv:Body>
      
<doAuthorizationResponse
<number xmlns="http://
impl
obj.ws.payline.experian.com"
>
>501767XXXXXX1800</number>
         
<result>
   
<code
<type xmlns="http://obj.ws.payline.experian.com"
>00000<
>CASINO_3XCB</
code>
type>
            
<shortMessage
<expirationDate xmlns="http://obj.ws.payline.experian.com"
>ACCEPTED<
>1220</
shortMessage>
expirationDate>
            
<longMessage
<token xmlns="http://obj.ws.payline.experian.com"
>Transaction approved<
/
longMessage>
>
         </
result>
card>
         
<transaction>
<extendedCard>
            
<id
<country xmlns="http://obj.ws.payline.experian.com"
>CAS1711271108524303<
/
id>
>
            
<date
<isCvd xmlns="http://obj.ws.payline.experian.com"
>27/11/17 11:09:01</date>
>N</isCvd>
            
<isDuplicated xsi:nil="true"
<bank xmlns="http://obj.ws.payline.experian.com"/>
            <type xmlns
:xsi
="http://
www.w3.org/2001/XMLSchema-instance"/>
obj.ws.payline.experian.com">MASTERCARD</type>
            
<isPossibleFraud xsi:nil="true"
<network xmlns="http://obj.ws.payline.experian.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
>MASTERCARD</network>
         </extendedCard>
         <contractNumber/>
      </doAuthorizationResponse>
 
<fraudResult
  </soapenv:Body>
</soapenv:Envelope>







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 dans le tableau ci-dessous.

Les prérequis sont définis par leurs types d'utilisation :

  • Mode web
    • doWebPayment : fonctionnement éligibilité (mode automatiquement réalisé par Monext).

  • Mode direct
    • doAuthorization : fonctionnement éligibilité.
    • isRegistered : fonctionnement pré-éligibilité.


Object Balise

Requis

Eligibilité

Requis

Pré-éligibilité 

Description

Order

Order.country 

(coche)(coche)Valeur FR (= FRANCE)

Order.deliveryMode 

(coche)(coche)Voir valeurs possibles entre 1 et 5.

Order.reference

(coche)

(coche)

(avertissement) Format à respecter

    • Uniquement des lettre et des chiffres et le caractères underscore sont acceptés.

    • Limite de 30 caractères.

Order.date

(coche)(coche)Format : dd/mm/yyyy HH24:MI

Order.Amount 


(coche)

(coche)

L'order amount est le montant global de la commande.

(avertissement) Le champs order.amount doit être égal au payment.amount.

Order.currency

(coche)

(coche)

Valeur = 978

Payment

Payment.amount 

(coche)(coche)Montant de l'oération.

Payment.currency

(coche)(coche)Valeur = 978

Buyer





Buyer.title

(coche)(coche)Voir valeurs possibles.

Buyer.lastname

(coche)(coche)Information de l'acheteur.

Buyer.firstname

(coche)(coche)Information de l'acheteur.

Buyer.email

(coche)(coche)Information de l'acheteur.

Buyer.birthDate

(coche)
Information de l'acheteur.

Buyer.phoneType

(coche)

(coche)

Information de l'acheteur. Voir valeurs possibles.

Buyer.phone

(coche)

(coche)

Information de l'acheteur.

Buyer.billingAdress.title

(coche)

(coche)

Information de l'acheteur.  Voir valeurs possibles.

Buyer.billingAdress.lastname

(coche)(coche)Information de l'acheteur.

Buyer.billingAdress.firstname

(coche)(coche)Information de l'acheteur.

Buyer.billingAdress.street1

(coche)(coche)Information de l'acheteur.

Buyer.billingAdress.city

(coche)(coche)Information de l'acheteur.

Buyer.billingAdress.zipcode

(coche)(coche)Information de l'acheteur.

Buyer.billingAdress.country

(coche)(coche)Information de l'acheteur.

Buyer.ip 



Doit être vide.


PrivateData

(coche)

(coche)


Développer
titleListe des PrivateData


KeyRequisValueValeurs possibles
OrderSaleChannel

(coche)

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 acheteurs

Pour transmettre les données 3DS, OTA, champs libre et historique, vous devez utiliser la balise <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':{...}" , }


Exemple de code :



Bloc de code
languagexml
themeConfluence
titleExemple miscData
linenumberstrue
collapsetrue
<impl:miscData>
    <![CDATA[
        { "ContratVAD": "{'optionalTravelDetails':
                                {'class':'First',
                                 'departureDate':'2014-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'}]
                          }"
        }
      ]]>
</impl:miscData>


Données de scoring Floa

xsi:nil="true" xmlns="http://obj.ws.payline.experian.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <explanation xsi:nil="true" xmlns="http://obj.ws.payline.experian.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <threeDSecure xmlns="http://obj.ws.payline.experian.com">N</threeDSecure> <score xsi:nil="true" xmlns="http://obj.ws.payline.experian.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> </transaction> <authorization> <number xmlns="http://obj.ws.payline.experian.com"/> <date xmlns="http://obj.ws.payline.experian.com">27/11/17 11:09:01</date> </authorization> <card> <number xmlns="http://obj.ws.payline.experian.com">501767XXXXXX1800</number> <type xmlns="http://obj.ws.payline.experian.com">CASINO_3XCB</type> <expirationDate xmlns="http://obj.ws.payline.experian.com">1220</expirationDate> <token xmlns="http://obj.ws.payline.experian.com"/> </card> <extendedCard> <country xmlns="http://obj.ws.payline.experian.com"/> <isCvd xmlns="http://obj.ws.payline.experian.com">N</isCvd> <bank xmlns="http://obj.ws.payline.experian.com"/> <type xmlns="http://obj.ws.payline.experian.com">MASTERCARD</type> <network xmlns="http://obj.ws.payline.experian.com">MASTERCARD</network> </extendedCard> <contractNumber/> </doAuthorizationResponse> </soapenv:Body> </soapenv:Envelope>

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

    Développer
    titleListe des PrivateData
    KeyValueValeurs possiblesOrderSaleChannel

    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.

    Extrait

    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 à Casino.
    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 Casino

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

    Casino

    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

    Développer
    titleBalise miscData

    Exemple de code :




    Bloc de code
    languagexml
    themeConfluence
    titleBalise miscData
    linenumberstrue
    collapsetrue
    <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 Casino.

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

    Numéro5017670000001800CVV000Date d'expiration> à la dernière échéance

    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

    Inclusion d'extrait
    Les codes retour
    Les codes retour
    nopaneltrue

    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).

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

    Les codes spécifiques au moyen de paiement


    Développer
    titleLes codes spécifiques au moyen de paiement


    É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



    Tab Content Wrapper


    Tab Element
    titlePaiement


    Volet


    Développer
    title
    Paiement
    Exemple..


    Bloc de code
    languagexml
    themeConfluence
    linenumberstrue
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
            xmlns:impl="http://impl.ws.payline.experian.com" 
            xmlns:obj="http://obj.ws.payline.experian.com">
       <soapenv:Header/>
       <soapenv:Body>
          <impl:doWebPaymentRequest>
             <impl:version>15</impl:version>
             <impl:payment>
                <obj:amount>10000</obj:amount>
                <obj:currency>978</obj:currency>
                <obj:action>101</obj:action>
                <obj:mode>CPT</obj:mode>
                <obj:contractNumber>CASINO_3XCB</obj:contractNumber>
             </impl:payment>
             <impl:returnURL>https://www.payline.com</impl:returnURL>
             <impl:cancelURL>https://www.payline.com</impl:cancelURL>
             <impl:order>
                <obj:
    ref>Casinon
    ref>Floa_1</obj:ref>
                <obj:origin>10</obj:origin>
                <obj:country>FR</obj:country>
                <obj:taxes/>
                <obj:amount>10000</obj:amount>
                <obj:currency>978</obj:currency>
                <obj:date>28/08/2015 17:27</obj:date>
                <obj:details>
                   <obj:details>
                      <obj:ref>1</obj:ref>
                      <obj:price>50000</obj:price>
                      <obj:quantity>1</obj:quantity>
                      <obj:comment>comment</obj:comment>
                   </obj:details>
                </obj:details>
                <obj:deliveryTime>1</obj:deliveryTime>
                <obj:deliveryMode>1</obj:deliveryMode>
                <obj:deliveryExpectedDate>31/12/2018</obj:deliveryExpectedDate>
                <obj:deliveryExpectedDelay>66</obj:deliveryExpectedDelay>
             </impl:order>
             <impl:notificationURL>http://www.payline.com/notif/notif.php</impl:notificationURL>
             <impl:selectedContractList>
                <obj:selectedContract>CASINO_3XCB</obj:selectedContract>
                <obj:selectedContract>CASINO_4XCB</obj:selectedContract>
             </impl:selectedContractList>
             <impl:secondSelectedContractList>
                <!--1 to 25 repetitions:-->
                <obj:selectedContract/>
             </impl:secondSelectedContractList>
             <impl:privateDataList>
                <obj:privateData>
                   <obj:key>OrderSaleChannel</obj:key>
                   <obj:value>DESKTOP</obj:value>
                </obj:privateData>
                <obj:privateData>
                   <obj:key>CustomerBirthZipCode</obj:key>
                   <obj:value>12345</obj:value>
                </obj:privateData>
                <obj:privateData>
                   <obj:key>CustomerMaidenName</obj:key>
                   <obj:value>Bob</obj:value>
                </obj:privateData>
             </impl:privateDataList>
             <impl:languageCode>fr</impl:languageCode>
             <impl:customPaymentPageCode/>
             <impl:buyer>
                <obj:title>Mr</obj:title>
                <obj:lastName>Payline</obj:lastName>
                <obj:firstName>Rodolphe</obj:firstName>
                <obj:email>test@payilne.com</obj:email>
                <obj:shippingAdress>
                   <!--Optional:-->
                   <obj:title>Mr</obj:title>
                   <!--Optional:-->
                   <obj:name>Payline</obj:name>
                   <!--Optional:-->
                   <obj:firstName>Rodolphe</obj:firstName>
                   <!--Optional:-->
                   <obj:lastName>Dupont</obj:lastName>
                   <!--Optional:-->
                   <obj:street1>260 rue Claude Nicolas Ledoux</obj:street1>
                   <!--Optional:-->
                   <obj:street2></obj:street2>
                   <!--Optional:-->
                   <obj:cityName>Aix</obj:cityName>
                   <!--Optional:-->
                   <obj:zipCode>13390</obj:zipCode>
                   <!--Optional:-->
                   <obj:country>FR</obj:country>
                   <!--Optional:-->
                   <obj:phone>0600000000</obj:phone>
                   <!--Optional:-->
                   <obj:state>FRANCE</obj:state>
                   <!--Optional:-->
                   <obj:county>france</obj:county>
                   <!--Optional:-->
                   <obj:phoneType>PhoneNumber</obj:phoneType>
                </obj:shippingAdress>
                <obj:billingAddress>
                   <!--Optional:-->
                   <obj:title>Mr</obj:title>
                   <!--Optional:-->
                   <obj:name>PaylineBilling</obj:name>
                   <!--Optional:-->
                   <obj:firstName>Eric</obj:firstName>
                   <!--Optional:-->
                   <obj:lastName>Dupont</obj:lastName>
                   <!--Optional:-->
                   <obj:street1>261 rue claude Nicolas Ledoux</obj:street1>
                   <!--Optional:-->
                   <obj:street2></obj:street2>
                   <!--Optional:-->
                   <obj:cityName>Aix</obj:cityName>
                   <!--Optional:-->
                   <obj:zipCode>13390</obj:zipCode>
                   <!--Optional:-->
                   <obj:country>FR</obj:country>
                   <!--Optional:-->
                   <obj:phone>0600000000</obj:phone>
                   <!--Optional:-->
                   <obj:state>FRANCE</obj:state>
                   <!--Optional:-->
                   <obj:county/>
                   <!--Optional:-->
                   <obj:phoneType>CellPhoneNumber2</obj:phoneType>
                </obj:billingAddress>
                <obj:accountCreateDate>10/10/01</obj:accountCreateDate>
                <obj:accountAverageAmount>1000</obj:accountAverageAmount>
                <obj:accountOrderCount>1</obj:accountOrderCount>
                <obj:walletId/>
                <obj:walletDisplayed/>
                <obj:walletSecured/>
                <obj:walletCardInd/>
                <obj:ip/>
                <obj:mobilePhone>0600000000</obj:mobilePhone>
                <obj:customerId>7777902</obj:customerId>
                <obj:legalStatus/>
                <obj:legalDocument/>
                <obj:birthDate>1991-06-29</obj:birthDate>
                <obj:deviceFingerprint/>
             </impl:buyer>
             <!--<impl:owner>
                <obj:lastName>?</obj:lastName>
                <obj:firstName>?</obj:firstName>
                <obj:billingAddress>
                   <obj:street>?</obj:street>
                   <obj:cityName>?</obj:cityName>
                   <obj:zipCode>?</obj:zipCode>
                   <obj:country>?</obj:country>
                   <obj:phone>?</obj:phone>
                </obj:billingAddress>
                <obj:issueCardDate>?</obj:issueCardDate>
             </impl:owner>-->
             <impl:securityMode>SSL</impl:securityMode>
             <impl:customPaymentTemplateURL/>
             <impl:contractNumberWalletList/>
             <impl:miscData> <![CDATA[{ "CASINO_3XCB": "{'optionalTravelDetails' 
    {'class':'First', 'departureDate':'2014-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'}]}" } ]]>
    </impl:miscData>
          </impl:doWebPaymentRequest>
       </soapenv:Body>
    </soapenv:Envelope>







    Tab Element
    titleRemboursement


    Volet


    Développer
    title
    Remboursement
    Exemple..


    Bloc de code
    languagexml
    themeConfluence
    linenumberstrue
    <impl:doRefundRequest>
             <impl:version>15</impl:version>
             <impl:transactionID>171101425XXXX</impl:transactionID>
             <impl:payment>
                <obj:amount>1000</obj:amount>
                <obj:currency>978</obj:currency>
                <obj:action>421</obj:action>
                <obj:mode>CPT</obj:mode>
                <obj:contractNumber>CASINO_3XCB</obj:contractNumber>
             </impl:payment>
             <impl:comment>Test</impl:comment>
             <impl:privateDataList>
             </impl:privateDataList>
    </impl:doRefundRequest>







    Pages associées

    Contenu par étiquette
    showLabelsfalse
    max10
    spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@9a3
    showSpacefalse
    sorttitle
    typepage
    cqllabel = "integration" and label = "fr" and label = "widget" and type = "page" and space = "DT"
    labelsbancontact belgique choixdelamarque

    ...