AAdvanced Subscriptions
Funcionalidades Precio Docs Changelog Contacto — English
Iniciar sesión Comprar el plugin →
Ciclo de vida · 6 min de lectura

Cómo funcionan las renovaciones

Una renovación es el evento más importante en la vida de una suscripción — el momento en que se cobra al cliente otra vez. Esta página recorre lo que ocurre, de principio a fin: programación, cobro off-session, ruta de éxito, ruta de fallo y dónde mirar cuando algo va mal.

Última revisión 2026-05-27 Plugin v2.0.0

El ciclo de renovación en un párrafo

Cuando creas una suscripción, el plugin programa la siguiente renovación en Action Scheduler (el job runner de WooCommerce). A la hora programada, el job en cola se dispara, el plugin crea un nuevo pedido de renovación y llama a la pasarela para cobrar el token guardado off-session. Si el cobro tiene éxito, el pedido pasa a procesando/completado, la suscripción sigue active y se programa una nueva renovación. Si falla, la suscripción pasa a on-hold, se programan reintentos con backoff exponencial y salen emails de dunning.

El scheduler: Action Scheduler

Cada renovación programada es un job de Action Scheduler con el hook aswc_scheduled_subscription_payment (o el equivalente específico de pasarela del módulo payment-bridges). Puedes inspeccionar la cola en:

WooCommerce → Estado → Acciones programadas.

Filtra por el prefijo de hook aswc_* para ver solo los jobs relacionados con suscripciones. Cada fila muestra estado (pending / in-progress / complete / failed), la hora programada y los parámetros (típicamente el ID de la suscripción).

Cobro off-session

A la hora programada, el plugin intenta cobrar el método de pago guardado sin el cliente presente. Los profesionales de pagos lo llaman "off-session". Dos consecuencias:

  • La pasarela necesita soportar tokenización (guardar el método de pago en el checkout inicial para reutilizarlo). Las cuatro pasarelas con soporte nativo lo hacen.
  • La transacción se marca como MIT (Merchant-Initiated Transaction) en los esquemas de tarjeta. SCA / 3DS sigue aplicando pero por la ruta de exención MIT en vez de retar al cliente.

Ruta feliz

  1. El job programado se dispara.
  2. El plugin crea un pedido de renovación con los mismos artículos e importes que la suscripción.
  3. El plugin llama a la pasarela para cobrar el token guardado.
  4. La pasarela devuelve éxito. El pedido pasa a procesando o completado.
  5. El plugin actualiza la fecha del próximo pago al siguiente intervalo (o día ancla).
  6. Sale el email de factura de renovación.
  7. Se dispara el hook aswc_after_renewal_paid.

Ruta de fallo

  1. La pasarela devuelve declinado (fondos insuficientes, tarjeta caducada, reto 3DS requerido sin cliente presente, etc.).
  2. La suscripción pasa a on-hold.
  3. El plugin programa un reintento. Política por defecto: 3 intentos con backoff exponencial (1 día, 3 días, 7 días). Configurable en admin (ver Reintentos).
  4. Sale el email de dunning "Renovación fallida" al cliente con un botón para pagar manualmente.
  5. Si el cliente paga manualmente (o el siguiente reintento funciona), la suscripción vuelve a active.
  6. Si todos los reintentos fallan, la suscripción pasa a cancelled. El ajuste aswc_after_no_failed_attempt_cancel controla el umbral.

Forzar una renovación manualmente

Para tests o para una remediación puntual, puedes forzar que una renovación se ejecute ya mismo:

  1. Abre la suscripción en WooCommerce → Suscripciones.
  2. Cambia la Fecha del próximo pago a un momento dentro del próximo minuto y guarda.
  3. Espera al siguiente tick de Action Scheduler, o dispáralo manualmente desde WooCommerce → Estado → Acciones programadas.

Alternativamente, en Acciones programadas, encuentra el job pendiente de esa suscripción y haz clic en Ejecutar. La renovación se dispara inmediatamente.

Cambios entre renovaciones

El plugin lee el estado actual de la suscripción en el momento de la renovación — no en el momento de la compra original. Por tanto:

  • Cambiar la dirección del cliente actualiza los impuestos en la próxima renovación.
  • El cliente cambia método de pago desde Mi Cuenta → la siguiente renovación usa el nuevo método.
  • El admin cambia el precio en la pantalla de detalle de la suscripción → la siguiente renovación usa el nuevo precio (diferente de cambiar el precio del producto, que no se propaga).
  • El cliente dispara un cambio de plan → la siguiente renovación es el precio y cadencia del nuevo plan, con prorrateo opcional.

Hooks relevantes