Crea un área de miembros con WebBlocks Memberships

Ofrece cuentas propias a tus visitantes, permíteles unirse a una comunidad gratuita y abre determinadas páginas solo a los miembros autorizados. Después, si necesitas acceso de pago, conecta planes recurrentes mediante los proveedores configurados en Commerce.

Nuestro ejemplo es Northstar Studio. Su paquete gratuito Studio community abre una sala de lectura; Workshop circle está reservado a participantes invitados o suscriptores de pago. Al terminar el recorrido principal, un visitante verificado podrá unirse al paquete gratuito y leer una página protegida. También sabrás asignar una membresía con fechas y preparar un plan mensual de €10.

Esta guía se comprobó con Memberships 0.2.0, WebBlocks CMS 1.105.26 y Commerce 0.16.0. Las capturas usan contenido ficticio de Northstar Studio y un visitante verificado de ejemplo. La inscripción gratuita y el acceso protegido se probaron localmente. La imagen del plan de pago muestra el formulario antes de guardarlo; no se realizó ningún pago real, autorización de comerciante ni renovación automática para estas capturas. Las imágenes están en inglés; los nombres de campos y botones se mantienen en inglés para que coincidan con ellas.

Qué corresponde a cada elemento

Memberships conecta cuatro elementos que conviene distinguir:

Elemento Función Ejemplo
Cuenta de miembro Identifica al visitante y comprueba que controla su dirección de correo. Example member, member@example.test
Paquete Define un grupo de derechos de acceso. Studio community o Workshop circle
Concesión de membresía Da un paquete a un miembro durante un período o sin fecha de fin. Workshop circle del 26 de octubre al 26 de noviembre
Plan de pago y suscripción Define un precio recurrente y registra la autorización y los pagos del miembro. €10 al mes por Workshop circle

La cuenta de visitante es independiente de la cuenta de administrador del CMS. Registrarse como miembro no permite entrar al panel. Un paquete no tiene precio propio: el plan de pago aporta precio, intervalo de facturación y proveedor.

Puedes usar cuentas, paquetes gratuitos, concesiones manuales y páginas protegidas sin Commerce. Las suscripciones de pago recurrente requieren proveedores de Commerce compatibles. Un Commerce Buy Button vende un producto con un pago único; no crea una suscripción recurrente de Memberships.

Para los endpoints y los detalles de integración, consulta la referencia de Memberships. Esta guía sigue las tareas del panel y la pantalla de cuenta del visitante.

Antes de empezar

Aprende el flujo en una instalación de prueba. Necesitas:

  • Un sitio WebBlocks CMS operativo y una cuenta Super admin para instalar el plugin.
  • Una versión compatible: Memberships 0.2.0 requiere CMS ^1.100.0; el catálogo indica PHP 8.4 y Laravel 13. Contrasta los requisitos con tu instalación real.
  • Permiso para gestionar Memberships y editar páginas en el sitio elegido. El plugin aporta un permiso Site Admin; también se aplica la asignación de sitios del usuario.
  • Un dominio canónico del sitio correcto y correo saliente del CMS operativo para la verificación y el restablecimiento de contraseña.
  • Para los planes de pago posteriores: Commerce ^0.16, un proveedor PayPal o SumUp configurado, una dirección de callback HTTPS pública y el programador de Laravel funcionando.

Pide al administrador del alojamiento que compruebe la entrega con un buzón de prueba antes de invitar miembros. El entorno local de las capturas usa cuentas de ejemplo; no demuestra la entrega a un buzón real.

Memberships figura como gratuito en el catálogo de plugins. Las cuentas de comerciante y el procesamiento de pagos son servicios independientes.

1. Instala y activa Memberships

  1. Accede como Super admin y abre System → Plugins.
  2. Selecciona Browse Plugin Catalog y abre Memberships.
  3. Revisa la compatibilidad y la versión seleccionada; elige Install from Catalog.
  4. Abre los detalles del plugin instalado y selecciona Enable Plugin. Los paquetes nuevos empiezan desactivados para que puedas revisarlos.
  5. Comprueba el estado del plugin y el resultado de la preparación de la base de datos antes de invitar visitantes.
Pantalla de plugins con Memberships 0.2.0 activado en WebBlocks CMS 1.105.26

Si tu administrador facilita un ZIP de una versión de confianza, usa Plugin ZIP → Upload Plugin ZIP, revísalo y actívalo. La instalación desde el panel no requiere que el propietario compile el plugin desde su código fuente.

Las versiones actuales del CMS aplican los cambios de base de datos del plugin al instalarlo, actualizarlo y activarlo. Si la preparación falla, resuelve el error antes de continuar. Una advertencia de correo o proveedor es un problema de preparación distinto de la ausencia de tablas.

Abre Memberships en la barra lateral. Confirma el nombre del sitio en la parte superior. En 0.2.0, la URL de gestión acepta ?site_id=...; sin sitio indicado, el panel elige el primero autorizado. En una instalación multisitio, pide al administrador que abra la URL del sitio correcto y comprueba el encabezado antes de cambiar paquetes, cuentas o acceso a páginas. Esta versión no incluye un selector de sitio dentro del formulario de Memberships.

2. Crea un paquete de comunidad gratuito

Un paquete agrupa derechos de acceso. Empieza con uno gratuito para probar el flujo completo de cuentas y acceso sin proveedor de pagos.

En Memberships, desplázate más allá de los paquetes existentes hasta el formulario vacío Packages:

  1. Introduce Studio community en Name.
  2. Introduce Free access to the Northstar Studio member reading room. en Description.
  3. Marca Allow free self enrollment.
  4. Selecciona el botón Save de ese formulario.

El paquete nuevo está activo al crearse. Su formulario guardado muestra Package ID, Active y Allow free self enrollment. Conserva el ID para los siguientes pasos.

Paquete Studio community guardado con Active y Allow free self enrollment marcados

Los visitantes solo ven opciones gratuitas para paquetes activos con inscripción libre. Un visitante verificado puede unirse sin aprobación de un operador ni pago. La inscripción gratuita crea una membresía sin fecha de fin.

Crea un segundo paquete llamado Workshop circle, con la descripción Workshop resources for invited participants. Deja Allow free self enrollment sin marcar. Lo concederás manualmente en el paso 7 o lo conectarás después a un plan de pago.

Mantén desactivada la inscripción gratuita en paquetes que deban requerir pago o invitación. De lo contrario, un visitante verificado podrá obtener el mismo paquete gratis. Un plan de pago separado no anula una concesión gratuita disponible.

3. Ofrece una entrada a la cuenta

Puedes enlazar directamente a /plugins/webblocks-memberships/account o usar bloques nativos en una página normal del CMS.

Crea un borrador llamado Join Northstar Studio o prepara una actualización en fase de revisión para una página de inscripción existente. Usa el mismo sitio que los paquetes. Añade un encabezado y una explicación breve de lo que incluye la membresía; después:

  1. En el slot Main de la página, selecciona Add Block.
  2. Elige My membership account, el bloque nativo de cuenta de Memberships.
  3. Guarda el bloque.
  4. Opcionalmente, añade Available free packages, el bloque nativo de lista de paquetes.
  5. Abre la vista previa de la página.
Bloque nativo de cuenta Memberships en el editor del CMS

El bloque de cuenta muestra un enlace My membership account. Registro, inicio de sesión, restablecimiento de contraseña y gestión de cuenta se realizan en una página separada. El bloque no incrusta un formulario de registro en tu página de contenido.

Página de inscripción de Northstar Studio con enlace de cuenta y paquete gratuito Studio community

El bloque de lista muestra paquetes activos con inscripción gratuita y enlaces Join free package. El visitante aún debe iniciar sesión y verificar su correo para completar la inscripción. Para un enlace permanente en la cabecera, añade un elemento Member account que apunte a la ruta de cuenta; consulta Menús de navegación.

Revisa primero la vista previa y publica la página de inscripción cuando estén listos los textos, enlaces y correos de registro. Una vista previa editorial no es un entorno aislado para las acciones de cuenta: registro, inscripción y solicitudes de facturación utilizan los registros reales de miembros de la instalación.

4. Registra y verifica una cuenta de visitante

Abre el enlace de cuenta en otro perfil del navegador o en una ventana privada. Así distinguirás la sesión del visitante de la del administrador.

Pantalla de cuenta de visitante con formularios Create account, Sign in y Request password reset

El primer formulario pide Name y Email. Intencionadamente, no solicita que el visitante establezca una contraseña antes de demostrar que controla el buzón.

  1. En Create account, introduce un nombre de prueba y un correo que controles.
  2. Selecciona Create account.
  3. Abre el correo de verificación del dominio canónico del mismo sitio.
  4. Sigue el enlace, establece Password y Confirm password, y selecciona Continue.
  5. Vuelve a Sign in e inicia sesión con ese correo y contraseña.

