Cobro fallido y vínculo de pagos de Stripe
Aplica a las suscripciones de FIA Ventas y FIA Agéntica que se cobran por Stripe. Dos cosas pasan solas: el pago le da (o le renueva) el acceso al alumno, y si un cobro falla hay un plazo de 7 días para regularizarlo antes de que se cierre el acceso.
El pago se vincula solo
Cuando Stripe cobra una factura, la plataforma reconoce el programa por el nombre del producto ("FIA Ventas ...", "FIA Agéntica ...") y busca la cuenta del alumno por el mail con el que pagó.
- FIA Ventas: el acceso queda activo hasta el fin del período pagado (con 2 días de margen). Un pago nunca acorta un acceso que ya era más largo (por ejemplo, una extensión de cortesía).
- FIA Agéntica: el acceso queda activo y sin vencimiento mientras la suscripción esté al día.
- En Stripe se deja la marca de a qué cuenta y programa pertenece la suscripción, así las renovaciones siguientes la reconocen sin depender del mail.
- Los productos de FIA Empresas y de consultoría no entran en este flujo.
Si no hay una cuenta con ese mail
El pago queda como pago sin vincular y le llega un aviso al CSM y a Axel. Pasa cuando la persona pagó con un mail distinto al de su cuenta, o todavía no se registró. Se resuelve de dos formas:
- Si la persona se registra con el mail con el que pagó, se vincula sola en la corrida diaria.
- Desde
/admin/cobrosel CSM escribe el mail de su cuenta y toca Vincular y dar acceso.
Cuando un cobro falla
El primer cobro fallido abre un caso con un plazo de 7 días. Los reintentos que haga Stripe en ese plazo no abren casos nuevos. Si el cobro se logra, el caso se resuelve solo y el acceso no se toca.
| Cuándo | Qué pasa |
|---|---|
| Día 0 | Mail al alumno con un botón para pagar con otra tarjeta y la fecha límite. Mail al CSM y a Axel, y aviso de Sofía en el grupo. |
| Día 3 y día 5 | Recordatorio al alumno. |
| 24 h antes del cierre | Aviso previo al CSM y a Axel (mail y Sofía), y último aviso al alumno. |
| Día 7 | Se cancela la suscripción en Stripe y se cierra el acceso a ese programa. Aviso al alumno y al equipo. |
El cierre nunca ocurre sin el aviso previo: si el sistema estuvo caído y el plazo venció de más, primero sale el aviso y el cierre espera a la corrida siguiente (al menos 18 horas después).
Antes de cerrar, el sistema vuelve a mirar Stripe: si la suscripción figura al día, resuelve el caso
en lugar de cerrarlo. Los accesos manuales (equipo, vip) no se cierran solos: se avisa al equipo.
La primera factura de una suscripción nueva que falla no abre caso: esa persona nunca tuvo acceso.
El panel /admin/cobros
Lo ven el CSM y los admins (también está en el menú como Cobros en riesgo).
- Fallas de cobro: cada caso con el motivo del banco, los días que faltan y los avisos ya enviados. Botones: Extender 7 días (corre el plazo y vuelve a exigir el aviso previo), Ya está al día (lo cierra como resuelto) y Cerrar ahora.
- Pagos sin vincular: con el campo para vincular a una cuenta, o Descartar.
- Últimos 30 días: lo que se resolvió o se cerró.
Lo que corre por atrás
- El webhook de Stripe (
/api/billing/webhook) abre los casos y vincula los pagos. - El cron diario
cobros-fallidos(parte del crondaily) manda los recordatorios, el aviso previo, cierra los casos vencidos y reintenta vincular los pagos sin cuenta. - Los casos viven en la tabla
cobros_casos.