Portal de miembros y facturación de suscripción
Tu membresía vive en /learn/<slug> — un portal en el que inician sesión tus suscriptores, completamente separado del panel de MailInApp y de cualquier cuenta de Firebase Auth. La facturación funciona como suscripciones reales de Stripe en tu propia cuenta de Stripe conectada, la misma cuenta de Connect que usa el pago del bloque Producto, extendida aquí a Suscripciones/Facturación recurrente.
Reclama tu URL de portal
Bajo Configuración → Portal de membresía, reclama un <slug> (3–40 caracteres, letras minúsculas/números/guiones) — la misma forma de reclamar y renombrar que un identificador de perfil de remitente, solo que en su propio campo. Esta es la URL a la que enlazarás desde campañas y desde cualquier otro lugar donde promociones la membresía; se puede renombrar después sin romper el acceso de los suscriptores existentes.
Configurar precios
También bajo Configuración → Portal de membresía, agrega uno o más planes de suscripción — un nombre, un monto recurrente, y un intervalo mensual o anual, con una prueba gratuita opcional en días. Cada plan corresponde 1:1 a un Price de Stripe en tu cuenta conectada. Los planes no se pueden eliminar una vez creados (los Prices de Stripe tampoco se pueden eliminar), solo archivar — un plan archivado desaparece de la página pública de suscripción pero sigue siendo válido para cualquiera que ya lo tenga, así que archivar nunca corta el acceso a los suscriptores existentes.
El flujo de suscripción
/learn/<slug>/subscribe?plan=<planId> es la página pública a la que enlazas desde una campaña. Elígela como destino de enlace para un bloque de botón, o usa el preset integrado del estudio Suscribirse (encabezado + texto + botón, la misma forma de "componer bloques existentes, sin un nuevo tipo de bloque" que el preset Marcador del vertical de equipo deportivo).
Un visitante elige un plan y paga a través de una sesión real de Stripe Checkout en modo de suscripción. Al completarse, se crea o se emparienta por correo una fila de Subscriber, y se envía un correo de bienvenida con un enlace directo al portal.
Iniciar sesión sin una cuenta de MailInApp
Un suscriptor nunca crea una cuenta de MailInApp. Iniciar sesión en /learn/<slug> es un enlace mágico: ingresa su correo, y se le envía un enlace de inicio de sesión de un solo toque a través de tu propio SMTP/marca (no la plantilla predeterminada de Firebase). Este paso está limitado por tasa y deliberadamente nunca revela si ese correo ya está suscrito. Al hacer clic en el enlace se demuestra que es el propietario de la dirección y se inicia sesión en el portal para esa membresía específica.
Ver una lección
Cada solicitud de reproducción de una lección ejecuta una verificación de derecho de acceso en vivo por solicitud — no un enlace firmado de larga duración como usan los endpoints de cuenta regresiva o calendario. Cada vez que un suscriptor abre una lección, MailInApp verifica su estado de suscripción actual antes de crear un token de reproducción de corta duración. Perder el acceso (una suscripción cancelada o vencida) tiene efecto en la siguiente solicitud, no solo en la siguiente carga de página. Una lección marcada como vista previa gratuita omite esta verificación por completo y se reproduce para cualquiera que llegue al portal.
Administrar una suscripción existente
/learn/<slug>/account le da a un suscriptor con sesión iniciada un botón Administrar facturación que lo remite al propio Portal de clientes alojado de Stripe — actualizar una tarjeta, cambiar de plan, o cancelar — en lugar de que MailInApp reimplemente la administración de suscripciones por su cuenta.
Qué sucede en los eventos de facturación
- El pago se completa → se crea o empareja la fila del suscriptor, se activa la suscripción, se envía el correo de bienvenida con un enlace al portal.
- El pago falla → al suscriptor le llega un correo de cobro pendiente que apunta a
/learn/<slug>/accountpara actualizar su tarjeta, mientras Stripe reintenta el cobro automáticamente — MailInApp no cambia el acceso ante el primer fallo, solo una vez que el propio Stripe reporta que la suscripción ya no está activa. - La suscripción se cancela (por el suscriptor, o después de que se agotan los reintentos de cobro pendiente) → el acceso a las lecciones y sesiones en vivo restringidas termina, y se envía un correo de cancelación con un enlace de vuelta a
/learn/<slug>/subscribepor si quiere volver a entrar.
Relacionado
- Resumen de la membresía de aprendizaje
- Cursos, lecciones y video
- Sesiones en vivo y webinars
- Dominio de portal personalizado — sirve tu portal desde tu propio dominio en lugar de
mailinapp.com/learn/<slug> - Bloque Producto — para una compra única en lugar de una membresía recurrente
- Perfil de remitente