Error en WooCommerce con RedSys: pedido en espera

Si estas leyendo este artículo significa que tienes problemas con tu plataforma de pago en WooCommerce, concretamente con RedSys. El problema siempre es el mismo, el cliente paga, recibes el dinero en el banco, pero el pedido siempre se queda en estado pendiente de pago. Tranquilo, no has hecho nada mal, es culpa de RedSys.

¿Cuál es el problema?

Este error es conocido por plataforma de pagos desde hace años y aun así tenemos que recurrir a plugins de terceros porque la plataforma no quiere solucionarlo. El problema es que Redsys no es capaz de enviar una notificación segura a nuestra web indicándole que se ha completado el pedido. De hecho, si te diriges a la plataforma de pagos y observas un pago aceptado veras como te ha devuelto un error con código 301.

Como puedes observar nos habla de una notificación de tipo HTTP cuando desde hace años es obligatorio en nuestras web usar certificados para que la URL sea HTTPS. Por este motivo RedSys no es capaz de comunicarse con nuestra web.

Solución

Instalar plugin

La solución más rápida es dejar de utilizar el plugin de RedSys e instalar uno que permita forzar a nuestra web a recibir la notificación por HTTP. Particularmente utilizo un plugin de Jesús Angel del Pozo.

Configurar plugin

Una vez descargado y activado dirígete al menú WooCommerce > Ajustes > Pagos y activa el pago con tarjeta, después pulsa en el botón Gestionar.

En la nueva página para solucionar este problema, selecciona en la lista desplegable Protocolo para notificaciones la opción HTTP y el resto de campos con los datos proporcionados por tu banco.

¿Sigue sin funcionar?

Otro problema al que me he enfrentado y no encontrado solución en ninguna web es con el plugin Really Simple SSL que utilizo para forzar a la web que sea segura y utilice el protocolo HTTPS tal y como nos obligan. Si tienes activada la opción Permitir redirección 301 de .htaccess te seguirá sin funcionar RedSys, desactivala y todo funcionara.

Escribir un comentario