-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RedSys rechaza servidores con SNI. Cómo redirigirlo por http (no-seguro)? #53
Comments
Con esta te debería valer redsys/index/callback otra opción que puedes aplicar es extraer la logica del controlador en un fichero php externo de Magento y indicar en htaccess que excluya esa ruta esto en caso de que tengas en Magento el forzado de https |
Gracias @mbernabeu lo he intentado pero no lo logré, no recibo la notificación de RedSys de vuelta, utilicé este código:
La redirección funciona y el site se pone en modo seguro, pero para RedSys hay algo que falla porque si la lógica es correcta debería funcionar... ¿algún fallo en la sintaxis, o la cadena no es la correcta? He probado con Mil gracias por cualquier sugerencia. |
prueba a poner tu la url en el navegador a ver si funciona, quiza Magento te este redireccionando a https |
Efectivamente, en el panel del TPV me sale que algo está aplicando una redirección 302:
RedSys está entrando por http (por lo que entiendo que mi excepción en .htaccess funciona), pero me queda la duda de cuándo y porqué se produce este 302? De dónde puede salir? Es el mismo .htaccess quién lo produce, y RedSys no admite redirecciones? Pero tenía entendido que esta solución funcionaba, de hecho en otros sites usando WooCommerce la hemos utilizado... Tenéis alguna idea de que podría ser? PD: sin la excepción de .htaccess, yendo por http normal en todo el site, me daba:
|
@jan1980 realiza un debug de que datos envias a redsys en el momento de la redireción, puede que le envies que funcione por seguro y luego el .htaccess lo cambie y por lo tanto tengas 302 |
Saludos chicos,
Sorprendentemente, RedSys no concluye el pedido si la notificación va por httpS en un servidor que use SNI (IP colectiva). Como consecuencia, el pago se produce, pero el pedido se queda Pendiente, y los mails transaccionales no salen.
Es decir, RedSys quieren que tengamos una IP dedicada.
Mientras RedSys se pone al día, y nos permite tener SSL con servidores que usen SNI, estamos obligados a usar algún tipo de redirección para que la web se mantenga por httpS, pero el callback se produzca por http, y pueda notificar a la tienda que el pago se ha completado (y lanzar los mails transaccionales).
Posible solución
Si no me equivoco, una solución es decirle al módulo que nos devuelva el callback por http (no-segura) en la casilla específica para eso en Métodos de Pago.
Pero luego deberíamos crear una redirección en .htaccess, para que el resto de la web use httpS (conexión segura).
Cómo sería la regla a poner en .htaccess para lograrlo?
Aquí hay un ejemplo, pero no sé qué convendría poner en lugar del "ALGO_ESPECÍFICO_DE_LA_URL_DE_CALLBACK":
Muchas gracias por cualquier idea o sugerencia.
Saludos,
Edito:
Podría tratarse de "redsys/index/callback" (según la pantalla de configuración, dónde se menciona lo de
{{secure_base_url}}redsys/index/callback
) o de "payment/redsys/callback"?Lo segundo lo encontré en un foro de OpenCart, y lo he buscado en el Módulo de Magento, dónde figura aquí, junto a otra URL parecida:
The text was updated successfully, but these errors were encountered: