Muchos de nuestros lectores y usuarios del popular plugin para WordPress: «Gravity Forms«, nos han solicitado mayor información sobre la creación de un sitio básico de membresías, a través del cual los visitantes de un sitio puedan registrarse una vez que su pago (único y/o recurrente) – a través de PayPal sea aceptado, permitiéndoles acceder a contenido protegido y exclusivo para suscriptores. Si bien WordPress incluye funciones que permiten el registro de usuarios, la administración de roles, y protección de publicaciones a través de una contraseña, es posible utilizar algunos plugins para mejorar estas funcionalidades sin tener que instalar robustos plugins de suscripciones que sólo afectan el desempeño de un sitio (como ocurre con WishList Member). A continuación te mostramos los plugins y pasos necesarios que te permitirán la creación de un sitio de membresías con Gravity Forms:
- Paso 1: Crear formulario para el registro de usuarios
- Paso 2: Habilitar el registro de usuarios
- Paso 3: Habilitar la integración con PayPal
- Paso 4: Integrar sistema de email marketing
- Paso 5: Proteger el contenido
- Paso 6: Habilitar el widget de inicio de sesión
- Paso 7: Ocultar la barra de administración de WordPress
Plugins a utilizar
Para crear nuestro sitio de membresías y suscripciones, es necesario contar con los siguiente plugins (gratuitos y de pago):
- Plugin premium: Gravity Forms
- *Add-on para Gravity Foms: PayPal Payments Standard ó PayPal Pro
- *Add-on para Gravity Forms: User Registration
- *Add-on para Gravity Forms: MailChimp
- Plugin gratuito: Members
- Plugin gratuito: Admin Bar Disabler
*disponible para los usuarios que poseen una licencia tipo desarrollador de Gravity Forms
Antes de comenzar …
Asegúrate de descargar, instalar y activar los plugins en tu sitio web. A continuación un par de preguntas y sus respuestas – que seguramente te estarás realizando: ¿Por qué debería invertir en Gravity Forms? Gravity Forms es uno de los plugins más poderosos, estables y versátiles que actualmente existen para WordPress. Con este plugin premium puedes crear desde una simple forma de contacto, hasta un formulario avanzado de registro de usuarios, que sea compatible con los sistemas de email marketing más populares, e integrar todos esos formularios con los más de 200 servicios disponibles vía «Zapier» y el add-On Zapier de Gravity Forms. ¿Por qué utilizar el plugin Members? Utilizaremos Members para administrar los roles y capacidades de los usuarios registrados. Members nos permitirá integrar al core de WordPress un sistema robusto de permisos, con la posibilidad de proteger páginas y entradas.
Paso 1: Crear formulario para el registro de usuarios
Con los plugins instalados y activos en tu sitio, el primer paso es crear un formulario que permita el registro de los usuarios en nuestro sitio web. Para este ejemplo utilizaremos un formulario cuyo precio de membresía es de USD $20.00, que se debitará de forma mensual y automática vía PayPal, y que también permitirá al suscriptor unirse a nuestra lista de emailing de MailChimp. Para hacer esto basta con crear un formulario que incluya los siguientes campos:
- (*) Nombre y Apellidos
- (*) Email (es una buena idea activar la opción confirmar email)
- (*) Nombre de Usuario (utiliza un simple campo de texto)
- (*) Contraseña
- Campo y nombre del producto (deberás incluir el precio de la suscripción mensual o anual)
- Campo total a pagar
- Casilla donde el usuario acepta recibir noticias de forma regular (utilizaremos MailChimp como sistema de emailing).
*debe especificarse como campo obligatorio El formulario de registro lucirá de forma similar a:
Confirmaciones y Notificaciones del formulario de registro:
Añade una confirmación sencilla que será visible cuando los usuarios sean registrados de forma exitosa:
También es importante crear una notificación para nosotros (administradores del sitio) que nos permita saber el momento preciso en que un usuario se ha registrado de forma satisfactoria. Y por supuesto, crea una notificación para los usuarios registrados, donde les hagas saber su nombre de usuario, URL del sitio web, un breve mensaje de bienvenida, etc.:
Paso 2: Habilitar el registro de usuarios
En este segundo paso debemos habilitar el registro de usuarios de nuestro formulario recién creado, por lo que en este momento entra en acción el add-on para Gravity Forms: User Registration. Para hacer esto ve a la sección «User Registration» del menú lateral izquierdo «Formularios«: Haz clic sobre el botón «Add New«, esto permitirá integrar el «formulario para el registro de usuarios«. En la nueva pantalla elige la opción «Create User» del menú desplegable «Select an Action«, selecciona el formulario que es de nuestro interés. Deberás elegir los campos que corresponden con: el nombre de usuario, nombre, apellidos, nombre de usuario, email, contraseña y rol. Esta integración lucirá de forma similar a:
No olvides guardar los cambios.
Paso 3: Habilitar la integración con PayPal
Ahora es momento de habilitar la integración de nuestro formulario con PayPal, esto permitirá que el usuario sea registrado sólo cuando su pago sea aceptado por la pasarela de pago. Para comenzar es necesario configurar las opciones del add-on para Gravity Foms: PayPal Payments Standard. Ve a la sección «Configuración» del menú lateral izquierdo «Formularios» y elige la pestaña «PayPal«:
Copia y pega la URL para las «notificaciones de pago instantáneas (IPN)» que se muestra en la página. En tu cuenta de PayPal.com ve a «Perfil» > «Más» > «Mis herramientas de venta» y haz clic al enlace «Actualizar» de la sección «Notificaciones de pago instantáneas«:
En esta nueva página «Editar configuración de notificaciones de pago instantáneas (IPN)» deberás pegar la URL de IPN, así como activar la opción «Recibir mensajes de IPN«:
Ahora regresa a tu sitio web y habilita la casilla «Confirm that your have configured your PayPal account to enable IPN«:
Con la integración lista entre PayPal y Gravity Forms, es momento de asociar el formulario que es de nuestro interés, para hacer esto ve a la sección «PayPal» del menú lateral izquierdo «Formularios«: Haz clic sobre el botón «Add New«, en la nueva página escribe el email con el cual accedes a PayPal.com, activa el modo «Production» y elige el tipo de transacción a utilizar:
- Productos y Servicios (para pagos únicos)
- Donaciones
- Suscripciones (para pagos recurrentes)
En este ejemplo estamos utilizando una suscripción que se debitará de forma mensual, por lo que utilizaremos la opción «Subscriptions«, selecciona el formulario en cuestión, y el campo total que incluye el costo de la suscripción, así como el ciclo de pagos (recuerda que en este ejemplo estamos utilizando una membresía mensual sin periodo de prueba), elige los campos que correspondan con: el nombre del usuario y su email. La integración lucirá de forma similar a:
Debido a que no necesitamos la dirección postal del suscriptor, ni tampoco queremos permitir notas adicionales, hemos activado las casillas:
- Do not prompt buyer to include a shipping address
- Do not prompt buyer to include a note with payment
Y muy importante, recuerda que queremos registrar al usuario sólo si su pago es autorizado por la pasarela de pago, por lo que deberás asegurarte de activar la casilla: «Register user only when a payment is received«.
Paso 4: Integrar sistema de email marketing
Una parte muy importante de todo sitio de membresías, es tener un registro de los suscriptores, esto permitirá mantener un contacto permanente y de forma automatizada para enviar contenido regular que sea de su interés, comunicarles noticias, eventos o promociones. Para este ejemplo utilizaremos el add-on de MailChimp, pero es posible utilizar otros servicios de emailing como AWeber o Campaign Monitor. Para comenzar es necesario activar la integración de MailChimp con Gravity Forms vía API. Para hacer esto ve a la sección «Configuración» del menú lateral izquierdo «Formularios«. En la pestaña «MailChimp» deberás pegar el «API Key» de tu cuenta MailChimp.com (obtén esta clave haciendo clic sobre el siguiente enlace: us2.admin.mailchimp.com/account/api).
Una vez activado el API, ve a la opción «MailChimp» del menú lateral izquierdo «Formularios«: En la nueva pantalla haz clic sobre el botón «Add New«, elige la lista de MailChimp donde serán registrados los usuarios (aquellos que así lo deseen – marcando la casilla), al suscribirse en nuestro sitio de membresías con Gravity Forms, selecciona el formulario en cuestión, y elige los campos que correspondan con: el email del usuario, nombre y apellido. Activa la opción «Opt-In Condition» y elige la condición «si el usuario activa la casilla» > «Acepto recibir noticias relacionadas con mi suscripción de forma regular«:
Guarda los cambios, si lo deseas puedes definir que sólo un usuario sea registrado a la lista de MailChimp si su pago en PayPal se ha realizado de forma exitosa. Para activar esta opción – desde el escritorio de WordPress, ve a la integración de «PayPal» y activa la casilla «Subscribe user to MailChimp only when payment is received«.
Paso 5: Proteger el contenido
Como comentamos al inicio de esta entrada, debido a las limitantes de las funciones incluidas en WordPress para proteger contenido, utilizaremos el plugin gratuito «Members«. Una vez instalado y activado, observarás una nueva caja en el editor de páginas y entradas:
Esta caja te permitirá seleccionar el tipo de rol o usuario que tendrá acceso a cada una de las páginas o entradas que serán protegidas. Utilizaremos el rol «Suscriptor«, ya que es el rol que se asignará por defecto a los suscriptores de nuestro sitio de membresías, y escribiremos un mensaje personalizado que se mostrará para los usuarios que no son suscriptores:
Paso 6: Habilitar el widget de inicio de sesión
Es buena idea añadir un widget de inicio sesión, si un suscriptor no ha iniciado sesión y visita una publicación protegida, este podrá loguearse de una forma fácil y rápida. El plugin «Members» incluye un sencillo widget de inicio de sesión que deberás activar desde su sección ajustes:
Una vez activado el widget podrás añadirlo a la barra lateral de tu sitio web:
Paso 7: Ocultar la barra de administración de WordPress
Un detalle del cual debemos ocuparnos para nuestro sitio de membresías con Gravity Forms, es ocultar la barra de herramientas de administración, la cual se muestra de forma automática cada vez que los suscriptores inician sesión. Para cumplir con el último paso de la creación de un sitio de membresías con Gravity Forms, te recomendamos utilizar el plugin gratuito: «Admin Bar Disabler«.
Add-Ons y plugins opcionales
Integrar pasarela de pago distinta a PayPal
Si deseas utilizar una pasarela de pago distinta a PayPal (Paso 3), la licencia tipo «Desarrollador» de Gravity Forms ofrece add-ons para integrar Authorize.Net y Stripe, además existen add-ons creados por terceros compatibles con: DPS PxPay, eWay , Pronamic iDEAL.
Protección de contenido
Si prefieres ocultar completamente las páginas y entradas a los no suscriptores (Paso 4) puedes utilizar el plugin gratuito «WordPress Access Control «.
Mayor control sobre el widget de inicio de sesión
El plugin gratuito «Sidebar Login» añade un widget con ajax que permite tener un mayor control sobre el inicio de sesión, cierre y redirecciones (en comparación al widget incluido en el plugin Members).
Comentarios finales
Si bien en este ejemplo utilizamos pagos recurrentes, es posible definir pagos únicos, o inclusive permitir el registro gratuito de los usuarios – evitando la integración con cualquier pasarela de pago. La integración de estas herramientas, te facilitarán la creación de un sitio de membresías con Gravity Forms!
Marcos DR. dice
Felicidades por este post, después de ver numerosos post sobre el tema, tengo que decir que este es el mejor de todos.
Martín Friedenzohn dice
Un placer Marcos, gracias por tus comentarios :)!
LuisLY dice
Maravilloso!! Muy buen artículo.. a marcadores que va!!
Te has ganado las 5 estrellas martín. 😉
Martín Friedenzohn dice
Un placer LuisLY, gracias por tus comentarios 🙂 !
Joaquín dice
Hola, de momento voy a empezar con paypal, pero en un futuro si genero más ventas, querré poner una pasarela de pago de comercial global payments o otro banco para ahorrarme las comisiones de paypal, con este plugin se podría poner o habría algún problema.
Estella Vidal dice
Hola @Joaquín,
Por el momento «Gravity Forms» ofrece soporte oficial para las siguientes pasarelas de pago vía Add-Ons: «Authorize.Net«, «PayPal Payments Standard«, «PayPal Payments Pro«, «PayPal Pro«, y «Stripe«.
Si deseas integrar una pasarela de pago distinta, echa un vistazo a nuestra publicación «5 plugins gratuitos para crear un sitio de membresías con WordPress«.
Saludos 😉
Sara Cancio dice
Buenas tardes, tengo un problema… He seguido (o creo que he seguido) todos los pasos bien, me he descargado también el sidebar login para el widget.
El problema es que he creado el formulario de registo, y cuando me salgo de la sesión como administrador para comprobar que todo funciona bien, me sale un mensaje que dice «Oops! You need to be logged in to use this form». Lo he repasado mil veces, he desactivado el members, he repasado que no esté indicado la restricción de páginas, he mirado la configuración de GF ¡pero es que ya no se que mas hacer! Y se trata de que sea una persona no registrada, la que sí pueda ver ese formulario.
¡¡Muchas gracias!!
Estella Vidal dice
Hola @Sara,
La integración de los plugins mencionados en esta guía funcionan bien (últimas versiones disponibles), los he probado en una instalación fresca de WordPress. Mi sugerencia es que revises nuevamente la «Configuración» especifica de tu formulario de registro. Ve al aparatado «Restricciones» y asegúrate de desactivar la casilla «Obligar al usuario a estar conectado«:
Un saludo!
Jhoann dice
Podría aventurarme a hacer los pasos, pero prefiero que me ayuden a hacerlo desde cero con Aweber… Mi skype es: jhoannpacahuala1 … Si pueden contactarme por aquí y saber si me pueden ayudar a instalarlo… Cuanto me cobran por esta asesoría? Gracias
Estella Vidal dice
Hola Jhoann,
Por favor completa este formulario para solicitar una cotización de tu proyecto. Te sugiero incluir todos los detalles y funcionalidades que deseas incluir para ofrecerte un estimado preciso y correcto. Un saludo!
Ernesto lopez dice
Hola buenas Estella : tengo la duda de si estas paginas que están protegidas a los usuarios , están indexadas en Google ? Es decir que si un usuario las busca con algún comando de búsqueda avanzada de Google las encontrara.
Gracias ! te sigo en tu blog
Estella dice
Hola @Ernesto,
Puedes utilizar un plugin como Yoast SEO para definir reglas que prohiban indexar páginas específicas 🙂
Noelia dice
Hola! Gracias por la información que proporcionas en esta página. Queria preguntar porque cuando hago un resgistro para usuarios con Paid Member Subscriptions si me salgo de mi cuenta como administradora al que sería un usuario que me visitará no le deja inscribirse por si mismo. Ya que el mensaje que encuentran es: Only an administrator can add new users.
Gracias
Estella dice
Hola @Noelia,
Te sugiero revisar que la casilla «Cualquiera puede registrarse» de los «Ajustes Generales» de WordPress se encuentre activa. Un saludo!
Jose Rivera dice
Como se haria para que se puedan elegir UNA de 3 opciones de suscripcion, por ejemplo TRIAL 15 DIAS, 1 MES (pago recurrente mes a mes), Pago unico (Pagado cada 1 año)
Todo esto claro integrado con Paypal
Gracias!
Estella dice
Muy fácil con GF, tan sólo debes crear un producto para cada tipo de suscripción. Después añades el disparador de PayPal con una regla de lógica condicional para definir el tipo de suscripción y su modalidad de pago 🙂
Jose Rivera dice
Ohhh cierto no me acordaba de las LOGICAS 😀
Mil Gracias por su oportuna respuesta, feliz dia!
Jose Rivera dice
Eso significa 3 formularios no???
Pero el mismo proceso para todos al momento del registro, solo cambiar el tipo de suscripcion por producto o me he liado?
Gracias
Estella dice
Hola @Jose
Utiliza un sólo formulario para el registro de usuarios. En éste deberás crear 3 feeds para PayPal. En cada feed activa la «Lógica condicional” para restringir su ejecución cuando el usuario elija la modalidad de suscripción en cuestión 🙂
Agustin Castillo dice
Si solo quiero ocultar parcialmente mis entradas y que los visitantes deban inscribirse (Mediante un widgwt en la bara lateral) gratuitamente para ver el contenido oculto y a la vez que esos nuevos subscriptores sus correos electrónicos vayan a mi lista MailChimp, que plugins debo tener aparte de GravityForms para hacer esto?..gracias por la respuesta.-
Martín dice
Puedes utilizar un plugin especialmente diseñado para crear un sitio de membresías, por ejemplo: s2Member. Con este plugin no necesitarás más Gravity Forms ya que s2Member incluye sus propias formas de registro de usuarios y soporte para MailChimp. s2Member también incluye shortcodes para proteger información específica en páginas y entradas, y la versión Pro incluye widget lateral y opciones adicionales de protección 🙂
Alejandro dice
Que tal buen día, yo busco algo parecido pero es un poco mas específico me refiero a que en un formulario poner un campo que dependiendo de lo que ponga determine el tipo de material que vaya a ver por ejemplo si tengo un sitio donde vendo planes de nutrición y quiero que dependiendo de su masa corporal es el plan o material que tendra acceso es posible con algún plugin en wordpress ese tipo de variables?
Gracias y saludos muy buen material
Zoe dice
Hola! puedo integrar mail poet a gravity forms?
Estella dice
Si puedes @Zoe, te sugiero revisar el plugin «Gravity Forms Mail Poet Add-on» 😉