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_brokense 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.