Avisos
Vaciar todo

Comportamiento carritos abandonados

4 Respuestas
3 Usuarios
0 Reacciones
11 Visitas
Respuestas: 34
Trusted Member
Topic starter
 

Buenos días, 

He visto que tenemos carritos abandonados de clientes no registrados (no tenemos activada la opción de pedir como invitado) que no puedo eliminar y que aparecen con el importe con fondo en verde (como si fueran un pedido) y tienen un ID en la columna de "Id del pedido" pero con un orden diferente a los que sí son pedidos. ¿Por qué puede ocurrir ésto? Envío imagen adjunta. Gracias. 

Un saludo,

Miriam

 

Contenido solo visible a usuarios registrados


 
Respondido : 11/06/2026 9:22 am
Pepe
 Pepe
Respuestas: 42532
Illustrious Member
 

Hola Miriam.

El problema surge cuando se han borrado carritos directamente en la base de datos (o mediante módulos/scripts de limpieza) sin ajustar correctamente los id_cart de los pedidos existentes. Esto provoca que los autoincrementales se "reinicien" o queden desincronizados:

  • El sistema vuelve a reutilizar IDs de carritos antiguos.
  • Un nuevo carrito abandonado hereda un id_cart que ya existía antes en un pedido.
  • PrestaShop detecta que ese ID está asociado a un pedido (aunque sea de hace tiempo) y lo trata como "procesado" (verde, sin opción de borrar).

Esto es un problema clásico reportado desde versiones antiguas (1.5/1.6) y que sigue ocurriendo si se hace limpieza manual agresiva.

Para solucionarlo necesitas realizar algunas consultas en la base de datos.

Lo primero y más importante es que hagas una copia de seguridad de tu base de datos.

-> https://guias.webempresa.com/preguntas-frecuentes/exportar-una-base-datos/

Una vez exportada:

Selecciona la pestaña SQL y ejecuta estas consultas:

.- 1 incrementara los IDs

ALTER TABLE ps_cart AUTO_INCREMENT = 28000;

.- 2 Elimina los carritos abandonados problemáticos

DELETE c, cp
FROM ps_cart c
LEFT JOIN ps_cart_product cp ON c.id_cart = cp.id_cart
LEFT JOIN ps_orders o ON c.id_cart = o.id_cart
WHERE o.id_order IS NULL
AND c.date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);

 

Una vez ejecutado:

.- Elimina la cache de Prestashop

.- Accede a Carritos de compra en el backoffice y actualiza la página .

A partir de ahora los nuevos carritos abandonados deberían aparecer correctamente en rojo y poderse eliminar.

 

Dime como te fue despues de ejecutar todo esto.

 

Un saludo


 
Respondido : 11/06/2026 11:15 am
Respuestas: 34
Trusted Member
Topic starter
 

Buenos días, 

Efectivamente hice una limpieza de carritos hace unos meses para reducir tamaño de la base de datos por si tenía que ver con que la BBDD me fuera más lenta, pero no. 

Hice las dos consultas y veo que, en los carritos de hace más de 30 días la cosa quedó como envío en la imagen. 

Se eliminaron todos los carritos en rojo, pero se quedaron todos los que tienen un id de pedido asociado (que no es el suyo, porque no llegaron a pedido). 

Ya probé a crear un carrito nuevo y se creó con un id mayor de 28000, así que a partir de ahora ya no sucederá.

Muchas gracias. 

Un saludo,

Miriam

carritos

 


 
Respondido : 14/06/2026 6:50 am
Argenis
Respuestas: 12295
Illustrious Member Admin
 

Hola Miriam,

Estupendo, de igual forma quedamos atentos por si necesitas retomarlo.

Un saludo 🖐️ 


 
Respondido : 14/06/2026 2:10 pm