Descubre con este tutorial cómo crear y dar acceso al portal de Stripe para que un cliente de Restrict Content Pro pueda gestionar sus tarjetas de pago.
Si utilizas Restrict Content Pro con la pasarela de pago de Stripe seguramente ya sabes que el suscriptor puede modificar algunos datos desde la web.
Pero tiene sus limitaciones, ya que a veces los suscriptores tienen problemas al intentar actualizar las tarjetas de pago. Además, el plugin solo permite guardar y gestionar una tarjeta.
Lo bueno es que podemos superar estas limitaciones aprovechándonos del portal de clientes de Stripe.
Esta característica de Stripe nos permite crear, de forma sencilla, una página donde el cliente pueda acceder y modificar los datos a los que nosotros (como administradores de la cuenta de Stripe) le demos acceso.
En este tutorial te voy a explicar cómo puedes darle acceso a que actualice, modifique o añada tarjetas de pago.
Vamos a ello.
Pasos para dar acceso al portal de cliente de Stripe para que un suscriptor de Restrict Content Pro pueda gestionar las tarjetas de pago
1. Crea el portal de cliente en Stripe
Lo primero que vas a hacer es ir a tu cuenta de Stripe y visitar la página donde se configura el portal de clientes.
Si no lo has hecho ya, rellena la información de tu marca y nombre de empresa.
Luego activa las funcionalidades a las que te interesa que pueda acceder el suscriptor de RCP. En este caso, he seleccionado únicamente «Métodos de pago» ya que el resto prefiero que lo siga gestionando el plugin.
Una vez hayas configurado el portal asegúrate de guardar los cambios.
2. Crear la lógica que mostrará el acceso al portal
Añade el siguiente snippet al fichero functions.php o a tu plugin de funcionalidades:
Para ver este código y los otros 2055 snippets de esta web,
identifícate o suscríbete aquí.
En este código construyes toda la lógica que permite acceder al portal de cliente de Stripe al hacer clic sobre un botón.
Aviso: Si usas una versión de Restrict Content Pro inferior a la 3.5.15 la ruta que debes usar es includes/libraries/stripe/init.php
en lugar de core/includes/libraries/stripe/init.php
.
Para poder crear una sesión que permita acceder al portal de Stripe necesitas el ID del cliente de Stripe. Esto lo obtienes desde el ID del usuario (usando get_current_user_id()
).
El proceso concreto es: ID usuario > ID del cliente de RCP > Membresía de RCP > ID del cliente de Stripe.
En el snippet también utilizas la clave secreta de Stripe, que en este caso está guardada dentro de las opciones de Restrict Content Pro ($rcp_options['stripe_live_secret']
).
Ahora solo te queda un paso.
3. Introduce formulario con el botón que da acceso al portal
Solo te falta un paso y es crear el formulario con el botón, que al hacer clic sobre el mismo, cree una nueva sesión en Stripe y de acceso al portal de cliente.
Solo tienes que añadir un bloque de HTML con el siguiente código:
<form method="POST" action="">
<button type="submit" name="btn-customer-portal">Gestionar suscripción en Stripe</button>
</form>
Lo puedes colocar entre bloques de párrafo donde expliques que puede esperar el cliente al hacer clic. Por ejemplo, así se muestra en Código Genesis:
También puedes personalizar el mensaje del botón («Gestionar tarjetas de pago en Stripe») a tu gusto.
Conclusiones
Ahora ya sabes cómo puedes sacarle partido al portal de clientes de Stripe para que los suscriptores de Restrict Content Pro tengan acceso a gestionar las tarjetas de pago.
Si tienes alguna duda te leo en los comentarios. Y si quieres dejarme una sugerencia para futuros tutoriales, envíamela a través del formulario de contacto.
Todo ventajas de ser suscriptor. 😉