Conectar Whop al Hub
1. En Supabase → SQL Editor, corre el archivo supabase-payment-recovery.sql. Crea la tabla payment_failures.
2. En Whop → Developer → Webhooks, suscribe tres eventos: pago fallido, pago exitoso y membresía cancelada.
3. Whop no puede escribir directo en Supabase, así que el webhook apunta a un Zap (Zapier o Make) de dos pasos: Catch Hook, y luego Webhooks → POST a https://TU-PROYECTO.supabase.co/rest/v1/payment_failures con los mismos headers que ya usas en ManyChat: apikey, Authorization Bearer, Content-Type y Prefer return=minimal.
4. El body que manda el Zap (reemplaza los valores por los campos de Whop):
{
"event": "failed",
"client_name": "NOMBRE_DEL_CLIENTE",
"client_email": "EMAIL",
"client_phone": "TELEFONO",
"membership_id": "MEMBERSHIP_ID",
"amount": 29.99,
"reason": "Tarjeta rechazada",
"next_attempt": "FECHA_PROXIMO_INTENTO"
}
Para el cobro exitoso manda lo mismo con "event": "recovered" y el mismo membership_id: el Hub marca la cuenta como recuperada y suma la mensualidad en Finanzas automáticamente. Para cancelaciones usa "event": "canceled".
El Hub revisa la tabla cada 2 minutos, importa lo nuevo y la limpia. Mientras conectas el webhook puedes trabajar la cola agregando cuentas a mano.
Correos automáticos al cliente
El botón Enviar correo de cada cuenta dispara un Zap que le manda al cliente un correo profesional avisándole que su pago falló, con un botón para actualizar su tarjeta.
Zap paso 1: Webhooks by Zapier → Catch Hook. Copia la URL que te da y pégala abajo.
Zap paso 2: Email by Zapier (o Gmail / Outlook con tu dominio) → To: clientEmail, Subject: Tu pago no se procesó — actualiza tu método de pago, Body (HTML): pega la plantilla del archivo email-pago-fallido.html y reemplaza los campos marcados por los campos del Catch Hook.
Campos que manda el Hub: clientName, clientEmail, amountLabel, motivo, fechaFallo, billingUrl, sentBy.
{{ prEmailCfgLabel }}
La tabla payment_failures todavía no existe en Supabase. Corre el SQL del paso 1 y recarga el Hub.