¿Alguna vez has pensado en añadir pagos recurrentes en tu tienda online?
Por defecto, WooCommerce solo admite productos de pago único, pero gracias al plugin WooCommerce Subscriptions, podemos tener también productos de pago recurrente.
Algunas de las razones por las que podría ser interesante utilizar este modo de pago recurrente serían:
- Hacer una membresía de pago recurrente.
- Ofrecer productos que se compren de forma periódica, mediante una suscripción, ya sean físicos o virtuales.
- Cobrar en varios plazos algún producto en concreto.
En uno de los artículos pasados, veíamos cómo restringir contenido en WooCommerce con WooCommerce Memberships. Podemos juntar ambos plugins para ofrecer contenido restringido a cambio de un pago recurrente.
Cómo usar WooCommerce Subscriptions
Una vez tenemos instalado el plugin, ya podemos crear productos de pago recurrente, yendo a Productos -> Añadir nuevo y seleccionando en el desplegable de tipo de producto Suscripción Simple o Suscripción Variable.
Crear una suscripción simple
Podremos configurar la periodicidad del cobro recurrente, seleccionando la cantidad y si serían días, semanas, meses o años.

Si queremos que la duración de la suscripción sea limitada, tenemos la opción de indicar cuándo se dejará de renovar la suscripción, con un límite de 5 años. Si no, podemos indicar «No parar hasta que se cancele» y se renovará hasta que el usuario o un administrador de la página la cancele.

En caso de que queramos cobrar una cuota único en el registro, a modo de matricula por ejemplo, podríamos indicar cuánto queremos cobrar en el apartado «Cuota de registro».

Puede que sea interesante ofrecer una período de prueba para que el usuario pruebe nuestro producto y vea si le encaja, como hacen sitios como Spotify, Amazon o similares con sus membresías. Si es el caso, en «Prueba gratuita» indicaremos el número de días, semanas, meses o años queremos que el usuario acceda gratis antes de empezar a pagar la suscripción.

También podemos indicar un precio rebajado para la suscripción e indicar de qué fecha a qué fecha aplica (por ejemplo en Black Friday o la próxima época de rebajas que nos interese):

Configurar un producto con una suscripción variable
Si en lugar de crear una suscripción simple, queremos dar varias opciones para que el usuario elija cuál le interesa más, podríamos crear un producto del tipo «Suscripción variable» en su lugar.
El funcionamiento es similar al de un producto variable normal, pero con la diferencia de que podremos establecer un importe que se cobrará recurrentemente en función de la variable que hayamos escogido.
Lo primero que tenemos que hacer es crear atributos para nuestra suscripción. Por ejemplo: Mensual y anual.

A continuación, tendremos que guardar los atributos que hemos creado, ir a la pestaña «Variaciones» y crear variaciones en base a esos atributos (podemos tener más de un conjunto y hacer combinaciones entre ellas).
Si queremos crear todas las variaciones posibles para los atributos que hemos creado, podemos hacer click en el botón de generar variaciones (o Generate variations si no sale en español):

Nos saldrá un aviso para indicarnos que al hacer esto, se crearán todas las variaciones, con un máximo de 50 por ejecución.

Le damos a aceptar y ya tendremos creadas variables para todos los atributos de nuestra suscripción:

Nos indicará que las variaciones que hemos creado no tienen precio. Es necesario añadirles un precio para poder venderlas correctamente. Para hacerlo, hacemos click en una de las variaciones y se desplegarán sus opciones:

Una vez que hemos hecho cambios en nuestras variables, le damos al botón de Guardar cambios y ya tendríamos creada nuestra suscripción variable.

Cómo mezclar WooCommerce Subscriptions con WooCommerce Memberships
Al tener ambos plugins activos, desbloquearemos nuevas opciones en los planes de membresía de WooCommerce Memberships y podremos indicar que la duración de una membresía coincida con la duración de un producto de tipo suscripción.
Si te interesa combinar ambos plugins, te recomiendo darle un ojo a nuestro tutorial para restringir contenido en WooCommerce, donde aprenderás cómo utilizar WooCommerce Memberships para restringir contenido o productos de forma total o parcial en tu tienda online y crear descuentos específicos para personas inscritas en una membresía en concreto.
La ventaja de combinar estos dos plugins, es que si el usuario deja de pagar la suscripción, perderá acceso al contenido restringido – que solo es accesible para esa membresía o alguna de las que se indique – hasta que vuelva a pagar de forma recurrente o bien adquiera otra de las suscripciones que dan acceso a ese contenido.
Para hacerlo, tendremos que ir a WooCommerce -> Membresías -> Planes de membresía, crear o editar una membresía, seleccionar «compra de producto» en el apartado «Dar acceso hasta», seleccionar el producto o productos que nos interese y en «Subscription-tied Membership length» indicarle que queremos que dure mientras dure la suscripción («subscription length»).

