Facturación
El módulo de facturación es un libro contable por inquilino para la facturación SaaS propia de un proyecto. El dinero se almacena como céntimos enteros. Es opcional: habilítalo en el gestor de plugins (sus tablas siempre existen; las rutas devuelven 404 hasta que se habilita).
El libro contable
customers— tus clientes finales (external_id, email, nombre).plans—price_cents,currency,interval(mes/año/vitalicio),features[].subscriptions— estadotrialing/active/past_due/canceled, cliente + plan vinculados.invoices—draft/open/paid/void, importes en céntimos.events— un registro de auditoría de solo anexado.
Proveedores de pago
Las credenciales de proveedor viven por proyecto; la api_key y el webhook_secret se sellan en reposo. Tipos integrados: paddle (Paddle Billing) y mock para pruebas.
Webhooks
Los eventos entrantes llegan a POST /api/p/{ref}/billing/webhooks/{kind} y se verifican por HMAC contra el secreto de la configuración (el Paddle-Signature: ts=…;h1=… de Paddle, con comparación de tiempo constante, ventana de repetición de 5 minutos). La entrega es idempotente — un (project, kind, event_id) duplicado no hace nada — y cada entrega se refleja en un registro de webhooks que puedes inspeccionar y reenviar.