Automatizar Pagos y Stripe con n8n: Alertas, Facturas y Prevención de Churn
Manejar pagos manualmente cuando tienes un SaaS o cualquier negocio con cobros recurrentes es una receta para el desastre. Lo digo por experiencia: en los primeros meses de uno de mis proyectos, perdimos clientes simplemente porque no nos dimos cuenta a tiempo de que sus tarjetas habían expirado. Nadie les avisó, el pago falló, y cuando quisimos contactarlos ya se habían ido.
Hoy, con n8n y Stripe trabajando juntos, tengo un sistema que no solo cobra automáticamente, sino que anticipa problemas, envía alertas inteligentes y recupera clientes que están a punto de irse. Te cuento exactamente cómo lo armé.
El problema real con los pagos manuales
No es solo cobrar. Es todo lo que rodea al cobro. Enviar facturas. Detectar pagos fallidos. Contactar clientes morosos. Actualizar accesos cuando alguien cancela. Generar reportes financieros. Cada una de estas tareas parece pequeña, pero sumadas consumen horas y, peor aún, los errores humanos cuestan dinero real.
Las startups que he asesorado en Chile y Latinoamérica tienen un patrón común: empiezan manejando pagos con spreadsheets y emails manuales, y cuando crecen el sistema se rompe. La automatización no es un lujo, es supervivencia.
Configuración inicial: Stripe y n8n
Antes de armar los workflows, necesitas conectar las piezas. Si no tienes n8n todavía, puedes empezar aquí y tener tu instancia lista en pocos minutos.
Para conectar Stripe con n8n:
1. En tu dashboard de Stripe, ve a Developers y luego API Keys
2. Copia tu Secret Key (usa la de test primero para probar)
3. En n8n, ve a Credentials, crea una nueva credencial de Stripe y pega la key
4. Para los webhooks, Stripe necesita una URL pública. n8n Cloud lo maneja automático, si usas self-hosted necesitas un dominio accesible
La conexión es directa y n8n tiene soporte nativo para Stripe, así que no necesitas configuraciones complicadas.
Workflow 1: Alertas inteligentes de pagos fallidos
Este workflow es el que más dinero me ha salvado. Literalmente.
El trigger es un nodo Stripe Trigger configurado para escuchar el evento “invoice.payment_failed”. Cada vez que un pago falla, Stripe envía la información a n8n.
Lo primero que hace el workflow es consultar la información del cliente usando un nodo de Stripe con la acción “Get Customer”. Esto me da el nombre, email, plan y cuánto tiempo lleva como cliente.
Luego un nodo IF evalúa cuántas veces ha fallado el pago. Stripe incluye el campo “attempt_count” en el evento. Si es el primer intento fallido, el flujo es amable: envía un email al cliente diciendo “Oye, tu pago no pasó, probablemente tu tarjeta venció. Actualízala aquí.” con un link directo al portal de billing de Stripe.
Si es el segundo intento, el tono sube un poco: “Tu acceso se suspenderá pronto si no actualizamos tu método de pago.” Y además me notifica a mí por Slack.
Si es el tercer intento, notifica al equipo de ventas para que contacten directamente al cliente. A veces un llamado telefónico recupera clientes que los emails no logran.
Cada rama del IF conecta con nodos de Email (o SendGrid si manejas volumen) y Slack para las notificaciones internas.
Un detalle clave: incluyo un nodo que registra cada intento en Google Sheets. Así tengo un historial de todos los pagos fallidos, cuáles se recuperaron y cuáles no. Esto me da data para mejorar el proceso constantemente.
Workflow 2: Facturación automática
Cada vez que se procesa un pago exitoso, este workflow genera y envía la factura sin que nadie mueva un dedo.
El trigger escucha el evento “invoice.payment_succeeded” de Stripe. Cuando llega, un nodo de Stripe obtiene los detalles completos de la factura: monto, productos, período, impuestos.
Un nodo Function formatea toda la información en un template de factura. Dependiendo de tu país, acá puedes incluir la lógica fiscal correspondiente. En Chile, por ejemplo, agrego el formato de factura electrónica que pide el SII.
El workflow genera un PDF usando un nodo HTTP Request que llama a una API de generación de PDFs (yo uso un servicio simple con HTML to PDF). El PDF se envía al cliente por email y se guarda en Google Drive en una carpeta organizada por mes y cliente.
Además, un nodo de Google Sheets registra la transacción en un spreadsheet de contabilidad. Columnas: fecha, cliente, monto, moneda, plan, número de factura. Al final del mes, mi contador tiene todo listo sin que yo haga nada.
Para negocios en Latinoamérica, agrego un nodo adicional que convierte el monto de USD a moneda local usando una API de tipo de cambio. Así las facturas locales muestran el monto en pesos o la moneda que corresponda.
Workflow 3: Prevención de churn
Este es mi favorito porque es proactivo. En vez de esperar a que el cliente cancele, detectamos señales de riesgo y actuamos antes.
Tengo un trigger Cron que corre todos los días a las 8 AM. Lo primero que hace es consultar la API de Stripe para obtener todas las suscripciones activas.
Un nodo Function analiza cada suscripción buscando señales de riesgo. Las señales que monitoreo son: tarjetas que vencen en los próximos 30 días, clientes que downgradearon su plan recientemente, suscripciones con descuento que están por vencer (el cliente va a ver el precio real y puede asustarse), y clientes que llevan más de 30 días sin usar el producto (esto lo cruzo con datos de uso de la app).
Para cada cliente en riesgo, el workflow toma acciones diferentes. Si la tarjeta está por vencer, envía un email recordatorio amigable. Si downgradeó recientemente, envía una encuesta preguntando si necesitan ayuda. Si el descuento vence pronto, notifica al equipo de ventas para que ofrezcan una extensión. Si no usa el producto, envía tips de uso y un link a tutoriales.
Todo queda registrado en un Google Sheet de “health de clientes” donde puedo ver de un vistazo quién necesita atención.
Desde que implementé este workflow, nuestra tasa de churn bajó un 23%. No es magia, es anticipación.
Workflow 4: Sincronización de accesos
Cuando un cliente paga, obtiene acceso. Cuando cancela, lo pierde. Suena simple, pero hacerlo manualmente es propenso a errores y lento.
Este workflow escucha tres eventos de Stripe: “customer.subscription.created”, “customer.subscription.updated” y “customer.subscription.deleted”.
Cuando se crea una suscripción nueva, el workflow verifica el plan contratado y configura los permisos correspondientes en la aplicación. Si tu app usa una base de datos, un nodo HTTP Request actualiza el campo de plan del usuario. Si usas un servicio de autenticación como Auth0, actualiza los roles del usuario vía API.
Cuando se actualiza una suscripción (upgrade o downgrade), ajusta los permisos en tiempo real. Un nodo de Switch evalúa el plan nuevo y aplica los cambios correspondientes.
Cuando se cancela, revoca los accesos y envía un email de “lo sentimos que te vas” con una encuesta de salida y, por qué no, un descuento de retención de último momento.
Este workflow también notifica al equipo por Slack de cada cambio. Un canal dedicado muestra en tiempo real: “Nuevo cliente: empresa X, plan Pro” o “Cancelación: empresa Y, motivo: precio”.
Workflow 5: Reportes financieros automáticos
Cada lunes recibo un resumen financiero de la semana sin pedirlo. Cada primero de mes, un resumen mensual completo.
El trigger Cron dispara la recopilación. Nodos de Stripe en paralelo consultan: ingresos totales del período, nuevas suscripciones, cancelaciones, upgrades, downgrades, pagos fallidos y recuperados.
Un nodo Function calcula métricas clave: MRR (Monthly Recurring Revenue), tasa de churn, ARPU (Average Revenue Per User), y tasa de crecimiento respecto al período anterior.
El resumen se formatea bonito y se envía por Slack al canal de finanzas y por email al equipo de management. Incluye comparación con el período anterior y alertas si alguna métrica se sale del rango normal.
El reporte mensual es más detallado e incluye gráficos generados con una librería de charts vía API. Eso va directo a Google Slides para la reunión mensual de board.
Consideraciones de seguridad
Los pagos son datos sensibles, así que toma precauciones extra:
Nunca guardes números de tarjeta. Stripe se encarga de eso. Tu workflow solo maneja tokens e IDs.
Usa HTTPS siempre. Los webhooks de Stripe deben ir por HTTPS obligatoriamente.
Verifica las firmas de webhook. Stripe firma cada webhook y n8n puede verificar esas firmas. Configúralo para evitar que alguien envíe eventos falsos a tu endpoint.
Limita los permisos del API key. No uses la key con permisos totales. Crea keys restringidas con solo los permisos que necesita tu workflow.
Testea en modo test de Stripe antes de ir a producción. Stripe tiene un modo de pruebas excelente con tarjetas de test que simulan diferentes escenarios.
Conclusión
Automatizar tus pagos con n8n y Stripe no solo te ahorra tiempo, te ahorra dinero. Cada pago fallido que se recupera, cada cliente en riesgo que se retiene, cada factura que se envía sin errores, todo eso va directo a tu bottom line.
Si estás manejando cobros recurrentes y todavía no automatizaste este proceso, te estás perdiendo de mucho. Empieza con n8n, conecta Stripe, y arma al menos el workflow de pagos fallidos. Es el que más impacto inmediato tiene y lo puedes tener funcionando en una tarde.
Tu yo del futuro, y tu contador, te lo van a agradecer.
—
Preguntas Frecuentes
¿Funciona n8n con otros procesadores de pago además de Stripe?
Sí. n8n tiene integraciones nativas con PayPal y se puede conectar con prácticamente cualquier procesador que tenga API o webhooks, como MercadoPago (muy usado en Latinoamérica), Conekta, o dLocal. La lógica de los workflows es la misma, solo cambian los nodos de conexión y los formatos de los eventos. Lo que sí te digo es que Stripe tiene la mejor integración nativa en n8n.
¿Cómo manejo diferentes monedas y tipos de cambio en los workflows?
Agrego un nodo HTTP Request que consulta una API de tipos de cambio como exchangeratesapi.io o el API del Banco Central de Chile. El nodo Function recibe la respuesta y convierte los montos antes de generar facturas o reportes. Para facturación legal, uso el tipo de cambio del día de la transacción y lo registro junto con el monto en ambas monedas.
¿Es seguro manejar datos de pago a través de n8n?
Sí, siempre y cuando sigas las mejores prácticas. n8n no almacena números de tarjeta porque eso lo maneja Stripe directamente mediante tokens. Lo que circula por n8n son IDs de cliente, montos e información de suscripción. Igual, asegúrate de usar HTTPS, verificar firmas de webhook y restringir permisos de las API keys. Si usas n8n Cloud, la infraestructura ya viene con encriptación y certificaciones de seguridad.