Contenu
Sommaire | ||||
---|---|---|---|---|
|
Plus d'information
Intégration
Vous devez d'abord initialiser le paiement en réalisant une demande d'autorisation avec le code action 100 avec les services doWebPayment ou doAuthorization, ensuite vous devez valider le paiement avec l'appel du web service doCapture avec le code action 201.
Info |
---|
Une demande d’autorisation a une durée de validité limitée. Pour renouveler la durée de validité de l'autorisation, vous pouvez utiliser le service doReAuthorization, qui permet de dupliquer l'autorisation. Pour plus d'information : Ré-autorisation |
Diagramme draw.io | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Les étapes :
un paiementLe marchand peut réaliser une demande validation suite à une demande d'autorisation acceptée en appelant le service "doCapture".
Une fois la validation prise en compte, un fichier contenant toutes les validations est remis à la banque du commerçant ; Payline effectue une remise des demandes de paiement à votre établissement bancaire.
Diagramme draw.io | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Les étapes :
- Le consommateur valide son panier et le marchand prépare la page de paiement en appelant le service doWebPayment. Le consommateur sélectionne son moyen de paiement et valide les informations de paiement.
- Payline réalise la demande d'autorisation à l'acquéreur pour les cartes bancaires et retourne la réponse sur la pageen appelant le service doAuthorization ou doWebPayment.
En Page Web, Payline notifie le commerçant afin qu'il puisse récupérer le résultat de la transaction avec le getWebPaymentDetails. - Ultérieurement, le marchand réalise la validation du paiement en appelant le service "doCapture" afin afin de finaliser la transaction. Payline pourra notifier le commerçant afin de demander le résultat.
Liste des champs obligatoires
Les services utilisés sont doAuthorization, doWebPayment, getWebPaymentDetails, getTransactionDetails doCapture.
Exemple de web service (mode direct)
Demande d'autorisation | |||
---|---|---|---|
doAuthorizationRequest | doAuthorizationResponse | ||
Eléments | Exemple de valeurs | Eléments | Exemple de valeurs |
version | 18 | result | Object result |
payment | Object payment | transaction | Object transaction |
bankAccountData | Object bankAccountData | authorization | Object authorization |
card | Object card | ||
order | Object order |
Exemple de trame
Bloc de code | ||||||
---|---|---|---|---|---|---|
| ||||||
<ns1:doAuthorizationRequest 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/>
<ns1:payment>
<ns2:amount>9900</ns2:amount>
<ns2:currency>978</ns2:currency>
<ns2:action>100</ns2:action>
<ns2:mode>CPT</ns2:mode>
<ns2:contractNumber>CBVAD</ns2:contractNumber>
<ns2:differedActionDate>01/01/19</ns2:differedActionDate>
<ns2:method xsi:nil="true"/>
<ns2:softDescriptor xsi:nil="true"/>
<ns2:cardBrand xsi:nil="true"/>
<ns2:registrationToken xsi:nil="true"/>
</ns1:payment>
<ns1:bankAccountData>
<ns2:countryCode xsi:nil="true"/>
<ns2:bankCode xsi:nil="true"/>
<ns2:accountNumber xsi:nil="true"/>
<ns2:key xsi:nil="true"/>
</ns1:bankAccountData>
<ns1:card>
<ns2:encryptionKeyId xsi:nil="true"/>
<ns2:encryptedData xsi:nil="true"/>
<ns2:number>497010XXXXXX5670</ns2:number>
<ns2:type>CB</ns2:type>
<ns2:expirationDate>0121</ns2:expirationDate>
<ns2:cvx>xxx</ns2:cvx>
<ns2:ownerBirthdayDate xsi:nil="true"/>
<ns2:password xsi:nil="true"/>
<ns2:cardPresent xsi:nil="true"/>
<ns2:cardholder xsi:nil="true"/>
<ns2:token xsi:nil="true"/>
<ns2:paymentData xsi:nil="true"/>
</ns1:card>
<ns1:order>
<ns2:ref>PHP1563437970</ns2:ref>
<ns2:origin xsi:nil="true"/>
<ns2:country xsi:nil="true"/>
<ns2:taxes xsi:nil="true"/>
<ns2:amount>9900</ns2:amount>
<ns2:currency>978</ns2:currency>
<ns2:date>18/07/2019 10:19</ns2:date>
<ns2:details/>
<ns2:deliveryTime xsi:nil="true"/>
<ns2:deliveryMode xsi:nil="true"/>
<ns2:deliveryExpectedDate>22/07/2019</ns2:deliveryExpectedDate>
<ns2:deliveryExpectedDelay xsi:nil="true"/>
<ns2:deliveryCharge xsi:nil="true"/>
</ns1:order>
<ns1:buyer>
<ns2:title xsi:nil="true"/>
<ns2:lastName>BELLE</ns2:lastName>
<ns2:firstName>Iza</ns2:firstName>
<ns2:email>iza.belle@yopmail.com</ns2:email>
<ns2:shippingAdress>
<ns2:title xsi:nil="true"/>
<ns2:name>Maison</ns2:name>
<ns2:firstName>Iza</ns2:firstName>
<ns2:lastName>BELLE</ns2:lastName>
<ns2:street1>4 impasse Aval</ns2:street1>
<ns2:street2 xsi:nil="true"/>
<ns2:cityName>Argenteuil</ns2:cityName>
<ns2:zipCode>95100</ns2:zipCode>
<ns2:country>FR</ns2:country>
<ns2:phone>0142000000</ns2:phone>
<ns2:state xsi:nil="true"/>
<ns2:county xsi:nil="true"/>
<ns2:phoneType>1</ns2:phoneType>
</ns2:shippingAdress>
<ns2:billingAddress>
<ns2:title xsi:nil="true"/>
<ns2:name>Monext</ns2:name>
<ns2:firstName>Iza</ns2:firstName>
<ns2:lastName>BELLE</ns2:lastName>
<ns2:street1>5, Place de la Pyramide</ns2:street1>
<ns2:street2>Tour Ariane</ns2:street2>
<ns2:cityName>PARIS LA DEFENSE - CEDEX</ns2:cityName>
<ns2:zipCode>92088</ns2:zipCode>
<ns2:country>FR</ns2:country>
<ns2:phone>0141000000</ns2:phone>
<ns2:state xsi:nil="true"/>
<ns2:county>La Defense</ns2:county>
<ns2:phoneType>2</ns2:phoneType>
</ns2:billingAddress>
<ns2:accountCreateDate>25/09/11</ns2:accountCreateDate>
<ns2:accountAverageAmount>5512</ns2:accountAverageAmount>
<ns2:accountOrderCount>9</ns2:accountOrderCount>
<ns2:walletId>W_IzaBELLE_20110925</ns2:walletId>
<ns2:walletDisplayed xsi:nil="true"/>
<ns2:walletSecured xsi:nil="true"/>
<ns2:walletCardInd xsi:nil="true"/>
<ns2:ip xsi:nil="true"/>
<ns2:mobilePhone>0600000001</ns2:mobilePhone>
<ns2:customerId>IzaBELLE_20110925</ns2:customerId>
<ns2:legalStatus>1</ns2:legalStatus>
<ns2:legalDocument>5</ns2:legalDocument>
<ns2:birthDate>1985-05-15</ns2:birthDate>
<ns2:fingerprintID>454321sr4pojqpodfip8qer78</ns2:fingerprintID>
<ns2:deviceFingerprint xsi:nil="true"/>
<ns2:isBot xsi:nil="true"/>
<ns2:isIncognito xsi:nil="true"/>
<ns2:isBehindProxy xsi:nil="true"/>
<ns2:isFromTor xsi:nil="true"/>
<ns2:isEmulator xsi:nil="true"/>
<ns2:isRooted xsi:nil="true"/>
<ns2:hasTimezoneMismatch xsi:nil="true"/>
</ns1:buyer>
<ns1:owner>
<ns2:lastName>BELLE</ns2:lastName>
<ns2:firstName>Iza</ns2:firstName>
<ns2:billingAddress>
<ns2:street>5, Place de la Pyram</ns2:street>
<ns2:cityName>PARIS LA DEFENSE - CEDEX</ns2:cityName>
<ns2:zipCode>92088</ns2:zipCode>
<ns2:country>FR</ns2:country>
<ns2:phone>0141000000</ns2:phone>
</ns2:billingAddress>
<ns2:issueCardDate>0118</ns2:issueCardDate>
</ns1:owner>
<ns1:privateDataList/>
<ns1:authentication3DSecure>
<ns2:md xsi:nil="true"/>
<ns2:pares xsi:nil="true"/>
<ns2:xid xsi:nil="true"/>
<ns2:eci xsi:nil="true"/>
<ns2:cavv xsi:nil="true"/>
<ns2:cavvAlgorithm xsi:nil="true"/>
<ns2:vadsResult xsi:nil="true"/>
<ns2:typeSecurisation xsi:nil="true"/>
<ns2:PaResStatus xsi:nil="true"/>
<ns2:VeResStatus xsi:nil="true"/>
</ns1:authentication3DSecure>
<ns1:media/>
<ns1:subMerchant>
<ns2:subMerchantId/>
<ns2:subMerchantName xsi:nil="true"/>
<ns2:subMerchantMCC/>
<ns2:subMerchantSIRET xsi:nil="true"/>
<ns2:subMerchantTaxCode xsi:nil="true"/>
<ns2:subMerchantStreet xsi:nil="true"/>
<ns2:subMerchantCity xsi:nil="true"/>
<ns2:subMerchantZipCode xsi:nil="true"/>
<ns2:subMerchantCountry xsi:nil="true"/>
<ns2:subMerchantState xsi:nil="true"/>
<ns2:subMerchantEmailAddress xsi:nil="true"/>
<ns2:subMerchantPhoneNumber xsi:nil="true"/>
</ns1:subMerchant>
</ns1:doAuthorizationRequest>
|
Exemple de configuration
Demande de validation | |||
---|---|---|---|
doCaptureRequest | doCaptureResponse |
Eléments | Valeurs | Eléments | Valeurs |
---|
version | 18 | result.code | 00000 |
transactionID | 29004110631487 | result.shortmessage | ACCEPTED |
payment.amount | 2000 | result.longmessage | Transaction approved |
payment.currency | 978 | transactionID | 29004110658489 |
payment.action | 201 | transaction.date | 01/01/19 12:00:00 |
payment.mode | CPT | ||
payment.contratNumber | CBVADS |
Centre d'administration
Exemple de l'écran détail de transaction :
Articles liés
Exemple de trame
Bloc de code | ||||||
---|---|---|---|---|---|---|
| ||||||
<ns1:doCaptureRequest 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>18</ns1:version>
<ns1:transactionID>19198175537062</ns1:transactionID>
<ns1:payment>
<ns2:amount>9900</ns2:amount>
<ns2:currency>978</ns2:currency>
<ns2:action>201</ns2:action>
<ns2:mode>DIF</ns2:mode>
<ns2:contractNumber>CBVADS</ns2:contractNumber>
<ns2:differedActionDate>18/07/19</ns2:differedActionDate>
<ns2:method xsi:nil="true"/>
<ns2:softDescriptor xsi:nil="true"/>
<ns2:cardBrand xsi:nil="true"/>
<ns2:registrationToken xsi:nil="true"/>
</ns1:payment>
<ns1:privateDataList/>
<ns1:sequenceNumber/>
<ns1:media/>
</ns1:doCaptureRequest>
|
Le getTransactionDetails n'est pas obligatoire.
Les codes retour
Le service doAuthorization renvoie :
ShortMessage | ReturnCode | Note |
---|---|---|
ERROR | 02305 | si le format des champs n'est pas respecté |
Un paiement est accepté, Payline renvoie le code retour à la valeur 00000.
- L'erreur 02305 de type ERROR, si le format des champs n'est pas respecté.
- L'erreur 02322 de type ERROR, si le nom du porteur de carte est incorrect.
- L'erreur 36016 de type ERROR, si la fonction demandé est invalide.
- L'erreur 03006 de type ERROR, si le PARES est invalide.
- L'erreur 03022 de type ERROR, si la vérification de l'authentification a échoué.
Le service doCapture renvoie :
Un paiement est accepté, Payline renvoie le code retour à la valeur 00000.
- L'erreur 02110 de type ERROR, si le montant est invalide.
- L'erreur 02305 de type ERROR, si le format des champs n'est pas respecté.
- L'erreur 02301 de type ERROR, si le numéro de transaction n'existe pas.
- L'erreur 02313 de type ERROR, si l'identifiant de la transaction est désactivé.
Pages associées
Contenu par étiquette | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Contenu par étiquette | ||||||||
---|---|---|---|---|---|---|---|---|
|
Contenu par étiquette showLabels false showSpace false sort title cql label in ( "code_action" , "fichier_paiements" , "fichier_transactions" , "capture" , "autorisation" )
Contenu par étiquette showLabels false showSpace false sort title cql label = "return_codes" and label = "menu"