Trabajar con Redsys y certificados https a veces es un poco desesperante, sobre todo cuando tenemos certificados SSL básicos (de los baratos o que regalan los hostings). Redsys no es compatible con dichos certificados, y las notificaciones a veces no llegan, por lo que Woocommerce no puede procesarlas.
Para ello, una solución, es hacer que nuestro sistema no redireccione las peticiones de notificación del banco a https, sino que las deje como http.
¿Cómo conseguirlo?, aquí dejo un ejemplo de código para añadir al fichero .htaccess:
RewriteCond %{QUERY_STRING} !wc-api [NC] RewriteCond %{HTTPS} off RewriteRule (.*) https://%{SERVER_NAME}$1 [R=301,L]
Más o menos viene a decir: «si venimos por http, y la url no contiene ‘wp-api’ (todos los casos, excepto notificación de pago), entonces redirecciona a https», por lo que la notificación de pago se quedaría en http.