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
La manière la plus fiable de détecter un échec est le webhook payment.failed. L’événement enveloppe l’objet de paiement complet dans data :
payment.failed payload
error_code et l’oriente :
Décider de Retenter: Refus Temporaires vs. Définitifs
Leerror_code vous indique si réessayer le même mode de paiement vaut la peine.
La référence Échecs de Transaction liste le type de refus et l’action recommandée pour chaque
error_code.
Gérer les Échecs à la Caisse vs. au Renouvellement
La façon de récupérer dépend de la présence ou non du client.- At checkout (customer present)
- On subscription renewal (customer not present)
Le client est activement en train de passer à la caisse. Affichez un message clair et permettez-lui de réessayer immédiatement ou d’utiliser une autre carte.
requires_payment_method— le client n’a jamais fourni de mode de paiement : il n’a pas saisi les détails de la carte, ou a été invité à le faire et n’a pris aucune mesure. Cela représente généralement un abandon de panier à la caisse, non un refus — réengagez le client pour compléter le paiement (voir Récupération de Panier Abandonné).requires_customer_action— une authentification supplémentaire (comme 3DS) est nécessaire ; faites compléter cela par le client. Voir gestion du 3D Secure.
Réessayer un Paiement Échoué
- Abonnements : Activez Reprises 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 mode de paiement via l’API de Mise à Jour du Mode de Paiement, ce qui prélève les dus en suspens.
- Paiements uniques : Renvoyez la caisse ou
payment_linkpour que le client puisse réessayer avec un autre mode. Il n’y a pas de réessai automatique pour les paiements uniques.
Présenter les Erreurs aux Clients en toute Sécurité
Montrez aux clients un message amical — jamais leerror_code brut.
Customer-facing messaging
Liens Connexes
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 sur les renouvellements d’abonnement.
Subscription Dunning
Séquences d’e-mails qui récupèrent les refus définitifs.
Payment Webhooks
Schéma de charge utile complet pour les événements de paiement.
Testing Failures
Cartes de test qui simulent les refus et les échecs de renouvellement.