esecandy87 Posted August 10, 2017 Share Posted August 10, 2017 Buenas tardes, ¿Os funciona bien el módulo con Prestashop 1.7.2? Llevo todo el día investigando y hasta donde he podido llegar es al validate.php. El punto en el que falla es este: $totalCart = $cart->getOrderTotal(true, Cart::BOTH); La ejecución no pasa de ahí, así que no termina validando el pedido. He imprimido el objeto $cart y a parte de algunos ids que sí están rellenados, no hay datos de artículos, precios, totales, etc. Seguramente por eso peta el getOrderTotal. ¿Os ha pasado a alguno? ¡Gracias! Buenos días, En primer lugar agradecer la aportación de eltitoxusmi ya que somos muchos los que nos estamos encontrando con el problema de redsys y el tiempo que él ha dedicado a retocar este módulo es para quitarse el sombrero. Yo estoy teniendo un problema similar con la 1.7.2 instalada ya que me realiza el pago de forma correcta pero no me genera el pedido. He puesto trazas en el validation pero se ve que falla justo en la línea siguiente: $customer = new Customer((int)$cart->id_customer); He puesto trazas para comprobar que el $cart contiene el id_customer correcto y así es por lo que debe ser algún error a la hora de instanciar el nuevo objeto "Customer". He comprobado eque los permisos del fichero "validation.php" estén a 755 y así es. ¿Alguien tiene alguna idea? Muchas gracias de antemano. Link to comment Share on other sites More sharing options...
eltitoxusmi Posted August 10, 2017 Share Posted August 10, 2017 Buenas! Generalmente cuando no se generan los pedidos correctamente suele ser un problema con los certificados SSL. Redsys no acepta certificados SNI (certificados SSL sin IP fija) ya que requieren la validación del certificado por dominio y por IP. Esto hace que el sistema de notificaciones, que se encarga de actualizar el estado del pedido y, en algunos casos, de almacenar el propio pedido, no funcione correctamente. En la web donde monté el módulo no la he actualizado todavía a 1.7.2, un poco de miedo a que se me desconfiguren todos los módulos como me pasó cuando actualicé la última vez. Probaré de todas formas este finde con un 1.7.2 y os informo Link to comment Share on other sites More sharing options...
esecandy87 Posted August 10, 2017 Share Posted August 10, 2017 Buenas! Generalmente cuando no se generan los pedidos correctamente suele ser un problema con los certificados SSL. En la web donde monté el módulo no la he actualizado todavía a 1.7.2, un poco de miedo a que se me desconfiguren todos los módulos como me pasó cuando actualicé la última vez. Probaré de todas formas este finde con un 1.7.2 y os informo . ¡Gracias Crack! Link to comment Share on other sites More sharing options...
OneAce1 Posted August 10, 2017 Share Posted August 10, 2017 Pero qué pasa cuando la versión de mi Prestashop es 1.6.1.11? Serviría esta versión de la que hablas? Buenas! Generalmente cuando no se generan los pedidos correctamente suele ser un problema con los certificados SSL. En la web donde monté el módulo no la he actualizado todavía a 1.7.2, un poco de miedo a que se me desconfiguren todos los módulos como me pasó cuando actualicé la última vez. Probaré de todas formas este finde con un 1.7.2 y os informo Link to comment Share on other sites More sharing options...
eltitoxusmi Posted August 11, 2017 Share Posted August 11, 2017 Pero qué pasa cuando la versión de mi Prestashop es 1.6.1.11? Serviría esta versión de la que hablas? Usa el módulo oficial de Redsys que puedes encontrar en su página, que soporta PS 1.6. esta modificación que he hecho está pensada a partir de la 1.7 Link to comment Share on other sites More sharing options...
OneAce1 Posted August 11, 2017 Share Posted August 11, 2017 Pero el problema que tengo es el del Error del HandShake. Tengo Hosting Compartido y Certificado SSL comprado de Comodo pero el registro del pedido no se proceso y en las notificaciones recibo error del HandShake. Usa el módulo oficial de Redsys que puedes encontrar en su página, que soporta PS 1.6. esta modificación que he hecho está pensada a partir de la 1.7 Link to comment Share on other sites More sharing options...
eltitoxusmi Posted August 11, 2017 Share Posted August 11, 2017 Pero el problema que tengo es el del Error del HandShake. Tengo Hosting Compartido y Certificado SSL comprado de Comodo pero el registro del pedido no se proceso y en las notificaciones recibo error del HandShake. Este es el hilo para 1.7. Para el oficial genérico de Redsys te recomiendo que sigas el hilo https://www.prestashop.com/forums/topic/266480-modulo-redsys-tpv-virtual-gratis-en-su-web/ En tu caso concreto tiene pinta que el cipher del certificado SSL no está soportado por Redsys seguramente, hablando desde el desconocimiento concreto de tu proyecto. Como le hemos indicado anteriormente esto puede ser producido a que debe admitir alguno de los siguientes Cipher Suites, que en su caso, salvo error, no admite ninguno de ellos: SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA Link to comment Share on other sites More sharing options...
naturalba Posted August 11, 2017 Share Posted August 11, 2017 (edited) Buenas! soy bastante nueva en todo esto, así que perdonad si la pregunta suena tonta ¿El tema de la IP fija es algo que cualquier hosting debe poder solucionar, o está sujeto al plan de pago que uno tiene contratado con ellos? Ya tengo el SSL (después de muchas dificultades para que me lo instalasen correctamente), y ahora descubro que también necesito la ip fija! En todo caso, la respuesta de mi hosting a mi petición de IP fija para Redsys es esta: 'Te confirmo que nuestra plataforma de Hosting Linux responde bajo tecnología SNI la cual te pedirá Redsys que confirmes que dispones. Según la nueva actualización que realizaron en su módulo, podrás instalártelo sin problemas e implementarlo en tu espacio web. Meses atrás Redsys, solicitaba para sus módulos una única IP, por lo que debías pasar la gestión de tu tienda online hacia un servidor dedicado con una única IP. Desde Julio de este año, implementaron la tecnología SNI y ahora ya no es necesario de requerir una única IP, puesto que su módulo acepta tecnología SNI.En caso de que tengas dudas, contacta con ellos directamente para que te indiquen los requisitos que debe tener tu Hosting, pero en principio, como te comentaba, nuestra plataforma es apta para este tipo de implementación.' ¿Hay algún otro requisito técnico para que el módulo gratuito de redsys funcione corretamente en 1.7.1? Gracias! Edited August 11, 2017 by naturalba (see edit history) Link to comment Share on other sites More sharing options...
josemadominguez Posted August 15, 2017 Share Posted August 15, 2017 Hola a tod@s, Tras encontrar este hilo en el foro e instalado la aportación /modulo de eltitoxusmi me funciono Redsys en pretashop 1.7.1.2. Pero al tener que actualizar a la 1.7.2.0 por recomendación del creador de la plantilla que me generaba problemas, también me encuentro que no me genera el pedido / no vacía el carro de la compra, pero si hace el pago en TPV virtual. No puedo probar en modo depuración para intentar encontrar el error, ya que en modo depuración no se muestra el modulo en la compra, he probado con los permisos, el certificado ssl (aunque gratuito) esta con IP fija y otros, pero sigue sin funcionar. Los de Redsys, dicen que por sus parte no muestra errores en el pago. ¿Ha alguien le funciona en 1.7.2.0?, ¿alguna idea de que puede ser? Gracias. Link to comment Share on other sites More sharing options...
pepebotella Posted August 15, 2017 Share Posted August 15, 2017 Yo tengo el mismo problema con la versión de prestshop 1.7.2, pero si has seguido el foro verás que eltitoxusmi, que es el compañero forero que se ha currado la actualización del módulo redsys 3.0 al prestashop 1.7, iba a echar un vistazo al problema en estos días, para ver si le funcionaba correctamente en la versión última 1.7.2 Link to comment Share on other sites More sharing options...
josemadominguez Posted August 16, 2017 Share Posted August 16, 2017 OK, gracias eltitoxusmi. Link to comment Share on other sites More sharing options...
ComaFlotante Posted August 18, 2017 Share Posted August 18, 2017 Hola a todo@s, Soy nuevo en este foro pero quería aportar mi granito de arena. Yo también tengo el Prestashop 1.7.2 con el último modulo de RedSys 3.0 bajado de su web, y una vez realizado el pago ni me vaciaba el carrito,ni me ponía el resumen del pago con la compra y no me redirigía correctamente. Le he echado un vistazo al validation.php, y aunque no me he querido meter en profundidad, he visto que no obtiene bien el objeto $cart ni el $totalCart (que supuestamente es el importe total de la compra en la tienda. No confundir con el $total o el $totalOrig que es el total, el Ds_Amount que nos viene de RedSys). He modificado para mi tienda también el redsys.php para que en el carro de la compra me cambie la imagen de RedSys (que los clientes no creo que conozcan) por los iconos de visa y mastercard. Con todos estos cambios ya me funciona correctamente la pasarela de pago con Redsys. Os dejo un enlace donde os podréis bajar los dos archivos y reemplazarlos en vuestra tienda para la 1.7.2 https://drive.google.com/open?id=0B8Dt0Ja2K-bxU1k4M20zeWpULVk Los que tenéis que reemplazar son estos: ../modules/redsys/redsys.php ../modules/redsys/validation.php Cualquier cosa me decís pepebotella y josemadominguez. Espero haberos ayudado! Saludos 1 Link to comment Share on other sites More sharing options...
josemadominguez Posted August 18, 2017 Share Posted August 18, 2017 Hola ComaFlotante, Gracias por tú aportación, he probado sustituyendo los archivos que adjuntas, pero ha mi no me ha funcionado. Hace el Pago en TPV virtual, pero no continua con el pedido en prestashop (sigue el producto en el carrito). Incluso he cambiado los permisos de los ficheros de 644 a 666. Buena idea el cambiar el icono de Redsys por las tarjetas. Gracias a tod@s por seguir aportando. Link to comment Share on other sites More sharing options...
eltitoxusmi Posted August 18, 2017 Share Posted August 18, 2017 Hola a todo@s, Soy nuevo en este foro pero quería aportar mi granito de arena. Yo también tengo el Prestashop 1.7.2 con el último modulo de RedSys 3.0 bajado de su web, y una vez realizado el pago ni me vaciaba el carrito,ni me ponía el resumen del pago con la compra y no me redirigía correctamente. Le he echado un vistazo al validation.php, y aunque no me he querido meter en profundidad, he visto que no obtiene bien el objeto $cart ni el $totalCart (que supuestamente es el importe total de la compra en la tienda. No confundir con el $total o el $totalOrig que es el total, el Ds_Amount que nos viene de RedSys). He modificado para mi tienda también el redsys.php para que en el carro de la compra me cambie la imagen de RedSys (que los clientes no creo que conozcan) por los iconos de visa y mastercard. Con todos estos cambios ya me funciona correctamente la pasarela de pago con Redsys. Os dejo un enlace donde os podréis bajar los dos archivos y reemplazarlos en vuestra tienda para la 1.7.2 https://drive.google.com/open?id=0B8Dt0Ja2K-bxU1k4M20zeWpULVk Los que tenéis que reemplazar son estos: ../modules/redsys/redsys.php ../modules/redsys/validation.php Cualquier cosa me decís pepebotella y josemadominguez. Espero haberos ayudado! Saludos Cuidado porque te has cepillado toda la validación del objeto cliente y eso puede ser un problema si tienes tienda multilenguaje/multidivisa. Fíjate en dos de las líneas que has comentado //Context::getContext()->language = new Language((int)$cart->id_lang); //Context::getContext()->currency = new Currency((int)$cart->id_currency); Al cargarte eso, realmente no sé qué puede pasar en una tienda con dos idiomas, por ejemplo, al no meterle en el contexto el idioma del "carrito". Por lo que aporta el compañero @ComaFlotante , el error parece que está en el objeto $cart, que por algún motivo no estará guardando algún dato correctamente cuando genera el carrito (seguramente habrá cambiado algo en 1.7.2?) y de ahí que al recuperarlo tampoco lo haga correctamente. A ver si saco un rato y lo miro Link to comment Share on other sites More sharing options...
esecandy87 Posted August 18, 2017 Share Posted August 18, 2017 Hola a todo@s, Soy nuevo en este foro pero quería aportar mi granito de arena. Yo también tengo el Prestashop 1.7.2 con el último modulo de RedSys 3.0 bajado de su web, y una vez realizado el pago ni me vaciaba el carrito,ni me ponía el resumen del pago con la compra y no me redirigía correctamente. Le he echado un vistazo al validation.php, y aunque no me he querido meter en profundidad, he visto que no obtiene bien el objeto $cart ni el $totalCart (que supuestamente es el importe total de la compra en la tienda. No confundir con el $total o el $totalOrig que es el total, el Ds_Amount que nos viene de RedSys). He modificado para mi tienda también el redsys.php para que en el carro de la compra me cambie la imagen de RedSys (que los clientes no creo que conozcan) por los iconos de visa y mastercard. Con todos estos cambios ya me funciona correctamente la pasarela de pago con Redsys. Os dejo un enlace donde os podréis bajar los dos archivos y reemplazarlos en vuestra tienda para la 1.7.2 https://drive.google.com/open?id=0B8Dt0Ja2K-bxU1k4M20zeWpULVk Los que tenéis que reemplazar son estos: ../modules/redsys/redsys.php ../modules/redsys/validation.php Cualquier cosa me decís pepebotella y josemadominguez. Espero haberos ayudado! Saludos Ante todo muchas gracias por la aportación. En un principio me fallaba porque al validar los importes no eran iguales (uno de ellos tenía dos "0" al final.). He modificado la comprobación para que compruebe el mismo numero dividido entre 100 y esa parte ya la hace pero cuando llama a la función "validateOrder" falla. Seguiré investigando... Gracias de nuevo! Link to comment Share on other sites More sharing options...
naturalba Posted August 18, 2017 Share Posted August 18, 2017 Una pregunta: me han mandado los de redsys a través de mi banco los parámetros para configurar el entorno de pruebas (los definitivos aún no), y cuando los meto en el módulo y quiero hacer una prueba de compra recibo el mensaje 'no hay ningún método de pago'. Ni siquiera me aparece la opción de pago por transferencia. Cuando desactivo el módulo redsys vuelve la opción de la transferencia. Tengo 1.7.1 y el módulo modificado que se subió aquí. Algún pista de que puede estar pasando? Gracias Link to comment Share on other sites More sharing options...
ComaFlotante Posted August 18, 2017 Share Posted August 18, 2017 Me parece que no he subido el validationcorrecto. Tenía varios, y he subido uno con el que estaba "jugando" Eltutoxusmi, a mi me da error en algún atributo que se carga o debería cargar en el $cart, pero no tengo mucho tiempo para averiguar cuál es. Si tienes un rato para investigarlo, genial, más que nada para no quedarme con la curiosidad Josemadominguez, he subido el validate correcto. Me funciona bien el pago, el return, el idioma y las divisas (Ya que mi tienda está en inglés y español). Por si acaso, aunque no creo que te afecte, quita la caché de tu tienda, fuerza la recompilación de tu tienda para hacer las pruebas y limpia la caché de tu explorador. Te dejo ahí el enlace para que te lo descargues: https://drive.google.com/open?id=0B8Dt0Ja2K-bxZkVSV25uWjZwMTg Naturalba, es la 3.0.0 de RedSys? Link to comment Share on other sites More sharing options...
naturalba Posted August 18, 2017 Share Posted August 18, 2017 Sí, la 3.0.0, pero la versión modificada que subieron por aquí. También he añadido tus dos archivos y seguía sin funcionar, aunque no he probado con el nuevo que acabas de subir. Y, claro, los de redsys al preguntarle versión de prestashop y del módulo han terminado su soporte, porque ese módulo no es compatible de entrada. Les he dicho que a vosotros os funciona con alguna modificación, pero eso no es asunto suyo. Y no quisiera comprar el módulo de pago hasta no estar por lo menos segura de que el sistema me convence (además de que si se puede prefiero el gratuito, claro). Alguna idea? Mando capturas o algo? Link to comment Share on other sites More sharing options...
ComaFlotante Posted August 18, 2017 Share Posted August 18, 2017 ¿Puedes enviar una captura de la pantalla de los parámetros que introduces en el módulo? Link to comment Share on other sites More sharing options...
ComaFlotante Posted August 18, 2017 Share Posted August 18, 2017 Solo quiero ver si estas poniendo el módulo en test Link to comment Share on other sites More sharing options...
esecandy87 Posted August 18, 2017 Share Posted August 18, 2017 Me parece que no he subido el validationcorrecto. Tenía varios, y he subido uno con el que estaba "jugando" Eltutoxusmi, a mi me da error en algún atributo que se carga o debería cargar en el $cart, pero no tengo mucho tiempo para averiguar cuál es. Si tienes un rato para investigarlo, genial, más que nada para no quedarme con la curiosidad Josemadominguez, he subido el validate correcto. Me funciona bien el pago, el return, el idioma y las divisas (Ya que mi tienda está en inglés y español). Por si acaso, aunque no creo que te afecte, quita la caché de tu tienda, fuerza la recompilación de tu tienda para hacer las pruebas y limpia la caché de tu explorador. Te dejo ahí el enlace para que te lo descargues: https://drive.google.com/open?id=0B8Dt0Ja2K-bxZkVSV25uWjZwMTg Naturalba, es la 3.0.0 de RedSys? ¡¡Funciona perfecto!! Mil gracias!!!! :-) 2 Link to comment Share on other sites More sharing options...
naturalba Posted August 18, 2017 Share Posted August 18, 2017 Si, lo pongo en test, concretamente en la primera opción sis-t. La captura no te puedo poner en este mismo momento porque no tengo el ordenador delante y desde el móvil no me deja acceder a los módulos. El resto de cosas que pongo es el número de Comercio, contraseña de encriptacion, Número de terminal 1 y cero en la otra opción,que no recuerdo, más que nada por dejarlo como está ya que no me han dicho que ahí deba poner nada... Link to comment Share on other sites More sharing options...
ComaFlotante Posted August 18, 2017 Share Posted August 18, 2017 Naturalba, otra cosa que puede ser y que yo no me di cuenta es que a mi me cambiaba los permisos dentro del módulo y tenía que modificarlos. Asegúrate de que los archivo tengan el 644 y las carpetas 755 Link to comment Share on other sites More sharing options...
naturalba Posted August 18, 2017 Share Posted August 18, 2017 Donde tengo que mirar eso exactamente? Es que no tengo mucha idea... Link to comment Share on other sites More sharing options...
josemadominguez Posted August 18, 2017 Share Posted August 18, 2017 Tras subirlo y cambiar los permisos, ¡Funciona! Muchísimas gracias ComaFlotante, Gracias a tod@s 1 Link to comment Share on other sites More sharing options...
ComaFlotante Posted August 18, 2017 Share Posted August 18, 2017 Normalmente si tienes un CPanel te muestra los permisos a la derecha de los fichero desde su explorador. En un FTP también suele mostrar los archivos y es aquí donde yo los cambio porque te lo hace recursivamente desde el directorio que tu selecciones. Aquí te dejo un screenshot: https://drive.google.com/open?id=0B8Dt0Ja2K-bxWmpkbThVRTVDZG8 Link to comment Share on other sites More sharing options...
naturalba Posted August 19, 2017 Share Posted August 19, 2017 @comaflotante, he cambiado los permisos, y he cambiado el entorno de pruebas por el real, otro sigue apareciendo el mismo error. ¿Qué se te ocurre que pudiera hacer? Link to comment Share on other sites More sharing options...
naturalba Posted August 19, 2017 Share Posted August 19, 2017 También he estado buscando por google y aparecen un par de conversaciones sobre el modulo redsys en las que alguien comenta que tiene el mismo error (eso de Desafortunadamente, no hay métodos de pago disponibles), pero no se ha puesto ninguna solución... Link to comment Share on other sites More sharing options...
ecoloco2 Posted August 21, 2017 Share Posted August 21, 2017 Hola a todos. Antes que nada felicitar a todos lo que hacen posible que gente con poca experiencia como yo podamos resolver problemas de programación de este tipo. Una pregunta, al descargarme los archivos nuevos de redsys. Cómo los instalo? simplemente borro (o renombro) la partela de redsys y copio esta nueva? o hay que hacer algún tipo de instalación de módulo... Gracias a todos por vuestras prontas respuestas. Un cordial Saludo Link to comment Share on other sites More sharing options...
ComaFlotante Posted August 21, 2017 Share Posted August 21, 2017 También he estado buscando por google y aparecen un par de conversaciones sobre el modulo redsys en las que alguien comenta que tiene el mismo error (eso de Desafortunadamente, no hay métodos de pago disponibles), pero no se ha puesto ninguna solución... Yo lo que haría es desinstalar el módulo de redsys, ver que realmente se ha desinstalado del servidor (comprobar que la carpeta ya no existe dentro del directorio de modulos) y volver a instalarlo. Cambiar todos los permisos dentro de la carpeta y hacer una prueba de compra. Prueba a ver si así te salen los módulos de pago 1 Link to comment Share on other sites More sharing options...
ComaFlotante Posted August 21, 2017 Share Posted August 21, 2017 Hola a todos. Antes que nada felicitar a todos lo que hacen posible que gente con poca experiencia como yo podamos resolver problemas de programación de este tipo. Una pregunta, al descargarme los archivos nuevos de redsys. Cómo los instalo? simplemente borro (o renombro) la partela de redsys y copio esta nueva? o hay que hacer algún tipo de instalación de módulo... Gracias a todos por vuestras prontas respuestas. Un cordial Saludo Si ya tienes instalado el módulo de redsys instalado, solo tienes que sustituirlos por lo que te has bajado. Link to comment Share on other sites More sharing options...
naturalba Posted August 21, 2017 Share Posted August 21, 2017 Yo lo que haría es desinstalar el módulo de redsys, ver que realmente se ha desinstalado del servidor (comprobar que la carpeta ya no existe dentro del directorio de modulos) y volver a instalarlo. Cambiar todos los permisos dentro de la carpeta y hacer una prueba de compra. Prueba a ver si así te salen los módulos de pago Hecho, y sigue dando el mismo error. Una pregunta: ¿Sustituir los dos archivos que tú has modificado en el zip de descarga de la web de redsys sería suficiente, o la modificación que se colgó en este foro incluye más cambios? Estoy pensando también cambiar mi tienda a prestashop 1.6 y utilizar el módulo redsys tal cual está en su web, porque como acabo de contratar el servicio imagino que me darían servicio técnico al ser una versión compatible, aunque no sé si los 250 artículos que ya tengo soportarían ese retroceso (no sé si la copia de la base de datos de MySQL creada con 1.7 se leerá completa en esa versión). Ahora mismo no me dan soporte por tener la tienda en 1.7. Si se te ocurre otra solución... Link to comment Share on other sites More sharing options...
ecoloco2 Posted August 21, 2017 Share Posted August 21, 2017 (edited) Hola de nuevo, He implementado el módulo y se puede hacer la compra en entorno test, llega correctamente al banco; pero no genera el pedido en el historial. He actualizdo el archivo valdation.php que mencionaron anteriormente. No funciona la validación. ¿Podéis ayudarme al respecto? Gracias Edited August 21, 2017 by ecoloco2 (see edit history) Link to comment Share on other sites More sharing options...
ecoloco2 Posted August 22, 2017 Share Posted August 22, 2017 Hola... Alguien queme pueda echar una manita con este problema por favor??? Gracias mil... Link to comment Share on other sites More sharing options...
ciclick Posted August 30, 2017 Share Posted August 30, 2017 Buenos dias, En primer lugar felicitaciones a todos por el módulo y por todas la aportaciones. Hemos seguido todo el hilo y nos esta funcionando todo a excepción de que una vez realizado el pago y Redsys confirma que el pago se ha efectuado correctamente, el pedido no queda guardado en el historial como pagado. Hemos activado las trazas del log y nos aparece las siguientes líneas: Aug 30 2017 12:42:14 -- hZgurxm7bsKY1Zo8ScAG -- totalPost: 6500 Aug 30 2017 12:42:14 -- hZgurxm7bsKY1Zo8ScAG -- Total (15582405): 6500 Aug 30 2017 12:42:14 -- hZgurxm7bsKY1Zo8ScAG -- La moneda no coincide. ( : 978) Aug 30 2017 12:42:14 -- hZgurxm7bsKY1Zo8ScAG -- Ds_AuthorisationCode inválido. (++++++) Alguien ha podido detectar y resolver este error? He cambiado los permisos de las carpetas tal y como indican, y el problema persiste. Muchas gracias de antemano! Link to comment Share on other sites More sharing options...
ciclick Posted August 30, 2017 Share Posted August 30, 2017 Buenos dias, En primer lugar felicitaciones a todos por el módulo y por todas la aportaciones. Hemos seguido todo el hilo y nos esta funcionando todo a excepción de que una vez realizado el pago y Redsys confirma que el pago se ha efectuado correctamente, el pedido no queda guardado en el historial como pagado. Hemos activado las trazas del log y nos aparece las siguientes líneas: Aug 30 2017 12:42:14 -- hZgurxm7bsKY1Zo8ScAG -- totalPost: 6500 Aug 30 2017 12:42:14 -- hZgurxm7bsKY1Zo8ScAG -- Total (15582405): 6500 Aug 30 2017 12:42:14 -- hZgurxm7bsKY1Zo8ScAG -- La moneda no coincide. ( : 978) Aug 30 2017 12:42:14 -- hZgurxm7bsKY1Zo8ScAG -- Ds_AuthorisationCode inválido. (++++++) Alguien ha podido detectar y resolver este error? He cambiado los permisos de las carpetas tal y como indican, y el problema persiste. Muchas gracias de antemano! El problema realmente era con la moneda. Hemos forzado todas las variables correspondientes a la moneda a 978, y ahora en las trazas de logs no aparece ningun error, la transacción bancaria se realiza (el pedido es cobrado) pero igualmente sigue si quedar como pagado en el historial de compras... Link to comment Share on other sites More sharing options...
ciclick Posted August 30, 2017 Share Posted August 30, 2017 El problema realmente era con la moneda. Hemos forzado todas las variables correspondientes a la moneda a 978, y ahora en las trazas de logs no aparece ningun error, la transacción bancaria se realiza (el pedido es cobrado) pero igualmente sigue si quedar como pagado en el historial de compras... SOLUCIÓN AL PROBLEMA QUE EL PAGO SE REALIZA PERO EL PEDIDO NO QUEDA COMO PAGADO EN EL HISTORIAL DEL CLIENTE: Siguiendo el hilo hay un punto que se indica que modificar la línia donde se genera el número de pedido dentro del archivo redsys.php para evitar error de pedido repetido: $numpedido = str_pad($params['cart']->id, 8, "0", STR_PAD_LEFT) . date('is'); Ok, pues si se modifica esta línea, deberemos de modificar otra del validation.php. En lugar de $pedido = intval(substr($pedidoSecuencial, 0, 11)); tendremos que poner $pedido = intval(substr($pedidoSecuencial, 0, 8)); Esta modificación me ha solucionado el problema. Espero que os sirva de ayuda. saludos! Link to comment Share on other sites More sharing options...
mechamo Posted September 9, 2017 Share Posted September 9, 2017 Hola, tengo un problema con el módulo Redsys modificado por vosotros, me ha funcionado perfectamente en prestashop 1.7 pero al actualizar a la 1.7.2 cuando alguien hace un pedido y paga con tarjeta, el cobro se hace correctamente, pero el pedido no se genera, queda como carrito abandonado a pesar de que el cliente lo ha pagado...He visto en el código fuente del módulo que hace referencia a un archivo llamado header.php que en mi prestashop no está... no se si tiene algo que ver... include(dirname(__FILE__).'/../../header.php'); Link to comment Share on other sites More sharing options...
tamu secreto Posted September 12, 2017 Share Posted September 12, 2017 UPS! la madre de las chigadas amigos, siempre me gusto hacer conectores de pagos y modulos para Redsys. he visto a la ligera el archivo y tiene demasiados problemas, vean lo que les comento en el codigo: <?php /** * NOTA SOBRE LA LICENCIA DE USO DEL SOFTWARE * * El uso de este software está sujeto a las Condiciones de uso de software que * se incluyen en el paquete en el documento "Aviso Legal.pdf". También puede * obtener una copia en la siguiente url: * http://www.redsys.es/wps/portal/redsys/publica/areadeserviciosweb/descargaDeDocumentacionYEjecutables * * Redsys es titular de todos los derechos de propiedad intelectual e industrial * del software. * * Quedan expresamente prohibidas la reproducción, la distribución y la * comunicación pública, incluida su modalidad de puesta a disposición con fines * distintos a los descritos en las Condiciones de uso. * * Redsys se reserva la posibilidad de ejercer las acciones legales que le * correspondan para hacer valer sus derechos frente a cualquier infracción de * los derechos de propiedad intelectual y/o industrial. * * Redsys Servicios de Procesamiento, S.L., CIF B85955367 */ include(dirname(__FILE__).'/../../config/config.inc.php'); include(dirname(__FILE__).'/../../header.php'); include(dirname(__FILE__).'/redsys.php'); /* SE DEBE INVOLUCRAR A LA CLASS PRINCIPAL LOS OBJETOS DEBEN PROVENIR DE ALLI */ $module = new Redsys(); if(!function_exists("escribirLog")) { require_once('apiRedsys/redsysLibrary.php'); } if(!class_exists("RedsysAPI")) { require_once('apiRedsys/apiRedsysFinal.php'); } //Tools::displayFileAsDeprecated(); /* NO VA $accesoDesde = ""; if (!empty($_POST)) { $accesoDesde = 'POST'; } else if (!empty($_GET)) { $accesoDesde = 'GET'; } */ /* NO VA PRESTASHOP DETERMINA SI EL METODO ES POST OR GET !! if ($accesoDesde === 'POST' || $accesoDesde === 'GET') { */ if (Tools::isSubmit('Ds_SignatureVersion') || Tools::isSubmit('Ds_MerchantParameters') || Tools::isSubmit('Ds_Signature')) { /* * HAY QUE VALIDAR SEGUN CORRESPONDA O FILTRAR CON TOOLS */ /* QUE SE ESPERA RECIBIR */ $version = Tools::getValue('Ds_SignatureVersion'); /* QUE SE ESPERA RECIBIR */ $datos = Tools::getValue('Ds_MerchantParameters'); /* QUE SE ESPERA RECIBIR */ $firma_remota = Tools::getValue('Ds_Signature'); // Se crea Objeto $miObj = new RedsysAPI; /* NO SE PUDE SIN ANTES VALIDAR */ $decodec = $miObj->decodeMerchantParameters($datos); /** Clave **/ $kc = Configuration::get('REDSYS_CLAVE256'); /** Se calcula la firma **/ $firma_local = $miObj->createMerchantSignatureNotif($kc,$datos); /** Extraer datos de la notificación **/ $total = $miObj->getParameter('Ds_Amount'); $pedido = $miObj->getParameter('Ds_Order'); $codigo = $miObj->getParameter('Ds_MerchantCode'); $moneda = $miObj->getParameter('Ds_Currency'); $respuesta = $miObj->getParameter('Ds_Response'); $id_trans = $miObj->getParameter('Ds_AuthorisationCode'); /** Código de comercio **/ $codigoOrig = Configuration::get('REDSYS_CODIGO'); /** Pedidos Cancelados **/ $error_pago = Configuration::get('REDSYS_ERROR_PAGO'); /** Log de Errores **/ $logActivo = Configuration::get('REDSYS_LOG'); $idLog = generateIdLog(); $pedidoSecuencial = $pedido; $pedido = intval(substr($pedidoSecuencial, 0, 11)); /** VALIDACIONES DE LIBRERÍA **/ if ($firma_local === $firma_remota && checkImporte($total) && checkPedidoNum($pedido) && checkFuc($codigo) && checkMoneda($moneda) && checkRespuesta($respuesta)) { /* ??????? * LA LOGICA IMPLICA QUE DEBE SUCEDER SI YA A SUCEDIDO ?? SIENDO QUE GET PUT POST ?? */ if ($accesoDesde === 'POST') { /** Creamos los objetos para confirmar el pedido **/ //$context = Context::getContext(); $cart = new Cart($pedido); $redsys = new redsys(); /** Validamos Objeto carrito **/ //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'); //} /** Validamos Objeto cliente **/ $customer = new Customer((int)$cart->id_customer); /** Donet **/ Context::getContext()->customer = $customer; $address = new Address((int)$cart->id_address_invoice); Context::getContext()->country = new Country((int)$address->id_country); Context::getContext()->customer = new Customer((int)$cart->id_customer); Context::getContext()->language = new Language((int)$cart->id_lang); Context::getContext()->currency = new Currency((int)$cart->id_currency); //if (!Validate::isLoadedObject($customer)) { // Tools::redirect('index.php?controller=order&step=1'); //} /** VALIDACIONES DE DATOS y LIBRERÍA **/ //Total /* TENER UN ARCHIVO CON PERMISO ESCRITURAS EN UN MODULO QUE PUEDE * RECIBIR PARAMETROS POST GET SIN VALIDAR NO ES CONVENIENTE * LOS TEXTOS DEBEN PASAR POR EL TRADUCTOR DE ESTE MODO * Y NO SE usar comillas dobles! */ $totalOrig = $total; /* * escribirLog($idLog." -- "."totalPost: " . $totalOrig,$logActivo); escribirLog($idLog." -- "."Total (" . $pedido . "): ".$totalOrig,$logActivo); */ escribirLog($idLog.'--'.$module->l('totalPost: ').$totalOrig, $logActivo); escribirLog($idLog." -- ".$module->l('Total #').$pedido.':'.$totalOrig, $logActivo); // ID Moneda interno $currencyOrig = new Currency($cart->id_currency); // ISO Moneda $monedaOrig = $currencyOrig->iso_code_num; // DsResponse $respuesta = (int)$respuesta; if ($monedaOrig == $moneda && $totalOrig == $total && (int)$codigoOrig == (int)$codigo && $respuesta < 101 && checkAutCode($id_trans)) { /** Compra válida **/ $mailvars['transaction_id'] = (int)$id_trans; $redsys->validateOrder($pedido, _PS_OS_PAYMENT_, $totalOrig/100, $redsys->displayName, null, $mailvars, (int)$cart->id_currency, false, $customer->secure_key); escribirLog($idLog." -- "."El pedido con ID de carrito " . $pedido . " es válido y se ha registrado correctamente.",$logActivo); } else { if (!($monedaOrig == $moneda)) { escribirLog($idLog." -- "."La moneda no coincide. ($monedaOrig : $moneda)",$logActivo); } if (!($totalOrig == $total)) { escribirLog($idLog." -- "."El importe total no coincide. ($totalOrig : $total)",$logActivo); } if (!((int)$codigoOrig == (int)$codigo)) { escribirLog($idLog." -- "."El código de comercio no coincide. ($codigoOrig : $codigo)",$logActivo); } if (!checkAutCode($id_trans)){ escribirLog($idLog." -- "."Ds_AuthorisationCode inválido. ($id_trans)",$logActivo); } if ($error_pago=="no"){ /** se anota el pedido como no pagado **/ $redsys->validateOrder($pedido, _PS_OS_ERROR_, 0, $redsys->displayName, 'errores:'.$respuesta); } escribirLog($idLog." -- "."El pedido con ID de carrito " . $pedido . " es inválido.",$logActivo); } } /* ??????? QUE ES ESTO! */ else if ($accesoDesde === 'GET') { $respuesta = (int)$respuesta; if ($respuesta < 101) { /* QUE JODER HOMBRE QUE SE LO QUE SEA TE LLEVA AL MISMO SITIO ????? */ Tools::redirect('index.php?controller=order&step=1'); } else { Tools::redirect('index.php?controller=order&step=1'); } } } else { /* NOOOO ES NEECESARIO MENOS EN ESTE PUNTO, LA VALIDACION DEBE SER ANTES DE CUALQUIER ACCION!! */ if ($accesoDesde === 'POST') { if (!($firma_local === $firma_remota)) { escribirLog($idLog." -- "."La firma no coincide.",$logActivo); } if (!checkImporte($total)){ escribirLog($idLog." -- "."Ds_Amount inválido.",$logActivo); } if (!checkPedidoNum($pedido)){ escribirLog($idLog." -- "."Ds_Order inválido.",$logActivo); } if (!checkFuc($codigo)){ escribirLog($idLog." -- "."Ds_MerchantCode inválido.",$logActivo); } if (!checkMoneda($moneda)){ escribirLog($idLog." -- "."Ds_Currency inválido.",$logActivo); } if (!checkRespuesta($respuesta)){ escribirLog($idLog." -- "."Ds_Response inválido.",$logActivo); } if ($error_pago=="no"){ /** se anota el pedido como no pagado **/ $redsys->validateOrder($pedido, _PS_OS_ERROR_, 0, $redsys->displayName, 'errores:'.$respuesta); } escribirLog($idLog." -- "."Notificación: El pedido con ID de carrito " . $pedido . " es inválido.",$logActivo); } else if ($accesoDesde === 'GET') { Tools::redirect('index.php?controller=order&step=1'); } } } SI ALGUIEN TIENE DOCUMENTACION OFICIAL O LINK OFICIALES donde obtener documentación puedo hacerles un modulo funcional el dia miercoles. suban documentación. saludos 1 Link to comment Share on other sites More sharing options...
mechamo Posted September 12, 2017 Share Posted September 12, 2017 Que tipo de documentación necesitas? aquí tienes las APIs y el módulo oficial para varias plataformas: http://www.redsys.es/#descargas Link to comment Share on other sites More sharing options...
tamu secreto Posted September 13, 2017 Share Posted September 13, 2017 (edited) Que tipo de documentación necesitas? aquí tienes las APIs y el módulo oficial para varias plataformas: http://www.redsys.es/#descargas Hola que tal, lo que sucede es que no soy cliente y no tengo numero de comercio para descargar los manuales en: https://www.redsys.es/manuales/index.jsp En cuanto al modulo Prestashop de la descarga ya lo habia bajado, pero no sirve ya que es una perdida de tiempo andar adivinando lo que quería hacer el que lo desarrollo, es mucho mas rápido si tengo el manual. A primera vista ni las API están dentro de los parámetros stares PSR-2 de desarrollo: http://www.php-fig.org/psr/psr-2/ Yo no gasto tiempo analizando archivos que no están programados dentro de un standar de programación, por que eso indica que el que lo hizo no tenia ni la mas pálida idea de programación. Pero se puede corregir si tengo el manual oficial para integración e-comerce. LO QUE NECESITO ES ESO UN MANUAL, Y QUE ALGÚN CLIENTE SE PONGA EN CONTACTO CON EL SOPORTE TÉCNICO Y REMITA LA URL DE ESTE POST : https://www.prestashop.com/forums/topic/582916-pasarela-de-pago-redsys-prestashop-17/page-8?do=findComment&comment=2609975 de este modo algún ingeniero o analista puede enterarse que se va a realizar un modulo FREE OPEN SOURCE. que podrán distribuir libremente. El modulo actual para Prestashop, no es seguro y el desarrollo no respecta los satandares de seguridad de Prestashop. Por ejemplo : -no valida variables de retorno -no da respuesta a nivel servidor - hay archivos que deben ser propietario servidor (Owner permissions) como "config_es.xml" este archivo no debe existir en el modulo, Prestashop lo creará automáticamente. En fin, hay demasiados problemas a solucionar, pero no es mi intención menoscabar el trabajo ajeno, si no ayudar. Lo que no entiendo es ¿por qué Redsys no contrato un ingeniero? Yo estoy con bastante trabajo, pero si consiguen los manuales, puedo hacer el modulo en cuanto me haga un tiempito, o el dia sabado. saludos Edited September 13, 2017 by tamu secreto (see edit history) Link to comment Share on other sites More sharing options...
mechamo Posted September 13, 2017 Share Posted September 13, 2017 En ese links que dices, lo que hay son manuales para los TPV físicos, para las tiendas físicas, no tiene nada que ver con la pasarela de pago online... Link to comment Share on other sites More sharing options...
tamu secreto Posted September 13, 2017 Share Posted September 13, 2017 En ese links que dices, lo que hay son manuales para los TPV físicos, para las tiendas físicas, no tiene nada que ver con la pasarela de pago online... Estimado lea atentamente lo que he escrito, le repito necesito los manuales de integración e-commerce oficiales y actuales, lo que yo poseo son antiguos y la empresa se fusiono hace años y no sirven los que poseo. De todos modos ya he contactado al departamento de ingeniería de la empresa, dudo que me envien los manuales sin ser cliente. Si usted es cliente contacte al soporte técnico y pida los manuales de integración e-commerce formato PDF de la actual version del sys. Link to comment Share on other sites More sharing options...
garigola Posted September 13, 2017 Share Posted September 13, 2017 Tengo el mismo problema que algún usuario por aquí. El pedido se genera en redsys y se paga correctamente, pero no se genera en prestashop. ¿Hay alguna solución a esto que se me hay escapado? Mil gracias Link to comment Share on other sites More sharing options...
tamu secreto Posted September 14, 2017 Share Posted September 14, 2017 Tengo el mismo problema que algún usuario por aquí. El pedido se genera en redsys y se paga correctamente, pero no se genera en prestashop. ¿Hay alguna solución a esto que se me hay escapado? Mil gracias Primero aparentemente el archivo validation.php esta hacien de IPN, esto significa que ese archivo recibe la notificación de pago por background, esto quiere decir que la información no es visible para el usuario. En tal caso el archivo esta gestionando mal las llamadas de archivos: include(dirname(__FILE__).'/../../config/config.inc.php'); include(dirname(__FILE__).'/../../header.php'); include(dirname(__FILE__).'/redsys.php') la llamada header.php se debe hacer cuando se necesita el set media de prestashop, o sea los archivos css, js, etc.. para mostrar algun archivo tpl. En este caso si no se mostrar nada al cliente no es necesario, y puede que de error. Pruebe cambiando eso en el archivo validation.php por esto: require_once(dirname(__FILE__).'/../../config/config.inc.php'); require_once(dirname(__FILE__).'/../../init.php'); include_once(dirname(__FILE__).'/redsys.php'); luego en la linea 106, 120 hace una redireccion "Tools::redirect('index.php?controller=order&step=1');" si el archivo es un IPN no debe hacer redirecciones. en la practica hay una confucion con la url de notificacion y la url "DS_MERCHANT_URLOK" y "DS_MERCHANT_URLKO" Ds_Merchant_MerchantURL --> ES LA URL IPN NOTIFICACION DE PAGO INSTANTANEO (oculta al cliente). Ds_Merchant_UrlOK --> es mayormente opcional en las TPV pero es recomendable usarla, es la url donde se debe regresar al cliente despues de hacer el pago. Ds_Merchant_UrlKO --> es la url donde se regresa al cliente si el pago no se hizo correctamente o si surgio algun problema. lo mas importante es la Ds_Merchant_MerchantURL IPN pues antes de que el cliente regrese ya prestashop va tener el resultado de la operación. Lo que sucede en el archivo validation.php del modulo en cuestion es que si esta funcionando como IPN esta redireccionando y haciendo otras macanas que no deberia hacer. por eso decía que hay varios problemas a solucionar. La firma RedSys se carga la autoría del modulo e incluso adjuntan términos y condiciones en formato pdf, eso también es peligroso ya que teniendo las vulnerabilidades del modulo, se puede hacer un rastreo al pdf moules/redsys/*.pdf y obtener una lista completa de las tiendas que lo tienen instalado y Si se pasa por consola en kali se obtiene la madre de las chingadas, no me voy ampliar mucho en este tema por que no quiero dar ideas a maliciosos. Lo que tiene que hacer es dar aviso al soporte técnico. saludos Link to comment Share on other sites More sharing options...
wiisos Posted September 14, 2017 Share Posted September 14, 2017 Tengo un problema con el módulo. Al hacer el pago se pasa al estado de Enviado directamente pero no veo donde cambiar los estados. ¿Alguien sabe donde se modifica esto? Link to comment Share on other sites More sharing options...
mechamo Posted September 14, 2017 Share Posted September 14, 2017 (edited) Primero aparentemente el archivo validation.php esta hacien de IPN, esto significa que ese archivo recibe la notificación de pago por background, esto quiere decir que la información no es visible para el usuario. En tal caso el archivo esta gestionando mal las llamadas de archivos: include(dirname(__FILE__).'/../../config/config.inc.php'); include(dirname(__FILE__).'/../../header.php'); include(dirname(__FILE__).'/redsys.php') la llamada header.php se debe hacer cuando se necesita el set media de prestashop, o sea los archivos css, js, etc.. para mostrar algun archivo tpl. En este caso si no se mostrar nada al cliente no es necesario, y puede que de error. Pruebe cambiando eso en el archivo validation.php por esto: require_once(dirname(__FILE__).'/../../config/config.inc.php'); require_once(dirname(__FILE__).'/../../init.php'); include_once(dirname(__FILE__).'/redsys.php'); luego en la linea 106, 120 hace una redireccion "Tools::redirect('index.php?controller=order&step=1');" si el archivo es un IPN no debe hacer redirecciones. en la practica hay una confucion con la url de notificacion y la url "DS_MERCHANT_URLOK" y "DS_MERCHANT_URLKO" Ds_Merchant_MerchantURL --> ES LA URL IPN NOTIFICACION DE PAGO INSTANTANEO (oculta al cliente). Ds_Merchant_UrlOK --> es mayormente opcional en las TPV pero es recomendable usarla, es la url donde se debe regresar al cliente despues de hacer el pago. Ds_Merchant_UrlKO --> es la url donde se regresa al cliente si el pago no se hizo correctamente o si surgio algun problema. lo mas importante es la Ds_Merchant_MerchantURL IPN pues antes de que el cliente regrese ya prestashop va tener el resultado de la operación. Lo que sucede en el archivo validation.php del modulo en cuestion es que si esta funcionando como IPN esta redireccionando y haciendo otras macanas que no deberia hacer. por eso decía que hay varios problemas a solucionar. La firma RedSys se carga la autoría del modulo e incluso adjuntan términos y condiciones en formato pdf, eso también es peligroso ya que teniendo las vulnerabilidades del modulo, se puede hacer un rastreo al pdf moules/redsys/*.pdf y obtener una lista completa de las tiendas que lo tienen instalado y Si se pasa por consola en kali se obtiene la madre de las chingadas, no me voy ampliar mucho en este tema por que no quiero dar ideas a maliciosos. Lo que tiene que hacer es dar aviso al soporte técnico. saludos Hice el cambio que propones, y ahora funciona perfectamente, gracias! Edited September 15, 2017 by mechamo (see edit history) Link to comment Share on other sites More sharing options...
tamu secreto Posted September 15, 2017 Share Posted September 15, 2017 Hice el cambio que propones, pero sigue sin generarse el pedido, el cobro se realiza con éxito (y se supone que la plataforma envía a la web la confirmación), pero prestashop no registrar el pedido, lo deja como carrito abandonado. no va funcionar haciendo solo ese cambio es que el modulo esta mal desarrollado, llama a funciones que no son Objetos y en el caso el ordenes y carrito hay una chingada en esto: En el archivo redssy.php linea 309 a 321 : // El num. de pedido -> id_Carrito + el tiempo SS $orderId = $params['cart']->id; if(isset($_COOKIE["P".$orderId])) { $sec_pedido = $_COOKIE["P".$orderId]; } else { $sec_pedido = -1; } $logActivo = "si"; escribirLog(" - COOKIE: ".$_COOKIE["P".$orderId]."($orderId) - secPedido: $sec_pedido", $logActivo); if ($sec_pedido < 9) { setcookie("P".$orderId, ++$sec_pedido, time() + 86400); // 24 horas } $numpedido = str_pad($orderId.$sec_pedido, 12, "0", STR_PAD_LEFT); y en el archivo validation.php $pedido = intval(substr($pedidoSecuencial, 0, 11)); /** VALIDACIONES DE LIBRERÍA **/ if ($firma_local === $firma_remota && checkImporte($total) && checkPedidoNum($pedido) && checkFuc($codigo) && checkMoneda($moneda) && checkRespuesta($respuesta)) { if ($accesoDesde === 'POST') { /** Creamos los objetos para confirmar el pedido **/ $context = Context::getContext(); $cart = new Cart($pedido); $redsys = new redsys(); ........................... lo que hace el tio es adicionar al id carrito de prestashop un valor extra y completa hasta llegar a 12 con "0" del lado izquiedo, pero le agrega la la hora y no que cosa quiere hacer, entonce el id carrrito quedaria algo asi: "000000002342" (es un ejemplo al azar) luego en el archivo validation.php corta la cadena a 11 $pedido = intval(substr($pedidoSecuencial, 0, 11)); quedando $pedido = "2" luego pasa a prestashop como id cart "2" :unsure: hacer que funcione ma o menos seria aplicar esto: buscar en la linea 321 del archvio redsys.php esto : $numpedido = str_pad($orderId.$sec_pedido, 12, "0", STR_PAD_LEFT); cambiar eso por esto: $numpedido = str_pad($orderId, 12, "0", STR_PAD_LEFT); luego buscar en el archivo validation.php linea 81 esto : $pedido = intval(substr($pedidoSecuencial, 0, 11)); cambiar eso por esto: $pedido = (int)$miObj->getParameter('Ds_Order'); puede que eso lo haga funcionar pero lo dudo por que hay que modificar muchos archivos. Otra cosa que hay que hacer en ese modulo es quitar todas las etiquetas de cierres "?>" de todos los archivos php. eso da errores saludos Link to comment Share on other sites More sharing options...
mechamo Posted September 15, 2017 Share Posted September 15, 2017 no va funcionar haciendo solo ese cambio es que el modulo esta mal desarrollado, llama a funciones que no son Objetos y en el caso el ordenes y carrito hay una chingada en esto: En el archivo redssy.php linea 309 a 321 : // El num. de pedido -> id_Carrito + el tiempo SS $orderId = $params['cart']->id; if(isset($_COOKIE["P".$orderId])) { $sec_pedido = $_COOKIE["P".$orderId]; } else { $sec_pedido = -1; } $logActivo = "si"; escribirLog(" - COOKIE: ".$_COOKIE["P".$orderId]."($orderId) - secPedido: $sec_pedido", $logActivo); if ($sec_pedido < 9) { setcookie("P".$orderId, ++$sec_pedido, time() + 86400); // 24 horas } $numpedido = str_pad($orderId.$sec_pedido, 12, "0", STR_PAD_LEFT); y en el archivo validation.php $pedido = intval(substr($pedidoSecuencial, 0, 11)); /** VALIDACIONES DE LIBRERÍA **/ if ($firma_local === $firma_remota && checkImporte($total) && checkPedidoNum($pedido) && checkFuc($codigo) && checkMoneda($moneda) && checkRespuesta($respuesta)) { if ($accesoDesde === 'POST') { /** Creamos los objetos para confirmar el pedido **/ $context = Context::getContext(); $cart = new Cart($pedido); $redsys = new redsys(); ........................... lo que hace el tio es adicionar al id carrito de prestashop un valor extra y completa hasta llegar a 12 con "0" del lado izquiedo, pero le agrega la la hora y no que cosa quiere hacer, entonce el id carrrito quedaria algo asi: "000000002342" (es un ejemplo al azar) luego en el archivo validation.php corta la cadena a 11 $pedido = intval(substr($pedidoSecuencial, 0, 11)); quedando $pedido = "2" luego pasa a prestashop como id cart "2" :unsure: hacer que funcione ma o menos seria aplicar esto: buscar en la linea 321 del archvio redsys.php esto : $numpedido = str_pad($orderId.$sec_pedido, 12, "0", STR_PAD_LEFT); cambiar eso por esto: $numpedido = str_pad($orderId, 12, "0", STR_PAD_LEFT); luego buscar en el archivo validation.php linea 81 esto : $pedido = intval(substr($pedidoSecuencial, 0, 11)); cambiar eso por esto: $pedido = (int)$miObj->getParameter('Ds_Order'); puede que eso lo haga funcionar pero lo dudo por que hay que modificar muchos archivos. Otra cosa que hay que hacer en ese modulo es quitar todas las etiquetas de cierres "?>" de todos los archivos php. eso da errores saludos Hola, pues si funcionó, ayer no lo probé bien, y pensé que no, pero he vuelto a probar hoy y si funciona perfectamente! Link to comment Share on other sites More sharing options...
tamu secreto Posted September 17, 2017 Share Posted September 17, 2017 Hola, pues si funcionó, ayer no lo probé bien, y pensé que no, pero he vuelto a probar hoy y si funciona perfectamente! Claro lo que sucede es que cuando no funciona es por que se esta repitiendo la ordene en RedSys, por lo que deduzco que se ha empleado el time() y concatenado al id carrito para evitar repetir la orden. Con lo que le he dicho le va funcionar siempre y cuando no tenga un error en RedSys, si obtiene un error tendra que cerrar la sesion en su tienda cerrar el navegador y volver crear otra compra demo, para cargar un nuevo id cart. Una forma mas sencilla de evitarse todos los dolores de cabeza es enviar un pin de orden a RedSys, por ejemplo se puede utilizar el tools de prestashop para crear un key, almacenar ese key en una tabla de DB y al tener la respuesta del tpv buscar el id cart relacionado a ese key. seria algo asi: Tools::passwdGen(12, NUMERIC); con eso creamos una orden con 12 caracteres, que aparentemente es el numero de caracteres que espera el TPV, el resto es crear un tabla base datos para guardar el key y id_cart relacionado, luego hay que hacer algunos cambios en el validation.php para buscar el id_cart medio complicado explicarlo pero sencillo de hacer. saludos Link to comment Share on other sites More sharing options...
Rober_ld Posted September 18, 2017 Share Posted September 18, 2017 El módulo que has subido funciona bien?, yo lo he instalado y no me devuelve respuesta del pedido. Link to comment Share on other sites More sharing options...
alfonsogomez Posted September 21, 2017 Share Posted September 21, 2017 (edited) Buenos días. Después de todo el hilo, no sé si al final hay algún módulo fiable y si la descarga última es la "definitiva" o sigue dando problemas. Estoy tentado de volver a la 1.6 que funciona bien ¿Y el de pago funciona al menos bien? Edited September 21, 2017 by alfonsogomez (see edit history) Link to comment Share on other sites More sharing options...
alfonsogomez Posted September 21, 2017 Share Posted September 21, 2017 Es que de pago, veo dos con distinto precio: https://addons.prestashop.com/es/pago-tarjeta-carteras-digitales/6492-tpv-redsys-pago-tarjeta-devoluciones-y-pago-un-click.html por 40 euros y otro https://addons.prestashop.com/es/pago-tarjeta-carteras-digitales/21225-tpv-virtual-redsys-actualizado.html por 70 euros. Link to comment Share on other sites More sharing options...
alfonsogomez Posted September 21, 2017 Share Posted September 21, 2017 He instalado el módulo de eltitoxusmi del 14 de marzo y hace todo, pero no vacía el carrito Link to comment Share on other sites More sharing options...
alfonsogomez Posted September 22, 2017 Share Posted September 22, 2017 Por mucho que lo intento, en real, hablando con redsys, el pago es todo correcto pero me lleva al historial de pedidos Link to comment Share on other sites More sharing options...
tamu secreto Posted September 24, 2017 Share Posted September 24, 2017 Por mucho que lo intento, en real, hablando con redsys, el pago es todo correcto pero me lleva al historial de pedidos pos que joder hombre tanto cuesta solicitar los manuales de integración, pida los manuales de integracion al soporte tecnico y post aqui que les hago un modulo funcional. No he tenido respuesta del TPV, por lo visto estan muy soberbios con la distribución de una porqueria que puede comprometer la integridad de las tiendas Prestashop. Voy darles un cosejo QUITEN EL MODULO, ELIMINEN EL MODULO, CONTACTEN AL SOPORTE TECNICO, EL MODULO NO ES FUNCIONAL Y NO ES SEGURO, PUEDEN TENER LA MADRE DE LAS CHINGADAS EN SUS TIENDAS. SALUDOS Link to comment Share on other sites More sharing options...
wiisos Posted September 25, 2017 Share Posted September 25, 2017 Tengo un problema con el módulo. Al hacer el pago se pasa al estado de Enviado directamente pero no veo donde cambiar los estados. ¿Alguien sabe donde se modifica esto? ¿Alguien me puede ayudar con ésto? Link to comment Share on other sites More sharing options...
garigola Posted September 25, 2017 Share Posted September 25, 2017 Yo finalmente he comprado un módulo de pago, por 30€ no merece la pena dar más vueltas con el gratuito si no lo arreglan. De todas formas a mi me dijeron que había problemas con otro módulo de urls amigables, y de permisos de carpetas, quizás por ahí encontréis el error de este módulo a la hora de finalizar la compra. Link to comment Share on other sites More sharing options...
alfonsogomez Posted September 25, 2017 Share Posted September 25, 2017 Si no te importa, nos informas si ese módulo de pago va bien Link to comment Share on other sites More sharing options...
garigola Posted September 25, 2017 Share Posted September 25, 2017 (edited) Cuando lo instalé me pasaba lo mismo que con el gratuito, no pasaba el pedido a presashop. Contacté con el soporte y lo revisaron, y me dijeron que había un problema con los permisos del módulo en el servidor y los corrigieron, sin embargo, seguía sin pasar el pedido a prestashop, por lo que revisaron y vieron que había un problema con un módulo de urls amigables que tengo instalado. Éste módulo probablemetne no permitía redirigir a la página de confirmación de compra, por lo que no se generaba el pedido, por lo que hicieron un cambio en el .htacess para corregirlo y ahora funciona sin problemas. He hecho varias pruebas y ha entrado un pedido real sin problemas, todo ha funcionado correctamente, se ha generado el pedido y me ha redirigido a la página de éxito del pedido. Por lo que ahora funciona perfectamente, de momento. Edited September 25, 2017 by garigola (see edit history) Link to comment Share on other sites More sharing options...
MrViSiOn Posted September 25, 2017 Share Posted September 25, 2017 Hola! Mirad lo que he creado... he programado un plugin de Redsys para Prestashop 1.7 A ver qué os parece https://modulos-prestashop.com/descarga-modulo-redsys-prestashop-1-7 Gracias! Link to comment Share on other sites More sharing options...
tamu secreto Posted September 25, 2017 Share Posted September 25, 2017 Hola! Mirad lo que he creado... he programado un plugin de Redsys para Prestashop 1.7 A ver qué os parece https://modulos-prestashop.com/descarga-modulo-redsys-prestashop-1-7 Gracias! que os parece? dices que hicieron un analisis? Mi humilde opinion, primero parece un clon del que reparte redsys, y como copia se esta copiando los mismos errores, la arquitectura errónea y las mismas vulnerabilidades. Como principio le paso el analisis via consola de un solo archivo, los demas poseen problemas mas serios: FILE: redsys17.php ---------------------------------------------------------------------- FOUND 715 ERRORS AND 38 WARNINGS AFFECTING 601 LINES ---------------------------------------------------------------------- 1 | WARNING | [ ] A file should declare new symbols (classes, | | functions, constants, etc.) and cause no other | | side effects, or it should execute logic with | | side effects, but should not do both. The first | | symbol is defined on line 11 and the first side | | effect is on line 5. 8 | ERROR | [x] Inline control structures are not allowed 9 | ERROR | [x] Spaces must be used to indent lines; tabs are | | not allowed 11 | ERROR | [ ] Each class must be in a namespace of at least | | one level (a top-level vendor name) 13 | ERROR | [x] Spaces must be used to indent lines; tabs are | | not allowed 13 | ERROR | [x] Scope keyword "private" must be followed by a | | single space 13 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 14 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 15 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 17 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 18 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 20 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 22 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 23 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 24 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 25 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 26 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 27 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 29 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 30 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 32 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 33 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 34 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 35 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 36 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 37 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 38 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 39 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 40 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 41 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 42 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 43 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 44 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 45 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 46 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 48 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 49 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 49 | ERROR | [x] Expected 1 space after closing parenthesis; | | found 9 50 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 51 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 52 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 53 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 54 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 55 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 56 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 57 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 58 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 59 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 60 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 61 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 62 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 63 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 65 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 65 | ERROR | [x] Inline control structures are not allowed 66 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 67 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 67 | ERROR | [x] Inline control structures are not allowed 68 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 69 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 69 | ERROR | [x] Inline control structures are not allowed 70 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 71 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 71 | ERROR | [x] Inline control structures are not allowed 72 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 73 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 73 | ERROR | [x] Inline control structures are not allowed 74 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 75 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 75 | ERROR | [x] Inline control structures are not allowed 76 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 77 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 77 | ERROR | [x] Inline control structures are not allowed 78 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 79 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 79 | ERROR | [x] Inline control structures are not allowed 80 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 81 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 81 | ERROR | [x] Inline control structures are not allowed 82 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 84 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 84 | ERROR | [x] Inline control structures are not allowed 85 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 87 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 89 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 90 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 91 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 92 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 93 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 94 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 96 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 98 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 99 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 99 | ERROR | [x] Inline control structures are not allowed 100 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 101 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 102 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 103 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 104 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 105 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 106 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 107 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 108 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 110 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 110 | WARNING | [ ] Line exceeds 120 characters; contains 122 | | characters 111 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 113 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 114 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 115 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 116 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 117 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 118 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 119 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 120 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 121 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 122 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 123 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 124 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 125 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 126 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 127 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 129 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 131 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 132 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 133 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 134 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 135 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 136 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 137 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 138 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 139 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 140 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 141 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 142 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 143 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 144 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 145 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 146 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 148 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 150 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 151 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 152 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 154 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 156 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 157 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 158 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 159 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 160 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 161 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 162 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 163 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 164 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 165 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 166 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 167 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 168 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 169 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 171 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 171 | WARNING | [ ] Method name "_postValidation" should not be | | prefixed with an underscore to indicate | | visibility 172 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 173 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 174 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 174 | ERROR | [x] Expected 1 space after closing parenthesis; | | found 9 175 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 176 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 176 | ERROR | [x] Expected 0 spaces after opening bracket; newline | | found 177 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 178 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 179 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 180 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 180 | ERROR | [x] Opening parenthesis of a multi-line function | | call must be the last content on the line 180 | WARNING | [ ] Line exceeds 120 characters; contains 190 | | characters 181 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 182 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 182 | ERROR | [x] Multi-line function call not indented correctly; | | expected 16 spaces but found 20 182 | ERROR | [x] Closing parenthesis of a multi-line function | | call must be on a line by itself 183 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 184 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 184 | ERROR | [x] Expected 0 spaces after opening bracket; newline | | found 185 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 186 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 187 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 188 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 188 | ERROR | [x] Opening parenthesis of a multi-line function | | call must be the last content on the line 188 | WARNING | [ ] Line exceeds 120 characters; contains 173 | | characters 189 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 190 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 190 | ERROR | [x] Multi-line function call not indented correctly; | | expected 16 spaces but found 20 190 | ERROR | [x] Closing parenthesis of a multi-line function | | call must be on a line by itself 191 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 192 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 192 | ERROR | [x] Expected 0 spaces after opening bracket; newline | | found 193 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 194 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 195 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 196 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 196 | ERROR | [x] Opening parenthesis of a multi-line function | | call must be the last content on the line 196 | WARNING | [ ] Line exceeds 120 characters; contains 185 | | characters 197 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 198 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 198 | ERROR | [x] Multi-line function call not indented correctly; | | expected 16 spaces but found 20 198 | ERROR | [x] Closing parenthesis of a multi-line function | | call must be on a line by itself 199 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 200 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 200 | ERROR | [x] Expected 0 spaces after opening bracket; newline | | found 201 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 202 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 203 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 204 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 204 | ERROR | [x] Opening parenthesis of a multi-line function | | call must be the last content on the line 204 | WARNING | [ ] Line exceeds 120 characters; contains 167 | | characters 205 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 206 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 206 | ERROR | [x] Multi-line function call not indented correctly; | | expected 16 spaces but found 20 206 | ERROR | [x] Closing parenthesis of a multi-line function | | call must be on a line by itself 207 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 208 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 208 | ERROR | [x] Expected 0 spaces after opening bracket; newline | | found 209 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 210 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 211 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 212 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 212 | ERROR | [x] Opening parenthesis of a multi-line function | | call must be the last content on the line 212 | WARNING | [ ] Line exceeds 120 characters; contains 136 | | characters 213 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 214 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 214 | ERROR | [x] Multi-line function call not indented correctly; | | expected 16 spaces but found 20 214 | ERROR | [x] Closing parenthesis of a multi-line function | | call must be on a line by itself 215 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 216 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 217 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 219 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 219 | WARNING | [ ] Method name "_postProcess" should not be | | prefixed with an underscore to indicate | | visibility 220 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 221 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 222 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 222 | ERROR | [x] Expected 1 space after closing parenthesis; | | found 9 223 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 224 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 225 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 226 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 227 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 228 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 229 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 230 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 231 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 232 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 233 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 236 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 237 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 238 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 239 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 240 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 242 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 243 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 243 | WARNING | [ ] Line exceeds 120 characters; contains 157 | | characters 244 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 245 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 246 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 247 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 248 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 250 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 251 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 252 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 253 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 254 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 254 | WARNING | [ ] Line exceeds 120 characters; contains 122 | | characters 255 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 257 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 257 | WARNING | [ ] Method name "_displayRedsys" should not be | | prefixed with an underscore to indicate | | visibility 258 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 259 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 260 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 261 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 261 | WARNING | [ ] Line exceeds 120 characters; contains 310 | | characters 262 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 262 | WARNING | [ ] Line exceeds 120 characters; contains 121 | | characters 263 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 263 | WARNING | [ ] Line exceeds 120 characters; contains 149 | | characters 264 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 266 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 266 | WARNING | [ ] Method name "_displayForm" should not be | | prefixed with an underscore to indicate | | visibility 267 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 269 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 270 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 271 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 272 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 273 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 274 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 275 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 276 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 277 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 278 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 279 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 280 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 281 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 281 | ERROR | [x] Space before opening parenthesis of function | | call prohibited 281 | ERROR | [x] Space after opening parenthesis of function call | | prohibited 281 | ERROR | [x] Expected 0 spaces before closing bracket; 1 | | found 282 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 282 | WARNING | [ ] Line exceeds 120 characters; contains 161 | | characters 283 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 284 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 285 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 286 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 287 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 288 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 289 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 290 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 291 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 292 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 292 | WARNING | [ ] Line exceeds 120 characters; contains 121 | | characters 293 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 293 | WARNING | [ ] Line exceeds 120 characters; contains 121 | | characters 294 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 294 | WARNING | [ ] Line exceeds 120 characters; contains 121 | | characters 295 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 296 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 297 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 298 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 299 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 300 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 301 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 302 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 303 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 304 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 305 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 306 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 306 | WARNING | [ ] Line exceeds 120 characters; contains 129 | | characters 307 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 308 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 309 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 310 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 311 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 312 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 313 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 313 | WARNING | [ ] Line exceeds 120 characters; contains 134 | | characters 314 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 315 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 316 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 317 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 318 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 319 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 320 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 321 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 322 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 323 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 324 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 324 | WARNING | [ ] Line exceeds 120 characters; contains 123 | | characters 325 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 325 | WARNING | [ ] Line exceeds 120 characters; contains 121 | | characters 326 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 327 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 328 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 329 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 330 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 331 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 332 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 333 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 334 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 335 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 336 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 336 | WARNING | [ ] Line exceeds 120 characters; contains 151 | | characters 337 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 338 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 339 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 340 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 341 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 342 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 343 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 343 | WARNING | [ ] Line exceeds 120 characters; contains 163 | | characters 344 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 345 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 346 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 347 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 348 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 349 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 350 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 350 | WARNING | [ ] Line exceeds 120 characters; contains 128 | | characters 351 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 352 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 353 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 354 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 355 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 356 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 357 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 358 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 359 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 360 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 361 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 362 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 363 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 364 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 365 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 366 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 367 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 368 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 369 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 370 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 371 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 372 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 373 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 374 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 375 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 376 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 377 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 378 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 379 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 380 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 381 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 382 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 383 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 384 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 385 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 386 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 387 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 389 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 390 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 391 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 392 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 393 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 394 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 396 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 397 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 398 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 399 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 400 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 401 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 401 | WARNING | [ ] Line exceeds 120 characters; contains 156 | | characters 403 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 404 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 405 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 406 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 407 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 408 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 409 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 410 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 411 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 412 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 414 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 416 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 418 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 419 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 420 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 421 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 422 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 423 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 424 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 425 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 426 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 427 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 428 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 429 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 430 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 431 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 432 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 433 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 435 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 435 | WARNING | [ ] Method name "_displayErrorForm" should not be | | prefixed with an underscore to indicate | | visibility 436 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 437 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 437 | ERROR | [x] Expected 1 space after IF keyword; 0 found 437 | ERROR | [x] Expected 0 spaces after opening bracket; 1 found 437 | ERROR | [x] Expected 0 spaces before closing bracket; 1 | | found 438 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 442 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 442 | ERROR | [x] Space found after opening bracket of FOREACH | | loop 442 | ERROR | [x] Expected 0 spaces after opening bracket; 1 found 443 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 447 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 448 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 451 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 452 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 454 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 455 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 456 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 456 | ERROR | [x] Expected 1 space after closing parenthesis; | | found 9 457 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 458 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 459 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 459 | ERROR | [x] Inline control structures are not allowed 460 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 461 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 461 | ERROR | [x] Expected 1 space after ELSE keyword; newline | | found 461 | ERROR | [x] Inline control structures are not allowed 462 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 463 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 463 | ERROR | [x] Expected 1 space after closing brace; newline | | found 464 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 464 | ERROR | [x] Expected 1 space after ELSE keyword; newline | | found 464 | ERROR | [x] Inline control structures are not allowed 465 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 467 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 468 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 469 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 470 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 471 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 472 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 474 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 474 | WARNING | [ ] Method name "_displayHelpRedsys" should not be | | prefixed with an underscore to indicate | | visibility 475 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 476 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 477 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 478 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 478 | WARNING | [ ] Line exceeds 120 characters; contains 131 | | characters 479 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 481 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 482 | WARNING | [ ] Line exceeds 120 characters; contains 207 | | characters 483 | WARNING | [ ] Line exceeds 120 characters; contains 179 | | characters 484 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 484 | WARNING | [ ] Line exceeds 120 characters; contains 303 | | characters 485 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 486 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 487 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 488 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 490 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 491 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 492 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 492 | ERROR | [x] Inline control structures are not allowed 492 | ERROR | [x] Expected 0 spaces after opening bracket; 1 found 492 | ERROR | [x] Space after opening parenthesis of function call | | prohibited 492 | ERROR | [x] Expected 0 spaces before closing bracket; 1 | | found 493 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 495 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 496 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 498 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 498 | ERROR | [x] Inline control structures are not allowed 499 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 501 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 501 | ERROR | [x] Inline control structures are not allowed 502 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 504 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 505 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 506 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 508 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 509 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 509 | ERROR | [x] Expected 1 space after IF keyword; 0 found 510 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 511 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 512 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 513 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 515 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 516 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 516 | WARNING | [ ] Line exceeds 120 characters; contains 126 | | characters 517 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 518 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 519 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 520 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 522 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 523 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 524 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 525 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 526 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 527 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 528 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 528 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 528 | ERROR | [x] Whitespace found at end of line 529 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 530 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 531 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 532 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 533 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 534 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 536 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 537 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 547 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 548 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 549 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 550 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 551 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 552 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 552 | ERROR | [x] Inline control structures are not allowed 553 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 553 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 553 | ERROR | [x] Whitespace found at end of line 554 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 554 | ERROR | [x] No space found after comma in function call 554 | ERROR | [x] No space found after comma in function call 556 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 557 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 558 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 558 | ERROR | [x] Expected 1 space after closing parenthesis; | | found 9 559 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 560 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 562 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 562 | ERROR | [x] Expected 1 space after closing parenthesis; | | found 13 563 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 564 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 565 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 565 | ERROR | [x] Line indented incorrectly; expected at least 20 | | spaces, found 16 566 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 566 | ERROR | [x] Terminating statement must be indented to the | | same level as the CASE body 567 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 568 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 568 | ERROR | [x] Line indented incorrectly; expected at least 20 | | spaces, found 16 569 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 569 | ERROR | [x] Terminating statement must be indented to the | | same level as the CASE body 570 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 571 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 571 | ERROR | [x] Line indented incorrectly; expected at least 20 | | spaces, found 16 572 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 572 | ERROR | [x] Terminating statement must be indented to the | | same level as the CASE body 573 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 574 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 574 | ERROR | [x] Line indented incorrectly; expected at least 20 | | spaces, found 16 575 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 575 | ERROR | [x] Terminating statement must be indented to the | | same level as the CASE body 576 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 577 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 577 | ERROR | [x] Line indented incorrectly; expected at least 20 | | spaces, found 16 578 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 578 | ERROR | [x] Terminating statement must be indented to the | | same level as the CASE body 579 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 580 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 580 | ERROR | [x] Line indented incorrectly; expected at least 20 | | spaces, found 16 581 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 581 | ERROR | [x] Terminating statement must be indented to the | | same level as the CASE body 582 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 583 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 583 | ERROR | [x] Line indented incorrectly; expected at least 20 | | spaces, found 16 584 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 584 | ERROR | [x] Terminating statement must be indented to the | | same level as the CASE body 585 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 586 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 586 | ERROR | [x] Line indented incorrectly; expected at least 20 | | spaces, found 16 587 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 587 | ERROR | [x] Terminating statement must be indented to the | | same level as the CASE body 588 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 589 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 589 | ERROR | [x] Line indented incorrectly; expected at least 20 | | spaces, found 16 590 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 590 | ERROR | [x] Terminating statement must be indented to the | | same level as the CASE body 591 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 592 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 592 | ERROR | [x] Line indented incorrectly; expected at least 20 | | spaces, found 16 593 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 593 | ERROR | [x] Terminating statement must be indented to the | | same level as the CASE body 594 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 595 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 595 | ERROR | [x] Line indented incorrectly; expected at least 20 | | spaces, found 16 596 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 596 | ERROR | [x] Terminating statement must be indented to the | | same level as the CASE body 597 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 598 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 598 | ERROR | [x] Line indented incorrectly; expected at least 20 | | spaces, found 16 599 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 599 | ERROR | [x] Terminating statement must be indented to the | | same level as the CASE body 600 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 601 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 601 | ERROR | [x] Line indented incorrectly; expected at least 20 | | spaces, found 16 602 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 603 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 603 | ERROR | [x] Expected 1 space after closing brace; newline | | found 604 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 604 | ERROR | [x] Expected 1 space after ELSE keyword; newline | | found 604 | ERROR | [x] Inline control structures are not allowed 605 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 607 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 608 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 609 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 609 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 609 | ERROR | [x] Whitespace found at end of line 610 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 611 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 611 | ERROR | [x] No space found after comma in function call 612 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 612 | ERROR | [x] No space found after comma in function call 613 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 613 | ERROR | [x] No space found after comma in function call 614 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 614 | ERROR | [x] No space found after comma in function call 615 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 615 | ERROR | [x] No space found after comma in function call 616 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 616 | ERROR | [x] No space found after comma in function call 617 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 617 | ERROR | [x] No space found after comma in function call 618 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 619 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 619 | ERROR | [x] No space found after comma in function call 619 | WARNING | [ ] Line exceeds 120 characters; contains 246 | | characters 620 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 620 | ERROR | [x] No space found after comma in function call 622 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 622 | WARNING | [ ] Line exceeds 120 characters; contains 168 | | characters 623 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 623 | ERROR | [x] No space found after comma in function call 624 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 624 | ERROR | [x] No space found after comma in function call 625 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 626 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 626 | ERROR | [x] No space found after comma in function call 627 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 627 | ERROR | [x] No space found after comma in function call 628 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 628 | ERROR | [x] No space found after comma in function call 629 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 630 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 630 | ERROR | [x] No space found after comma in function call 631 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 631 | ERROR | [x] No space found after comma in function call 632 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 633 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 634 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 635 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 636 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 637 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 638 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 640 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 641 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 642 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 643 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 644 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 645 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 646 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 647 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 650 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 656 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 657 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 658 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 659 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 660 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 661 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 663 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 667 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 669 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 670 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 671 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 672 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 674 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 674 | ERROR | [x] Inline control structures are not allowed 675 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 675 | ERROR | [x] Inline control structures are not allowed 676 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 676 | ERROR | [x] Inline control structures are not allowed 677 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 678 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 679 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 681 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 682 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 683 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 683 | ERROR | [x] Inline control structures are not allowed 684 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 686 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 687 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 688 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 688 | WARNING | [ ] Line exceeds 120 characters; contains 142 | | characters 689 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 690 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 691 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 692 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 694 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 695 | ERROR | [x] Spaces must be used for alignment; tabs are not | | allowed 696 | ERROR | [x] Expected 1 newline at end of file; 0 found ---------------------------------------------------------------------- PHPCBF CAN FIX THE 714 MARKED SNIFF VIOLATIONS AUTOMATICALLY ---------------------------------------------------------------------- Y esto es solo el standar, en cuanto a seguridad mi opinion es que no lo use. Y es solo un archivo y este mismo consume Memory: 12Mb solo para servir funciones simples. saludos Link to comment Share on other sites More sharing options...
MrViSiOn Posted September 25, 2017 Share Posted September 25, 2017 (edited) Vale, corregiré lo que indicas y mejoraré el código. Claro que es el que proporciona redsys... ¿con qué has analizado el fichero? Muchos módulos con los que me he cruzado están mucho peor que este... y se venden nen addons. ¿cómo se escriben los módulos? Edited September 25, 2017 by MrViSiOn (see edit history) Link to comment Share on other sites More sharing options...
tamu secreto Posted September 25, 2017 Share Posted September 25, 2017 (edited) Vale, corregiré lo que indicas y mejoraré el código. Claro que es el que proporciona redsys... ¿con qué has analizado el fichero? Muchos módulos con los que me he cruzado están mucho peor que este... y se venden nen addons. ¿cómo se escriben los módulos? Si es verdad!! no se por que sucede, ya que para subir un modulo en el addons hay que pasar por aquí primero: https://validator.prestashop.com/auth/login allí subes el modulo y te da el reporte, ignoro por que le permiten a algunos subir el modulo sin validar, creo que algunos pagan el cursillo y como son alumnos no le exigen el reporte. o la gente de prestashop esta en la vagancia no lo se. YA TENGO LOS MANUALES!! VAMOS A VER SI SACAMOS ALGO BUENO, HOY A LA NOCHE LOS VOY A LEER saludos! pd: EN ESA MISMA URLS PUEDES GEENERAR UN STANDAR DE MODULO PARA SU PROYECTO, ya sea modulo de pago o lo que sea le genera todos los archivos basados en el standar de directorios y programación, luego tiene que adicionar obvio lo que desea a mano, pero es bastante ayuda para comenzar, yo particularmente prefiero hacer todo desde cero Edited September 25, 2017 by tamu secreto (see edit history) Link to comment Share on other sites More sharing options...
tamu secreto Posted September 25, 2017 Share Posted September 25, 2017 :P tengo los manuales!! hoy voy leerlos y mañana veo si arranco hacer el modulo. haber si hacemos algo MrViSiOn saludos!! Link to comment Share on other sites More sharing options...
MrViSiOn Posted September 25, 2017 Share Posted September 25, 2017 Jaja, síiii... a ver si hacemos algo... he desarrollado mucho en PS pero nunca me he lanzado a escribir nada para la comunidad... ¿esos manuales son los que me has pegado antes? Link to comment Share on other sites More sharing options...
MrViSiOn Posted September 25, 2017 Share Posted September 25, 2017 He actualizado el módulo, ahora ya pasa el estandar PSR-2 de esa clase. Seguiré actualizándolo https://modulos-prestashop.com/descarga-modulo-redsys-prestashop-1-7 El módulo funciona y no hay problema en usarlo (muchas tiendas usan el módulo que reparte Redsys y no pasa el estándar). Pero iré mejorándolo. Gracias! Link to comment Share on other sites More sharing options...
tamu secreto Posted September 25, 2017 Share Posted September 25, 2017 (edited) He actualizado el módulo, ahora ya pasa el estandar PSR-2 de esa clase. Seguiré actualizándolo https://modulos-prestashop.com/descarga-modulo-redsys-prestashop-1-7 El módulo funciona y no hay problema en usarlo (muchas tiendas usan el módulo que reparte Redsys y no pasa el estándar). Pero iré mejorándolo. Gracias! No le he bajado, me dice link expirado Lo que hay que hacer es integrar primero la class a prestashop, no es util class RedsysAPI en ninguna de sus versiones, pues se debe declarar los atributos y establecer sus propiedades, publicas, privadas, etc. Luego a las funciones se las debe declarar con sus propiedades correspondientes de ese modo quedara un POO coherente y seguro. De todos modos la mayoría de esas funciones pueden ser reemplazadas utilizando la class Tools de prestashop. Bueno aquí son las 17hs (Argentina) y he leido un poco los manuales que me enviaron, voy a ver si luego hago un modulo, me llevara unas tres horas, pero estoy casado estoy desde las 03hs mirando este monitor . En si, yo no uso prestashop, ni ningún otra plataforma, entro a este foro como recreo para despejarme (antes de enloquecer jaajaja) tampoco trabajo de esto, asi que mi ayuda va de gratis y para colaborar. Si no lo hago hoy, mañana a primera hora 8hs, lo hago. saludos Edited September 25, 2017 by tamu secreto (see edit history) Link to comment Share on other sites More sharing options...
tamu secreto Posted September 26, 2017 Share Posted September 26, 2017 (edited) /\ /\ ( \\ // ) \ \\ // / \_\\||||//_/ \/ _ _ \ \/|(O)(O)| \/ | | ___________________\/ \ / // // |____| // || / \ //| \| \ 0 0 / // \ ) V / \____/ // \ / ( / "" \ /_________| |_/ / /\ / | || / / / / \ || | | | | | || | | | | | || |_| |_| |_|| \_\ \_\ \_\\TAMU ! -----------------------------------------------------------------------------*/ RECIÉN TERMINE DE LEER EL MANUAL Y ESTUDIAR TODOS LOS PARÁMETROS YA HICE UNA PRUEBA CON UN FORMULARIO PHP Y OBTUVE BUENA RESPUESTA PERO TENGO ALGUNAS DUDAS PARA EL MODULO, POR EL MOMENTO EN PRINCIPIO LO VOY HACER FUNCIONAL STANDAR Ds_Merchant_TransactionType = 0, O SEA Autorización. TAMBIÉN SE PUEDE HACER PAGO EN CUOTAS, CREO QUE SERIA BUENO EN LA PROXIMA VERSION APLICAR ESTA OPCIÓN ¿QUE OPINAN? VOY HACER EL MODULO CON LAS DUDAS ACUESTA! SI TENGO PROBLEMAS LES AVISO! TENGO BASTANTE PARA ESCRIBIR, SI NO LO TERMINO HOY LO SIGO MAÑANA, AQUÍ SON 22HS (ARGENTINA) HE DORMIDO SOLO TRES HORAS EN FIN ME COLGUÉ CON ESTO SALUDOS PD: CRUCEN LOS DEDOS!! CAPTURE PRUEBA!! Edited September 26, 2017 by tamu secreto (see edit history) Link to comment Share on other sites More sharing options...
wiisos Posted September 28, 2017 Share Posted September 28, 2017 ¿Alguien sabe por qué pasa a estado pedido enviado cuando se confirma el pago? Link to comment Share on other sites More sharing options...
csoon1992 Posted September 29, 2017 Share Posted September 29, 2017 (edited) Yo estoy con la versión 1.7.2.2, usando el módulo redsys modificado por @eltitoxusmi y el pago se hace, pero no se refleja pedido en el back. He dado persmisos al módulo redsys y nada... Concretamente, a este escribirLog no llega: $totalCart = $cart->getOrderTotal(true, Cart::BOTH); escribirLog("totalPre: " . $totalCart,$logActivo); Edited September 29, 2017 by csoon1992 (see edit history) Link to comment Share on other sites More sharing options...
MrViSiOn Posted September 29, 2017 Share Posted September 29, 2017 mmm, voy a probarlo de nuevo, liberar versión si corresponde y avisar a todos de que se actualicen. Link to comment Share on other sites More sharing options...
csoon1992 Posted September 29, 2017 Share Posted September 29, 2017 mmm, voy a probarlo de nuevo, liberar versión si corresponde y avisar a todos de que se actualicen. Tu módulo me funciona a la perfección en PS 1.7.2.2 Mil gracias a todos! 1 Link to comment Share on other sites More sharing options...
MrViSiOn Posted September 29, 2017 Share Posted September 29, 2017 Tu módulo me funciona a la perfección en PS 1.7.2.2 Mil gracias a todos! Perfecto! Si dejas tu email en nuestra newsletter enviaremos mail cuando haya una actualización del módulo. Yo lo he probado un poco más y me está yendo bien. Sin embargo, decir que lo estoy reescribiendo para que sea más estable y sencillo y, a su vez, incluir más funcionalidad. Un saludo a todos! http://modulos-prestashop.com 1 Link to comment Share on other sites More sharing options...
csoon1992 Posted September 29, 2017 Share Posted September 29, 2017 Perfecto! Si dejas tu email en nuestra newsletter enviaremos mail cuando haya una actualización del módulo. Yo lo he probado un poco más y me está yendo bien. Sin embargo, decir que lo estoy reescribiendo para que sea más estable y sencillo y, a su vez, incluir más funcionalidad. Un saludo a todos! http://modulos-prestashop.com Ya dejé mi email. Gracias. Link to comment Share on other sites More sharing options...
Blue Sash Posted October 2, 2017 Share Posted October 2, 2017 (edited) Buenas Noches, Ampliando información sólo para España Llevo tiempo, semanas, meses siguiendo este hilo y se agradece que personas en su tiempo libre realicen trabajos de este tipo. Lo que tendríamos que hacer es todos los que disponemos de la Red de Sermepa (Redsys) y como no tienen competencia en España y por ello disponen de la mayoría de las Entidades es el enviarles como Burofax (son 7 Euros mediante web Correos) hacia la dirección que disponen bajo su web oficial lo siguiente: - Que nosotros ya hemos pagado los 79 € (varia según entidad y tipo de cliente) pero este dinero es para Redsys en su totalidad en base a: En sus condiciones lo ponen y es responsabilidad de ellos el que dispongan los módulos actualizados según avanza la tecnología. Que dejen de engañar al cliente con frases tipo "En breve saldrá" "En unas semanas saldrá" ya que esas respuestas ya las llevamos escuchando hace mucho. Que hablamos de un Addons que se define en "Dinero", es decir es una pasarela de pago y por lo tanto existen riesgos de terceros. Que dejen de Facturar a través de su 902 (Voz IP), es decir cada minuto que te mantienen en su 902 a ellos la Empresa que disponen para el 902 les pagan un 50% a ellos y el otro 50% para la Empresa que tienen contratado el 902. Lo anteriormente expuesto cada uno lo realiza como carta a su modo. Seguidamente con dicho Burofax y copia donde aparece remitente, destinatario y Número de Seguimiento Burofax se acerca uno al Organismo de Consumidores de su Localidad y expone una reclamación. Yo ya lo hice hace semanas y es la única manera de que entiendan las cosas que en sus propias normas lo indican y son responsables de tener los módulos actualizados. Y cuantos más seamos antes se pondrán las pilas. En mi caso yo desde hace ya semanas tuve que conseguir el módulo de pago y tuve problemas y lo tuve que comprar de nuevo pero esta vez dentro de Prestashop y desde entonces sin problemas. Y también adjunté Factura al burofax de lo pagado por el segundo Addons y me ha sido devuelto, por cierto también adjunté la factura de llamada hacia el 902 de ellos ya que pueden tener un 902 pero no con fines de recaudación y os aseguro que hay muchos afectados. Simplemente he querido aportar esta información ya que me parece que se quieran aprovechar de todos y obviamente en esta vida se gana el dinero de forma humilde y no de maneras como esta. Observaciones: Existen varios problemas con el que disponen V 3.0.0 con la versión 1.7 y posteriores, te puede funcionar 1 vez pero a la 3 vez no te funciona y te van a responder que es problema del comercio, es decir de tu banco. También depende del Certificado de Seguridad ya que no vale cualquiera y también de la IP Dedicada. De alguien que ha querido empezar uno de sus negocios desde 0 con la Versión Prestashop 1.7 pasando por todas las actualizaciones hasta al actual 1.7.2.2 y llevo comprando 4 Addons, 1 Tema y todos indican que es compatible con la Versión 1.7 y no lo son... otra cosa muy diferente que ante la novedad de la Versión 1.7 muchos han querido aprovecharse de esto pero finalmente a base de soporte, de reclamaciones y otros recursos he puesto el acento sobre la i. Saludos Edited October 2, 2017 by Blue Sash (see edit history) Link to comment Share on other sites More sharing options...
Perfumerias Nova Posted October 3, 2017 Share Posted October 3, 2017 (edited) Hola, He instalado el zip de redsys que dejo en drive @eltitoxusmi y ahora me sale dentro de las opciones de pago en el pedido pero cuando le doy a pagar me devuelve el error de que no se ha elegido ni forma de pago ni se ha aceptado las condiciones. Me podrías echar una mano?? Muchas gracias. Edited October 3, 2017 by Perfumerias Nova (see edit history) Link to comment Share on other sites More sharing options...
tamu secreto Posted October 7, 2017 Share Posted October 7, 2017 HOLA TODOS!! Me re colgue, pero bien voy terminar el modulo, ya he hecho las pruebas y funciona! He realizado el modulo para PS- 1.6.x Termino de validar y lo subo, luego hago para PS 1.7.x dentro de unos minutos regreso a poner el link. saludos Link to comment Share on other sites More sharing options...
tamu secreto Posted October 7, 2017 Share Posted October 7, 2017 Bien me hice un tiempito y termine el modulo, miren es para la version PS 1.6.x, si hago tiempo hoy realizo los cambios para que sea compatible para PS 1.7.x descargar en https://www.prestashop.com/forums/topic/631314-modulefree-modulo-redsys-tpv-virtual-official-validation-documentation/?p=2620407 cualquier inquietud o problema, post en ese hilo. ENJOY! Link to comment Share on other sites More sharing options...
centrodeldeporte Posted October 31, 2017 Share Posted October 31, 2017 Al final alguien ha conseguido que funcione el modulo en la versión 1.7.2.4? Link to comment Share on other sites More sharing options...
Un_Tal_Iban Posted November 1, 2017 Share Posted November 1, 2017 (edited) Yo he instalado uno gratuito, y las pocas pruebas que he realizado las ha hecho bien con los datos de prueba. No lo he probado a conciencia pero de momento a funcionado bien. https://modulos-prestashop.com/descarga-modulo-redsys-prestashop-1-7 Me ha empezado a dar problemas, lo he desinstalado. Lo he sacado de este hilo: Edited January 5, 2018 by tali656 (see edit history) Link to comment Share on other sites More sharing options...
PRESTA1968 Posted January 2, 2018 Share Posted January 2, 2018 Pinta que es díficil un módulo gratuito, estable y seguro. Pues nada....nos iremos a los de pago para la versión 1.7.2.4. Saludos Link to comment Share on other sites More sharing options...
fmentado Posted January 29, 2018 Share Posted January 29, 2018 (edited) Buenas a todos estoy con la versión 1.7.2.4 y los módulos de redsys anteriores me petan en esta versión, me sale un error que pone que no existen medios de pago, aun teniendo el de pago por transferencias, para resolver el problema he bajado el módulo de redsys desde su página oficial, he eliminado lo referente a versiones anteriores a la 1.7 puesto que no me interesa y corregido los errores de variables y pagina en blanco, lo he probado en modo test y me ha funcionado correctamente, pero no lo he podido probar en modo real. Me gustaría saber si funciona en este modo, si hay algún problema no duden en comentarlo. Adjunto módulo rectificado. redsys_1_7_2_4_corregido_probado_modo_test.zip Edited January 29, 2018 by fmentado (see edit history) Link to comment Share on other sites More sharing options...
MrViSiOn Posted January 29, 2018 Share Posted January 29, 2018 On 1/11/2017 at 9:44 PM, tali656 said: Yo he instalado uno gratuito, y las pocas pruebas que he realizado las ha hecho bien con los datos de prueba. No lo he probado a conciencia pero de momento a funcionado bien. https://modulos-prestashop.com/descarga-modulo-redsys-prestashop-1-7 Me ha empezado a dar problemas, lo he desinstalado. Lo he sacado de este hilo: Hola! Qué problemas te ha dado nuestro módulo? Nos gustaría saberlo para arreglarlo. Es mucha gente el que usa el módulo de redsys en modulos-prestashop.com y no les está dando problemas ¿cuáles eran los tuyos? Gracias! 1 Link to comment Share on other sites More sharing options...
fmentado Posted January 29, 2018 Share Posted January 29, 2018 En la 1.7.2.4 no aparecía ningún medio de pago Link to comment Share on other sites More sharing options...
MrViSiOn Posted January 29, 2018 Share Posted January 29, 2018 Just now, fmentado said: En la 1.7.2.4 no aparecía ningún medio de pago Vamos a revisarlo y hoy o mañana liberamos versión. Gracias! Link to comment Share on other sites More sharing options...
fmentado Posted January 29, 2018 Share Posted January 29, 2018 El código del módulo de redsys original es un poco sucio y se puede refactorizar. Link to comment Share on other sites More sharing options...
MrViSiOn Posted January 29, 2018 Share Posted January 29, 2018 9 minutes ago, fmentado said: El código del módulo de redsys original es un poco sucio y se puede refactorizar. Ya lo sabemos. Nuestra prioridad haciendo el que hacemos es simplemente entregar a la comunidad algo que funcione y luego refactorizarlo entero porque esta muy mal pensado y encima no pasa los estándares de código de Prestashop. Link to comment Share on other sites More sharing options...
f_mentado Posted January 29, 2018 Share Posted January 29, 2018 (edited) Con módulo que he subido, en modo test despues de realizar la operación satisfactoria vacía el carrito , regresa a order mostrando resumen de la operación y envía 2 emails al cliente detalles y codigo de operación y factura, si cancelas regresa a order. Espero que sirva, Sólo falta probarlo en Real y esperar el feed back de la peña Edited January 29, 2018 by f_mentado (see edit history) Link to comment Share on other sites More sharing options...
MrViSiOn Posted January 29, 2018 Share Posted January 29, 2018 35 minutes ago, MrViSiOn said: Ya lo sabemos. Nuestra prioridad haciendo el que hacemos es simplemente entregar a la comunidad algo que funcione y luego refactorizarlo entero porque esta muy mal pensado y encima no pasa los estándares de código de Prestashop. Hola, ya hemos estado mirando... no se trata de un error el que no salga en métodos de pago... No sale en métodos de pago porque no es un método de pago registrado por prestashop. Pero el módulo funciona. Un saludo! Link to comment Share on other sites More sharing options...
f_mentado Posted January 29, 2018 Share Posted January 29, 2018 (edited) El módulo de redsys hereda de PaymentModule y se aloja en los hooks registerHook('paymentOptions') para las opciones de modulo de pago registerHook('paymentReturn') para la callback del TPV Edited January 29, 2018 by f_mentado (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted January 29, 2018 Share Posted January 29, 2018 (edited) Debido a que tenemos diversos posts con el tema de Redsys en el foro y no conviene dejar varios temas colgando, cierro el tema actual y dejo redirecciondo el tema actual al tema oficial que se creo en su momento en el año 2013. Aquellos que estáis colaborando con el modulo, ir comentando vuestras novedades y vuestros aportes en el tema oficial que se creo en su momento en el año 2013: @f_mentado @MrViSiOn @tamu secreto etc... Comentar vuestros aportes en el tema oficial. https://www.prestashop.com/forums/topic/266480-modulo-redsys-tpv-virtual-gratis-en-su-web/ Aquellos que tengáis dudas, y problemas, pues comentar también en el tema oficial, y seguro que algún compañero os ayuda. Saludos, Edited January 29, 2018 by nadie (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts