For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /es/docs/web/billing.md (or send Accept: text/markdown).
Pagos y suscripciones
Checkout de Stripe, gestión de planes y la frontera de entitlements.
Elige y prueba tu servicio de pagos
La facturación se encarga de los pagos. Los permisos de acceso se almacenan por separado como derechos. Complete la configuración de la cuenta persistente, luego abra /billing en la aplicación web en ejecución para ver la interfaz del plan. Con BILLING_PROVIDER=local, estás explorando el comportamiento local en lugar de recolectar dinero real.
Elija un proveedor de pago admitido, siga su guía de configuración, cree su propio producto y precio de prueba y copie la configuración del servidor nombrado en apps/web/.env.local.. Guarde y reinicie el servidor web. Complete un pago siguiendo las instrucciones de la zona de pruebas de ese proveedor y luego inspeccione el estado de acceso al espacio de trabajo después de que llegue el webhook del proveedor. Un webhook es el mensaje firmado del proveedor a su servidor sobre un evento de pago.
Una página de éxito por sí sola no desbloquea funciones. Si el pago se completa pero el acceso permanece inactivo, verifique la entrega del webhook del proveedor y el procesamiento de eventos de su servidor antes de repetir el pago. Cancelación de prueba y acceso caducado también. Las compras por teléfono utilizan la configuración separada RevenueCat/tienda, no este pago web.
Facturación web
La aplicación web admite el proveedor de facturación que seleccione con BILLING_PROVIDER; La raya es una opción. Abierto/facturación para planes Web y gestión de suscripciones. Siga la guía del proveedor seleccionado para configurar sus credenciales de servidor, ID de productos o precios y configuraciones de verificación de webhook en la prueba de coincidencia o en el entorno en vivo.
Autoriza mediante derechos
Una redirección al checkout no demuestra que el acceso esté activo. El derecho gestionado por el servidor decide si un espacio de trabajo puede usar una capacidad de pago. Comprueba ese derecho en el límite de la acción, aunque la interfaz ya la oculte.
Verifica el ciclo de vida
Usa eventos de prueba para verificar la activación, las actualizaciones, la cancelación y el manejo de webhooks. Asegúrate de que los eventos repetidos sean seguros y de que un derecho inactivo bloquee las operaciones de pago. Las compras móviles nativas siguen siendo un límite de integración independiente de RevenueCat.
Configuración y ajustes
El catálogo de planes vive en src/product-plans.ts y alimenta la superficie /billing y el paso de onboarding /choose-plan. La facturación se configura del lado del servidor con BILLING_PROVIDER=stripe, STRIPE_SECRET_KEY, los price ids de cada plan e intervalo, y STRIPE_WEBHOOK_SECRET. Lemon Squeezy está disponible como adaptador alternativo.
Los planes basados en asientos usan los selectores editables de asientos (src/seat-count.ts); la cantidad viaja con la sesión de pago para que los asientos facturados coincidan con el espacio de trabajo. Los planes también pueden declarar meteredUsage en src/product-plans.ts para que la tarea por hora billing.usage-report envíe los deltas de usage_counter a los medidores de facturación de Stripe, mientras los propietarios definen presupuestos mensuales de IA y límites estrictos por medidor en Ajustes → Uso (USAGE_METERS en src/usage-meters.ts).
Checkout: POST /api/billing/checkout
Portal: POST /api/billing/portal
Webhook: POST /api/billing/webhook (signature-verified)Flujo de implementación
Una redirección de checkout es solo una intención pendiente — el acceso cambia cuando llega el webhook firmado y el entitlement propiedad del servidor se actualiza. Controla las acciones de pago con la verificación de entitlement en el límite del servidor (entitlement-gate.tsx / entitlement-check.ts) aunque la interfaz ya las oculte.
El portal del cliente gestiona cambios de plan, cancelación y métodos de pago. Mantén el estado de suscripción legible por los miembros del workspace y las compras móviles nativas detrás de la frontera separada de RevenueCat.