Kirchhoff82 Posted August 21, 2020 Share Posted August 21, 2020 (edited) Buenas. Estoy teniendo problemas con el pago con tarjeta en la web. El TPV virtual está contratado con la CECA (La Confederación Española de cajas de ahorros) así que el módulo que estoy usando es el suyo propio. El caso es que el error que me da dice que "he usado un número de operación igual en las últimas 24h" y no se puede repetir. El SAT de la CECA me ha indicado que borre la caché de la web para solucionarlo, pero no está dando resultado. He hecho esto: Menú Smarty: Caché --> No Menú Smarty: Forzar compilación. Menú CCC: Todos los parámetros en "No" Borrado de la caché Limpiado del carrito y añadido un producto nuevo para hacer la siguiente prueba. No hay manera. También he probado siguiendo las indicaciones del SAT de la CECA a desinstalar el módulo y volver a instalarlo y configurarlo, pero tampoco. Ellos dicen que ya no pueden hacer más, que es tema de PrestaShop. ¿Alguien tiene alguna idea? Un saludo, Guillermo. Edited August 21, 2020 by Kirchhoff82 (see edit history) Link to comment Share on other sites More sharing options...
Prestafan33 Posted August 21, 2020 Share Posted August 21, 2020 (edited) Normalmente los módulos de pago envían a la pasarela de pago un número para identificar cada pedido. Que puede ser el número del pedido que le asigna Prestashop o el número del carrito. Eso ya depende de cada módulo, de cómo esté programado y algunos incluso te dejan elegir cuál usar. Creo que ése es el número que te indica que está repetido. Revisa que no tengas pedidos ni carritos con números repetidos, y mira a ver si en alguna parte del módulo te deja elegir qué parámetro usar para identificar los pedidos, y si puedes cambiarlo. Otras dos cosas: 1.Si tienes la tienda en modo mantenimiento la confirmación de pago de las pasarelas NO funciona, y el error puede venir de ahí, deberás "abrir" la tienda para poder realizar las pruebas. 2. La pasarela de CECA creo que permite configurar por alguna parte, dentro del TPV virtual, la ruta de confirmación de los pedidos. Asegúrate de que ésta sea correcta y esté apuntando donde debe. Edited August 21, 2020 by Prestafan33 (see edit history) Link to comment Share on other sites More sharing options...
Kirchhoff82 Posted August 21, 2020 Author Share Posted August 21, 2020 29 minutes ago, Prestafan33 said: Normalmente los módulos de pago envían a la pasarela de pago un número para identificar cada pedido. Que puede ser el número del pedido que le asigna Prestashop o el número del carrito. Eso ya depende de cada módulo, de cómo esté programado y algunos incluso te dejan elegir cuál usar. Creo que ése es el número que te indica que está repetido. Revisa que no tengas pedidos ni carritos con números repetidos, y mira a ver si en alguna parte del módulo te deja elegir qué parámetro usar para identificar los pedidos, y si puedes cambiarlo. Otras dos cosas: 1.Si tienes la tienda en modo mantenimiento la confirmación de pago de las pasarelas NO funciona, y el error puede venir de ahí, deberás "abrir" la tienda para poder realizar las pruebas. 2. La pasarela de CECA creo que permite configurar por alguna parte, dentro del TPV virtual, la ruta de confirmación de los pedidos. Asegúrate de que ésta sea correcta y esté apuntando donde debe. Gracias Prestafan33. Miraré lo que dices de los pedidos. ¿Quizás tengo que borrar los pedidos en la propia web? Sobre la configuración del módulo, no indica anda sobre el "número de pedido". Sí que recuerdo que en las primeras pruebas, cuando me daba otros errores, al meter los números de la tarjeta sí que aparecía un campo con el "número de pedido" y creo que podía editarlo. El problema es que ahora no llega a esa página. Directamente dice que como he repetido el número, la operación no se puede llevar a cabo. Por último, como aclaración, lo que está en entorno de prueba es el TPV, no la web. La web está abierta pero el TPV solo admite tarjetas "de prueba". Que no me gusta nada tener una web lanzada sin la forma de pago habilitada, pero bueno si PrestaShop funciona así pues ya está. No creo que nadie vaya a hacerme una compra ahora de 300€ en una web de la que no conocen el link Miro esas cosas y os comento. Gracias de nuevo. --------------- Me edito a mi mismo. Pestafan33, tenías razón. Había un carrito con ID33, que es precisamente el número (33) que me decía el TPV que ya estaba hecho y no podía repetirse. Cuando me decían "limpia el carrito" entendía que era el carrito de la compra que estaba haciendo, no uno que ya estuviera "comprado". He intentado borrarlo, pero la web no me deja borrar carros (ver imagen) así que lo que he hecho ha sido "comprar" otra cosa y pagar "en metálico". Con eso he generado un carrito nuevo (el 34) y en el siguiente con tarjeta ya lo ha procesado sin problemas, porque era el 35. Muchas gracias de nuevo. Con esto, quitando problemas de diseño (la plantilla es demasiado simple), ya tengo la tienda lista para lanzarla en cuanto tenga todos los productos metidos. Os haré saber el link para que os hinchéis a comprar carne (es una carnicería). Un saludo, Guillermo. Link to comment Share on other sites More sharing options...
Prestafan33 Posted August 21, 2020 Share Posted August 21, 2020 (edited) He echado un vistazo a una versión antigua del módulo que tengo por aquí, y en principio parece que lo que usa para identificar las operaciones es el número del carrito ($cart->id): // Create transaction $cecabank_client->setFormHiddens(array( 'Num_operacion' => $cart->id, 'Descripcion' => printf( '%09d - %s %s', $cart->id, $customer->firstname, Tools::ucfirst(Tools::strtolower($customer->lastname)) ), 'Importe' => $amount, 'URL_OK' => $url['return'], 'URL_NOK' => $url['cancel'], 'datos_acs_20' => urlencode( json_encode( $acs ) ) )); Revisa eso, que no tengas carritos con números repetidos. Incluso si estás en pruebas, elimina los carritos abandonados, para evitar errores. Otra cosa: Puede ser un problema de cookies. Borra todas las cookies de la página en tu navegador, o inténtalo desde otro navegador o desde una ventana privada, es posible que así te deje. Edited August 21, 2020 by Prestafan33 (see edit history) Link to comment Share on other sites More sharing options...
Kirchhoff82 Posted August 21, 2020 Author Share Posted August 21, 2020 (edited) 1 minute ago, Prestafan33 said: He echado un vistazo a una versión antigua del módulo que tengo por aquí, y en principio parece que lo que usa para identificar las operaciones es el número del carrito ($cart->id): // Create transaction $cecabank_client->setFormHiddens(array( 'Num_operacion' => $cart->id, 'Descripcion' => printf( '%09d - %s %s', $cart->id, $customer->firstname, Tools::ucfirst(Tools::strtolower($customer->lastname)) ), 'Importe' => $amount, 'URL_OK' => $url['return'], 'URL_NOK' => $url['cancel'], 'datos_acs_20' => urlencode( json_encode( $acs ) ) )); Revisa eso, que no tengas carritos con números repetidos. Incluso si estás en pruebas, elimina los carritos abandonados, para evitar errores. Justo te acababa de escribir eso, que era el número de ID del carro El único punto aún a investigar es por qué no me deja borrarlos. Edited August 21, 2020 by Kirchhoff82 (see edit history) Link to comment Share on other sites More sharing options...
Prestafan33 Posted August 21, 2020 Share Posted August 21, 2020 (edited) Los pedidos y carritos que se convierten en pedidos no se pueden borrar en Prestashop (hay módulos que lo hacen, pero la plataforma en principio no lo permite). Los carritos abandonados en principio sí que debería. Edited August 21, 2020 by Prestafan33 (see edit history) Link to comment Share on other sites More sharing options...
Kirchhoff82 Posted August 21, 2020 Author Share Posted August 21, 2020 Son carritos "aceptados" ya, luego entonces es normal que no se puedan borrar. Aunque no veo dónde puede distinguir entre carritos "abandonados" y pedidos confirmados. ¿Quizás en la variable "en línea"? Link to comment Share on other sites More sharing options...
Prestafan33 Posted August 21, 2020 Share Posted August 21, 2020 Los carritos abandonados lo indica, aparte de tener una casilla para seleccionarlos. Los confirmados muestran el importe en verde en una de las columnas: Para que un carrito se considere abandonado tiene que haber pasado un periodo de tiempo (no sé ahora mismo cuánto exactamente) desde que se creó. Link to comment Share on other sites More sharing options...
Kirchhoff82 Posted August 21, 2020 Author Share Posted August 21, 2020 Entonces sí, son todos "confirmados" ya. Link to comment Share on other sites More sharing options...
joseantgv Posted August 21, 2020 Share Posted August 21, 2020 Ten cuidado que eso también le puede pasar a tus clientes y quedarse con el carrito colgado. Eso se tiene que solucionar desde el módulo. Link to comment Share on other sites More sharing options...
Kirchhoff82 Posted August 21, 2020 Author Share Posted August 21, 2020 8 minutes ago, joseantgv said: Ten cuidado que eso también le puede pasar a tus clientes y quedarse con el carrito colgado. Eso se tiene que solucionar desde el módulo. Sí, habrá que estar atentos a la web del banco para esos casos. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now