Eliminar pantalla finalizar pedido con RedSys o Bizum

Hace ya muchos años, cuando empezamos a desarrollar nuestro plugin para RedSys y WooCommerce, que recientamente también ha incluido la posibilidad de pagar con Bizum; teníamos (y tenemos) la idea de aportar e incluir todas aquellas mejoras más necesarias que veíamos entre las tiendas que mantenemos. Uno de los reclamos más frecuentes era el que os vamos a comentar: eliminar esa pantalla intermedia que aparece tras darle a pagar en “Finalizar compra” y que obliga al usuario a dar un paso más de forma innecesaria.

Como podéis entender, incluir más pasos, sobre todo si son innecesarios, es negativo para tu web. Por muchas razones:

  1. es un paso extra que retrasa el proceso de compra aunque sea de forma mínima
  2. en ese paso extra, pueden “darse la vuelta” y dejar el pedido sin pagar y por lo tanto la venta sin hacer
  3. y por supuesto, queda cutre, las cosas innecesarias dan mala sensación a los clientes

¿Por qué algunos plugins para RedSys pasan por esa pantalla intermedia?

Lo hacen por el siguiente motivo. El formulario de “Finalizar compra” de WooCommerce, permite hacer una llamada a una pasarela. Esa llamada se hace:

  1. en base a la pasarela elegida
  2. y en base a los datos del pedido

De forma que a PayPal por ejemplo se le llama de forma directa, con los datos del pedido cuando es elegido. Lo mismo pasa con RedSys. Pero hay una diferencia. Cuando llamamos a RedSys por redirección, RedSys espera recibir los datos del pedido en forma de POST y WooCommerce solo puede hacer esa llamada en forma de GET.

¿Solución? Enviar los datos en forma de GET a una pantalla intermedia, que mediante un formulario con campos oculto, llama a RedSys usando un POST.

¿Qué soluciones aplicamos para evitar este paso intermedio y llegar directamente a RedSys?

Pues aplicamos dos soluciones, muchos otros plugins que evitan este paso solo lo hacen aplicando la primera, pero nosotros aplicamos otra extra.

Primera solución: saltar esa pantalla usando JavaScript

  • Es la solución que ofrecemos por defecto
  • Realmente pasa por esa página, pero justo al cargarse un pequeño código Javascript hace que salte al banco
  • Ventajas: funciona siempre
  • Inconveniente: no deja de pasar por esa página, en ocasiones si la web tarda algo en carga da sensación que aparece y desaparece, dejando un poco extrañado al cliente

Segunda solución: saltar esa pantalla usando un método que transforma la llamada

  • A esta solución le decimos “Paso GET previo al POST” y pronto le cambiaremos el nombre porque es poco amigable y para muchos no entendible
  • Si se elige, la pasarela llama a un método que recibe el GET y llama a RedSys con un POST, sin llegar siquiera a cargar no una vista de WordPress, sino nada de su código de forma que el paso es igual de transparente y ágil que con PayPal
  • Ventajas: el efecto es elegante, pasa rápidamente y la sensación es mejor que con el efecto anterior
  • Inconveniente: el proceso genera una URL larga, por los datos del GET, que en algunos servidores está limitado; por lo que hay que pedir al soporte del hosting que os lo permita

¿Dónde configuramos la forma en que evitamos la pantalla intermedia en el plugin?

En WooCommerce, en “Ajustes”, en la opción “Pagos” veréis la forma de configurar esto que os comentamos arriba:

Evitar pantalla intermedia en WooCommerce cuando pagas con RedSys

Dentro de las opciones del plugin. Recordad que podéis comprarlo directamente aquí (el precio es IVA incluido y lo pongo porque muchos preguntáis, la factura os llegará adjunta al correo con la descarga).

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (Ninguna valoración todavía)

Cargando…

Almacenamos las IPs desde la que se envían las valoraciones para evitar fraudes

Carrito

loader