Valider une carte de crédit
POST /cardpayments/v1/accounts/account_id/verifications
Cette requête permet de vérifier que la carte du client est valide, mais sans débiter un montant sur la carte. Par exemple, vous pouvez vouloir vérifier une carte de crédit avant de l’ajouter au profil d’un client pour de futures transactions de facturation.
Vous pouvez également utiliser la requête pour vérifier qu’un jeton de paiement, qui représente une carte de crédit, est valide; une vérification que vous devez effectuer avant d’essayer de convertir un jeton temporaire à usage unique en un jeton de paiement permanent. Les jetons à usage unique ne sont valides que 15 minutes et ne sont pas consommés par la vérification.
Voir la rubrique Référence API pour de plus amples renseignements.
Pour procéder à une vérification, vous devez lancer une requête POST vers le point de terminaison des vérifications avec un objet carte contenant les données de la carte que vous souhaitez vérifier.
Voir notre documentation API complète pour une description intégrale des paramètres requis pour la requête de vérification.
curl -X POST https://api.test.paysafe.com/cardpayments/v1/accounts/89987201/verifications \
-u devcentre322:B-qa2-0-53625f86-302c021476f52bdc9deab7aea876bb28762e62f92fc6712d0214736abf501e9675e55940e83ef77f5c304edc7968 \
-H 'Content-Type: application/json' \
-d ' {
"merchantRefNum": "merchant ABC-444",
"card": {
"cardNum": "4111111111111111",
"cardExpiry": {
"month": 2,
"year": 2027
},
"cvv": "123"
},
"profile": {
"firstName": "Joe",
"lastName": "Smith",
"email": "Joe.Smith@canada.com"
},
"billingDetails": {
"street": "100 Queen Street West",
"city": "Toronto",
"state": "ON",
"country": "CA",
"zip": "M5H2N2"
},
"customerIp": "204.91.0.12",
"description": "This is a test transaction"
}'
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 :
- Remplacez 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.
- Fournir un numéro de référence unique pour chaque transaction.
La requête contient les paramètres suivants :
Élément | Élément enfant | Type | Requis? | Description |
---|---|---|---|---|
merchantRefNum | string | Oui | Il 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. | |
carte | cardNum | string | Oui | Il s’agit du numéro de carte utilisé pour la requête. |
cardExpiry | object | Oui | Il s’agit de la date d’expiration de la carte. Les paramètres suivants sont requis :
| |
cvv | string | No | Il s’agit du code de sécurité à 3 ou 4 chiffres qui apparaît sur la carte, après le numéro de carte. | |
profile | firstName | string length<=80 | No | Il s’agit du prénom du client. |
lastName | string length<=80 | No | Il s’agit du nom de famille du client. | |
adresse courriel | string length<=255 | No | Il s’agit de l’adresse courriel du client. | |
billingDetails | street | string | No | Il s’agit de la première ligne de l’adresse municipale figurant dans l’adresse de facturation. |
city | string | No | Il s’agit de la ville figurant dans l’adresse de facturation. | |
state | string length<=40 | No | Il s’agit de la province ou de l’État ou de la province figurant dans l’adresse de facturation. | |
country | string length=2 | No | Il s’agit du pays figurant dans l’adresse de facturation. | |
zip | string length<=10 | No | Il s’agit du code postal de l’adresse de facturation. | |
customerIp | string | No | Il s’agit de l’adresse IP du client. | |
description | string | No | Il s’agit d’une description de la transaction, fournie par le marchand. |
{
"links":[
{
"rel":"self",
"href":"https://api.test.paysafe.com/cardpayments/v1/accounts/99000/verifications/e50e19a6-8edd-44ec-abc4-18d0a97d51d8"
}
],
"id":"e50e19a6-8edd-44ec-abc4-18d0a97d51d8",
"merchantRefNum":"merchant ABC-444",
"card":{
"type":"VI",
"lastDigits":"1111",
"cardExpiry":{
"month":2,
"year":2027
}
},
"authCode":"026189",
"profile":{
"firstName":"Joe",
"lastName":"Smith",
"email":"Joe.Smith@canada.com"
},
"billingDetails":{
"street":"100 Queen Street West",
"city":"Toronto",
"state":"ON",
"country":"CA",
"zip":"M5H 2N2"
},
"customerIp":"204.91.0.12",
"description":"This is a test transaction",
"txnTime":"2017-12-14T15:12:18Z",
"currencyCode":"USD",
"avsResponse":"MATCH",
"cvvVerification":"MATCH",
"status":"COMPLETED"
}
Les paramètres de réponse non inclus dans la requête initiale sont décrits ci-dessous :
Élément | Élément enfant | Type | Description |
---|---|---|---|
links | tableau d’objets de lien | Ce paramètre contient un lien « self » unique qui peut être utilisé pour obtenir des informations sur cette vérification à tout moment. | |
Id | string length<=36 | Il s’agit de l’identifiant unique pour cette opération de vérification. Vous pouvez utiliser cet identifiant pour consulter le résultat de la vérification à une date ultérieure en ajoutant l’identifiant à l’URL de vérification, comme indiqué dans le lien « self ». | |
carte | lastDigits | string | Il s’agit des quatre derniers chiffres de la carte utilisée pour la requête. |
type | enum | Le type de carte utilisé dans la requête. Les valeurs éventuelles sont :
| |
authCode | string length<=50 | Il s’agit du code d’autorisation renvoyé par la banque émettrice. | |
txnTime | string | Il s’agit de l’heure et de la date de la transaction au format TUC. | |
currencyCode | string length=3 | Il s’agit du code à trois chiffres de la devise. Il s’agit de la devise du compte marchand spécifiée dans le paramètre account_id de l’URL de la requête. | |
avsResponse | enum | Il s’agit de la réponse du service de vérification d’adresse (SVA) de l’émetteur de la carte :
L’adresse dans l’objet billingDetails de la requête est vérifiée par rapport à l’adresse que l’émetteur a dans ses dossiers pour la carte. | |
cvvVerification | enum | Il s’agit de la réponse au CVV soumise lors de la requête de transaction. Les valeurs éventuelles sont :
| |
status | enum | Il s’agit de l’état de la vérification. Les valeurs éventuelles sont :
|