Billing y suscripciones
Bongga cobra a cada tenant una suscripción de plataforma desde una única cuenta de Mercado Pago del operador. Por BYOK, la IA y el WhatsApp/Meta los paga el cliente directo; Bongga solo cobra la suscripción. El sistema de registro del billing es el control-plane.
- Proveedor de pago como Strategy (
SubscriptionProvider): Mercado Pago hoy, swappable a Stripe/Paddle mañana sin tocar el caso de uso. - Mercado Pago preapproval (suscripción recurrente). El pagador autoriza en el
init_pointde MP — nunca tocamos datos de tarjeta (sin PCI). - Bold se mantiene solo para pagos únicos (no tiene suscripciones).
Seguridad de pagos
Sección titulada «Seguridad de pagos»- Webhook firmado: HMAC-SHA256 del
x-signaturede MP (comparación en tiempo constante); falla cerrado si no hay secret. - Anti-replay: ventana de 5 minutos sobre el timestamp firmado.
- Idempotencia: ledger
cp_subscription_eventsconUNIQUE(provider, external_event_id)+X-Idempotency-Keyal crear. Un webhook repetido no re-aplica estado. - No se confía en el body: el recurso se re-consulta a la API de MP.
- Validación de monto/moneda: un pago solo marca
paidsi esapproved, enCOPy su monto coincide con el precio del plan. Mismatch se registra pero no da acceso. - Auditoría de cada transición.
Gestión desde el ops-portal
Sección titulada «Gestión desde el ops-portal»En la sección Suscripciones, el operador puede por workspace:
- Crear suscripción (abre el checkout de Mercado Pago).
- Sincronizar estado con Mercado Pago (reconciliación).
- Cancelar la suscripción.
- Ver el historial de eventos/pagos.
Activación
Sección titulada «Activación»Variables de entorno del control-plane: MERCADOPAGO_ACCESS_TOKEN y MERCADOPAGO_WEBHOOK_SECRET.
Sin ellas, el módulo queda deshabilitado sin romper nada. Webhook a configurar en MP:
/api/v1/webhooks/mercadopago.