Una de las implementaciones técnicas más importantes y delicadas (y, en ocasiones, complicada) de una tienda online es la de las pasarelas de pago. Al fin y al cabo, ¿cómo vamos a vender si no podemos cobrar? En este artículo vamos a ver precisamente una de las pasarelas de pago más extendidas y a la vez delicadas: un TPV virtual con WooCommerce.
Así que veremos cómo instalar un TPV virtual en WooCommerce, cómo configurarlo correctamente para trabajar con el sistema Redsys y cómo ponerlo a funcionar sin tener que sudar tinta. Por supuesto, también veremos alguna alternativa al TPV virtual para que nuestros clientes puedan pagar con tarjeta en nuestro comercio.
Tabla de contenidos
Qué hace falta para utilizar un TPV virtual con WooCommerce
Antes de empezar a meter la cabeza en el asunto del TPV virtual, te aviso: hay alternativa a esto. Como veremos al final del artículo podemos implementar el cobro con tarjeta en nuestra tienda online sin necesidad de negociar comisiones con el banco gracias a Stripe. Pero vamos por orden.
Básicamente vamos a tener tres actores en todo este «drama»:
- El sistema de comercio electrónico (WooCommerce en este caso)
- El TPV virtual
- Un plugin que los conecte a ambos y haga que se entiendan entre sí
Sobre el primer punto no hay gran cosa que comentar. Supongo que si estás leyendo esto ya tienes montada (o casi) tu tienda virtual con WooCommerce.
Consiguiendo el TPV virtual
Supongo que esta es la peor parte: hay que negociar con el banco. Porque, efectivamente, el TPV virtual es un servicio que tienes que contratar con el banco. Infórmate bien de todos los gastos y comisiones, y si eres un buen cliente del banco, negocia con él.
Si trabajas con varios bancos, pregunta en más de uno y compara, porque cada uno tiene unas condiciones diferentes, que además seguramente dependerán de los otros servicios que tengas contratados.
Una vez superada la negociación y contratado el TPV virtual, el banco te facilitará una serie de claves. O, mejor dicho, más de una. Al menos un juego de claves para acceder a la administración del TPV y otro que es el que utilizará el plugin para procesar los pagos, devoluciones, etcétera.
Adicionalmente pueden facilitarte un tercer juego de claves para utilizar también en la configuración del plugin, pero sólo para pruebas. Con estas claves configuradas podrás hacer toda clase de pruebas con pagos y devoluciones, hasta comprobar que todo funciona correctamente. Nada de lo que hagas con estas claves dummy generará movimientos reales.
Un plugin para conectar WooCommerce con nuestro TPV virtual
Una vez resuelto el asunto con el banco (te aseguro que es lo más angustioso del proceso) ya sólo quedan las cuestiones técnicas. Que podremos dejar resueltas gracias al uso de un plugin.
En este sentido tenemos varias opciones, incluso algunas de ellas de pago. No te compliques la vida: existe un plugin oficial y gratuito de Redsys para WooCommerce.
RedSys es la pasarela que proporciona el servicio entre bancos y comercios, nacida de la fusión entre Servired y 4B. En resumen, es la pasarela de pago en sí. Y si la propia pasarela de pago proporciona el plugin, ¿para qué vamos a buscar otra cosa?
Así que sólo tienes que ir a la web de Redsys y descargar la última versión disponible del módulo para WooCommerce.
Junto al enlace de descarga del plugin hay otro para descargar una guía de configuración, pero el proceso es (ya lo verás) tan sencillo que ni merece la pena.
Configurando el TPV virtual en WooCommerce
Una vez instalado el plugin Redsys WooCommerce sólo queda configurarlo utilizando las claves que nos ha proporcionado el banco.
Para ello sólo tienes que ir a WooCommerce > Ajustes > Pagos > Pago con tarjeta (REDSYS). Por defecto el modo de pago ya está activo y viene con algunas opciones preconfiguradas, que sin duda tendrás que cambiar.
Para empezar las opciones de texto, tanto el título como la descripción, tendrás que cambiarlo por algo menos publicitario para Redsys y más útil para tus clientes (tanto el título como la descripción son los que verán tus clientes en el checkout).
Vamos a ir viendo aquí el resto de opciones.
Entorno de Redsys
Aquí viene un apartado bastante críptico, con cuatro opciones no menos crípticas:
- Sis-d
- Sis-i
- Sis-t
- Sis
Además, el texto de ayuda no es que sea muy explicativo: Entorno del proceso de pago. Tampoco crear que el manual aclara mucho más: Se selecciona el valor según corresponda si estamos en fase de pruebas, de integración, etc. Gracias por la aclaración.
Pero en fin, ya te lo aclaro yo. Básicamente vas a necesitar usar sólo dos ocpiones: tendrás que elegir Sis-t («t» de test) mientras lo estés configurando hasta que hayas comprobado que todo funciona correctamente, y Sis, que es el entorno definitivo.
Esta última opción, Sis, será la que dejes definitivamente para poder trabajar normalmente y permitir en tu tienda el pago con tarjeta bancaria.
FUC del comercio
Otro apartado bastante críptico, pero afortunadamente muy sencillo, ya que el FUC es uno de los datos que nos va a proporcionar el banco al contratar el TPV.
Tipos de pago permitidos
Esto depende de ti, simplemente se trata de decidir los pagos que vas a aceptar de entre los que dependen de esta pasarela:
- Todos
- Sólo tarjeta
- Tarjeta y Iupay
Iupay es un tipo de pago ofrecido por los barcos también a través de RedSys, una especie de cartera virtual. Te dejo un vídeo:
Clave secreta de encriptación (SHA-256)
Te la proporciona el banco. Nada más que tener en cuenta.
Terminal (terminal del comercio)
Este valor es para tu propio control. Si sólo vendes online y sólo con esa web, lo dejas en «1». Si también tienes TPV físico u otros TPV virtuales lo adaptas a la numeración, ya que es para que puedas saber qué pagos corresponden a cada TPV.
En cuanto al resto de opciones, las puedes dejar por defecto. Ahora sólo queda efectuar pruebas. Puedes hacer compras de prueba, pagos con tarjeta y devoluciones sin miedo siempre y cuando mantengas el entorno en el valor Sis-t.
Una vez que hayas probado con tus tarjetas, hecho pagos y devoluciones (no serán transacciones reales) y hayas comprobado que todo funciona correctamente, ya puedes (¡no te olvides de este paso, es muy importante!) cambiar el entorno al definitivo, Sis.
Alternativa al TPV virtual: Stripe
Como hemos visto, Redsys es la pasarela de pago que opera el TPV virtual, controlada por las redes Servired y 4B, y es la opción «clásica» en el pago con tarjeta. Pero no la única.
En los últimos años contamos con Stripe, un operador que también proporciona una pasarela para el pago con tarjetas bancarias (soporta pagos recurrentes) y con unas comisiones muy interesantes.
Además, también cuenta con un plugin para WooCommerce, que además puedes instalar automáticamente desde el asistente de instalación de WooCommerce (a partir de la versión 2.6). Puedes encontrarlo aquí.
Hablaré de todo ello con detalle en un próximo artículo.
David dice
Hola Enrique, buen artículo.
Solo por completar, comentar que hace poco lanzamos nuestra pasarela de pagos online, con un funcionamiento y condiciones bastante similares de las de Stripe, pero con un servicio y soporte más cercano.
Un saludo
Enrique J. Ros dice
Muchas gracias, David, no la conocía. Veo en vuestra web que tenéis plugin para WooCommerce. ¿Se puede descargar? Así podría probarlo, ver cómo es la configuración y también hacer un artículo sobre pasarelas de pago para WooCommerce.
Un saludo.
Jesús dice
Hola Enrique,
Gracias por este estupendo tutorial.
Una pregunta si me lo permites, utilizando Redsys en pruebas, el estado de los pedidos en woocommerce se queda en «pendiente de pago», verdad ?
Gracias
Saludos
Enrique J. Ros dice
Hola Jesús.
No debería, en el modo de prueba todo se hace exactamente igual que en una transacción real excepto por el movimiento de fondos. Comprueba si tienes algún plugin de seguridad que pueda estar bloqueando la respuesta desde RedSys, revisa los logs de errores del servidor y/o haz una prueba desactivando todos los plugins excepto WooCommerce y el de la pasarela de pago.
Un saludo.
Jesús dice
Buenas tardes Enrique,
Bueno, pues entonces tengo un problema, a pesar de haber desactivado el plugin de seguridad.
Buscaré lo que sucede.
Gracias
Saludos
Jesús dice
Problema solucionado utilizando el plugin gratuito «WooCommerce Sermepa payment gateway» y utilizando el protocolo HTTP para las notificaciones.
Saludos
Enrique J. Ros dice
Me alegra que hayas podido solucionarlo 🙂 y gracias por reportar la solución por si a alguien más se le presenta
Un saludo.
manuel dice
Buenas tardes.
Si ya tienes el plugin de redsys instalado trabajando con un banco, y lo quieres cambiar a otro banco, ¿te quedas sin poder procesar compras por la tarjeta mientras no se hacen las pruebas con el nuevo banco?
¿o hay alguna forma de que se puedan seguir haciendo pagos en el banco antiguo mientras se esta configurando la cuenta para el banco nuevo?
Enrique J. Ros dice
Hola Manuel
No, me temo que no hay forma de utilizar dos configuraciones diferentes para la misma pasarela. Durante ese tiempo tendrás que desactivar ese modo de pago.
Un saludo.
Felipe dice
Buenas tardes Enrique,
Llevo un tiempo siguiendo tus post, y solo puedo darte las gracias por tan valuosa información y plugins que nos hacen la vida más fácil. Me gustaría pasarte una consulta acerca de este post que parece algo desactualizado. Y vengo un tiempo de craneo para intentar solucionar que los pedidos a pesar de haber entrado correctamente en el TPV Virtual de REDSYS cómo procesados y pagados en WooCommerce sigue como en “pendiente de pago”. Ya Jesus te paso una consulta al respecto. Que el mismo solucionó, pero sin entrar el detalle de la problemática, según parece tiene que ver con el tipo de SSL que estes utilizando, para que REDSYS te devuelva el procesado correctamente a el BackEnd de WooCommerce. No sé si estas al tanto y podrías darnos alguna recomendación?
Gracias
Enrique J. Ros dice
Hola Felipe
La versión actual del plugin oficial de Redsys para WooCommerce incluye una opción para seleccionar en qué estado debe quedar un pedido tras el pago, revisa eso.
Un saludo