Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Excerpt
hiddentrue


Section


Column
width50

Contenu

Table of Contents
maxLevel2
stylenone


Column
width50

Vous recherchez   

Livesearch
spaceKeyDT
sizelarge
additionalnone
typepage





Comment intégrer Payline


Avec l'API WebPayment en mode widget, Payline récupère les données bancaires sur votre site et réalise la transaction dès la validation de la commande. 

L'intégration se déroule en 3 étapes : 


Section


Column
width33


Panel
borderColor#8197B1
borderWidth2

Envoyer un paiement initial

Initier une requête serveur à serveur pour préparer le paiement avec les données requieses, les moyens de paiement, le montant, la devise, le customerID. La réponse contient un identifiant de session utilisé dans la deuxième étape.



Column
width33


Panel
borderColor#8197B1
borderWidth2

Créer un formulaire de paiement

Pour créer un formulaire de paiement affiché lors de la validation du panier, il suffit d'insérer une balise <DIV> dans le corps de votre page web. Payline va se servir de cette balise pour afficher le formulaire de paiement. Consulter la réglementation de la fonction Choix de la marque.



Column
width33


Panel
borderColor#8197B1
borderWidth2

Obtenir l'état du paiement

Découvrez si le paiement a été réalisé avec succès.









Les étapes

En prérequis, vous devez avoir récupérer la clé d'API dans le centre administrateur avec votre connexion utilisateur fourni par l'administrateur commerçant.

1. Envoyer un paiement initial

Vous devez simplement initier une demande de paiement en appeler le service web doWebPayment de serveur à serveur avec les paramètres contrats sélectionnés et les données de la commande.

Expand
titleExemple d'une requête au service de paiement..


Code Block
languagexml
themeConfluence
<ns1:doWebPaymentRequest xmlns:ns2="http://obj.ws.payline.experian.com" xmlns:ns1="http://impl.ws.payline.experian.com" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ns1:version>20</ns1:version>
  <ns1:payment>
    <ns2:amount>33300</ns2:amount>
    <ns2:currency>978</ns2:currency>
    <ns2:action>101</ns2:action>
    <ns2:mode>CPT</ns2:mode>
    <ns2:contractNumber>VADCB</ns2:contractNumber>
  </ns1:payment>
  <ns1:returnURL>https://demo.payline.com/~kitphp/examples/demos/web.php?e=getWebPaymentDetails</ns1:returnURL>
  <ns1:cancelURL>https://demo.payline.com/~kitphp/examples/demos/web.php?e=getWebPaymentDetails</ns1:cancelURL>
  <ns1:order>
    <ns2:ref>REF001</ns2:ref>
    <ns2:amount>33300</ns2:amount>
    <ns2:currency>978</ns2:currency>
    <ns2:date>22/01/2019 17:33</ns2:date>
  </ns1:order>
  <ns1:notificationURL xsi:nil="true"/>
  <ns1:selectedContractList>
    <ns2:selectedContract>VADCB</ns2:selectedContract>
    <ns2:selectedContract>PAYPAL</ns2:selectedContract>
    <ns2:selectedContract>AMAZONPAY</ns2:selectedContract>
    <ns2:selectedContract>GOOGLEPAY</ns2:selectedContract>
  </ns1:selectedContractList>
  <ns1:buyer>
    <ns2:title>4</ns2:title>
    <ns2:lastName>DO</ns2:lastName>
    <ns2:firstName>JO</ns2:firstName>
    <ns2:email>johndoe@yopmail.com</ns2:email>
    <ns2:walletId>W_RG1</ns2:walletId>
    <ns2:mobilePhone>0600000000</ns2:mobilePhone>
    <ns2:customerId>RG1</ns2:customerId>
    <ns2:legalStatus>1</ns2:legalStatus>
    <ns2:legalDocument>5</ns2:legalDocument>
    <ns2:birthDate>1980-01-20</ns2:birthDate>
    <ns2:fingerprintID>65w4765xf45qs4fmjslgkj354q354</ns2:fingerprintID>
  </ns1:buyer>
  <ns1:merchantName>Demo</ns1:merchantName>
