Skip to main content
Payment Retries vuelve a cobrar automáticamente los pagos de renovación de suscripciones fallidos según un calendario con intervalos progresivos. Cuando un reintento tiene éxito, la suscripción vuelve a active, sin ninguna acción del cliente ni trabajo de integración.

¿Qué Son los Reintentos de Pago?

Cuando falla un pago de renovación de una suscripción, la suscripción pasa a on_hold o a past_due si estableces un período de gracia. Con Payment Retries activado, Dodo Payments vuelve a cobrar el método de pago guardado del cliente según un calendario hasta que el cobro tiene éxito o se cierra la ventana de recuperación. Los reintentos recuperan los ingresos perdidos por fallos temporales, como una retención temporal en la tarjeta, fondos insuficientes que el cliente añade posteriormente o un error de red transitorio. El cliente no recibe ningún correo electrónico ni necesita cambiar nada.
Payment Retries se aplica únicamente a los pagos de renovación de suscripciones. El primer pago de una suscripción (configuración del mandato), los pagos únicos, los cargos por cambio de plan y los cargos bajo demanda no se reintentan.

Cómo Funcionan los Reintentos de Pago

1

Renewal fails

Falla un pago de renovación de una suscripción y la suscripción pasa a on_hold o a past_due durante un período de gracia.
2

Retryability check

Dodo Payments comprueba el código de error del fallo. Los soft declines, como fondos insuficientes, un rechazo genérico o un error de procesamiento o de red, se pueden reintentar. Los hard declines terminan la cadena de reintentos, porque otro intento no cambiará el resultado. Un fallo sin código de error cuenta como un hard decline.
3

Scheduled retry

Si el rechazo se puede reintentar y el siguiente intento cabe dentro de la ventana de recuperación, Dodo Payments lo programa. Cada reintento es un cobro off-session al método de pago guardado del cliente, y cada intervalo se cuenta desde el fallo anterior.
4

Recovery

En el primer reintento exitoso, la suscripción vuelve a active y la siguiente fecha de facturación se desplaza a un período de facturación después del reintento exitoso. Si la ventana se cierra antes de que ningún reintento tenga éxito, los reintentos se detienen y la suscripción conserva su estado, como on_hold.

Configuración de Reintentos de Pago

Activa y configura Payment Retries en Settings → Recovery en tu dashboard.
Página de Configuración de Recuperación con la opción de habilitar activada y un campo de ventana de recuperación (días) configurado en 13

Payment Retries settings under Settings → Recovery

La página tiene dos ajustes: La ventana de recuperación comienza cuando se crea la factura de la renovación fallida. Dodo Payments programa un intento únicamente si la suma de todos los intervalos hasta ese intento cabe dentro de la ventana y solo mientras la ventana siga abierta.

Calendario de reintentos

Los intervalos entre reintentos aumentan progresivamente. Dodo Payments realiza hasta 8 intentos, siempre que cada uno quepa dentro de tu ventana de recuperación:
La ventana predeterminada de 13 días cubre los intentos del 1 al 5, porque el intento 5 se realiza aproximadamente 10,5 días después del fallo. Para ejecutar los intentos posteriores, más espaciados, aumenta la ventana: el intento 6 necesita al menos 16 días, el intento 7 al menos 23 días y el intento 8 el máximo de 30 días.

Transiciones del estado de la suscripción

Los reintentos mueven la suscripción entre estos estados:
Cuando se cancela una suscripción, su cadena de reintentos termina y no se realizan más intentos. Cualquier otro estado (on_hold, past_due, expired, pending, failed) continúa reintentándose, porque la factura de renovación abierta es una deuda correspondiente a un período que el cliente ya utilizó. Los reintentos también se detienen cuando la factura se paga de otra manera, por ejemplo, después de que el cliente actualiza su método de pago o cuando añades al cliente a tu blocklist.
Estas transiciones emiten los eventos de webhook estándar de suscripción, por lo que tu lógica de derechos de acceso no necesita un tratamiento específico para los reintentos:

Subscription Webhook Payloads

Consulta los esquemas completos de payload de webhook para los eventos del ciclo de vida de la suscripción.

Fallos reintentables y no reintentables

El código de error del fallo más reciente determina si la cadena continúa:
Reintentar un hard decline no cambiará el resultado, por lo que la cadena termina en cuanto se produce un hard decline. Combina Payment Retries con Subscription Dunning para solicitar al cliente un nuevo método de pago en esos casos. Para consultar el tipo de cada código, consulta Transaction Failures.

Reintentos bajo demanda

No tienes que esperar al siguiente intento programado. Mientras una suscripción esté en on_hold, puedes enviar un reintento desde la página de detalles del pago fallido en el dashboard o mediante POST /payments/{payment_id}/retry. Los reintentos manuales se ejecutan independientemente del calendario: no consumen ni desplazan un intento automático y funcionan incluso cuando Payment Retries está desactivado. Consulta Manual Payment Retry.

Payment Retries frente a Dunning

Payment Retries y Subscription Dunning recuperan distintos tipos de fallos: Activa ambos para obtener la mayor cobertura: los reintentos automáticos detectan los fallos transitorios y dunning recupera a los clientes cuyo método de pago debe reemplazarse.

Relacionado

Manual Payment Retry

Envía un reintento de inmediato en lugar de esperar al siguiente intento programado.

Subscription Dunning

Secuencias de correos electrónicos que solicitan a los clientes que actualicen su método de pago.

Abandoned Cart Recovery

Recupera checkouts abandonados o fallidos con correos electrónicos de recuperación.

Subscriptions

Los estados de la suscripción entre los que se mueven los flujos de recuperación.

Subscription Webhooks

Reacciona a los eventos subscription.on_hold y subscription.active.
Última modificación el 26 de septiembre de 2026