alloop
Ingresos

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-academia

2. 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.resumed

Sin 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_XXXX

En 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.completed

En 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:

  1. Stripe marca la entrega del webhook como correcta.
  2. 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.

Si vendes más de un producto en la misma cuenta de Stripe

Tu cuenta de Stripe es tuya: puedes crear los productos y los enlaces de pago que quieras sin pedir permiso ni avisar a nadie. Un taller suelto, unas clases particulares, una sesión privada, un pase para un evento. Eso no rompe nada, y el dinero de esas ventas es íntegramente tuyo: la comisión de la comunidad solo se aplica a los cobros de la comunidad, no a todo lo que pase por la cuenta.

Lo que sí conviene saber es cómo se separan esas ventas en tu panel:

  • Las ventas de tu comunidad (tus planes mensual, trimestral y anual) cuentan como ingreso de comunidad, dan acceso automático y alimentan las conversiones de tus campañas.
  • Las ventas de tus otros productos se registran igual —las ves en tu panel, con su importe y su fecha— pero aparte: no suman al ingreso de la comunidad, no dan acceso a la comunidad y no se envían como conversión a Meta o Google.

Esa separación importa para tus propios números. Si un taller de 35 € se contara como venta de comunidad, tu ingreso recurrente parecería mayor de lo que es, y tus campañas aprenderían a buscar compradores de talleres pensando que busca miembros de la comunidad.

Si lanzas un plan nuevo de la comunidad, dínoslo

Cuando creas un precio nuevo para la comunidad (una promoción de lanzamiento, un plan de fundador, una tarifa distinta), avísanos para darlo de alta. Mientras no esté dado de alta, esas ventas se registran como "otro producto": las ves en tu panel, pero no suman a tu ingreso de comunidad ni dan acceso automático. Es un ajuste de un minuto por nuestra parte, y se puede aplicar con efecto retroactivo sobre las ventas ya hechas.

Un precio nuevo que cuelgue de tu producto de comunidad ya existente se reconoce solo; el aviso hace falta cuando creas un producto nuevo.

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íntomaCausa probableArreglo
Las altas se cuentan, las renovaciones noFalta invoice.paidPaso 2: añádelo y verifica con enabled_events
El webhook aparece como fallidoURL mal escrita o client_id que no es el tuyoRevisa la URL del paso 1
La venta llega con importe ceroEstá activado un evento que no lleva el detalle del pagoUsa exactamente los diez del paso 2
El total no cuadra con StripeSe están sumando divisas distintasMira cada moneda por separado
La venta entra sin origenEl fragmento no está en la página de compraInstalación
Una venta de la comunidad aparece como "otro producto"Es un precio nuevo que aún no está dado de altaAvísanos: se da de alta y se aplica a las ventas ya hechas
Un taller o clase suelta suma a tu ingreso de comunidadEse producto está dado de alta como comunidadAvísanos para separarlo

Siguiente paso

Si además vendes con una tienda, conecta WooCommerce. Para entender los términos del panel, pasa por el glosario.

En esta página