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í.
Las ventas de WooCommerce llegan a alloop únicamente por este webhook. El fragmento de tu web no lee la página de "pedido recibido": si el webhook no está, tendrás visitas y ningún ingreso de la tienda, y no lo notarás hasta que eches cuentas.
1. Crea el webhook
En WooCommerce → Ajustes → Avanzado → Webhooks → Añadir webhook:
| Campo | Valor |
|---|---|
| Estado | Activo |
| Tema (topic) | Pedido actualizado (order.updated) |
| URL de entrega | https://track.alloop.ch/webhooks/woo/tu-academia |
| Secreto | La clave que te damos al montar tu cuenta |
| Versión de la API | WP REST API v3 |
El tema es «Pedido actualizado», no «Pedido creado»
Un pedido se crea antes de que el pago se confirme. Con order.created contarías intentos
de compra en lugar de compras, incluidos los que nunca se pagan. order.updated es el que avisa
cuando el pedido pasa a pagado — y también cuando se reembolsa o se cancela, que es información
que quieres.
2. El secreto tiene que coincidir exactamente
alloop verifica la firma de cada aviso con ese secreto. Si no coincide, la petición se rechaza
con un 400 y esa venta no entra. Ojo con los espacios al pegar: sobra o falta un carácter
invisible más veces de lo que parece.
3. Comprueba que llega
Haz un pedido de prueba a nombre de test-alloop y entrando por un enlace marcado. En
WooCommerce → Webhooks → tu webhook → Registro de entregas debe aparecer con respuesta
200.
Si prefieres verlo desde consola:
wp wc webhook list --user=admin --fields=id,status,topic,delivery_urlWooCommerce desactiva los webhooks que fallan
Tras varias entregas con error, Woo pone el webhook en pausa por su cuenta y deja de intentarlo. Si un día dejan de entrar ventas de la tienda sin motivo aparente, comprueba antes que nada que el webhook sigue en «Activo».
Qué se cuenta y cómo
| Estado del pedido | Qué registra alloop |
|---|---|
completed / processing | Una compra, con su importe |
refunded | Un reembolso, que descuenta del total |
failed | Un pago fallido |
cancelled | Un pedido cancelado (no cuenta como baja de suscripción) |
Un pedido cancelado en Woo es un pago único que se abandonó sin pagarse, no alguien que se dio de baja. Se registra aparte a propósito: mezclarlo con las bajas ensuciaría tu churn con carritos abandonados.
Reentregas y duplicados
Si Woo reenvía el mismo aviso (algo normal ante un error de red), la venta no se duplica: cada pedido se registra una sola vez por su número. Puedes reintentar una entrega sin miedo a inflar tus números.
Las ventas de la tienda van separadas
Los productos de WooCommerce se contabilizan aparte de las ventas de tu comunidad. Así el panel no mezcla una suscripción mensual con la venta suelta de un libro: son negocios distintos y sumarlos daría un LTV sin sentido.
Errores comunes
| Síntoma | Causa probable | Arreglo |
|---|---|---|
| Ninguna venta de la tienda llega | El webhook no existe o quedó en pausa | Paso 1; revisa que esté «Activo» |
El registro muestra 400 | El secreto no coincide | Vuelve a pegarlo, sin espacios sobrantes |
El registro muestra 404 | La URL lleva un identificador que no es el tuyo | Revisa la URL del paso 1 |
| Se cuentan compras que nadie pagó | El tema es order.created | Cámbialo a Pedido actualizado |
| Las ventas entran sin origen | El fragmento no está en las páginas de la tienda | Instalación |
Siguiente paso
Si además cobras suscripciones, conecta Stripe. Para entender los términos del panel, pasa por el glosario.
Stripe
Configura el webhook de Stripe hacia alloop con los diez eventos necesarios, incluido invoice.paid, sin el cual las renovaciones no se cuentan.
Marcar enlaces
Un enlace marcado es lo que hace que una venta llegue a tu panel sabiendo de dónde vino. Aquí aprendes las cuatro etiquetas de un enlace y por qué marcarlo antes de compartirlo no es opcional.