</ns1:doWebPaymentRequest>



2. Créer le formulaire de paiement

Pour créer un formulaire de paiement affiché lors de la validation du panier, il suffit d'insérer une balise <DIV> dans le corps de votre page web. Payline va se servir de cette balise pour afficher le formulaire de paiement.

Expand
titleExemple de page web..


Code Block
languagexml
themeConfluence
<html>
 <head>
   <script src="https://homologation-payment.cdn.payline.com/cdn/scripts/widget-min.js"></script>
   <link href="https://homologation-payment.cdn.payline.com/cdn/styles/widget-min.css" rel="stylesheet" />
 </head>
 <body>
 <div id="PaylineWidget"
    data-token="the token obtained in doWebPayment Response"
    data-template="column"
    data-embeddedredirectionallowed="false"
 />
 </body>
</html>



3. Obtenir l'état du paiement

Résultat du paiement : depuis votre SI vous devez utiliser la fonction getWebPaymentDetails de l'API Web Payment pour obtenir le résultat du paiement.

Expand
titleExemple d'une demande de résultat..


Code Block
languagexml
themeConfluence
<ns1:getWebPaymentDetailsRequest xmlns:ns1="http://impl.ws.payline.experian.com" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <ns1:version>20</ns1:version>
  <ns1:token>2wkKWP3h8kdaqW78DX061544613601241</ns1:token>
</ns1:getWebPaymentDetailsRequest>



Expand
titleExemple d'une réponse de résultat..


Code Block
languagexml
themeConfluence
<getWebPaymentDetailsResponse xmlns="http://impl.ws.payline.experian.com" xmlns:obj="http://obj.ws.payline.experian.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <result>
      <obj:code>00000</obj:code>
      <obj:shortMessage>ACCEPTED</obj:shortMessage>
      <obj:longMessage>Transaction approved</obj:longMessage>
    </result>
    <transaction>
      <obj:id>28346122024986</obj:id>
      <obj:date>12/12/2018 12:20:24</obj:date>
      <obj:isDuplicated>0</obj:isDuplicated>
      <obj:isPossibleFraud>0</obj:isPossibleFraud>
      <obj:fraudResult/>
      <obj:explanation/>
      <obj:threeDSecure>N</obj:threeDSecure>
      <obj:score>0</obj:score>
      <obj:partnerAdditionalData xsi:nil="true"/>
   </transaction>
     <payment>
      <obj:amount>33300</obj:amount>
      <obj:currency>978</obj:currency>
      <obj:action>101</obj:action>
      <obj:mode>CPT</obj:mode>
      <obj:contractNumber>VADCB</obj:contractNumber>
      <obj:differedActionDate/>
      <obj:method>CB</obj:method>
      <obj:cardBrand xsi:nil="true"/>
   </payment>
   <authorization>
      <obj:number>OK</obj:number>
      <obj:date>12/12/2018 12:20:24</obj:date>
   </authorization>
   <privateDataList/>
   <paymentRecordId xsi:nil="true"/>
   <authentication3DSecure>
      <obj:md xsi:nil="true"/>
      <obj:xid xsi:nil="true"/>
      <obj:eci xsi:nil="true"/>
      <obj:cavv xsi:nil="true"/>
      <obj:cavvAlgorithm xsi:nil="true"/>
      <obj:vadsResult xsi:nil="true"/>
   </authentication3DSecure>
   <card>
      <obj:number>444433XXXXXX1111</obj:number>
      <obj:type>CB</obj:type>
      <obj:expirationDate>1220</obj:expirationDate>
      <obj:token>4444SxXvCAOj1111</obj:token>
   </card>
   <extendedCard>
      <obj:country/>
      <obj:isCvd/>
      <obj:bank/>
      <obj:type>CB</obj:type>
      <obj:network xsi:nil="true"/>
   </extendedCard>
   <order>
      <obj:ref>REF1</obj:ref>
      <obj:origin xsi:nil="true"/>
      <obj:country xsi:nil="true"/>
      <obj:taxes xsi:nil="true"/>
      <obj:amount>10000</obj:amount>
      <obj:currency>978</obj:currency>
      <obj:date>12/12/2018 12:20:00</obj:date>
      <obj:deliveryTime xsi:nil="true"/>
      <obj:deliveryMode>1</obj:deliveryMode>
      <obj:deliveryExpectedDate>16/12/2018</obj:deliveryExpectedDate>
      <obj:deliveryExpectedDelay>0</obj:deliveryExpectedDelay>
   </order>
   <media>Computer</media>
   <wallet>
      <obj:walletId>W_RG1</obj:walletId>
      <obj:lastName>DO</obj:lastName>
      <obj:firstName>JO</obj:firstName>
      <obj:email>johndoe@yopmail.com</obj:email>
      <obj:shippingAddress>
      <obj:name>Monext</obj:name>
      <obj:street1>260, rue Claude Nicolas Ledoux</obj:street1>
      <obj:street2/>
      <obj:cityName>Aix-en-Provence Cedex 3</obj:cityName>
      <obj:zipCode>13593</obj:zipCode>
      <obj:country>FR</obj:country>
      <obj:phone>0442000000</obj:phone>
      </obj:shippingAddress>
      <obj:card>
         <obj:encryptionKeyId xsi:nil="true"/>
                  <obj:encryptedData xsi:nil="true"/>
         <obj:number>444433XXXXXX1111</obj:number>
         <obj:type>CB</obj:type>
         <obj:expirationDate>1220</obj:expirationDate>
         <obj:ownerBirthdayDate/>
         <obj:password/>
         <obj:cardholder/>
         <obj:token>4444SxOvCAOj1111</obj:token>
      </obj:card>
      <obj:comment/>
      <obj:default>Y</obj:default>
   </wallet>
   <contractNumberWalletList>
      <obj:contractNumberWallet>VADCB</obj:contractNumberWallet>
   </contractNumberWalletList>
   <contractNumber>VADCB</contractNumber>
