RedSys Gateway for WooCommerce Pro: problemas frecuentes al configurar

RedSys renovó su pasarela hace sólo tres días y aunque todavía se permite usar el método antiguo en casi todos los bancos, y por lo tanto os seguirá funcionando el plugin RedSys Gateway for WooCommerce, sí que es cierto que sois muchos ya los que disfrutáis del nuevo plugin: RedSys Gateway for WooCommerce Pro.

Esta entrada es una entrada viva que va aumentando y actualizándose conforme vamos viendo algunos errores o dudas y vamos resolviéndolos con nuestros cientos de clientes

Empezamos con la fase de test hará casi un mes y con las ventas hace ahora una semana. El plugin ha tenido una acogida excepcional, cosa que os agradezco enormemente desde aquí, y gracias a eso hemos podido ver cómo se comporta en más de un centenar de instalaciones. Gracias a todo lo que hemos visto, voy a hacer una guía, más o menos completa y que iré rellenando, con los errores que pueden surgir en la instalación y configuración del plugin.

Como comprobación previa para todos deciros que por favor tratéis de tener una cantidad ded memoria más que suficiente para WooCommerce, para subir la memoria disponible para WordPress y por lo tanto para WooCommerce tenéis que leeros este artículo del Codex: Incrementar la memoria reservada para PHP con WordPress.

 

Error fatal al activar

Este error aparece porque previamente a activar RedSys Gateway for WooCommerce Pro debemos desactivar el anterior plugin, RedSys Gateway for WooCommerce, tan sencillo como eso.

 

Falta algún dato para configurar

Bueno, estos datos os los proporciona el banco pero bien es cierto que por facilitar os decimos una serie de trucos:

  • FUC: debe ser un número de unos 9 dígitos. Hay quien lo tiene apuntado terminado en “-001”, en este caso, debéis quitárselo y dejar sólo la parte primera sin el “-001”.
  • Clave: lo que es seguro es que no es la misma que teníais antes que en SHA-1. Luego donde puede haber dudas es en el caso de “Clave para entorno de pruebas” y “Clave para entorno de producción”. Por lo general, no son la misma clave.
  • Número de terminal: por lo general el 001, aunque si tenéis más de una terminal lo sabréis y será la que corresponda, 002, 003, etc.

El resto de datos creo que son bastantes intuitivos de rellenar, si alguien tiene dudas, que me lo pregunte en los comentarios de esta entrada o en el correo que aparece en la página de configuración del plugin.

 

Al darle a “Finalizar compra” para pagar, vuelve a la misma página

Esto te pasará probablemente si estás usando tu tienda WooCommerce con WPML y/o WooCommerce Multlingual. Para resolverlo tienes que usar la versión 2.1 o superior (si no la tienes y has comprado el plugin dínoslo). Sólo tendrás que activar esta opción:

Problema RedSys WooCommerce WPML

Al final de las opciones del plugin, de esta forma tendréis el acceso a RedSys desde WooCommerce sin problemas.

 

Uso WPML y WooCommerce Multilingual y la pantalla se queda en blanco al darle a “Finalizar compra”

Si usas WPML y WooCommerce Multilingual probablemente estés usando este plugin. Es el único que soluciona el fallo de compatibilidad con dicho sistema y que está certificado por WPML. Este método se basa en hacer un paso por GET, el que genera WooCommerce cuando la pasarela es directa, para luego recibir dicha petición y pasarla a POST como le gusta a RedSys.

El problema es que algunos hosting al ver esta petición GET en un fichero que no carga el núcleo de WordPress, para no afectar al rendimiento, lo bloquean con el módulo de Apache de seguridad llamado “mod_security”. En este caso tenéis que escribir a vuestro hosting y pedirles que ninguna regla bloquee las peticiones de este plugin.

 

Al darle a “Finalizar compra” para pagar, obtengo un error 404

Para este problema sí tenemos solución. Probablemente tu WooCommerce y tu instalación WordPress anden justos de memoria, así que sólo tendrás que subirla, indicando en el fichero wp-config.php de tu instalación lo siguiente:

define('WP_MEMORY_LIMIT', '96M');

Guarda el fichero, vuelve a subirlo y verás como todo funciona bien. Si aún así sigues teniendo este problema, usa la misma solución indicada en el paso anterior: cambiar el modo de comunicación a paso por GET previo al POST.

 

Tras darle a “Finalizar compra” nos quedamos en una página que no nos lleva al banco

Esta página en la que te estás quedando, es una página que sirve de paso intermedio entre el checkout y el banco. En esta página se ejecuta código del plugin y si se queda parada ahí es porque falta un módulo en vuestra instalación de PHP.

