Traiter les données de la réponse - Paiement comptant immédiat PayPal

Ci-dessous un exemple d'analyse pour vous guider pas à pas lors du traitement des données de la réponse.

  1. Identifiez le résultat du paiement en récupérant la valeur du champ vads_trans_status.
    Tableau 1. Valeurs associées au champ vads_trans_status
    Nom du champ Description Valeur
    vads_trans_status

    Statut du paiement

    Les valeurs possibles sont :
    • CAPTURED
      Présenté

      La transaction est remise en banque.

    • CANCELLED
      Annulé
      Annulation par l'acheteur, l'acquéreur ou par la plateforme.
    • REFUSED
      Refusé
    • 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é.

    • UNDER_VERIFICATION
      Vérification en cours

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

  2. Enregistrez la commande en identifant la valeur du champ vads_order_id si vous l'avez transmis dans le formulaire de paiement.
  3. Enregistrez la référence du paiement en identifiant la valeur du champ vads_trans_id.
  4. Analysez le champ vads_payment_config pour vérifier qu'il s'agit d'un paiement comptant (unitaire).
  5. Sauvegardez la valeur du champ vads_trans_date pour identifier la date du paiement.
  6. Sauvegardez le montant et la devise utilisée. Pour cela, récupérez les valeurs des champs suivants:
    Tableau 2. Champs pour analyser le montant et 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é.
    vads_effective_amount Montant du paiement dans le devise réellement utilisée pour effectuer la remise en banque.
  7. Enregistrez le mode et le résultat de l'autorisation. Pour cela:
    1. Sauvegardez la valeur du champ vads_auth_mode pour identifier le mode dans lequel a été effectué la demande d'autorisation.
      Tableau 3. Valorisations du champ vads_auth_mode
      Valeur Description
      FULL Une demande d’autorisation a été réalisée pour le montant total.
      MARK Une demande de préautorisation d’un montant de 1 EUR (ou demande de renseignement sur le réseau CB si l'acquéreur le supporte) a été réalisée pour vérifier la validité de la carte.
    2. Sauvegardez la valeur du champ vads_auth_result pour connaître le résultat de la demande d'autorisation.

    Pour une autorisation acceptée, le champ vads_auth_result est valorisé à 00.

    Tout autre résultat indique que l'autorisation est refusée.

    Pour vous aider à comprendre le motif du refus, voici une liste des codes fréquemment retournés :

    Tableau 4. Valorisations du champ vads_auth_result
    Valeur Description
    0 Transaction accepted
    10001 Internal error
    10009 Transaction refused for one of the following reasons:
    • The partial refund amount must be less than or equal to the original transaction amount.
    • The partial refund must be the same currency as the original transaction.
    • This transaction has already been fully refunded.
    • You are over the time limit to perform a refund on this transaction (60 days).
    10422 Customer must choose new funding sources. The customer must return to PayPal to select new funding sources.
    10486 This transaction couldn't be completed. Please redirect your customer to PayPal.
    13113 The Buyer cannot pay with PayPal for this transaction. Inform the buyer that PayPal declined the transaction and to contact PayPal Customer Service.
  8. Enregistrez le moyen de paiement utilisé pour le paiement en récupérant la valeur du champ vads_payment_card.
  9. Sauvegardez 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.
  10. Sauvegardez la valeur du champ vads_authent_paypal_protection_eligibility pour connaître le type de protection en vigueur pour la transaction.
    Trois valeurs possibles :
    • ELIGIBLE
      Le marchand est protégé par le règlement sur la Protection des Marchands PayPal pour les paiements non autorisés et les objets non reçus.
    • PARTIALLY_ELIGIBLE
      Le marchand est protégé par le règlement sur la Protection des Marchands PayPal pour les objets non reçus.
    • INELIGIBLE
      Le marchand n'est pas protégé par le règlement sur la Protection des Marchands PayPal.
Exemple de formulaire:
vads_capture_delay = 0  
vads_ctx_mode = TEST
vads_contract_used = merch_1284129052_biz@ma-societe.com  
vads_auth_result = 00  
vads_threeds_cavv =  
vads_cust_country = FR
vads_operation_type = DEBIT  
vads_threeds_cavvAlgorithm =
vads_threeds_exit_status =
vads_cust_name = Ma-societe
vads_threeds_enrolled =  
vads_currency = 978   
vads_language = fr  
vads_sequence_number = 1
vads_trans_id = 502840  
vads_pays_ip = FR
vads_payment_src = EC  
vads_trans_date = 20170217100817  
vads_amount = 4000  
vads_auth_number :
vads_auth_mode = FULL
vads_version = V2  
vads_payment_certificate = 4e3b2536e2aea84fa6cbbdc7694095d823910a48
signature = 1d03e967c14abb853c1ae2ba98495c2cc40628ca  
vads_threeds_eci =    
vads_card_country = 
vads_ship_to_street_number = le numéro de la rue pour effectuer la livraison 
vads_cust_address_number = le numéro de la rue
vads_ship_to_name = le nom de livraison
vads_cust_address = le nom de la rue
vads_effective_amount = 4000  
vads_ext_trans_id = 3GE25312T3314040N  
vads_validation_mode = 0  
vads_site_id = 91335531
vads_card_brand = PAYPAL_SB  
vads_threeds_sign_valid =
vads_threeds_status =  
vads_ship_to_zip = 31670 
vads_cust_city = le nom de la ville
vads_ship_to_street2 = la rue pour effectuer la livraison
vads_ship_to_country = FR
vads_page_action = PAYMENT  
vads_ship_to_city = la ville de livraison
vads_cust_zip = 31670
vads_card_number = cust2_1282667599_per@mon-email.com  
vads_payment_config = SINGLE  
vads_authent_paypal_protection_eligibility = ELIGIBLE
vads_trans_status = CAPTURED  
vads_order_id = nkj-055
vads_effective_creation_date = 20170217100817
vads_presentation_date = 20170217100817
vads_warranty_result = NO  
vads_cust_email = trash@mon-email.com  
vads_result = 00 
vads_ship_to_status = PRIVATE 
vads_ship_to_street = la rue pour effectuer la livraison
vads_risk_control = CARD_FRAUD=OK;COMMERCIAL_CARD=OK  
vads_action_mode = INTERACTIVE  
vads_extra_result = 00
vads_threeds_xid =   
vads_threeds_error_code =