Jump to content

Recommended Posts

Hola,

tengo un prestashop 1.6 todo me ha funcionado correctamente hasta que ahora estoy poniendo un certificado en la web para que vaya por https. Todo bien, se ha instalado correctamente y todo esta en https. He forzado la redireccion de todo el trafico a https, y funciona.

El problema viene al procesar los pagos por redsys, parece ser que redsys no le gusta el certificado y no me hace el callback con lo que el pedido no se registra.

Como puedo solventar este problema?

 

gracias

 

Link to comment
Share on other sites

lo ideal es que hables con el hosting y les comentes que el certificado es SNI. Vamos que te interesa que esa ip solo tenga tu certificado

http://blog.loading.es/2014/05/22/certificados-ssl-con-extension-sni/

 

si no tendrás que modificar el módulo de redsys en redsys.php para que siempre envie la url de vuelta con http

 

mas info http://www.apuntesdemarketing.com/certificado-ssl-y-prestashop/

 

copio y pego el tema del cambio redsys que dan en ese mismo blog y que doy fe que funciona ok

Hay otra solución mejor que deshabilitar por completo https, que consiste en modificar el fichero redsys.php del módulo y cambiar la parte donde construye la url de respuesta Online.

En la versión que estoy instalando yo a mis clientes es en la línea línea 336:
//URL de Respuesta Online
if (empty($_SERVER[‘HTTPS’]))
{
$protocolo = ‘http://’;
$urltienda = $protocolo.$_SERVER[‘HTTP_HOST’].__PS_BASE_URI__.’modules/redsys/validation.php’;
}
else
{
$protocolo = ‘https://’;
$urltienda = $protocolo.$_SERVER[‘HTTP_HOST’].__PS_BASE_URI__.’modules/redsys/validation.php’;
}

Hay que cambiar toda esa parte por

//URL de Respuesta Online
$protocolo = ‘http://’;
$urltienda = $protocolo.$_SERVER[‘HTTP_HOST’].__PS_BASE_URI__.’modules/redsys/validation.php’;

De esta manera siempre devuelve la respuesta por el protocolo http y se “puentea” esa deficiencia del servidor de redsys.


Link to comment
Share on other sites

Hola,

gracias por tu respuesta. He estado intentando lo del puenteo http, pero como tengo el nginx configurado para forzar a ir en https, no funciona ya que se cmabia a https.....he puesto una excepcion en el nginx para que esa URL sea forzadamente por http, y parece que funciona deja acceder en http en esa URL, pero como prestashop tiene como URL base en https lo cambia a https, asi que se forma un bucle infinito, nginx lo pasa a http y prestashop a https......Como puedo configurarlo para que funcione tu codigo?

Edited by Maria Gonzalez (see edit history)
Link to comment
Share on other sites

  • 3 months later...

Hola,

gracias por tu respuesta. He estado intentando lo del puenteo http, pero como tengo el nginx configurado para forzar a ir en https, no funciona ya que se cmabia a https.....he puesto una excepcion en el nginx para que esa URL sea forzadamente por http, y parece que funciona deja acceder en http en esa URL, pero como prestashop tiene como URL base en https lo cambia a https, asi que se forma un bucle infinito, nginx lo pasa a http y prestashop a https......Como puedo configurarlo para que funcione tu codigo?

Hola María,

si lograste solucionar el problema ¿Podrías indicar como lo hiciste?,

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...