Cashier: suscripciones de pago para Emby

Vende suscripciones mensuales o anuales a tu servidor de Emby a través de Stripe; el pago activa la cuenta y el impago la suspende.

Cashier convierte tu servidor de Emby en un servicio de pago. Un visitante se registra, elige un plan, paga con Stripe y la cuenta de Emby se activa en cuanto se confirma el pago; cuando una renovación no se paga, la cuenta se suspende hasta que se paga la factura. Funciona junto con Registration, que aporta la página de registro y crea las cuentas.

Qué hace

  • Planes que defines tú, mensuales y anuales, según el número de streams simultáneos (de 1 a 4 por defecto), cada uno con su propio precio, además de una prueba gratuita opcional para la primera suscripción. Los planes se envían a tu cuenta de Stripe como precios; si cambias un precio se crea uno nuevo, y los suscriptores existentes conservan el suyo hasta que cambien de plan.
  • Pagos con tu propia cuenta de Stripe: los clientes pagan en la página Checkout alojada por Stripe (tarjeta, Apple Pay / Google Pay y los métodos que ofrezca Stripe), así que los datos de la tarjeta nunca pasan por tu servidor. Códigos promocionales, dirección de facturación y Stripe Tax opcionales.
  • El pago sustituye a la aprobación: una cuenta creada con Registration permanece desactivada hasta que Stripe confirma el pago; entonces se activa con el límite de streams del plan. Los visitantes van a la página de planes justo después de registrarse.
  • El impago suspende, nunca borra: tras un pago fallido, la cuenta sigue activa durante un período de gracia (3 días por defecto) mientras Stripe reintenta el cobro, y después se desactiva; al pagar la factura se vuelve a activar. Borrar las cuentas suspendidas desde hace mucho tiempo es opcional y está desactivado por defecto.
  • Control del límite de streams: el límite del plan se fija en la política de usuario de Emby, y la reproducción que lo supera se detiene con un mensaje (se puede desactivar).
  • Página del cliente en tu dirección de Emby: planes, la suscripción actual, el próximo pago y un botón Manage subscription que abre el portal de cliente de Stripe (tarjeta, facturas, cambio de plan, cancelación). Una cuenta suspendida, que no puede iniciar sesión, recibe un enlace de pago firmado válido durante 7 días, por correo o de tu parte. En una TV, la página muestra un código QR para que el cliente pague desde el móvil y la TV continúa sola.
  • Correos a los suscriptores, cada uno con su propio interruptor: recordatorio antes de la próxima factura, recibo, pago fallido, suspensión con el enlace de pago y acceso restablecido. Se envían a través del servidor de correo configurado en Registration, en el idioma que el cliente eligió al registrarse.
  • Administración en el panel de Emby, con pestañas Subscribers, Payments, Plans, Stripe, Settings y Log: suspender, reactivar, eximir del pago, copiar o enviar por correo el enlace de pago, o pedir a una cuenta existente que pague. Las cuentas de administrador nunca se tocan.
  • Estado fiable: los eventos de Stripe se verifican por su firma y se aplican una sola vez; además, Cashier lee los eventos de Stripe cada 15 minutos, así que un webhook perdido no deja una cuenta en un estado incorrecto.

Requisitos

  • Emby Server 4.10.1 o posterior (Linux, Windows o Docker).
  • Registration 1.10 o posterior, instalado y con licencia. Cashier usa su página de registro, sus ajustes de correo y sus cuentas; sin él, Cashier muestra el motivo en su página.
  • Una cuenta de Stripe (abrirla es gratis; Stripe cobra su propia comisión por pago) y el servidor accesible por HTTPS, para la página del cliente y el webhook de Stripe.

Preguntas frecuentes

¿Puedo cobrar por el acceso a mi servidor de Emby? Sí: Registration aporta la página de registro y Cashier la suscripción. Los visitantes eligen un plan, pagan a través de tu cuenta de Stripe y su cuenta se activa al momento; una renovación impagada la suspende. Consulta la guía.

¿Qué significa un «dispositivo» en un plan? Un stream simultáneo: un plan para 2 dispositivos permite que la cuenta reproduzca en dos pantallas a la vez.

Sin una licencia válida de Cashier, ¿qué pasa con los suscriptores existentes? Cashier se detiene: no hay nuevos registros de pago y no cambia ninguna cuenta. No se borra nada; los eventos de Stripe se recogen en cuanto la licencia vuelve a ser válida.

