Traiter les données de la réponse
Ci-dessous un exemple d'analyse pour vous guider pas à pas lors du traitement des données de la réponse.
- Identifiez le mode (TEST ou PRODUCTION) dans lequel a été créé la transaction en analysant la valeur du champ vads_ctx_mode.
- Identifiez la commande en récupérant la valeur du champ vads_order_id si vous l'avez transmis
dans le formulaire de paiement. Vérifiez que le statut de la commande n'a pas déja été mis à jour.
- Récupérez le résultat du paiement transmis dans le champ vads_trans_status. Sa valeur vous permet de définir le statut de la commande.
Valeur Description ABANDONED Abandonné Paiement abandonné par l’acheteur.
La transaction n’est pas créée et n’est donc pas visible dans le Back Office Expert.
ACCEPTED Accepté. Statut d'une transaction de type VERIFICATION dont l'autorisation ou la demande de renseignement a été acceptée.
Ce statut ne peut évoluer.
Les transactions dont le statut est Accepté ne sont jamais remises en banque.
AUTHORISED En attente de remise
La transaction est acceptée et sera remise en banque automatiquement à la date prévue.
AUTHORISED_TO_VALIDATE À valider
La transaction, créée en validation manuelle, est autorisée. Le marchand doit valider manuellement la transaction afin qu'elle soit remise en banque.
La transaction peut être validée tant que la date d'expiration de la demande d'autorisation n’est pas dépassée. Si cette date est dépassée alors le paiement prend le statut Expiré. Ce statut est définitif.
CANCELLED Annulé
La transaction est annulée par le marchand.
CAPTURED Présenté
La transaction est remise en banque.
CAPTURE_FAILED La remise de la transaction a échoué.
Contactez le Support.
EXPIRED Expiré
Ce statut intervient dans le cycle de vie d'un paiement avec capture différée.
La date d'expiration de la demande d'autorisation est atteinte et le marchand n’a pas validé la transaction. Le porteur ne sera donc pas débité.
REFUSED Refusé
La transaction est refusée.
SUSPENDED Suspendu La remise de la transaction est temporairement bloquée par l'acquéreur (AMEX GLOBAL ou SECURE TRADING). Une fois la remise traitée correctement, le statut de la transaction deviendra CAPTURED.
UNDER_VERIFICATION Vérification en cours
En attente de la réponse de l'acquéreur.
Ce statut est temporaire.
Pour les transactions CB ou PPRO, ce statut indique qu'un remboursement a été demandé. Des contrôles sont en cours pour valider le remboursement.
Une notification sera envoyée au site marchand pour l'avertir du changement de statut.
Nécessite l'activation de la règle de notification URL de notification sur modification par batch.
WAITING_AUTHORISATION En attente d'autorisation Le délai de remise en banque est supérieur à la durée de validité de l'autorisation.
WAITING_AUTHORISATION_TO_VALIDATE A valider et autoriser
Le délai de remise en banque est supérieur à la durée de validité de l'autorisation.
Une autorisation 1 EUR (ou demande de renseignement sur le réseau CB si l'acquéreur le supporte) a été acceptée.Le marchand doit valider manuellement la transaction afin que la demande d’autorisation et la remise aient lieu.
- Analysez le champ vads_occurrence_type pour déterminer
s'il s'agit d'un paiement unitaire ou d'un paiement faisant partie d'une série
(abonnement ou paiement en N
fois).
Valeur Description UNITAIRE Paiement unitaire (paiement comptant). RECURRENT_INITIAL Premier paiement d'une série. RECURRENT_INTERMEDIAIRE Énième paiement d'une série. RECURRENT_FINAL Dernier paiement d'une série. - Analysez le champ vads_payment_config pour déterminer s'il s'agit d'un paiement en N fois. S'il s'agit d'un paiement en N fois, identifiez le numéro de l'échéance en récupérant la valeur du champ vads_sequence_number.
Nom du champ Valeur pour un paiement comptant Valeur pour un paiement en plusieurs fois vads_payment_config SINGLE MULTI (dont la syntaxe exacte est MULTI:first=X;count=Y;period=Z)
Attention : avec l'application du Soft Decline, le champ vads_sequence_number ne permet plus d'identifier facilement le premier paiement d'un paiement en N fois. Le premier paiement pouvant prendre un numéro de séquence différent de 1, le numéro de séquence du deuxième paiement ne sera pas forcément 2.
- Récupérez la valeur du champ vads_trans_date pour identifier la date du paiement.
- Analysez le champ vads_payment_option_code pour déterminer s'il s'agit d'un paiement en
plusieurs échéances :
Valeur Description 1 Paiement en 1 échéance 2 Paiement en 2 échéances 3 Paiement en 3 échéances n Paiement en n échéances - Récupérez la valeur du champ vads_capture_delay pour identifier le nombre de jours
avant la remise en banque. Ceci vous permettra d'identifier s'il s'agit d'un paiement immédiat ou différé.
- Récupérez le montant et la devise utilisée. Pour cela,
récupérez les valeurs des champs suivants :
Nom du champ Description vads_amount Montant du paiement dans sa plus petite unité monétaire. vads_currency Code de la devise utilisée pour le paiement. vads_change_rate Taux de change utilisé pour calculer le montant réél du paiement (voir vads_effective_amount). vads_effective_amount Montant du paiement dans la devise réellement utilisée pour effectuer la remise en banque. vads_effective_currency Devise dans laquelle la remise en banque va être effectuée. - Récupérez la valeur du champ vads_auth_result pour connaître le résultat de la
demande d'autorisation. La liste complète des codes renvoyés est consultable dans le dictionnaire de données.Pour vous aider à comprendre le motif du refus, voici une liste des codes fréquemment retournés :
Valeur Description 03 Accepteur invalide
Ce code est émis par l'acquéreur. Il correspond à un problème de configuration sur les serveurs d’autorisation. (ex: contrat clos, mauvais code MCC déclaré, etc..).
Pour connaître la raison précise du refus, le marchand doit contacter sa banque.05 Ne pas honorer Ce code est émis par la banque émettrice de la carte. Il est utilisé dans les cas suivants :
- Date d’expiration invalide,
- CVV invalide,
- crédit dépassé,
- solde insuffisant (etc.)
51 Provision insuffisante ou crédit dépassé Ce code est émis par la banque émettrice de la carte. Il peut être obtenu si l’acheteur ne dispose pas d’un solde suffisant pour réaliser son achat.
Pour connaître la raison précise du refus, l’acheteur doit contacter sa banque.56 Carte absente du fichier Ce code est émis par la banque émettrice de la carte.
Le numéro de carte saisi est erroné ou le couple numéro de carte + date d'expiration n'existe pas.57 Transaction non permise à ce porteur Ce code est émis par la banque émettrice de la carte. Il est utilisé dans les cas suivants :
- l’acheteur tente d’effectuer un paiement sur internet avec une carte de retrait,
Pour connaître la raison précise du refus, l’acheteur doit contacter sa banque.- le plafond d’autorisation de la carte est dépassé.
59 Suspicion de fraude Ce code est émis par la banque émettrice de la carte. Il peut être envoyé suite à une saisie répétée de CVV ou de date d’expiration erronée.
Pour connaître la raison précise du refus, l’acheteur doit contacter sa banque.60 L’accepteur de carte doit contacter l’acquéreur
Ce code est émis par l'acquéreur. Il correspond à un problème de configuration sur les serveurs d’autorisation. Il est utilisé lorsque le contrat commerçant ne correspond pas au canal de vente utilisé. (ex : une transaction e-commerce avec un contrat VAD-saisie manuelle).
Contactez le service client pour régulariser la situation.81 Le paiement non sécurisé n'est pas admis par l'émetteur
Ce code est émis par la banque émettrice de la carte. Sur réception de ce code, la plateforme de paiement réalise automatiquement une nouvelle tentative de paiement avec authentification 3D Secure quand cela est possible.
- Récupérez le résultat de l'authentification du porteur. Pour
cela:
- Récupérez la valeur du champ vads_threeds_enrolled pour déterminer le statut
de l’enrôlement de la carte.
Valeur Description Vide Processus 3DS non réalisé (3DS désactivé dans la demande, marchand non enrôlé ou moyen de paiement non éligible au 3DS). Y Authentification disponible, porteur enrôlé. N Porteur non enrôlé. U Impossible d’identifier le porteur ou carte non éligible aux tentatives d’authentification (ex. Cartes commerciales ou prépayées). - Récupérez le résultat de l’authentification du porteur
en récupérant la valeur du champ vads_threeds_status.
Valeur Description Vide Authentification 3DS non réalisée (3DS désactivé dans la demande, porteur non enrôlé ou moyen de paiement non éligible au 3DS). Y Porteur authentifié avec succès. N Erreur d’authentification du porteur. U Authentification impossible. A Tentative d’authentification mais authentification non réalisée.
- Récupérez la valeur du champ vads_threeds_enrolled pour déterminer le statut
de l’enrôlement de la carte.
- Récupérez le résultat des contrôles associés à la fraude en
identifiant la valeur du champ vads_risk_control. Ce champ est envoyé uniquement si le marchand
a:
- souscrit au service "Aide à la décision"
- activé au moins un contrôle depuis son Back Office Expert (menu Paramétrage > Contrôle des risques).
Il prend comme valeur une liste de valeurs séparées par un ";" dont la syntaxe est : vads_risk_control = control1=result1;control2=result2Les valeurs possibles pour control sont :Valeur Description CARD_FRAUD Contrôle la présence du numéro de carte de l'acheteur dans la liste grise de cartes. SUSPECT_COUNTRY Contrôle la présence du pays émetteur de la carte de l'acheteur dans la liste des pays interdits. IP_FRAUD Contrôle la présence de l'adresse IP de l'acheteur dans la liste grise d'IP. CREDIT_LIMIT Contrôle la fréquence et les montants d'achat d'un même numéro de carte, ou le montant maximum d'une commande. BIN_FRAUD Contrôle la présence du code BIN de la carte dans la liste grise des codes BIN. ECB Contrôle si la carte de l'acheteur est de type e-carte bleue. COMMERCIAL_CARD Contrôle si la carte de l'acheteur est une carte commerciale. SYSTEMATIC_AUTO Contrôle si la carte de l'acheteur est une carte à autorisation systématique. INCONSISTENT_COUNTRIES Contrôle si le pays de l'adresse IP, le pays émetteur de la carte de paiement, et le pays de l'adresse de l'acheteur sont cohérents entre eux. NON_WARRANTY_PAYMENT Transfert de responsabilité. SUSPECT_IP_COUNTRY Contrôle la présence du pays de l'acheteur, identifié par son adresse IP, dans la liste des pays interdits. Les valeurs possibles pour result sont :Valeur Description OK OK. WARNING Contrôle informatif échoué. ERROR Contrôle bloquant échoué. - Récupérez le type de carte utilisé pour le paiement. Deux cas de figures peuvent se présenter:
- Pour un paiement réalisé avec une seule carte. Les champs à traiter sont les suivants :
Nom du champ Description vads_acquirer_network Code du réseau acquéreur vads_card_brand Marque de la carte utilisée pour le paiement. ex : CB,VISA, VISA_ELECTRON, MASTERCARD, MAESTRO, VPAY vads_card_number Numéro de la carte utilisée pour réaliser le paiement. vads_expiry_month Mois d’expiration entre 1 et 12 (ex: 3 pour mars, 10 pour octobre). vads_expiry_year Année d’expiration sur 4 chiffres (ex : 2023). vads_bank_code Code de la banque émettrice vads_bank_label Nom de la banque émettrice vads_bank_product Code produit de la carte vads_card_country Code Pays du pays d’émission de la carte (Code alpha ISO 3166-2 ex :"FR" pour la France, "PF" pour la Polynésie Française, "NC" pour la Nouvelle Calédonie, "US" pour les Etats-Unis.). - Pour un paiement fractionné (c'est-à-dire une
transaction utilisant plusieurs moyens de paiement), les champs à
traiter sont les suivants :Le champ vads_payment_seq (format json) décrit la séquence de paiement fractionné. Il contient les éléments :
Nom du champ Valeur Description vads_card_brand MULTI Plusieurs types de cartes sont utilisés pour le paiement. vads_payment_seq Au format json, voir détails ci-dessous. Détails des transactions réalisées. - "trans_id" : identifiant de la transaction global à la séquence de paiement.
- "transaction" : tableau des transactions de la séquence. Les éléments qui le composent sont les suivants :
Nom du paramètre Description amount Montant de la séquence de paiement.
operation_type Opération de débit.
auth_number Numéro d'autorisation.
Ne sera pas retourné si non applicable au moyen de paiement concerné.
Exemple : 949478
auth_result Code retour de la demande d'autorisation. capture_delay Délai avant remise (en jours). - Pour un paiement par carte bancaire, la valeur de ce paramètre tient compte du délai en nombre de jours avant la remise en banque. Si ce paramètre n'est pas transmis dans le formulaire de paiement, la valeur par défaut définie dans le Back Office Expert sera utilisée.
card_brand Moyen de paiement utilisé.
Pour un paiement par carte bancaire (exemple CB ou cartes CB cobadgées Visa ou Mastercard), ce paramètre est valorisé à "CB".
Se référer au guide d'intégration du formulaire de paiement disponible sur notre site documentaire pour visualiser la liste complète des types de carte.
card_number Numéro du moyen de paiement.
expiry_month Mois d'expiration du moyen de paiement.
expiry_year Année d'expiration du moyen de paiement.
payment_certificate Certificat de paiement. contract_used Contrat utilisé pour le paiement. identifier Identifiant unique (token/alias) associé à un moyen de paiement. identifier_status Présent uniquement si l’action demandée correspond à la création ou à la mise à jour d'un alias. Valeurs possibles :Valeur Description CREATED La demande d’autorisation a été acceptée.
L'alias (ou RUM pour un paiement SEPA) est créé avec succès.
NOT_CREATED La demande d’autorisation a été refusée.
L'alias (ou RUM pour un paiement SEPA)n'est pas créé et n'apparaîtra pas dans le Back Office Expert.
UPDATED L'alias (ou RUM pour un paiement SEPA)est mis à jour avec succès. NOT_UPDATED L'alias (ou RUM pour un paiement SEPA)n'a pas été mis à jour. ABANDONED Action abandonnée par l'acheteur (débiteur).
L'alias (ou RUM pour un paiement SEPA)n'est pas créé et n'apparaîtra pas dans le Back Office Expert.
presentation_date Pour un paiement par carte bancaire, ce paramètre correspond à la date de remise en banque souhaitée (au format ISO 8601).
trans_id Numéro de transaction. ext_trans_id Paramètre absent pour le paiement par carte bancaire.
trans_uuid Référence unique générée par la plateforme de paiement suite à la création d'une transaction de paiement. Offre une garantie d'unicité pour chaque transaction.
extra_result Code numérique du résultat des contrôles de risques. Code Description Vide Pas de contrôle effectué. 00 Tous les contrôles se sont déroulés avec succès. 02 La carte a dépassé l’encours autorisé. 03 La carte appartient à la liste grise du marchand. 04 Le pays d’émission de la carte appartient à la liste grise du marchand. 05 L’adresse IP appartient à la liste grise du marchand. 06 Le code bin appartient à la liste grise du marchand. 07 Détection d’une e-carte bleue. 08 Détection d’une carte commerciale nationale. 09 Détection d’une carte commerciale étrangère. 14 Détection d’une carte à autorisation systématique. 20 Contrôle de cohérence : aucun pays ne correspond (pays IP, pays carte, pays de l’acheteur ). 30 Le pays de l’adresse IP appartient à la liste grise. 99 Problème technique rencontré par le serveur lors du traitement d’un des contrôles locaux. sequence_number Numéro de séquence. trans_status Statut de la transaction. Les transactions annulées sont également présentes dans le tableau. - Enregistrez le type de wallet qui a servi pour le paiement en
récupérant la valeur du champ vads_wallet.
Le champ vads_wallet est présent uniquement lorsqu'un wallet est utilisé pour le paiement.
Valeur du champ Type de wallet APPLE_PAY Apple Pay GOOGLEPAY Google pay - Enregistrez la valeur du champ vads_trans_uuid. Elle vous permettra d'identifier de manière unique la transaction si vous utilisez les API Web Services.
- Récupérez toutes les informations concernant le détail de la
commande, le détail de l'acheteur et le détail de la livraison. Ces données sont présentes dans la réponse que si elles ont été envoyées dans le formulaire de paiement.Leur valeur est identique à celle soumise dans le formulaire.
- Procédez à la mise à jour de la commande.