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.

  1. Identifiez le mode (TEST ou PRODUCTION) dans lequel a été créé la transaction en analysant la valeur du champ vads_ctx_mode.
  2. 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.
  3. 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.
    Tableau 1. Valeurs associées au champ vads_trans_status
    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 Marchand.

    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 "ACCEPTED" 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 EXPIRED. Le statut Expiré 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é

    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é.

    INITIAL En attente

    Ce statut est spécifique à tous les moyens de paiement nécessitant une intégration par formulaire de paiement en redirection.

    Ce statut est retourné lorsque :
    • aucune réponse n'est renvoyée par l'acquéreur

      ou

    • le délai de réponse de la part de l'acquéreur est supérieur à la durée de session du paiement sur la plateforme de paiement.

      Ce statut est temporaire. Le statut définitif sera affiché dans le Back Office Marchand aussitôt la synchronisation réalisée.

    NOT_CREATED

    Transaction non créée

    La transaction n'est pas créée et n'est pas visible dans le Back Office Marchand.

    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

    Pour les transactions PayPal, cette valeur signifie que PayPal retient la transaction pour suspicion de fraude.

    Le paiement restera dans l’onglet Transactions en cours jusqu'à ce que les vérifications soient achevées. La transaction prendra alors l'un des statuts suivants: AUTHORISED ou CANCELED.

    Une notification sera envoyée au marchand pour l'avertir du changement de statut (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.

  4. Récupérez la référence du paiement transmise dans le champ vads_trans_id.
  5. Analysez le champ vads_payment_config pour déterminer s'il s'agit d'un paiement comptant (unitaire) ou d'un paiement en plusieurs fois.
    Tableau 2. Analyse du champ vads_payment_config
    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)

    S'il s'agit d'un paiement en plusieurs fois, identifiez le numéro de l'échéance en récupérant la valeur du champ vads_sequence_number.
    Tableau 3. Analyse du champ vads_sequence_number
    Valeur Description
    1 Première échéance
    2 Deuxième échéance
    3 Troisième échéance
    n N échéance
  6. Analysez le champ vads_sequence_number pour connaître le nombre de tentative effectué pour réaliser le paiement.
    vads_payment_config = SINGLE :
    vads_url_check_src vads_sequence_number Description
    PAY 1 Paiement réglé en 1 tentative
    2 Paiement réglé en 2 tentatives
    3 Paiement réglé en 3 tentatives
    BATCH_AUTO 1 Paiement différé réglé en 1 tentative
    2 Paiement différé réglé en 2 tentatives
    3 Paiement différé réglé en 3 tentatives

    Remarque

    Le paiement en plusieurs fois n'est pas compatible avec la fonctionnalité de tentatives supplémentaires en cas de paiement refusé.

  7. Récupérez la valeur du champ vads_trans_date pour identifier la date du paiement.
  8. 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é.
  9. Récupérez le montant et la devise utilisée. Pour cela, récupérez les valeurs des champs suivants:
    Tableau 4. Analyse du montant et de la devise utilisée
    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.
  10. 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 :
    Tableau 5. Valeurs associées au champ vads_auth_result
    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.)
    Pour connaître la raison précise du refus, l’acheteur doit contacter sa banque.
    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,
    • le plafond d’autorisation de la carte est dépassé.
    Pour connaître la raison précise du refus, l’acheteur doit contacter sa banque.
    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.
  11. Récupérez le résultat de l'authentification 3D Secure. Pour cela:
    1. Récupérez la valeur du champ vads_threeds_enrolled pour déterminer le statut de l’enrôlement de la carte.
      Tableau 6. Valeurs du champ vads_threeds_enrolled
      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).
    2. Récupérez le résultat de l’authentification 3D Secure en récupérant la valeur du champ vads_threeds_status.
      Tableau 7. Valeurs 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.
  12. 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 Marchand (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=result2
    Les valeurs possibles pour control sont :
    Tableau 8. Liste des contrôles associés à la fraude
    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 émétteur 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 :
    Tableau 9. Liste des contrôles associés à la fraude
    Valeur Description
    OK OK.
    WARNING Contrôle informatif échoué.
    ERROR Contrôle bloquant échoué.
  13. 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:
    Tableau 10. Analyse de la carte utilisée pour le paiement
    Nom du champ Description
    vads_card_brand Marque de la carte utilisée pour le paiement. ex : CB, VISA, VISA_ELECTRON, MASTERCARD, MAESTRO, VPAY
    vads_brand_management

    Permet de connaître la marque utilisée lors du paiement, la liste des marques disponibles et de savoir si l'acheteur à modifier la marque choisie par le marchand.

    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_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 :
      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.
      Le champ vads_payment_seq (format json) décrit la séquence de paiement fractionné. Il contient les éléments :
      1. "trans_id" : identifiant de la transaction global à la séquence de paiement.
      2. "transaction" : tableau des transactions de la séquence. Les éléments qui le composent sont les suivants :
    Tableau 11. Contenu de l'objet JSON
    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. 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 Marchand 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 Marchand.

    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 Marchand.

    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.
    Remarque : les transactions annulées sont également présentes dans le tableau.
  14. 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.
  15. 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.
  16. Procédez à la mise à jour de la commande.