WooCommerce: Pedidos que se quedan pendientes con la pasarela RedSys

La pasarela de pago RedSys es la que ofrecen los bancos en España como solución por defecto para pagos con tarjeta y no está carente de errores y problemas.

Para empezar, el proceso de configuración es para mear y no echar gota, un horror absoluto, solo para miembros de la secta.

Pero vaya, que no nos vamos a poner estupendos, y si has conseguido acceder al módulo de administración y hacer las primeras pruebas, no siempre el proceso ha terminado ahí, muchas veces ocurren errores en la comunicación entre nuestra tienda online y RedSys, o simplemente no terminan de confirmarse los pedidos, quedándose pendientes, el problema más común con diferencia.

Estas suelen ser las causas más comunes…

Plugins de seguridad

Es bastante habitual que si tienes un plugin de seguridad para WordPress esté bloqueando la comunicación con RedSys, los que suelen generar problemas más comúnmente son estos.

All in One SEO Pack

Aunque no es un plugin de seguridad, una de las utilidades que ofrece AIOSP es el bloqueador de bots maliciosos, y siempre bloquea RedSys, así que desactiva esta utilidad.

iThemes Security

También este fantástico plugin de seguridad puede bloquear la comunicación con RedSys. En este caso hay un par de ajustes que pueden estar bloqueando RedSys.

El primero sería si tienes activa la lista de HackRepair. Si así fuera desactiva esta característica.

Otros ajustes que podrían estar bloqueando a RedSys serían los de bloquear cadenas sospechosas y URLs demasiado largas, en los ajustes del sistema de iThemes.

 

Una posible solución a este bloqueo, sin desactivar los anteriores ajustes, sería poner las IPs de RedSys en la lista blanca de bloqueo de los ajustes generales de iThemes.

Las IPs a añadir a la lista blanca normalmente serán estas pero confírmalas con el equipo de soporte de RedSys porque pueden haber cambiado:

  • 195.76.9.187
  • 195.76.9.222
  • 195.76.9.182
  • 193.16.243.33

Redirecciones HTTPS forzadas

Otro culpable habitual suelen ser las redirecciones HTTPS forzadas, para servir todo tu contenido mediante el cifrado del certificado SSL.

Y esto puede estar forzado de muchas maneras, a saber…

Plugins de SSL … y otros

Todos los plugins de gestión de certificados SSL y muchos de optimización tienen ajustes para forzar que todo tu contenido se cargue mediante HTTPS.

Esto, que a priori es bueno para tu web, pues la hace más segura y evita avisos de sitio no seguro del navegador, casi siempre genera conflictos con RedSys.

Así, por ejemplo, si usas el plugin Really Simple SSL, debes tener activos solamente los siguientes ajustes:

  • Solucionador de contenido mixto (sí, no pasa nada si sigues la lista)
  • Permitir redirección 301 de .htaccess (no la de WordPress)
  • Dejar de modificar el archivo .htaccess

Además, a continuación debes añadir las siguientes líneas, que recomienda José Conti, al archivo .htaccess:

# REDIRECCION CERTIFICADO SSL REDSYS
RewriteEngine on
RewriteCond %{QUERY_STRING} !^wc-api=WC_Gateway_(.*)redsys
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# FIN REDIRECCION CERTIFICADO SSL REDSYS

Curiosamente, en este aspecto, también iThemes Security podría estar provocando este problema si tienes activos los ajustes de SSL de este plugin de seguridad, que viene precisamente a forzar la carga por HTTPS de tu contenido.

De hecho hay muchos usuarios de iThemes Security que no saben que tiene esa utilidad, con la que ahorrarse un plugin para HTTPS, pero que en este caso concreto, por este problema con RedSys, podría estar interfiriendo.

Así que si usas iThemes Security, lo que te recomiendo, pero estás teniendo problemas de pedidos pendientes de RedSys, también aquí podría estar el problema, y deberías desactivar este módulo.

Y, si como millones de usuarios de SiteGround, utilizas su plugin de optimización SG Optimizer, también el ajuste para corregir contenido inseguro, así que si es tu caso prueba a desactivarlo y ver si era eso lo que dejaba pendientes los pedidos de RedSys, como en el resto de posibles soluciones.

Por supuesto, ni de coña utilices plugins como SSL Insecure Content Fixer o similares.

Códigos de redirección HTTPS

Si, por el contrario, no usas ningún plugin para forzar la carga de tu web por HTTPS sino un código en el archivo .htaccess, búscalo, bórralo y prueba a ver si ya entran correctamente los pedidos desde RedSys.

Un ejemplo de este tipo de códigos sería así:

# BEGIN HTTPS

    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# END HTTPS

CloudFlare

Para finalizar, si utilizas CloudFlare para cargar todos tus estáticos desde esta CDN, también hay un ajuste de SSL que podría ser el culpable.

