Search Overlay

Traiter un achat

POST /cardpayments/v1/accounts/account_id/auths

Cette requête API vérifie que le compte d’un client est valide et que les fonds disponibles sont suffisants pour couvrir le coût de la transaction. Les fonds sont « retenus » et déduits de la limite de crédit du client (ou de son solde bancaire, dans le cas d’une carte de débit), mais ne sont pas encore transférés au marchand. En fin de journée, Paysafe Group soumet les règlements à l’état PENDING à l’acquéreur dans le cadre d’un transfert par lots, ce qui lance le processus de règlement.

Les fonds sont transférés du compte du client au compte du marchand, et la transaction peut ne pas apparaître sur le relevé de compte du client ou sur l’activité du compte en ligne avant un ou deux jours; le dépôt des fonds sur le compte du marchand peut prendre jusqu’à trois jours ouvrables.

Pour effectuer un achat, vous devez initier une requête POST au point de terminaison auths.

Par défaut, un montant est autorisé sur la carte et une requête de règlement ultérieure est nécessaire pour débiter le client. Toutefois, en définissant le marqueur settleWithAuth sur « true » le système de traitement des cartes débite automatiquement la carte dans le cadre de la même requête. Pour appliquer la fonctionnalité de paiements fractionnés, vous devez définir ce marqueur sur « true ».

Si vous expédiez des articles physiques, vous devez utiliser le paramètre par défaut pour autoriser l’achat avant de débiter la carte, et n’effectuer le règlement qu’une fois les articles expédiés.

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
},
"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.
  • Fournir un numéro de référence unique pour chaque transaction.

Le montant est spécifié en unités mineures de la devise du compte marchand définies à l’aide du paramètre de l’URL account_id. Par exemple, pour traiter 10,99 $ US, cette valeur doit être 1099. Pour traiter 1 000 yens japonais, cette valeur doit être 1 000. Pour traiter 10 139 dinars tunisiens, cette valeur doit être 10139.

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

Oui

Il s’agit du montant de la requête, en unités mineures. Utilisez le montant correct des unités mineures pour la devise du compte. Par exemple, pour traiter 10,99 $ US, cette valeur doit être 1099. Pour traiter 1 000 yens japonais, cette valeur doit être 1 000. Pour traiter 10 139 dinars tunisiens, cette valeur doit être 10139.

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
NoIl s’agit du code de sécurité à 3 ou 4 chiffres qui apparaît sur la carte, après le numéro de carte.
billingDetailsstreetstring
length<=50
NoIl s’agit de la première ligne de l’adresse municipale figurant dans l’adresse de facturation.
citystring
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
}
},
"authCode":"114974",
"billingDetails":{
"street":"100 Queen Street West",
"city":"Toronto",
"state":"ON",
"country":"CA",
"zip":"M5H2N2"
},
"merchantDescriptor":{
"dynamicDescriptor":"Test",
"phone":"123-1234123"
},
"currencyCode":"CAD",
"avsResponse":"MATCH",
"settlement" : {
"links": [
{
"rel": "self",
"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": "PENDING",
"amount": 10098,
"availableToRefund": 0
}
}

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 de cet achat.

Contient un lien de règlement qui peut être utilisé pour obtenir des informations sur le règlement (saisie) associé à cet achat.

Id string
length<=36
Identifiant unique pour cette opération d’achat. Cet identifiant peut être utilisé pour consulter le résultat de l’autorisation et du règlement (saisie) associés à cet achat.
txnTime stringIl s’agit de l’heure et de la date de la transaction au format TUC.
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 restant à régler. Le marchand doit vérifier que cette valeur est égale à 0 pour confirmer que l’autorisation a été entièrement réglée (saisie).
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.
authCode string
length<=50
Il s’agit du code d’autorisation renvoyé par la banque émettrice.
merchantDescriptordynamicDescriptor

string
length<=20

Il s’agit d’un descripteur de marchand qui sera affiché sur le relevé de carte du client.
Vous pouvez soit envoyer cette information dans la requête, soit demander à Paysafe Group de configurer une valeur par défaut pour ce paramètre pour votre compte.

phone

string
length<=13

Il s’agit du numéro de téléphone du marchand, qui sera ajouté au descripteur du marchand sur le relevé de carte du client.
Vous pouvez soit envoyer cette information dans la requête, soit demander à Paysafe Group de configurer une valeur par défaut pour ce paramètre pour votre compte.

currencyCode string
length=3

Il s’agit du code de devise à trois chiffres du compte marchand spécifié dans le paramètre URL de requête account_id.

avsResponse enum

Il s’agit de la réponse du service de vérification d’adresse (SVA) de l’émetteur de la carte :

  • MATCH
  • MATCH_ADDRESS_ONLY
  • MATCH_ZIP_ONLY
  • NO_MATCH
  • NOT_PROCESSED
  • UNKNOWN

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.

settlementslinkstableau d’objets de lien

Ce paramètre contient un lien « self » unique qui peut être utilisé pour obtenir des détails sur le règlement (saisie).

Idstring
length<=36
Il s’agit de l’identifiant unique du règlement (saisie). Cet identifiant peut être utilisé pour consulter les détails du règlement.
merchantRefNumstring
length<=255
Il s’agit du numéro de référence du marchand.
txnTimestringIl s’agit de l’heure et de la date de la transaction au format TUC.
statusenum

L’état du règlement. Les valeurs éventuelles sont :

  • RECEIVED – notre système a reçu la requête et attend la réponse du processeur en aval.
  • PENDING – notre système a reçu la requête, mais elle n’a pas encore été mise en lot.
  • PROCESSING – la création du lot de règlement a commencé.
  • COMPLETED – la transaction a été achevée.
  • FAILED – la transaction a échoué en raison d’une erreur ou d’un refus.
  • CANCELLED – la requête de transaction a été annulée.
montantinteger
max=99999999999
Il s’agit du montant imputé, en unités mineures.
availableToRefundinteger
max=99999999999
Il s’agit du montant en unités mineures disponible pour le remboursement. Le paramètre availableToRefund sera 0 si le règlement échoue (status=FAILED). Si le règlement aboutit, il sera égal au montant.

Séquence de message d’achat

Séquence de message d’achat

Sur cette page