Nous utilisons des cookies pour améliorer votre expérience de visite de notre site Web. Pour plus d'informations, Cliquez ici.
Mentions légales
×

Vue d'ensemble de la vie privée

Ce site utilise des cookies afin que nous puissions vous fournir la meilleure expérience utilisateur possible. Les informations sur les cookies sont stockées dans votre navigateur et remplissent des fonctions telles que vous reconnaître lorsque vous revenez sur notre site Web et aider notre équipe à comprendre les sections du site que vous trouvez les plus intéressantes et utiles.

Vous pouvez régler tous vos paramètres de cookies en naviguant sur les onglets sur le côté gauche.

Nom du cookieAcceptez
GDPR PRO - Règlement sur la protection des données générales - tout en 1 Ce module aide le site adevenir conforme à la norme RGPD en ajoutant les fonctionnalités conformes à la loi.
unknown

Comment corriger bug plusieurs commande avec le meme ID sur Prestashop ?

tout servces prestashop

1. Comment ajouter une clé unique sur id_cart pour éviter les commandes en double dans PrestaShop

Pour prévenir la génération de commandes en double, ajoutez une clé unique sur le champ id_cart dans la table ps_order. Vous devez supprimer les doublons existants (commande, factures non traitées), puis créer un INDEX UNIQUE(id_cart) via phpMyAdmin ou un script prestashop.com+11prestashop.com+11arnaud-merigeau.fr+11. Cela force MySQL à bloquer toute insertion de commande utilisant un panier déjà enregistré, empêchant les commandes en double causées par clics répétés ou webhooks multiples. C’est la solution la plus efficace côté base de données.


2. Comment corriger les commandes doublons liées à la gestion avancée de stock (ASM) dans PrestaShop

Le bug survient souvent lorsque certains produits du panier ne sont pas assignés à un entrepôt en mode Advanced Stock Management. PrestaShop divise automatiquement la commande lorsque les articles se trouvent dans plusieurs stocks prestashop.com.
Pour corriger, assurez-vous que chaque produit est bien assigné à un entrepôt principal. Modifiez via CSV ou back-office, puis testez une commande. La commande restera unique et les livraisons seront correctement affectées. Cette solution cible particulièrement les boutiques multi-entrepôts.


3. Comment éviter les commandes dupliquées après un paiement PayPal avec Smarty cache activé

Certains modules, notamment PayPal, déclenchent des enregistrements multiples du panier si Smarty cache est activé. Le script AJAX de paiement peut récupérer le panier en cours prestashop.comprestashop.com+2prestashop.com+2prestashop.com+2.
Pour corriger, désactivez Smarty cache ou ajoutez une condition pour bloquer l’enregistrement tant que la commande n’est pas confirmée. Cela supprime les commandes fantômes, surtout visibles lors de paiement via PayPal. Cette méthode améliore fiabilité et stabilité.


4. Comment empêcher la commande en double suite à un double clic sur “Confirmer la commande”

Le bug peut être causé par des clics successifs rapides sur le bouton de commande. Utilisez JavaScript pour désactiver le bouton après le premier clic, et ajoutez une vérification dans CartController pour ignorer les requêtes redondantes .
Cela limite les enregistrements multiples et évite les paniers sauvegardés à plusieurs reprises. Combinez cette protection côté client avec la clé unique DB pour une solution robuste et fiable.


5. Comment corriger les références de commandes en double en augmentant la taille du champ reference

Un bug courant provoque des références identiques si le champ reference est trop court (9 caractères). Augmentez la longueur à VARCHAR(14) dans ps_order.reference via phpMyAdmin mypresta.eu+1prestashop.com+1prestashop.com+2arnaud-merigeau.fr+2prestashop.com+2.
Cela permet à PrestaShop de générer des références longer and more unique strings. Attention : modifiez également la fonction generateReference() si nécessaire pour la faire correspondre à la taille. Gardez la compatibilité avec vos modules de paiement.


6. Comment diagnostiquer les commandes en double dans l’Administration PrestaShop sans doublons réels en base

Parfois, les doublons apparaissent uniquement en back-office à cause d’un affichage erroné. Activez l’option “Afficher la requête SQL” via la roue dentée du tableau des commandes dans BO, puis exécutez-la sur votre base arnaud-merigeau.fr.
Si chaque ligne correspond à un ID unique mais s’affiche en double, examinez les overrides, modules installés ou les JOIN affectant la vue. Corrigez ou supprimez les overrides responsables pour rétablir l’affichage normal.


7. Pourquoi PrestaShop crée des sous-commandes (#1, #2) en double via ASM et comment les unifier

Quand le panier contient des produits non affectés à un stock, PrestaShop crée plusieurs commandes (#1, #2…) pour gérer les expéditions depuis différents entrepôts prestashop.com.
Pour éviter cette fragmentation, désactivez ASM ou affectez tous les produits au même entrepôt. Vous pouvez aussi utiliser un module pour forcer l’unification des commandes avant leur transformation en Order. Résultat : une seule commande par panier, simplifiée et claire.


8. Comment gérer les erreurs des modules tiers provoquant commandes dupliquées sur Prestashop

Certains modules (paiement, API externes) enregistrent plusieurs fois la même commande si la confirmation ne répond pas assez vite. Vérifiez les scripts de modules dans PaymentModule et assurez-vous qu’ils désactivent le bouton dès le lancement du paiement .
Bloquez les requêtes multiples avec un flag order_created, et ajoutez un enregistrement en base dès la première exécution. Ce contrôle limite les doublons et protège contre les comportements aberrants des extensions.


9. Comment réparer les commandes créées avec le même ID de panier via override du CartController

Dans CartController, ajoutez une condition : si une commande existe déjà pour le id_cart en cours, ne générez pas une deuxième commande. Cette validation peut être insérée dans la méthode postProcess() prestashop.com+15prestashop.com+15arnaud-merigeau.fr+15arnaud-merigeau.fr+2prestashop.com+2prestashop.com+2.
La combinaison de cette vérification et de l’index unique en DB garantit que même les requêtes répétées n’aboutissent pas à plusieurs commandes distinctes. C’est une solution efficace côté code.


10. Comment éviter les commandes dupliquées après upgrade PrestaShop 1.7 en corrigeant les overrides mal configurés

Après une mise à jour vers PrestaShop 1.7+, certains overrides de OrderController ou CartPresenter peuvent provoquer l’enregistrement de commandes en double. Identifiez les fichiers de override dans /override/classes/* et désactivez-les temporairement arnaud-merigeau.fr+2prestashop.com+2mypresta.eu+2.
Testez une commande test, et si le bug disparaît, réécrivez ou corrigez l’override pour éviter l’exécution multiple de validateOrder(). Supprimez les overrides problématiques et privilégiez des modules si possible.