Contenu
Sommaire | ||||
---|---|---|---|---|
|
Plus d'information
Validation d'un paiement
Le commerçant doit réaliser une demande d'autorisation en appelant le web service doAuthorization avec le code action 100, puis sous 7 jours il pourra capturer le paiement en appelant le web service doCapture avec le code action 201 et l'identifiant de la demande d'autorisation à valider.
Une fois la validation prise en compte, le consommateur sera débité et le marchand crédité.
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 :
- Payline réalise la demande d'autorisation à l'acquéreur pour les cartes bancaires en appelant le service doAuthorization.
- Ultérieurement, le marchand réalise la validation du paiement en appelant le service doCapture 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, doCapture.
Exemple de configuration
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 |
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 :
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é.
Voir l'ensemble des codes retour.
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"