Traiter les données de la réponse - Paiement différé 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

    • CAPTURED
      Présenté

      La transaction est remise en banque.

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

    • WAITING_AUTHORISATION
      En attente d'autorisation

      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) est réalisée et acceptée par la banque émettrice.

      La demande d’autorisation sera déclenchée automatiquement à J-1 avant la date de remise en banque. Le paiement pourra être accepté ou refusé. La remise en banque est automatique.
    • AUTHORISED_TO_VALIDATE
      À valider et autoriser

      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.

    • 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. Sauvegardez la valeur du champ vads_trans_date pour identifier la date de création de la transaction.
  5. Sauvegardez la valeur du champ vads_presentation_date pour identifier la date de présentation du paiement.
  6. Sauvegardez le montant et la devise utilisés. 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é.
    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 2. 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 du montant de la transaction a été réalisée pour vérifier la validité du moyen de paiement.
    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 les différentes valeurs caractérisant le résultat de la demande d'autorisation, voici une liste des codes fréquemment retournés :

    Tableau 3. 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 = 10  
vads_ctx_mode = TEST
vads_contract_used = merch_1284129052@exemple.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 = 503997  
vads_pays_ip = FR
vads_payment_src = EC  
vads_trans_date = 20170217114705 
vads_amount = 4000  
vads_auth_number : O-6PD69059JK0681518
vads_auth_mode = MARK
vads_version = V2  
vads_payment_certificate = 49b24ff054e61db4ee4475b61e6c706ffe0b0022
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 = O-6PD69059JK0681518 
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 = 
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 = WAITING_AUTHORISATION  
vads_order_id = 496-411
vads_effective_creation_date = 20170217114705
vads_cust_email = nom.prenom@mone-mail.com
vads_warranty_result = NO 
vads_presentation_date = 20170227114705  
vads_result = 00 
vads_ship_to_status = PRIVATE 
vads_ship_to_street = la rue pour effectuer la livraison
vads_risk_control = COMMERCIAL_CARD=OK  
vads_action_mode = INTERACTIVE  
vads_extra_result = 00
vads_threeds_xid =   
vads_threeds_error_code =