Los cargos fallidos son la fuga silenciosa del ARR. Los emails de Stripe caen en una bandeja compartida. Slack es un mal sitio para emails de clientes e IDs de factura si el canal es amplio. Gotify deja el ping en un servidor que tú corres: push Android, WebUI simple, un application token.
El webhook de Stripe sigue apuntando a AlertHub — misma URL que en las alertas de pagos Stripe con Zapier y la doc de Stripe. Solo añades Gotify en Connections. Critical mapea a prioridad Gotify 8 (sonido); warning a 5. Info no sale del panel.
Gotify debe ser HTTPS y alcanzable desde internet. Una instancia solo en LAN no recibirá nada.
Eventos que merecen paginar
| Evento Stripe | Nivel | Prioridad Gotify | Por qué |
|---|---|---|---|
invoice.payment_failed | Critical | 8 | Facturación recurrente fallida |
payment_intent.payment_failed | Critical | 8 | Cargo one-shot fallido |
customer.subscription.deleted | Warning | 5 | Churn a revisar |
invoice.paid / payment_intent.succeeded | Info | — | Historial, sin sirena |
No pongas PAN ni PII extra en los títulos. Importe, divisa e id de factura bastan en la pantalla de bloqueo.
Configuración (una vez)
- Construye la URL de Stripe (placeholders en la doc de Stripe o el constructor).
- En Stripe: Developers → Webhooks → esa URL, eventos de arriba.
- En Gotify: Apps → crea una app → copia el token → pega
https://tu-gotify/message?token=TU_TOKENen Connections → Gotify.
Los installs en subpath funcionan: https://example.com/gotify/message?token=….
Alerta 1: Factura no cobrada
invoice.payment_failed en critical es el default para SaaS. Título con importe y divisa; descripción con id de factura y un recordatorio de abrir Stripe (no el email del cliente en la notificación si el teléfono es público). La prioridad 8 de Gotify es el punto: el email de dunning no lo es.
Alerta 2: payment_intent.payment_failed one-shot
Un checkout que no termina sigue necesitando humano cuando el carrito es de alto valor. Mismo proyecto AlertHub, segunda URL de webhook Stripe con un ah_title distinto, o una URL y {{type}} en el título. Los intents correctos en info.
Alerta 3: Suscripción borrada
customer.subscription.deleted en warning es cola de revisión, no alarma de incendio. Finanzas puede mirar la WebUI de Gotify; la guardia no necesita prioridad 8 por cada cancelación.
Ideas para sacarle más partido
- Slack después, no en su lugar. Añade Slack a un
#billingprivado si el equipo crece — guardia híbrida. No vuelques Stripe en#general. - Stripe por Zapier/Make. Si ya pasas por automatización, AlertHub como último nodo — n8n/Zapier/Make → Gotify.
- ntfy en vez de Gotify. Misma URL de Stripe, destino ntfy si no montas servidor.
- Rota la app de Gotify, no Stripe. Un token en Connections; Stripe sigue hablando con AlertHub.
Preguntas frecuentes
¿Stripe hace POST a Gotify?
No. Stripe → AlertHub → Gotify.
¿Puedo usar HTTP en la LAN?
No. AlertHub llama desde la nube. Termina TLS en un reverse proxy.
¿Los eventos de test mode paginan producción?
Usa un proyecto AlertHub aparte (o ignora info) para webhooks de test de Stripe.
Siguientes pasos
Mantén el webhook de Stripe, pega una URL de mensaje de Gotify y dispara invoice.payment_failed en test mode.
Relacionado: configuración de Gotify · Pagos Stripe con Zapier · WooCommerce → Gotify