Mono Colombia

Pruning

Cómo y cuándo Mono retira las plantillas que ya cumplieron, y qué pasa con sus tokens de pago.

Las plantillas no viven para siempre. Una plantilla que ya nadie paga sigue reteniendo tokens de pago vivos (llaves Bre-B y códigos QR registrados en la red), y eso cuesta dinero y agrega ruido. El pruning es el barrido diario que retira las que ya cumplieron y devuelve sus tokens.

No llamas a nada para que ocurra: Mono lo corre para cada programa con Recaudos habilitado. Lo que tú controlas es cuándo se dispara (la expiración de la plantilla y los periodos de gracia de tu programa) y qué haces cuando pasa (el webhook payin_template_discarded).

Qué hace podable a una plantilla

Cuatro reglas, y la que se dispare queda registrada en prune_reason:

ReglaUna plantilla se poda cuando…Periodo de gracia por defecto
expiredSu expires_at ya pasó.1 día después de expirar
inactivity_without_attemptsNunca recibió un pago y lleva en ready desde que se creó.30 días
inactivity_with_attemptsHa recibido pagos, pero el último ya es demasiado viejo.90 días
deletedLa eliminaste: el delete dispara el mismo desmonte, de inmediato.Ninguno

Los periodos de gracia son valores por defecto, configurables por programa: pídele a Mono alargar o acortar cualquiera de los tres al habilitar Recaudos, o después.

El desmonte corre en dos fases

El pruning no solo cambia un estado: primero hay que devolverle los tokens al proveedor, y solo después se registra el resultado.

  1. Se dan de baja los tokens. Mono le pide al proveedor de cada método descartar los tokens de pago de la plantilla. Desde ese momento la llave Bre-B y su QR dejan de funcionar: ningún pago nuevo puede llegarle a la plantilla.
  2. Se cierra la plantilla. Una plantilla en ready o minimum_paid transiciona a discarded y emite payin_template_discarded. Una plantilla paid conserva su estado paid (ya está consumida) y solo registra los campos de pruning.

Mientras corre el desmonte, tres campos lo rastrean:

CampoQué te dice
prune_statepruning mientras se devuelven los tokens, pruned una vez devueltos.
prune_reasonCuál de las cuatro reglas se disparó.
pruned_atCuándo terminó el desmonte.

Un prune que se atasca (una confirmación del proveedor que nunca llega) lo retoma el barrido del día siguiente, así que los tokens nunca quedan vivos por accidente.

Las intenciones de pago también se limpian

Las intenciones de pago tienen su propio reloj: cada una la cierra su propio job programado cuando se acaba su ventana, y sus tokens se desmontan al llegar a un estado final (successful, failed o expired). El barrido diario también mira las intenciones de pago, pero solo como red de seguridad, para atrapar aquellas cuyo job propio nunca corrió.

Qué hacer al respecto

  • Trata payin_template_discarded como definitivo. Deja de mostrar la llave o el QR de esa plantilla: ya no le van a llegar pagos.
  • Define expires_at a conciencia. Es la única regla de prune que controlas por plantilla; las otras dos dependen de los periodos de gracia de tu programa.
  • No uses la inactividad para cerrar una campaña. Si un recaudo terminó, elimina la plantilla: obtienes el desmonte de inmediato en vez de esperar el periodo de gracia.

Siguientes pasos

  • Plantillas: la entidad que esta página retira.
  • Tokens de pago: lo que se le devuelve al proveedor.
  • Webhooks: los eventos de la plantilla, incluido payin_template_discarded.

En esta página