Los enlaces de verificación caducan a las 24 horas. Abrirlos muestra un formulario de confirmación; enviarlo completa la verificación y establece la contraseña. Ver el enlace no lo consume.

Si el correo no llega, revisa spam, el correo saliente del CMS y el dominio canónico. Usa la opción de reenvío cuando esté disponible en el flujo de cuenta. Para una cuenta pendiente, Request password reset envía un enlace de verificación, no evita la comprobación del buzón. No crees una segunda cuenta para solucionar un problema de correo.

Un visitante con sesión iniciada pero sin verificar no puede inscribirse en paquetes ni abrir contenido para miembros. Son necesarios tanto la verificación como el estado activo de la cuenta. Restablecer la contraseña invalida las sesiones anteriores.

5. Únete al paquete gratuito

Tras iniciar sesión, My membership account muestra el nombre y correo del visitante, el campo de nombre de perfil, sus membresías, suscripciones y paquetes disponibles.

Cuenta verificada Example member con una concesión temporal de Workshop circle e inscripción gratuita a Studio community

Nuestra cuenta de ejemplo ya tiene una concesión temporal de Workshop circle para ilustrar el flujo del operador del paso 7. Un visitante recién registrado empieza sin membresías.

En Available free packages, busca Studio community y selecciona Join free package. La lista de membresías incluirá Studio community, su inicio, No expiry y Active.

Cuenta tras la inscripción gratuita con membresía activa de Studio community

Esto inscribe al visitante en el paquete gratuito; no crea autorización de pago ni suscripción de pago. El visitante no puede ampliar ni sobrescribir una concesión del operador mediante inscripción gratuita. Si una concesión anterior ha caducado o se ha revocado, pide al operador que la revise y amplíe en lugar de pulsar Join repetidamente.

6. Protege una página y prueba el resultado

Crea una página Studio reading room en el mismo sitio. Añade y revisa el contenido para miembros antes de cambiar el acceso. Recuerda el título para localizarla en el formulario de Memberships.

Abre Memberships, desplázate a Page access y:

  1. Elige Studio reading room en Page.
  2. Elige Package holders en Access.
  3. Elige Studio community en Package ID.
  4. Selecciona el botón Save de ese formulario.
Formulario de acceso con Studio reading room, Package holders y Studio community seleccionados

Hay tres opciones de acceso:

Opción Quién puede leer la página renderizada
Public Cualquier visitante.
Verified members Un miembro activo con sesión iniciada y correo verificado, sin requerir un paquete concreto.
Package holders Un miembro verificado y activo con acceso vigente al paquete activo seleccionado.

Este formulario puede exigir un único paquete seleccionado por página. Ese paquete puede obtenerse mediante concesión manual o período pagado verificado; son fuentes de acceso independientes.

Si la sala es un borrador, publícala después de comprobar la regla. Page access cambia la política de acceso inmediatamente; es independiente del borrador de contenido o de una actualización en revisión. No supongas que guardar la regla aplaza su aplicación hasta una publicación posterior. Revisa la página pública y aprende en un sitio de prueba.

Prueba la URL directa con dos sesiones de visitante:

  • Sin sesión: el contenido de la sala debe seguir inaccesible.
  • Con sesión de miembro verificado de Studio community: la página debe abrirse.
Visitante anónimo sin acceso a Studio reading room protegido
Miembro verificado de Studio community leyendo Studio reading room protegido

Usa la ruta de visitante, no la vista previa del administrador. Si dispones de una cuenta verificada sin el paquete necesario, pruébala también: la verificación por sí sola no debe abrir una página protegida por paquete.

Las páginas protegidas se omiten de la búsqueda pública, el sitemap y la navegación automática. Proporciona un enlace intencional a los miembros, por ejemplo en las instrucciones de inscripción, en vez de depender de una lista automática para anunciar la sala.

La protección se mantiene si Memberships deja de estar disponible. Restaurar una revisión antigua del contenido no elimina la regla actual. Las copias heredan las restricciones; los derechos de paquete entre sitios deben reasignarse expresamente. No uses restaurar contenido o desactivar el plugin como forma de hacer pública una página. Para abrirla deliberadamente, selecciona Public en Page access y guarda.

7. Concede o amplía una membresía por invitación

Usa una concesión manual para invitaciones, acuerdos fuera del sitio o un derecho de taller con duración fija.

Busca Member ID en la tabla Members y Package ID sobre el formulario guardado de Workshop circle. Estos ID identifican registros del sitio seleccionado; no son contraseñas ni códigos de invitación.

