Lorsqu’un paiement échoue, Dodo Payments vous indique pourquoi grâce à un
error_code standardisé et une error_message lisible par l’homme. Ce guide montre comment lire ces champs, décider si un nouvel essai est valable, et récupérer le paiement sans exposer d’informations sensibles aux clients.Comment Dodo Payments Signale un Échec
Chaque paiement échoué — qu’il s’agisse d’un achat unique ou d’un renouvellement d’abonnement — comporte les mêmes champs d’échec sur l’objet de paiement :error_code et error_message sont null jusqu’à ce qu’un paiement échoue réellement. Vérifiez toujours d’abord status, puis lisez les champs d’erreur.Le webhook payment.failed
Le moyen le plus fiable de détecter un échec est le webhook payment.failed. L’événement encapsule l’objet de paiement complet dans data :
payment.failed payload
error_code et effectue un routage en fonction de celui-ci :
Décider s’il faut réessayer : refus temporaires ou définitifs
Leerror_code vous indique s’il est utile de réessayer avec le même moyen de paiement.
La référence Transaction Failures répertorie le type de refus et l’action recommandée pour chaque
error_code.
Gérer les échecs lors du paiement initial ou du renouvellement
La façon dont vous récupérez l’échec dépend de la présence ou non du client.- At checkout (customer present)
- On subscription renewal (customer not present)
Le client est en train d’effectuer son paiement. Affichez un message clair et laissez-le réessayer immédiatement ou utiliser une autre carte.
requires_payment_method— le client n’a jamais fourni de moyen de paiement : il n’a pas saisi les informations de sa carte ou a été invité à le faire sans donner suite. Il s’agit généralement d’un abandon lors du paiement, et non d’un refus : relancez le client pour qu’il termine son paiement (consultez Récupération des paniers abandonnés).requires_customer_action— une authentification supplémentaire (telle que 3DS) est requise ; demandez au client de l’effectuer. Consultez Gestion de 3D Secure.
Réessayer un paiement échoué
- Abonnements : activez Nouvelles tentatives de paiement d’abonnement pour récupérer les refus temporaires sans travail d’intégration. Vous pouvez également déclencher la récupération en demandant au client de mettre à jour son moyen de paiement via l’API Update Payment Method, qui débite les sommes dues.
- Paiements ponctuels : renvoyez le checkout ou
payment_linkafin que le client puisse réessayer avec un autre moyen de paiement. Les paiements ponctuels ne font l’objet d’aucune nouvelle tentative automatique.
Afficher les erreurs aux clients en toute sécurité
Affichez aux clients un message convivial — jamais leerror_code brut et jamais le error_message destiné au marchand.
Sur les interfaces contrôlées par Dodo Payments — le checkout, le Customer Portal et les e-mails de relance — cette correspondance est déjà effectuée pour vous, y compris le recours à un message générique pour les refus liés à la fraude. Vous n’avez besoin de la correspondance ci-dessous que lorsque vous affichez les échecs dans votre propre produit.
Customer-facing messaging
Articles associés
Transaction Failures
Chaque code de refus, son type et l’action recommandée.
Error Codes
Erreurs d’API et de logique métier qui ne sont pas des refus de carte.
Subscription Payment Retries
Récupération automatique des refus temporaires lors des renouvellements d’abonnement.
Subscription Dunning
Séquences d’e-mails qui permettent de récupérer les refus définitifs.
Payment Webhooks
Schéma complet de la charge utile des événements de paiement.
Testing Failures
Cartes de test qui simulent les refus et les échecs de renouvellement.