Search Overlay

Traiter un achat par carte avec 3D Secure 2

POST /cardpayments/v1/accounts/account_id/auths

Une fois que l’utilisateur a été authentifié et que l’authentification a été enregistrée et validée sur la plateforme de Paysafe Group, vous pouvez envoyer une requête POST normale au point d’extrémité auths.

Votre requête doit contenir l’objet supplémentaire JSON Authentication.

Voir notre documentation API complète pour une description intégrale des paramètres requis pour la requête d’authentification.

curl -X POST https://api.test.paysafe.com/cardpayments/v1/accounts/89987201/auths \
-u devcentre322:B-qa2-0-53625f86-302c021476f52bdc9deab7aea876bb28762e62f92fc6712d0214736abf501e9675e55940e83ef77f5c304edc7968 \
-H ’Content-Type: application/json’ \
-d ’ {
"merchantRefNum": "demo-1",
"amount":10098,
"settleWithAuth": true,
"card": {
"cardNum": "4111111111111111",
"cardExpiry": {
"month": 2,
"year": 2027
},
"cvv": 123
},
"authentication": {
"eci": 5,
"cavv": "AAABCIEjYgAAAAAAlCNiENiWiV+=",
"threeDResult": "Y",
"threeDSecureVersion":"2.1.0",
"directoryServerTransactionId":"a3a721f3-b6fa-4cb5-84ea-c7b5c39890a2"
},
"billingDetails": {
"street": "100 Queen Street West",
"city": "Toronto",
"state": "ON",
"country": "CA",
"zip": "M5H 2N2"
}

} '

curl -X POST https://api.test.paysafe.com/cardpayments/v1/accounts/89987201/auths \
-u devcentre322:B-qa2-0-53625f86-302c021476f52bdc9deab7aea876bb28762e62f92fc6712d0214736abf501e9675e55940e83ef77f5c304edc7968 \
-H ’Content-Type: application/json’ \
-d ’ {
"merchantRefNum": "demo-1",
"amount":10098,
"settleWithAuth": true,
"card": {
"cardNum": "4111111111111111",
"cardExpiry": {
"month": 2,
"year": 2027
},
"cvv": 123
},
"authentication": {
"eci":5,
"cavv":"AAABCIEjYgAAAAAAlCNiENiWiV+=",
"xid":"OU9rcTRCY1VJTFlDWTFESXFtTHU=",
"threeDEnrollment":"Y",
"threeDResult":"Y",
"threeDSecureVersion":"1.0.2",
"signatureStatus":"Y"
},
"billingDetails": {
"street": "100 Queen Street West",
"city": "Toronto",
"state": "ON",
"country": "CA",
"zip": "M5H 2N2"
}

} '

Par défaut, le système de traitement des cartes vérifie qu’il n’y a pas de transactions en double.

Avant d’essayer l’exemple, vous devez :

  • Remplacer le numéro de compte (89987201) dans l’URL par le numéro de compte de test que vous avez reçu.
  • Remplacer la clé API (après le -u) par la clé API que vous avez reçue.

La requête contient les paramètres suivants :

ÉlémentÉlément enfantTypeRequis?Description
merchantRefNum 

string
length<=255

OuiIl s’agit du numéro de référence du marchand, créé par ce dernier, et soumis dans le cadre de la requête. Un numéro de référence unique du marchand doit être fourni pour chaque transaction.
montant 

integer
max=99999999999

OuiIl s’agit du montant de la requête, en unités mineures.
settleWithAuth 

boolean

NoIndique si la requête est une autorisation (pas de règlement) ou un achat (autorisation et règlement). La valeur par défaut est false.
cartecardNum

string
longueur=8-20

OuiIl s’agit du numéro de carte utilisé pour la requête.
cardExpiryobjectOui

Il s’agit de la date d’expiration de la carte. Les paramètres suivants sont requis :

  • month – nombre, longueur=2
  • year – nombre, longueur=4
cvv

string
longueur=3-4

NonIl s’agit du code de sécurité à 3 ou 4 chiffres qui apparaît sur la carte, après le numéro de carte.
authentificationeciintegerOuiIl s’agit du code de l’indicateur de commerce électronique, qui est renvoyé par l’émetteur de la carte indiquant si le titulaire de la carte a été authentifié avec succès.
cavvstring
length<=80
OuiIl s’agit de la valeur de vérification de l’authentification du titulaire de carte, qui est renvoyée par l’émetteur de la carte, indiquant que la transaction a été authentifiée.
threeDResultenumNo

Indique le résultat de l’authentification. Les valeurs éventuelles sont :

  • Y – Le titulaire de la carte s’est authentifié avec succès auprès de l’émetteur de sa carte.
  • A – L’authentification du titulaire de la carte a été tentée.
  • N – Le titulaire de la carte ne s’est pas authentifié auprès de l’émetteur de sa carte.
  • U – L’authentification auprès de l’émetteur de la carte n’était pas disponible.
  • E – Une erreur s’est produite pendant l’authentification.
  • R – Transaction refusée.

La valeur R n’existe que pour 3D Secure 2.

directoryServerTransactionIdstring
length<=36
No

Il s’agit de l’identifiant de transaction de serveur répertoire unique requis pour Mastercard.