Desplázate a Grant or extend membership e introduce:

Campo Ejemplo
Member ID ID de tu miembro de prueba verificado; 1 en la captura.
Package ID ID de Workshop circle; 2 en la captura.
Starts at UTC 26 de octubre de 2026, 00:00 UTC.
Ends at UTC 26 de noviembre de 2026, 00:00 UTC.
Formulario para conceder o ampliar membresía con ID de miembro, paquete y un mes de fechas UTC

Selecciona Save. La concesión aparece en Membership grants y en la pantalla de cuenta del miembro.

El panel etiqueta estas fechas como UTC. Convierte el inicio y el fin desde la zona horaria local del sitio antes de introducirlos. La cuenta del visitante muestra las fechas en la zona configurada del sitio. Un inicio futuro aún no ha comenzado; un fin igual o anterior al momento actual ha caducado. Deja Ends at UTC vacío solo si deseas una membresía sin fecha de fin.

Para ampliar la misma concesión de miembro/paquete, introduce otra vez esos ID y el intervalo completo de inicio y fin deseado. Se actualiza la concesión, no se duplica. También se elimina una revocación anterior, por lo que debes revisar todo el período antes de guardar.

Para una prueba duradera, elige fechas que incluyan el día de la prueba; las fechas fijas de la captura son ejemplos, no valores reutilizables indefinidamente.

8. Revoca una concesión o desactiva una cuenta

Revoke en Membership grants retira el derecho de esa concesión manual. No cancela una suscripción de pago separada; el miembro puede mantener acceso mediante otro derecho vigente del mismo paquete. Revisa concesiones y pagos al investigar accesos.

Disable account en la tabla Members impide iniciar sesión o usar sesiones de miembro existentes. También solicita cancelar las renovaciones de esa persona. Reactivar la cuenta exige un nuevo inicio de sesión; no es una nueva autorización de pago.

Desmarcar Active en un paquete lo deja sin disponibilidad para acceso y solicita cancelar las renovaciones de sus suscripciones. Trátalo como un cambio de acceso y facturación, no como ocultar una tarjeta de la lista.

Para membresías de pago, sigue también las comprobaciones de cancelación del paso 11. Una cancelación en cola aún necesita confirmación del proveedor; desactivar registros locales no demuestra que el acuerdo externo haya terminado.

9. Prepara las suscripciones de pago

Completa primero el flujo gratuito. Para planes de pago, configura con el administrador Commerce 0.16.x y su proveedor PayPal o SumUp. Memberships reutiliza esa configuración; no contiene otro formulario de credenciales.

La guía de Commerce explica la instalación y los ajustes del proveedor. Test order (no payment) corresponde a pedidos únicos de Commerce. No genera pagos recurrentes verificados de Memberships ni acceso de pago.

Antes de ofrecer un plan:

  1. Configura el proveedor previsto en Commerce → Settings, empezando por sandbox y la cuenta de comerciante de prueba correspondiente.
  2. Comprueba credenciales, moneda compatible y preparación del proveedor.
  3. Define un dominio canónico HTTPS público para el sitio de miembros.
  4. Verifica los callbacks. PayPal usa el webhook existente de Commerce con eventos de suscripción y venta; SumUp usa el callback de facturación de Memberships.
  5. Pide al administrador que ejecute el programador de Laravel de la aplicación anfitriona cada minuto y verifique su señal de actividad.
  6. Confirma que el paquete esté activo y Allow free self enrollment desactivado si debe exigirse pago.

Memberships registra webblocks-memberships:billing:sync cada cinco minutos. PayPal realiza sus propios cobros de renovación; la tarea local concilia pruebas del proveedor y acceso. Para SumUp también procesa renovaciones autorizadas que vencen. El administrador puede ejecutar el comando para investigar, pero debe saber que puede procesar cargos SumUp autorizados pendientes. No es un diagnóstico de solo vista previa.

El webhook de PayPal es /plugins/webblocks-commerce/webhooks/paypal. Añade los temas pertinentes BILLING.SUBSCRIPTION.* y PAYMENT.SALE.* a la suscripción de webhook de la aplicación PayPal. El callback recurrente de SumUp es /plugins/webblocks-memberships/billing/webhooks/sumup, distinto del callback de pedidos únicos de Commerce. Usa el host canónico HTTPS, no localhost de una captura.

