Saltar al contenido principal

Promesa de pago

Cuando el deudor dice "pago el 15", seguir mandándole cobros hasta esa fecha solo desgasta la relación. La promesa de pago registra ese compromiso y pausa la regla de cobranza hasta la fecha prometida (con un período de gracia corto) — y el propio motor retoma el cobro solo si el pago no llega.

Cómo registrarla

La promesa es una interacción con el desenlace promise_to_pay y una fecha prometida (promise_date), registrada por la API de interacciones (POST /api/v1/interactions) — por ejemplo, al cargar el resultado de una llamada. Opcionalmente, registra también el monto prometido (promised_amount). El alcance depende del vínculo:

  • Con un cobro vinculado (charge_id) — la promesa vale solo para ese cobro.
  • Sin cobro — vale para todos los cobros abiertos de la persona.

Dos reglas evitan ambigüedades:

  • Una fecha prometida en el pasado no tiene efecto: la interacción queda en el historial, pero nada se pausa.
  • Una nueva promesa sustituye a la anterior en el mismo alcance (la antigua se marca como sustituida) — nunca hay dos promesas abiertas disputándose el mismo cobro.

Editar la interacción reconcilia la promesa con los nuevos datos; eliminarla cancela la promesa y retoma la regla.

El efecto en la regla

En el registro, los enrollments activos del alcance se pausan con el motivo promise_to_pay y los envíos pendientes se cancelan — quien prometió pagar no sigue recibiendo cobros. La pausa no es una supresión de compliance: es una cortesía comercial registrada y auditada, que el propio motor deshace cuando el plazo vence.

Cumplida o incumplida

Una verificación diaria (de madrugada) reevalúa las promesas abiertas cuyo plazo pasó. La promesa tiene un período de gracia de 2 días naturales después de la fecha prometida — prometió para el viernes, puede pagar hasta el domingo; el lunes el sistema resuelve:

  • Cumplida — los cobros del alcance fueron pagados (o salieron de escena: negociados, cancelados, dados de baja). La promesa se cierra como cumplida, sin alboroto: el pago en sí ya había cerrado la regla en el momento, por el flujo normal de liquidación.
  • Incumplida — algún cobro del alcance sigue abierto. La regla retoma desde donde quedó (excepto para los cobros cubiertos por otra promesa aún abierta), el webhook charge.promise_broken se emite por cobro y el equipo recibe un aviso en la campana ("Promesa de pago incumplida") para decidir el siguiente paso con el deudor.

El pago antes de la fecha no espera a la verificación: cierra el cobro de inmediato por el flujo normal — la promesa solo se marca como cumplida en el siguiente recorrido.

Auditoría y eventos

El registro, el cumplimiento y el incumplimiento entran en la pista de auditoría (promise.registered, promise.kept, promise.broken), y los webhooks charge.promise_registered y charge.promise_broken avisan a tus sistemas por cada cobro afectado.

No lo confundas

  • Promesa de pago — "voy a pagar hasta el día X". Pausa la regla hasta la fecha + gracia; incumplida, la regla retoma.
  • "Ya pagué" — "esto ya está pagado". Pausa la regla y abre una tarea de verificación de comprobante.
  • Acuerdo — renegociación formal con cuotas. Saca el cobro de la regla mientras el acuerdo esté en pie.