Métodos de pago que podemos utilizar con WooCommerce Subscriptions
Puedes ver los métodos de pago que son compatibles con suscripciones aquí: Métodos de pago disponibles para cobrar suscripciones con WooCommerce Subscriptions.
Una de las opciones más sencillas y extendidas es Stripe, que nos permite cobrar productos tanto simples como de pago recurrente con una tarjeta de crédito, sin necesidad de contratar un TPV virtual con nuestro banco y con comisiones más bajas que si utilizaremos PayPal.
Las otras dos opciones que se usan comúnmente son PayPal o un TPV Virtual, como por ejemplo RedSys, que puedes utilizar con el plugin WooCommerce Redsys Gateway Light.
¿Cómo configurar Stripe en WooCommerce?
Para poder usar este método de pago en nuestra tienda, tendremos primero que instalar el plugin WooCommerce Stripe Payment Gateway y configurarlo.
Así mismo, tendríamos que tener creada una cuenta de usuario en Stripe con nuestros datos, para poder integrar ambas herramientas entre sí.
Podemos hacerlo desde la página web de Stripe, haciendo click en el botón «Empieza ahora»:

Nos saldrá un formulario de registro que deberemos cumplimentar para crear nuestra cuenta de Stripe:

Una vez creada nuestra cuenta, deberemos completar los datos personales y de la empresa que nos pidan, para poder cobrar con este método de pago y vincularlo con nuestra tienda online.
Una vez entremos en nuestra cuenta de Stripe, veremos los datos relacionados con las ventas que hemos hecho, tanto el importe bruto como el neto, el importe pendiente de transferencia y cuándo se enviará y otros datos relevantes:

Para hacer la conexión con WooCommerce, tendremos que acceder a la administración de nuestra tienda, ir al apartado WooCommerce -> Ajustes -> Pagos y ahí buscar la fila de Stripe.
Tendremos que activarlo y acto seguido nos dará la opción de crear o conectar con una cuenta de Stripe:

Al hacer click en el botón, nos llevará a una página donde podremos seleccionar la cuenta con la que queremos que se conecte. Dentro de un mismo perfil de Stripe, se pueden crear o gestionar varias cuentas para diferentes negocios.

Ya tenemos vinculados WooCommerce y Stripe. En caso de que quieras hacer la conexión en modo de pruebas para testear si funciona todo correctamente, tendrías que marcar la casilla de «Activar el modo de pruebas», guardar los cambios y cambiar Stripe a modo de pruebas también.

El activador del modo de prueba de Stripe está arriba a la derecha:

Independientemente de si tienes activado el modo en vivo o el modo de prueba, deberás crear un Webhook para el que corresponda (son independientes y te recomiendo desactivar el de modo de prueba cuando pases a modo en vivo, para no recibir notificaciones sobre el mismo si no lo vas a utilizar).
Un Webhook es un punto de conexión que se usa para realizar la comunicación entre plataformas, en este caso para que Stripe le indique a WooCommerce que se han realizado los pagos de las suscripciones y WooCommerce le indique a Stripe que se anule la suscripción en caso de que el usuario haya pedido cancelarla.
Se puede configurar desde el apartado Desarrolladores (también arriba a la derecha) -> Webhooks:

Para crear un nuevo Webhook, haremos click en el botón de «Añadir punto de conexión» y en la pantalla de configuración que nos saldrá, copiaremos la url que se indica en la configuración de pagos de Stripe de WooCommerce, en el apartado de Detalles de la cuenta:

Copiamos el enlace que se nos indica y podemos ponerle una descripción al punto de conexión, para poder identificarlo después.

Acto seguido, añadiremos los eventos que nos interese en Seleccionar eventos:

Además de los eventos que hay que configurar para WooCommerce, que puedes ver aquí: Eventos que se deben configurar en un webhook de Stripe al conectarlo con WooCommerce, habría que configurar los relacionados con las suscripciones.
Puedes buscarlos por la palabra «subscription» en inglés.
Otra opción, es hacer click en «Seleccionar todos los eventos», para que se escuchen todos los eventos disponibles en ese momento (si en el futuro Stripe añade más y hacen falta por alguna razón, habría que añadirlos manualmente).
Una vez seleccionados todos o los que nos interesen, hacemos click en Añadir eventos y después en Añadir punto de conexión, y ya tenemos creado nuestro punto de conexión.

Y ya podremos cobrar de forma recurrente.
Si has activado el modo de prueba, podrás usar una tarjeta de pruebas para comprobar que todo funcione correctamente. Puedes verlas aquí: Cómo usar una tarjeta de pruebas de Stripe.
La más común es: 4242 4242 4242 4242, con una fecha de caducidad válida (futura) y cualquier código de verificación CVC.

Recuerda que para cobrar de verdad, tendrás que volver al modo en vivo tanto en Stripe como en WooCommerce y crear un nuevo Webhook para la versión en vivo (el del modo de pruebas solo sirve para el modo de pruebas).
En caso de que, en detalles de la cuenta, te indique que las claves de la cuenta no son válidas, podrías hacer click en Editar claves de la cuenta y ahí pegar las claves API del modo que corresponda en Stripe, que podrás ver en Stripe en el apartado de Desarrolladores -> Claves de API.
Y hasta aquí este tutorial para crear suscripciones en WooCommerce.
Recuerda que si necesitas delegar el mantenimiento de tu tienda online, puedes consultar nuestros planes de mantenimiento para ecommerce 😉