Ce champ est obligatoire lorsque l’émetteur de la carte est Mastercard. Existe seulement pour 3D Secure 2.

threeDSecureVersionstring
min=5, max=8
OuiIl s’agit de la version du protocole 3D Secure.
billingDetailsstreet

string
length<=50

NoIl s’agit de la première ligne de l’adresse municipale figurant dans l’adresse de facturation.
city

string
length<=40

NoIl s’agit de la ville figurant dans l’adresse de facturation.
statestring
length<=40
NoIl s’agit de la province ou de l’État ou de la province figurant dans l’adresse de facturation.
countrystring
length=2
NoIl s’agit du pays figurant dans l’adresse de facturation.
zipstring
length<=10
NoIl s’agit du code postal de l’adresse de facturation.

{

"links": [{
"rel": "self",
"href": "https://api.test.paysafe.com/cardpayments/v1/accounts/89987201/auths/ebf6ae3d-88e1-40da-9b98-81044467345b"
}, {
"rel": "settlement",
"href": "https://api.test.paysafe.com/cardpayments/v1/accounts/89987201/settlements/ebf6ae3d-88e1-40da-9b98-81044467345b"
}],
"id": "ebf6ae3d-88e1-40da-9b98-81044467345b",
"merchantRefNum": "demo-1",
"txnTime": "2017-05-01T14:52:35Z",
"status": "COMPLETED",
"amount":10098,
"settleWithAuth": true,
"availableToSettle": 0,
"card": {
"type": "VI",
"lastDigits": "1111",
"cardExpiry": {
"month": 2,
"year": 2027
}
"authentication": {
"eci": 5,
"cavv": "AAABCIEjYgAAAAAAlCNiENiWiV+=",
"threeDResult": "Y",
"threeDSecureVersion":"2.1.0",
"directoryServerTransactionId":"a3a721f3-b6fa-4cb5-84ea-c7b5c39890a2"
},
"billingDetails": {
"street": "100 Queen Street West",
"city": "Toronto",
"state": "ON",
"country": "CA",
"zip": "M5H 2N2"
}

} '

{

"links": [{
"rel": "self",
"href": "https://api.test.paysafe.com/cardpayments/v1/accounts/89987201/auths/ebf6ae3d-88e1-40da-9b98-81044467345b"
}, {
"rel": "settlement",
"href": "https://api.test.paysafe.com/cardpayments/v1/accounts/89987201/settlements/ebf6ae3d-88e1-40da-9b98-81044467345b"
}],
"id": "ebf6ae3d-88e1-40da-9b98-81044467345b",
"merchantRefNum": "demo-1",
"txnTime": "2017-05-01T14:52:35Z",
"status": "COMPLETED",
"amount":10098,
"settleWithAuth": true,
"availableToSettle": 0,
"card": {
"type": "VI",
"lastDigits": "1111",
"cardExpiry": {
"month": 2,
"year": 2027
}
"authentication": {
"eci":5,
"cavv":"AAABCIEjYgAAAAAAlCNiENiWiV+=",
"xid":"OU9rcTRCY1VJTFlDWTFESXFtTHU=",
"threeDEnrollment":"Y",
"threeDResult":"Y",
"threeDSecureVersion":"1.0.2",
"signatureStatus":"Y"
},
"billingDetails": {
"street": "100 Queen Street West",
"city": "Toronto",
"state": "ON",
"country": "CA",
"zip": "M5H 2N2"
}

} '

L’état est défini à COMPLETED et la valeur de availableToSettle est 0 parce que la carte a été débitée automatiquement dans le cadre de la requête, étant donné que le signalement settleWithAuth a été défini sur « true ». Vous pouvez consulter la transaction à tout moment en utilisant le merchantRefNum ou l’identifiant renvoyé dans la réponse.

Les paramètres de réponse non contenus dans la requête sont décrits ci-dessous :

ÉlémentÉlément enfantTypeDescription
links tableau d’objets de lien

Contient un lien self qui peut être utilisé pour obtenir des détails sur l’autorisation.

Contient un lien de règlement qui peut être utilisé pour obtenir des détails sur le règlement (saisie).

Id string
length<=36
Il s’agit de l’identifiant renvoyé dans la réponse.
txnTime 

string

Format UTC

Il s’agit de la date et de l’heure auxquelles la requête a été traitée.
status enum

L’état de l’autorisation associé à cet achat. Les valeurs éventuelles sont :

  • RECEIVED – notre système a reçu la requête et attend la réponse du processeur en aval.
  • COMPLETED – la transaction a été achevée.
  • HELD – la transaction a été mise en attente pour des raisons de risque.
  • FAILED – la transaction a échoué en raison d’une erreur ou d’un refus.
  • CANCELLED – la requête a été entièrement renversée.
availableToSettle integer
max=99999999999
Il s’agit du montant de l’autorisation restant à imputer, en unités mineures.
cartetypeenum

Il s’agit du numéro de carte utilisé pour la requête. Les valeurs éventuelles sont :

  • AM – American Express
  • DC – Discover
  • JC – JCB
  • MC – Mastercard
  • MD – Maestro
  • SO – Solo
  • VI – Visa
  • VD – Visa Débit
  • VE – Visa Electron
lastDigits

string
length=4

Il s’agit des quatre derniers chiffres de la carte utilisée pour la requête.