Tenéis que contactar con vuestro hosting y pedirles explícitamente: necesito tener el módulo mcrypt activado. Cuando os lo activen, debería funcionar correctamente.

 

Al llegar a RedSys obtengo: Error en datos enviados contacte con su comercio

Este error es el más frecuente, sucede cuando:

  1. Habéis instalado el plugin
  2. Habéis configurado los datos
  3. Estáis en el “checkout” (o finalizar comprar) y al pasar al entorno RedSys aparece esta pantalla:

RedSys Error en datos enviados Contacte con su comercioPuede ser por dos cosas:

  • El entorno que has elegido no es el correcto, en ocasiones pasa que tu banco usa “Sis” en lugar de “Sis-d” o viceversa y no lo avisa, cámbialo y pruébalo a ver qué tal.
  • Si aún así sigues teniendo problemas, mira la clave y comprueba que es correcta y que es la clave adecuada (por ejemplo, la clave que está usando es la del entorno de desarrollo y estamos en el entorno de producción)

 

Puedo pagar en RedSys normalmente pero no marca el pedido como procesando o completado

Este es el último de los fallos conocidos y uno de los más complicados de arreglar en ocasiones. Veamos el problema es:

  1. El cliente puede pagar
  2. Tú recibes el dinero
  3. Al retornar al sitio el pedido no se marca como pagado, ya sea en estado procesando o completado

El problema en este caso es que el banco al “llamar” a la web para decirle que el pago ha sido correcto, no es capaz de comunicarse con la URL de notificación que le hemos enviado. ¿Por qué?

  • ¿Tienes algún plugin de seguridad? Es posible que tu plugin de seguridad esté cortando la llamada, prueba a desactivarlo, probar y si ya funciona, tienes que incluir una excepción para que no corte las llamadas a: http://tudireccion.com/?wc-api=WC_Redsys_Gateway
  • Entre los plugins que sabemos que dan problemas está BulletProof Security, genera errores 403 en la llamada desde el banco al TPV para informar que la compra ha sido correcta. Podéis pedir al soporte que os diga cómo configurar el plugin para que no genere este problema o desactivarlo (tenéis un hilo del foro de soporte de BulletProof sobre el mismo asunto con otro plugin diferente aquí)
  • Tu servidor, tu servicio de hosting, puede tener algún módulo como mod_security que esté rechazando estas llamadas
  • ¿Estás usando HTTPS? En ocasiones hay un problema en cómo se procesan las llamadas HTTP en un sitio HTTPS, prueba a forzar las respuestas por HTTP y si aún sigue dándoe problemas dinos para que nos metamos en tu sistema a arreglártelo.
  • ¿Usas CloudFare o cualquier CDN similar? Cuando el banco llama a tu tienda, en este caso llamará a CloudFare y este tratará de reenviar la llamada a tu tienda, probablemente la comunicación no sea la adeacuada así que por esta y otras razones (como cacheos indeseados de ciertas páginas como el carrito), no es recomendable usar este tipo de sistemas

Para tener más luz sobre este tema ve a tu panel de control de tu TPV y mira las notificaciones, los errores más frecuentes:

  • ¿Ves un error 403? Mira los plugins de seguridad y luego habla con tu hosting
  • ¿Ves un error con handshake? Trata de forzar la respuesta por HTTP y si no puedes ni por ese método, habla con quien te haya proporcionado el certificado SSL

 

Incompatibilidades ocasionales y sus soliciones

Y digo ocasionales porque tenemos cientos de instalaciones del plugin funcionando y sólo se han dado en algún cliente puntual. Por ahora sólo tenemos documentada una.

Akismet

Parece ser que en este cliente en concreto, Akismet había generado un fichero .htaccess que mediante alguna de sus directivas, afecta a la ejecución del plugin, al restringir alguna petición. La solución es:

  1. Si sabes algo de desarrollo web (o si no sabes puedes preguntarnos) y siempre en caso de que Akismet esté afectando al normal comportamiento del plugin busca el .htaccess y bórralo (o pregunta aquí en los comentarios). Ten mucho cuidado, si borras el .htaccess que no puedes dejar tocado tu WordPress.
  2. Si puedes prescindir de Akismet, desintálalo.

 

A priori eso es todo, que no es poco, esto es una entrada pero está viva, es decir, la iré ampliando y la usaré a modo de FAQ (Preguntas más frecuentes) de nuestro plugin Redsys Gateway for WooCommerce Pro, el que esperamos que sea el mejor módulo de pago para RedSys con WooCommerce.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
Escríbenos al WhatsApp