error_code estandarizado y un error_message legible. Esta guía muestra cómo leer esos campos, decidir si se debe reintentar y recuperar el pago de forma segura.
Cómo Dodo Payments Informa un Fallo
Cada pago fallido incluye estos campos en el objeto de pago:error_code y error_message son null hasta que falla un pago. Comprueba siempre status primero.El webhook de payment.failed
El webhook payment.failed es la forma más fiable de detectar un fallo. El evento incluye el objeto de pago completo en data:
payment.failed payload
error_code y determina la ruta en función de su valor:
Decide si reintentar: rechazos temporales frente a definitivos
error_code te indica si vale la pena reintentar con el mismo método de pago.
Consulta Transaction Failures para ver la lista completa de tipos de decline y las acciones recomendadas.
Gestión de fallos durante el checkout y durante la renovación
La forma de recuperar el pago depende de si el cliente está presente.- At checkout (customer present)
- On subscription renewal (customer not present)
El cliente está realizando el checkout. Muestra un mensaje claro y permite que reintente o use otra tarjeta.
requires_payment_method— el cliente nunca proporcionó un método de pago. Normalmente se trata de un abandono del checkout, no de un decline. Vuelve a contactar con el cliente para que complete el pago (consulta Recuperación de carritos abandonados).requires_customer_action— se necesita autenticación adicional (como 3DS). Haz que el cliente la complete. Consulta 3D Secure.
Reintentar un pago fallido
Suscripciones: Activa Subscription Payment Retries para recuperar automáticamente los soft declines. Para reintentar de inmediato en lugar de esperar al momento programado, usa Manual Payment Retry desde el dashboard o la API. También puedes activar la recuperación haciendo que el cliente actualice su método de pago mediante la Update Payment Method API, que cobra cualquier importe pendiente. Pagos únicos: Reenvía el checkout opayment_link para que el cliente pueda intentarlo de nuevo con otro método. No hay reintentos automáticos para pagos únicos.
Mostrar errores a los clientes de forma segura
Muestra a los clientes un mensaje claro y amigable, nunca elerror_code sin procesar ni el error_message dirigido al merchant.
En las superficies controladas por Dodo Payments (checkout, Customer Portal y correos de dunning), esta asignación ya está hecha, incluido el uso de un mensaje genérico como alternativa para los declines relacionados con fraude. Solo necesitas la asignación siguiente cuando muestres los fallos en tu propio producto.
Customer-facing messaging
Relacionado
Transaction Failures
Cada código de decline, su tipo y la acción recomendada.
Error Codes
Errores de la API y de la lógica de negocio que no son declines de tarjeta.
Subscription Payment Retries
Recuperación automática de soft declines en renovaciones de suscripciones.
Subscription Dunning
Secuencias de correo que recuperan hard declines.
Payment Webhooks
Esquema completo del payload de los eventos de pago.
Testing Failures
Tarjetas de prueba que simulan declines y fallos de renovación.