Descubre en este tutorial cómo enseñar los suscriptores activos de Stripe desglosados según su nivel de membresía usando su API y un shortcode en WordPress.
Si tú o alguno de tus clientes tiene un negocio online que utilice Stripe como pasarela de pago y es un amante de las Open Metrics, seguro que esto te va a interesar.
En un tutorial anterior te expliqué cómo mostrar el número de suscriptores activos que tienes en Stripe usando su fantástica API, y mantenerlo siempre actualizado donde tú quieras en la web.
Y ¿si tienes varios niveles de membresía y te gustaría que los números aparecieran de forma desglosada?
Si es tu caso aquí tienes cómo conseguirlo:
Instrucciones para crear un shortcode que muestre el número suscriptores activos de Stripe desglosado por nivel de membresía
1. Crea el shorcode
Añade el siguiente fragmento al final del 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 utilizas la librería de Stripe y la API key secreta guardada por Restrict Content Pro.
Si estás usando otro plugin (Easy Digital Downloads, Gravity Forms…) tendrías que cambiar esa parte y adecuarla al mismo. Si quieres que prepare un tutorial con alguna variación solo tienes que decírmelo.
La API de Stripe no tiene un endpoint de dónde poder obtener el total de suscriptores activos por nivel de membresía, así que tienes que obtener todos (utilizando un loop con la función autoPagingIterator
), y sumarlos.
Cabe destacar que las suscripciones de Stripe pueden presentar varios estados (status):
- active = activo
- trialing = en fase de pruebas
- canceled = cancelado (pero no expirado)
- incomplete = pago incompleto (se vuelve a intentar)
- incomplete_expired = pago incompleto (no se vuelve a intentar)
- past_due = cuando la fecha de pago ha pasado
- unpaid = no pagado
En este caso, estas contabilizando los 3 primeros, pero si ves que hay una discrepancia con tu dashboard de Stripe es porque también tiene en cuenta los past_due. Si quieres incluirlos solo tienes que añadir || $subscriber->status === 'past_due'
al condicional.
Además, obtienes los identificadores de los niveles de suscripción creados en Stripe $subscription_level = $subscriber->plan->id;
para poder mostrar los datos desglosados.
Dependiendo del proyecto, esta petición puede ser bastante «pesada», así que dentro del shortcode creas y utilizas un transient para cachear el resultado durante un día (aunque puedes modificarlo a tu gusto). De esta manera te aseguras de que el resultado se muestra de forma inmediata.
2. Introduce el shortcode donde desees
Por último, solo tienes que escribir [suscriptores_activos_por_nivel]
donde quieras que se visualice.
Una vez renderizado el shortcode mostrará un listado con el nombre de los niveles de membresía seguido del número de suscripciones activas del mismo. Por ejemplo:
- Nivel 1: 70
- Nivel 2: 30
- Nivel 3: 20
Conclusiones
Ahora ya sabes cómo mostrar los suscriptores activos en Stripe desglosados por niveles de membresía y que este dato siempre se mantenga actualizado en cualquier punto de la web mediante un shortcode.
Aunque no vayas a utilizar este snippet para mostrar los datos de forma pública, sí te puede venir bien para crear un dashboard donde agregues todos los datos relevantes de tu negocio.
Además, con pequeñas variaciones puedes conseguir personalizarlo para que se ajuste 100% a tus necesidades.
Ya solo te queda ponerlo en práctica. 😉
Si tienes alguna duda sobre este tutorial, déjala en los comentarios.
¿Sugerencias para próximos snippets? Envíamelas con el formulario de contacto.
Todo ventajas de ser suscriptor.