Qué envía y adónde

  • Stripe (api.stripe.com, con la clave secreta o restringida de tu propia cuenta de Stripe), el único proveedor de pagos:
    • Sesión de Stripe Checkout (página alojada por Stripe; suscripción): el precio del plan, las URL de retorno a tu servidor, el id de usuario de Emby, el id del servidor y el nombre de usuario (metadatos), la dirección de correo del cliente (de Cashier o de la solicitud de registro) o el id de cliente de Stripe existente, el idioma; opcional: período de prueba, códigos promocionales, dirección de facturación e impuestos automáticos (desactivados por defecto).
    • La creación del producto y los precios (nombre del servicio, importe, moneda, intervalo, número de dispositivos) y la configuración del Stripe Customer Portal (cambiar tarjeta o plan, facturas, cancelar).
    • El webhook de Stripe hacia tu servidor, solo si pulsas "create webhook automatically" (necesita una dirección HTTPS pública); si no, el servidor lee los eventos de Stripe cada 15 min (no hace falta abrir ningún puerto).
    • La cancelación de la suscripción de Stripe cuando borras un usuario con una suscripción activa.
    • Los datos de la tarjeta nunca llegan a tu servidor: los datos de pago se introducen solo en las páginas de Stripe.
  • Webhook entrante (/Cashier/Stripe/Webhook): firma de Stripe verificada, máximo 256 KB.
  • Correo (a través del SMTP del plugin Registration): al cliente: factura próxima (3 días antes), pago fallido, pago correcto, cuenta suspendida, cuenta reactivada (todos activados por defecto), con el nombre del servicio, el nombre de usuario, el importe, la fecha, el enlace a la factura de Stripe y un enlace de pago firmado (7 días); al administrador: pagos y fallos, por los canales de Registration (correo / Telegram).
  • La página de pago y el QR para la TV los sirve el plugin (QR generado en el servidor, sin recursos externos). La página de administración solo tiene enlaces al Stripe Dashboard.
  • Además, el cliente de licencias, igual en todos los plugins: consulta Licencias y privacidad en nuestros plugins.

Guardado localmente:

  • data/secrets.json (fuera de la configuración que se envía al navegador): clave secreta de Stripe, secreto del webhook, clave HMAC de los enlaces de pago.
  • data/subscriptions.json: por suscriptor: id y nombre de usuario, correo, ids de cliente y de suscripción de Stripe, estado, plan, fechas del período; pagos (id de factura, importe, moneda, resultado, enlace a la factura; máximo 5000), diario (máximo 2000), ids de eventos procesados (30 días).
  • Configuración: planes y precios, ids de Stripe (producto, portal, webhook, cuenta), dirección pública.
  • Conservación: la fila del suscriptor se borra junto con el usuario del servidor; las cuentas suspendidas no se borran automáticamente (por defecto).

Compatibilidad con clientes

  • La suspensión y reactivación de cuentas y el límite de streams simultáneos por plan se aplican en el servidor: 🟢 cualquier cliente.
  • Nota: Emby Web 4.10 ignora la orden "Stop" con la que se detiene la reproducción por encima del límite; la protección real es el límite nativo de streams simultáneos (si Plan Guard está instalado, se encarga él de la vigilancia).
  • Página del cliente (/Cashier/Page): cualquier navegador; los televisores pagan desde el móvil mediante QR. ✅ de extremo a extremo contra un simulador de Stripe (56/56).
  • ❔ Todavía no se ha probado contra el Stripe real en la batería automática (solo con el simulador); apps nativas de Emby: ❔ no probadas.

Leyenda: ✅ verificado (prueba de extremo a extremo o en el dispositivo) · 🟢 en el servidor, funciona con cualquier cliente (por diseño, sin prueba específica para cada cliente) · ➖ no aplicable · ❔ no probado.

Licencia

Una licencia por servidor de Emby. Mensual, anual o de por vida, o incluida en el paquete para Emby. 30 días de prueba gratis. El plugin se distribuye bajo nuestro EULA.

Código de terceros: el generador de códigos QR se basa en la biblioteca QR Code generator de Project Nayuki (licencia MIT).

Derechos sobre el contenido

Cashier cobra a tus usuarios a través de tu propia cuenta de Stripe. Solo tú eres responsable de tener los derechos sobre el contenido o el servicio por el que cobras (por ejemplo, las películas, series o canales de tu servidor); MediaLab Works solo proporciona el software y no es parte de tus ventas. Stripe puede cerrar o restringir una cuenta que cobre por contenido sin tener los derechos: consulta la lista de negocios restringidos de Stripe.

Requisitos

  • Emby Server 4.10.1 o posterior (Linux, Windows o Docker)
  • El plugin Registration 1.10 o posterior, instalado y con licencia
  • Una cuenta de Stripe y el servidor accesible por HTTPS (página de pago y webhook de Stripe)

Última versión

0.1.4
publicada el 20 oct 2026
Ver todos los cambios →

Para descargar necesitas una licencia o la prueba gratuita de 30 días.