Consulta la documentación actual de PayPal Subscriptions y la guía de tarjetas guardadas de SumUp para los requisitos de cuenta. Un pago único correcto no verifica por sí solo que ese comerciante admita facturación recurrente.

10. Crea un plan de pago mensual o anual

En Memberships → Paid plans, completa el formulario:

Campo Ejemplo Significado
Plan name Studio circle monthly Nombre que ven los miembros.
Package ID ID de Workshop circle Paquete que desbloquea el período pagado verificado.
Amount in minor units 1000 EUR 10.00, no EUR 1000.00.
Currency code EUR Moneda en mayúsculas compatible con cada proveedor elegido.
Interval count 1 Un intervalo de facturación cada vez.
Billing interval month(s) Mensual en este ejemplo.
PayPal / SumUp Tu proveedor configurado Activa solo los preparados para este plan.
Formulario de plan de pago con el ejemplo mensual de Workshop circle de €10 antes de guardar
Intervalo de facturación y opciones PayPal y SumUp en el formulario del plan

Amount in minor units es un entero. Para un plan de €10 introduce 1000, no 10 ni 10.00. La precisión depende de la moneda; no todas usan céntimos. Los intervalos mensuales permiten 1–12. Un plan anual usa year(s) con 1.

Selecciona Save solo cuando esté lista la configuración del proveedor. Comprueba el importe mostrado y el paquete asociado al plan guardado. La captura muestra el formulario antes de enviarlo, sin credenciales de comerciante configuradas; no prueba una conexión operativa.

Las suscripciones existentes mantienen el precio y la periodicidad acordados. Crea un nuevo plan para cambiar el precio. No supongas que un plan sustituto actualiza las autorizaciones existentes de forma silenciosa.

11. Prueba inscripción, pago y cancelación

En la cuenta, un miembro verificado busca Paid plans, elige un Payment provider disponible y marca el consentimiento explícito:

I authorize the stated recurring subscription charge until I cancel renewal.

Después selecciona Subscribe. El proveedor debe estar habilitado en el plan y disponible. Una lista vacía o un botón Subscribe desactivado indica un problema de preparación que resolver, no una razón para activar la inscripción gratuita.

PayPal: el miembro sigue Approve with PayPal y aprueba el acuerdo recurrente en PayPal. Volver al sitio no prueba el pago. Usa Check payment status y confirma que el servidor verifica un período de suscripción pagado antes de esperar acceso al paquete.

SumUp: el miembro completa el widget de tarjeta y la autenticación necesaria para pagos recurrentes con tarjeta guardada. Su cargo temporal de configuración de 1 unidad se reembolsa; para EUR significa €1.00. Esa configuración no paga la suscripción de €10 ni desbloquea el paquete. El acceso empieza con un pago de suscripción verificado. Los datos de tarjeta se introducen en el widget del proveedor, nunca en un bloque normal del CMS.

El miembro puede abrir Manage subscription desde la cuenta. Los operadores ven Subscriptions bajo Paid plans, con Check payment status, Cancel renewal y la tabla de historial de pagos.

Estado visible Qué hacer
Waiting for approval Completar la aprobación o comprobar por qué se abandonó.
Card authorized; awaiting payment Hay un mandato, pero la autorización sola no concede acceso de pago.
Active subscription Comprobar el período pagado verificado y la página protegida.
Payment overdue Investigar las pruebas de pago; un período vencido no mantiene acceso.
Renewal cancelled Comprobar confirmación del proveedor y fin del último período pagado.
Requires reconciliation Revisar la referencia existente antes de intentar otra inscripción.

Prueba la cancelación en sandbox antes de ofrecer planes reales. Selecciona Cancel renewal y luego Check payment status hasta confirmar la cancelación externa. La solicitud detiene futuras peticiones de renovación, pero un pago ya solicitado aún puede completarse. Normalmente el acceso continúa hasta el final del período pagado, salvo períodos reembolsados o revertidos.

Stop offering this plan and cancel renewal afecta al plan entero y solicita cancelar sus suscripciones. No es un botón para cambiar el precio ni para ocultar la oferta manteniendo todas las renovaciones.

Un período SumUp completamente perdido requiere una nueva inscripción en lugar de cobrar automáticamente períodos vencidos. Si se desconoce el resultado de un pago, no sigas enviando nuevas suscripciones: concilia primero la referencia existente. Las concesiones manuales siguen siendo independientes; revocarlas no cancela la facturación, y cancelar la facturación no borra una concesión manual válida.