</getWebPaymentDetailsResponse>



(info)  Vous pouvez consulter le résultat de vos transactions dans le centre administration.



Section


Column
width50


Remboursement

Vous pouvez rembourser vos transactions, consulter la fonction de Remboursement.
Panel
borderColor#8197B1
borderWidth2
Column
width50
Panel
borderColor#8197B1
borderWidth2

Intégration API WebPayment

Vous avez un profil avancé et de bonnes connaissances. Vous développez votre site, vous souhaitez intégrer cette page de paiement simple ou la personnaliser dans les moindres détails.

Consulter le mode d'intégration Paiement Page Web.
Payline propose un éventail de fonctionnalités supplémentaires.

Intégration pour une conformite PCI-DSS SAQ-A (simple).



Column
width50


Panel
borderColor#8197B1
borderWidth2

Remboursement

Vous pouvez rembourser vos transactions, consulter la fonction de Remboursement.







Vous devez consulter les pages suivantes : 


Section


Column
width33


Panel
borderColor#8197B1
borderWidth2
borderStylesolid

Création d'un compte Payline

Pour réaliser un test sur une maquette vous pouvez déjà créer un compte, Payline vous accompagne.



Column
width33


Panel
borderColor#8197B1
borderWidth2

Cinématique de paiement d'une page web

Vous pouvez consulter le principe d'un paiement web.


Column
width33


Panel
borderColor#8197B1
borderWidth2

Intégration pour une conformite PCI-DSS 

SAQ-A, SAQ AEP, SAQ-D






(info) Vous pouvez également consulter les autres modes d'intégrations.




Pages associées


Section


Column
width50

Content by Label
showLabelsfalse
showSpacefalse
sorttitle
cqllabel = "fr" and label = "widget" and label = "integration"


Column
width50

Content by Label
showLabelsfalse
showSpacefalse
cqllabel = "fr" and label = "demarrage"





Center

Excerpt Include
Info page
Info page
nopaneltrue


...