¿Configurar redsys en cloudflare? Error -1

Intento hacer funcionar redsys en cloudflare, pero no hay manera de hacer que funcione…
Mi configuración es la siguiente…

Detro de SSL/TLS…

El modo de encriptación SSL/TLS actualmente es Completo (estricto)

Dentro de Firewall

En Reglas de firewall he permitido lo siguiente:
(ip.src eq 195.76.9.187 and ip.geoip.asnum eq 31627) or (ip.src eq 195.76.9.222 and ip.geoip.asnum eq 31627) or (ip.src eq 195.76.9.182 and ip.geoip.asnum eq 31627) or (ip.src eq 193.16.243.33 and ip.geoip.asnum eq 31627)

En Herramientas he permitido lo siguiente:
AS31627

Dentro de Reglas de página

He añadido una regla con la siguiente información:
URL: serravegana.com/?wc-api=*
Comprobación de integridad del navegador: Off
SSL: Flexible
Nivel de caché: Omitir

Aun asi no funciona…

Solucionado.

Al final, he dado con la solución…
Lo cierto es que el error -1 persiste, pero los pedidos no se quedan “Pendientes”, el error -1 se muestra por problemas con los certificados, pero como vamos a desactivar “https” para redsys, no nos hará falta quitar el error que se muestra.

Os pongo la solución completa para que os funcione a todos.

OLVIDAROS DE CUALQUIER LOCURA QUE DIGAN LAS DEMÁS WEBS Y SIGUE ESTE POST

Instala y activa lo siguiente:

Elimina el plugin oficial de Redsys ya que lo sustituiremos por Woocommerce Sermepa Payment Gateway.

Después de esto, tenemos que ajustar la web para que funcione con cloudflare, asique vamos a ello…

Como configurar Really Simple SSL

  • Ve a “Ajustes” --> “SSL”.
  • Entra en la pestaña “Ajustes”.
  • Activa el “Solucionador de contenido mixto”.
  • Activa también la opción “Activa redirección 301 de WordPress a SSL”.
  • Por ultimo activa “Dejar de modificar el archivo .htaccess”.
  • Guarda los cambios.

Como configurar Woocommerce Sermepa Payment Gateway

  • Ve a “WooCommerce” --> “Ajustes”
  • Pulsa en la pestaña “Pagos”
  • Activa “Credit card (TPV Redsys)” y pulsa en “Gestionar”
  • Ahora eso lo teneis que completar según vuestros datos de redsys.
  • Aseguraros de tener la opción “Protocolo para notificaciones” puesta en “HTTP”.
  • Guarda los cambios.

Como configurar tu .htaccess

Teneis que copiar y pegar lo siguiente en la parte superior de vuestro .htaccess

`# REDIRECCION CERTIFICADO SSL REDSYS

RewriteEngine On
RewriteCond %{QUERY_STRING} !wc-api [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

FIN REDIRECCION CERTIFICADO SSL REDSYS`

En mi caso he utilizado el plugin “All In One WP Security” para insertar este código (Lo podeis insertar en “Seguridad WP” --> “Cortafuegos” --> “Reglas Personalizadas”, marcamos las 2 casillas superiores, ahora insertamos el código mostrado arriba y finalmente guarda los cambios).

Como configurar Cloudflare

Toda la parte de la web ya la hemos completado, ahora hace falta configurar cloudflare para que no bloquee las conexiones con Redsys, vamos a ello.

  • Accede a “SSL/TLS” --> “Certificados de perímetro”.
  • Desactiva la opción “Usar siempre HTTPS”.
  • Desactiva la “Seguridad de transporte estricta de HTTP (HSTS)”

Información adicional: Quiero destacar que NO IMPORTA como está configurado el “modo de encriptación” en cloudflare, de hecho en mi caso lo tengo configurado con la máxima seguridad “Completo (Extricto)”

Ahora vamos a añadir al firewall las reglas para que cloudflare no bloquee las conexiones de redsys.

  • Accede a “Firewall” --> “Herramientas”.
  • En el apartado “Reglas de Access de IP” introduce la siguiente regla.
    “AS31627” - “Permitir” - “Este sitio Web” - “Redsys”
  • Pulsa agregar.

TODO LISTO

Hemos acabado de configurarlo todo, ya está funcionando :slight_smile:
PD: Si no os funciona es debido a un plugin que está bloqueando la conexión o algo similar.

Saludos