Cancela los acuerdos externos y confirma el resultado antes de eliminar permanentemente Memberships, Commerce o la configuración del proveedor. Eliminar código local no cancela por sí mismo un acuerdo nativo de PayPal.

Pasa a ajustes reales solo cuando el sandbox del comerciante haya superado aprobación, confirmación de pago, renovación, cancelación y callbacks. Estas pruebas requieren tu propia cuenta de prueba; las capturas de ejemplo no las sustituyen.

12. Protege los archivos descargables por separado

Una página protegida no convierte en privada una URL de archivo ya pública. No subas un documento confidencial a almacenamiento público suponiendo que ocultar la página lo protege.

Pide al administrador un disco de sistema de archivos privado y no público. Un registro privado de la biblioteca multimedia, utilizado por un bloque publicado en una página protegida, puede servirse mediante la ruta privada de Memberships con la misma comprobación de página/paquete.

La ruta tiene la forma /plugins/webblocks-memberships/downloads/{page}/{media}. Usa los ID reales de página y archivo y verifica su relación con el bloque publicado. Cambiar solo la marca de privacidad del registro no elimina una URL de almacenamiento pública. Prueba la descarga sin sesión y como titular del paquete previsto.

Para descargas públicas normales, consulta Ofrecer un archivo descargable. Pide al administrador que revise el almacenamiento confidencial antes de reutilizar ese flujo para recursos de miembros.

13. Usa las membresías con Appointments

Appointments puede usar Memberships opcionalmente para reconocer al visitante conectado, rellenar datos del cliente y asociar una reserva al miembro verificado. Un servicio puede exigir cuenta verificada o un paquete activo concreto.

Selecciona el mismo sitio y paquete al configurar un servicio restringido. El derecho de paquete pagado usa la misma comprobación de acceso verificado que una concesión manual. No hace falta vender otro producto Commerce que duplique la membresía.

Las reservas normales de invitados pueden continuar sin Memberships. Los servicios restringidos permanecen inaccesibles si el servicio de miembros necesario no está disponible. Cambiar el acceso del miembro no reescribe los datos históricos del cliente de citas anteriores. Consulta la referencia de Appointments para configurar sus servicios.

Solución de problemas

Síntoma Comprueba primero
Memberships no aparece en la barra lateral Activación, estado del plugin, permiso de gestión y sitio autorizado.
Aparecen paquetes del sitio incorrecto Encabezado del sitio y site_id de la URL de gestión. Cuentas, paquetes y páginas pertenecen a un sitio.
No llega la verificación Configuración de correo, dominio canónico, destinatario y spam.
Se rechaza un enlace de verificación o restablecimiento Sitio correcto, caducidad, consumo anterior y formulario de confirmación. Los enlaces de restablecimiento duran una hora.
Join free package no está disponible Cuenta verificada con sesión, paquete activo y Allow free self enrollment.
Volver a unirse no restaura el acceso El operador debe revisar la concesión manual, vencida o revocada; la inscripción gratuita no la sobrescribe.
Un miembro no puede leer una página Cuenta activa y verificada, sitio correcto, regla, paquete activo, fechas de concesión o período pagado verificado vigente.
La página no aparece en navegación automática Es lo esperado para páginas protegidas. Ofrece un enlace explícito.
Subscribe de pago está desactivado o sin proveedor Commerce, credenciales, preparación del proveedor, moneda y opciones del plan.
La tarjeta se configura pero el acceso sigue cerrado La autorización de configuración no es un período pagado. Revisa estado y conciliación.
Se retrasa renovación o cancelación Actividad del programador, callbacks, pruebas del proveedor y cancelación pendiente.
Revoke no elimina todo acceso Otro período pagado o concesión válida puede seguir dando el paquete.
El archivo sigue accesible tras proteger la página Puede estar en almacenamiento público; configura y prueba descargas privadas.

Última comprobación antes de invitar miembros

Confirma que la página explica la oferta, los enlaces abren el sitio correcto, llega el correo y un visitante verificado puede unirse al paquete gratuito previsto. Prueba la página protegida sin sesión, sin paquete y con derecho vigente. Comprueba fechas UTC y que los paquetes exclusivamente de pago no permiten inscripción gratuita.

Si ofreces pagos recurrentes, verifica además sandbox, callbacks, programador, acceso del período vigente y cancelación confirmada. Publica solo las páginas revisadas y repite las pruebas directas de visitantes y descargas en el sitio público HTTPS.

Continúa con la referencia de Memberships, la guía de Commerce, Menús de navegación o Roles y permisos.