[Solucionado] A vueltas con Redsys y en 1.6

Tema en 'Instalación, configuración y personalización' iniciado por Outlander, 24/1/15.

  1. Outlander

    Outlander Amante de Prestashop

    55
    1
    8
    Ya estoy en el último paso de mi migración de 1.4.11 a 1.6.0.9. Después de semanas peleándome con historias que ahora están resueltas me encuentro con este escollo:

    Instalo el módulo de Redsys para dar la opción de pago con tarjeta. El módulo v.1.5 que va de cine con mi 1.4.11 y que según he leído va bien en la 1.6 (será para algunos), a mi no me va.
    Con este modulo, el pago lo hace correctamente, se carga en el banco, se descuenta al cliente, pero... no retorna bien a Prestashop, dando un error en la página (creo que un 403) y no vacía el carrito ni registra el pedido en la tienda. Pero sí que hace bien el cargo al banco.

    Segunda opción. Me bajo la v.2.4.3 y lo mismo pero con un diferencial, retorna al index de la tienda sin dar error alguno. Hace la gestión del pago, pero no vacía ni el carrito y no registra el pedido. Lo mismo

    He probado con versiones intermedias, incluida la v.2 de Redsys e idem, más de lo mismo.

    Sospecho que el fallo está en el retorno, y que no retorna a la página que debiera para devolver los valores y cerrar bien la compra, y sinceramente no se por donde mirar. Comentar que el resto de los módulos de pago, incluido PayPal funcionan perfectamente.

    ¿A alguien le ha ocurrido esto o algo parecido?
    Un saludo
     
  2.  
    Comunidad Prestashop orgullosamente patrocinada por el hosting prestashop de FactoriaDigital.com con soporte en español.
  3. Outlander

    Outlander Amante de Prestashop

    55
    1
    8
    Re:A vueltas con Redsys y en 1.6

    Me respondo yo mismo, en la parte principal de la "solución":

    Tonto de mi que no me di cuenta que el retorno de Redsys, no funciona en modo de Mantenimiento de la tienda, que es como tengo la nueva versión. Esto es lo que pasa cuando buscas los errores a un nivel superior y son la cosa más simple y sencilla. Parece la Ley de Murphy. Lo pongo por si a algun@ le ocurre semejante despiste: Probar el pago con la tienda activa.

    Pero... No me gusta la forma que hace el retorno Redsys: Regresa directamente a la página principal de la tienda (index) sin sacar ni un mensaje al cliente de que el pago y el pedido ha concluido exitosamente. ¿¿Por qué así?? ¿¿Es normal en esta nueva versión??

    • Añadir que, a mi particularmente la versión 1.5 de Redsys no me funciona con Prestashop 1.6.0.9 Me da un error 404.
    • Me funciona con la última versión, la 2.4.3. Pero como digo, sin mensaje final...

    No pongo solucionado porque creo que la falta del mensaje o bien es un bug del módulo o un fallo de mi 1.6.0.9
    ¿Qué opináis?
     
  4. Josraso

    Josraso Lo cortes no quita lo valiente. Miembro del equipo

    740
    52
    28
    Re:A vueltas con Redsys y en 1.6

    Sobre el error que comentas, yo creo que deberia devolverte a la pantalla de validacion del pedido es decir a la confirmacion de que el pedido esta bien realizado, ya que mirando el manual del modulo asi como el codigo del modulo, tiene toda la pinta que algo te esta fallando ya que la url de vuelta, en la linea 378 y 379 del archivo redsys.php veras que pone esto:

    Si el pago sale correcto devuelve esta url:
    Insertar CODE, HTML o PHP:
    'UrlOk' => $protocolo.$_SERVER['HTTP_HOST'].__PS_BASE_URI__.'index.php?controller=order-confirmation&id_cart='.$id_cart.'&id_module='.$this->id.'&id_order='.$this->currentOrder.'&key='.$customer->secure_key,
    Si el pago no es correcto devuelve esta URl (la cual puedes personalizar):

    Insertar CODE, HTML o PHP:
    'UrlKO' => $urltienda,
     

    Adjuntos:

    • tuto.png
      tuto.png
      Tamaño de archivo:
      136,6 KB
      Visitas:
      43
  5. Outlander

    Outlander Amante de Prestashop

    55
    1
    8
    Re:A vueltas con Redsys y en 1.6

    Estoy mirando lo que pones y no veo nada de eso. Te explico, partiendo que he usado el módulo v.2.4.3 descargado recientemente de Redsys, el código lo han debido de separar en dos .php:
    redsys.php
    validation.php

    No aparece nada relacionado con "UrlOK" ni "UrlKO. Si puedes bájate el modulo para que lo veas, ya verás.
    La validación aparece en validation.php, tal cual:

    Insertar CODE, HTML o PHP:
    if ($firma_local == $firma_remota)
    {
    /** Creamos los objetos para confirmar el pedido **/
    $context = Context::getContext();
    $cart = new Cart($pedido);
    $redsys = new redsys();
    if ($cart->id_customer == 0 || $cart->id_address_delivery == 0 || $cart->id_address_invoice == 0 || !$redsys->active)
    Tools::redirect('index.php?controller=order&step=1');
    /** Objeto cliente **/
    $customer = new Customer((int)$cart->id_customer);
    if (!Validate::isLoadedObject($customer))
    Tools::redirect('index.php?controller=order&step=1');
    /** Formatear variables **/
    $respuesta = (int)$respuesta;
    if ($respuesta < 101)
    {
    /** Compra válida **/
    Tools::redirect('index.php?controller=order-confirmation&id_cart='.$pedido.'&id_module='.$redsys->id.'&id_order='.$redsys->currentOrder.'&key='.$customer->secure_key);
    }
    else
    Tools::redirect('index.php');
    }
    else
    Tools::redirect('index.php');
    }
    
    No se... ¿cómo lo ves tu? Puede ser que esto esté mal o sea un fallo de order-confirmation.php, no se qué pensar. Gracias.
     
  6. Josraso

    Josraso Lo cortes no quita lo valiente. Miembro del equipo

    740
    52
    28
    Re:A vueltas con Redsys y en 1.6

    Para darte esa informacion me he bajado el ultimo modulo de la pagina de Redsys y si vi ese trozito de codigo y justo en las lineas que te comento. También puede ser lo que tu comentas pero en ese caso seria si tienes algun tipo de modificacion sobre la base de ese archivo o algun override creado.
     
  7. Outlander

    Outlander Amante de Prestashop

    55
    1
    8
    Re:A vueltas con Redsys y en 1.6

    Antes de nada, gracias por molestarte en bajar el modulo y revisarlo. :)
    Ahora, la línea que tu pusiste difiere de la que viene en el nuevo validation.php

    La del modulo 2.4.3
    Insertar CODE, HTML o PHP:
    Tools::redirect('index.php?controller=order-confirmation&id_cart='.$pedido.'&id_module='.$redsys->id.'&id_order='.$redsys->currentOrder.'&key='.$customer->secure_key);
    
    La tuya:
    Insertar CODE, HTML o PHP:
    $protocolo.$_SERVER['HTTP_HOST'].__PS_BASE_URI__.'index.php?controller=order-confirmation&id_cart='.$id_cart.'&id_module='.$this->id.'&id_order='.$this->currentOrder.'&key='.$customer->secure_key,
    
    He mirado línea a línea order-confirmation.php y no veo que esté mal. Tal como el original 1.6.0.9

    Lo que no entiendo es si todo está validado, ok, tramita el pedido, envía emails, etc... por qué no ejecuta esta línea. Porque según leo el código tan solo debería de ir a index.php si fuera negativo. ¡¡Y va... de "cabeza" ahí!! Que de cabeza me trae... :eek:

    Claro que esa sentencia viene dada por lo que veo del valor <101 ¿Alguna luz de dónde viene y qué reporta ese valor?
    Insertar CODE, HTML o PHP:
     if ($respuesta < 101) 
    Gracias una vez más. Saludos
     
  8. frajufesi

    frajufesi Aprendiz de Prestashop

    2
    0
    0
    Re:A vueltas con Redsys y en 1.6

    Llevo todo el día peleandome con los de REDSYS. Le echan la culpa al hosting. Dicen que no es visible desde internet la url

    "http://xxxxxxxx.com/modules/redsys/validation.php"

    Y la solución que dan es:

    En respuesta a su correo le informamos que la url de notificación online HTTP se define en el parámetro Ds_ Merchant_MerchantURL
    La ruta debe ser válida y visible.
    No debe redireccionar a una tercera página.
    Debe estar preparada para recibir los parámetros por Post.
    No debe solicitar ni usuario ni contraseña.
    Como le indicamos en correo anterior debe solicitar información de la respuesta a su hosting.

    Pero con el modulo bajado de su web: version 2.4.3 y con la versión de prestashop 1.6.0.8 los pedidos se tramitan en el modo test, pero cuando se hace con la tarjeta que no se acepta, directamente se va a la home, no ejecuta la url "http://xxxxxxxx.com/modules/redsys/validation.php"

    Alguien lo ha resuelto?
     
  9. Outlander

    Outlander Amante de Prestashop

    55
    1
    8
    Re:A vueltas con Redsys y en 1.6

    Te voy a contar cómo he resuelto yo el asunto del modulo de Redsys:

    Después de publicarlo en este hilo y buscar opciones del porqué no redirige y es más... hace (o no hace nada) lo que le sale en gana es acordarme de quién programó semejante módulo, me refiero a la versión 2.4.3.

    Un detalle como le comenté a Josraso es que el modulo en esa versión lo han dividido en dos .php : uno el redsys.php y el validation.php. Cosa que en versiones anteriores estaba la validación dentro del módulo redsys.php y hubo cambios en el código de validación, conclusión: el modulo no va bien.

    Intenté poner la v.1.5 de Redsys que en Prestashop 1.4 va bien, pero debe haber incompatible con la 1.6.0.9 pues no hay forma de hacerla funcionar correctamente ¿Qué hice además de estirarme de las venas durante una semana...?

    Solución: Bajarme una versión anterior a la chapucera 2.4.3, por ejemplo la Redsys v.2.0. El código está en un bloque (como antes: redsys.php) y la configuración al igual que en la v.1.5. Y voilá... ¡Funciona, y bien!
    ;D
    Ten en cuenta que además de eso NO debes de tener la tienda en modo mantenimiento, y tampoco en debug.

    Suerte y moraleja: "Cuando veas un módulo que te funciona, no lo sueltes por mucho que te tiente una versión superior. Esa trae aspirinas incluidas" ;)
     
  10. frajufesi

    frajufesi Aprendiz de Prestashop

    2
    0
    0
    SOLUCIONADO:

    COMPRE EL MODULO DE http://www.idnovate.com/. 39 euritos. Y con su ayuda logré encontrar cual era el problema.

    Muy recomendable su servicio y concretamente al técnico David.
     
  11. josegemar

    josegemar Aprendiz de Prestashop

    1
    0
    0
    Frajufesi, yo tambien llevo desde el viernes rompiéndome la cabeza con el maldito modulo de Redsys, asi que cuando he visto que te ha ido de lujo con este modulo lo he comprado. Ahora va perfecto, recibo notificaciones http, asi que me vacia la cesta y pone el pedido. El problema es que 2 pruebas reales que he hecho me sale "Error de pago". En el historial de pedidos puedo ver esos 2 pedidos, pero el estado muestra ese mensaje que te decia "Error de pago". ¿Te ha pasado esto? Es que no sé si me he dejado algo en la configuración del modulo o qué es. Aparentemente todo parece bien...
     
  12. javilopez

    javilopez Aprendiz de Prestashop

    5
    0
    0
    Re:A vueltas con Redsys y en 1.6

    Hola. ¿De dónde puedo descargar esta versión antigua de redsys?
    Porque a mí también me está dando problemas, el soporte de redsys no me da solución y los de la Caixa parece que les hable en chino.

    Gracias.
     
  13. Outlander

    Outlander Amante de Prestashop

    55
    1
    8
    Re:A vueltas con Redsys y en 1.6

    Si me dan permiso y me dicen cómo subir aquí el modulo v.2.0 de Redsys, lo subo y te lo bajas, y así queda para quién más pueda tener problemas con la última versión. Sino mándame un mensaje personal y te lo envío directamente. Saludos.
     
  14. Theredflea

    Theredflea Aprendiz de Prestashop

    1
    0
    0
    Hola,
    me he registrado en este foro porque he solucionado este problema, y creo que la solución será válida para muchos a los que les ocurre lo mismo.
    Parece una tontería pero ha funcionadoo perfectamente:

    SOLUCIÓN:
    1- Localización > Traducciones: Buscar las traducciones de los campos deferentes a RedSys y Paypal y traducirlas TODAS.
    Hay un montón lo sé, pero lo que he hecho ha sido copiar texto de columna izquierda (original) / pegar en columna derecha.
    Importante n odejarse ninguna.
    2- Hacerlo para todos los idiomas instalados

    TYras tener el mismo problema que vosotros tanto con RedSys como con Paypal, haciendo esto se ha solucionado.

    Espero esta aportación os vaya tan bien como a mi!!!
     
  15. joseantgv

    joseantgv Aprendiz de Prestashop

    15
    0
    1
    Hola,

    soy Jose de idnovate.com. Si alguien necesita ayuda con nuestro módulo puede ponerse en contacto directamente con nosotros en el correo info@idnovate.com.

    Un saludo y gracias.
     
  16. mistik

    mistik Aprendiz de Prestashop

    2
    0
    0
    Me parece FATAL que RedSys haya actualizado sus módulos y no funcionen.

    Llamas a su soporte y te remiten a la web donde están colgados los módulos (actualizados 2.8.2 que no funcionan)

    Finalmente te remiten a un "contacto" para que pagues.... DE RISA!!!

    No me extrañaria que el programador de RedSys se este ganando un sobresueldo ... publico un módulo que no funciona y de cobro el que si....
     
  17. Josraso

    Josraso Lo cortes no quita lo valiente. Miembro del equipo

    740
    52
    28
    "Ojo" hay que volver a generar la clave, no sirve utilizar la vieja, lo dijo por que a mi me paso y ya tengo el modulo que mencionas funcionando perfectamente.
     
  18. Ambar

    Ambar Aprendiz de Prestashop

    2
    0
    0
    Buenas noches
    Por favor que alguien me ayude. Llevo desde la semana pasada intentando instalas el módulo de redsys para prestashop v 2.8.2. y me sale todo el rato este mensaje: se ha producido un error al extraer el módulo (puede tratarse un un fichero corrupto). He llamado a la plataforma y me dicen que el módulo funciona bien, les he escrito y me contestan que lo han probado con mi versión de prestashop que es la 1.6.0.1.4. Sí que es cierto que soy bastante torpe en estos temas, pero les expliqué paso por paso lo que hice, y parece ser que lo hice todo bien. La solución que me dan es que elimine la versión anterior, e instale el módulo en un prestashop vacío. La tienda tiene 6 meses y me la hizo una empresa externa, ya que yo no tengo ni idea de ésto y me da miedo de perder toda la información. ¿Puede alguien ayudarme? ¿le ha pasado a alguien lo mismo? Ya no sé que hacer
     
  19. Josraso

    Josraso Lo cortes no quita lo valiente. Miembro del equipo

    740
    52
    28
    Probaste a subirlo manualmente desde el ftp, tambien has mirado en tu pc que se descomprima bien, a veces puede ser que se descargue mal.
     
  20. Ambar

    Ambar Aprendiz de Prestashop

    2
    0
    0
    Ya todo funciona perfecto. Muchas gracias Josraso por toda tu ayuda.
     
  21. maximo88

    maximo88 Aprendiz de Prestashop

    1
    0
    0
    https://www.prestashop.com/forums/topic/266480-modulo-redsys-tpv-virtual-gratis-en-su-web/?p=2194459

    Estamos siguiendo el tema aquí. Y pondremos ahí el módulo GRATIS, porque las empresas y personas que se quieren lucrar con esto hacen un flaco favor a esta plataforma