Stripe
Configura el webhook de Stripe hacia alloop con los diez eventos necesarios, incluido invoice.paid, sin el cual las renovaciones no se cuentan.
El fragmento de tu web sabe de dónde viene cada persona; Stripe sabe cuánto pagó. El webhook une las dos mitades desde el servidor, así que la venta se cuenta aunque el navegador del cliente falle, cierre la pestaña o bloquee scripts.
1. Crea el webhook en Stripe
En el panel de Stripe, Desarrolladores → Webhooks → Añadir endpoint. La URL es la tuya, con tu identificador de academia:
https://track.alloop.ch/webhooks/stripe/tu-academia2. Selecciona los diez eventos
Este es el paso donde se pierde dinero si se hace a medias. Selecciona los diez:
checkout.session.completed
checkout.session.async_payment_succeeded
invoice.paid
invoice.payment_failed
charge.refunded
charge.dispute.created
customer.subscription.created
customer.subscription.updated
customer.subscription.deleted
customer.subscription.resumedSin invoice.paid tus renovaciones no existen
Es el error más caro y el más silencioso. Con checkout.session.completed a secas, la primera
venta de una suscripción se cuenta y ninguna renovación después. El panel parece funcionar
—las altas entran— mientras tu MRR y tu LTV se quedan cortos mes a mes, y el churn parece mejor
de lo que es. Si solo revisas una cosa de esta página, que sea que invoice.paid está marcado.
Comprueba lo que quedó configurado de verdad, no lo que creías marcar:
stripe webhook_endpoints list --limit 5
# o para uno concreto:
stripe webhook_endpoints retrieve we_XXXXEn enabled_events deben salir los diez.
3. Comprueba que el aviso viaja
Con la CLI de Stripe puedes dispararlo sin cobrar a nadie:
stripe trigger checkout.session.completedEn Webhooks → tu endpoint → Intentos recientes, la entrega debe figurar como 200. Si sale
en rojo, el detalle del error viene en la misma pantalla.
4. Haz una compra real de prueba
Entra a tu web desde un enlace marcado, compra con un nombre reconocible como test-alloop
y confirma dos cosas:
- Stripe marca la entrega del webhook como correcta.
- En tu panel aparece la venta con el mismo importe que ves en Stripe, y con su origen.
Cuando los dos importes coinciden, el círculo está cerrado. Una venta no existe hasta verla en el panel.
Si vendes también con tu propio Checkout
Si tu web usa Stripe Checkout por su cuenta (en lugar del checkout de alloop), una suscripción
emite checkout.session.completed y invoice.paid por el mismo cobro. alloop deduplica —el
ingreso no se dobla, el registro es idempotente por cargo—, pero conviene saberlo si ves dos
eventos para una venta.
Y si tu web tiene su propio píxel
Si además llevas un píxel de Meta propio, tendrás la conversión duplicada en Meta (tu píxel y el envío de alloop, sin deduplicar entre ellos). No afecta a tus números en alloop, pero sí a lo que Meta te reporta y, por tanto, a cómo optimiza. Consolídalo en uno.
Varias divisas
Si cobras en más de una moneda (por ejemplo euros y francos), cada venta llega en la moneda en que se cobró. Sumar divisas distintas da un total que engaña, así que el panel las separa. Mira cada moneda por su lado antes de sacar conclusiones de un total único.
Errores comunes
| Síntoma | Causa probable | Arreglo |
|---|---|---|
| Las altas se cuentan, las renovaciones no | Falta invoice.paid | Paso 2: añádelo y verifica con enabled_events |
| El webhook aparece como fallido | URL mal escrita o client_id que no es el tuyo | Revisa la URL del paso 1 |
| La venta llega con importe cero | Está activado un evento que no lleva el detalle del pago | Usa exactamente los diez del paso 2 |
| El total no cuadra con Stripe | Se están sumando divisas distintas | Mira cada moneda por separado |
| La venta entra sin origen | El fragmento no está en la página de compra | Instalación |
Siguiente paso
Si además vendes con una tienda, conecta WooCommerce. Para entender los términos del panel, pasa por el glosario.
Ingresos
Conectar tu pasarela de pago es lo que hace que una venta llegue a tu panel con su importe real y unida al origen que la trajo. alloop mide hoy Stripe y WooCommerce; el aviso viaja del lado del servidor, así que cuenta aunque el navegador falle.
WooCommerce
Configura el webhook de pedidos de WooCommerce hacia alloop, con su clave secreta y el topic correcto. Las ventas de Woo entran solo por aquí.