En la sección denominada SSL/TLS tienes la posibilidad de cambiar el modo de cifrado, que por defecto CloudFlare configura en el modo completo (Full), lo que fuerza que se use el certificado de CloudFlare en vez de el de tu alojamiento.

Siempre, he dicho SIEMPRE, es más recomendable usar el modo flexible de SSL de CloudFlare, y de paso puede que solucione el problema de los pedidos pendientes de RedSys.

La entrada WooCommerce: Pedidos que se quedan pendientes con la pasarela RedSys la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

Cómo quitar el inútil, innecesario y molesto menú «Marketing» de WooCommerce

Desde la versión 4.1 de WooCommerce, los creadores de este magnífico plugin nos han regalado un nuevo elemento en el menú de administración de nuestro WordPress, el tonto, inútil, molesto, innecesario e incomprensible menú llamado «Marketing»

Entiendo que quieran vender sus cosas y eso pero ¿no tenían ya para eso el submenú de extensiones en los ajustes de WooCommerce?, por ejemplo.

¡Es que, además, es un menú de primer nivel, ocupando un precioso espacio en la administración de mi WordPress!

En fin, que no te cuento más, ya sabes lo que es, y estarás conmigo en que es del todo innecesario, así que vamos al tema.

Si quieres quitar de ahí ese menú simplemente añade esta línea de código al final del archivo functions.php del tema hijo activo, o sino hazte un plugin de personalizaciones y ñapas varias y lo añades ahí:

add_filter( 'woocommerce_marketing_menu_items', '__return_empty_array' );

Devolverás la administración de tu WordPress a su antiguo esplendor, ahora si ese molesto e inútil menú de «Marketing»

Si te ha entrado la fiebre ocultadora de menús en este enlace te cuento cómo ocultar otros menús de WordPress, y dentro de nada te contaré cómo ocultar otros menús y submenús de WooCommerce.

La entrada Cómo quitar el inútil, innecesario y molesto menú «Marketing» de WooCommerce la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

Si usas Elementor Pro o Ultimate Addons for Elementor podrías estar infectado

El 6 de mayo, un equipo antiamenazas de WordPress recibió avisos sobre la vulnerabilidad de 2 plugins, Elementor Pro y Ultimate Addons for Elementor, y cómo están siendo explotados en este aspecto, cosa comprobada a posteriori en los mismos archivos de los sitios afectados.

Este es un ataque que se está dando actualmente y que aún continúa, así que por eso te aviso, para que puedas dar los pasos necesarios para proteger tu sitio, aunque la información es limitada ya que el ataque sigue en curso.

Ataque a Elementor Pro y Ultimate Addons for Elementor

El primer plugin afectado fue Elementor Pro, y  aunque ya ha desarrollado un parche que arregla el problema, y lo hace seguro, debido al segundo plugin, Ultimate Addons for Elementor, de un desarrollador diferente, esa seguridad es ahora mismo parcial, ya que se puede vulnerar a Elementor desde este otro plugin.

Este ataque se está dando de 2 maneras:

  1. Por un lado en sitios web con registro abierto de usuario directamente atacan la web aprovechando las vulnerabilidades de Elementor Pro.
  2. Por otro lado, en webs sin registro de usuario permitido, utilizan el plugin Ultimate Addons for Elementor aprovechando su vulnerabilidad para registrarse como suscriptores y entonces sobrepasan esa barrera hacia Elementor Pro y empiezan a incluir código en tu sitio para cualquier tipo de interés que tengan.

Elementor gratis

Por suerte este problema no afecta a los millones de usuarios de la versión gratuita de elementor.

Pero para los usuarios de la versión pro, permite a usuarios registrados incluir líneas de código pueden tomar el control completo de webs.

Por ejemplo un usuario podría incluir una entrada alternativa a tu web para mantener acceso al mismo, y cambiarlo o borrarlo por completo a placer.

Y ante este problema ¿Qué debo hacer?

  1. Lo primero es asegurarte de que tienes actualizado Ultimate Addons for Elementor lo antes posible, a la versión 1.24.2 o superior.
  2. Tener Elementor Pro actualizado a la versión 2.9.4.
  3. Comprobar que no tienes ningún usuario con el perfil de suscriptor, desconocido, en tu WordPress, y si lo hay borrarlo cuanto antes.
  4. Buscar archivos llamados wp-xmlrpc.php. Esto pueden indicar que tu sitio ha sido comprometido.
  5. Borrar carpetas desconocidas en /wp-content/uploads/elementor/custom-icons/directory. Cualquier archivo creado aquí tras la creación de un usuario con perfil de suscriptor en tu sitio es una clara pista que puedes haber sufrido un ataque.

La entrada Si usas Elementor Pro o Ultimate Addons for Elementor podrías estar infectado la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.