Comment supprimer une commande dans Prestashop ?

supprimer commande prestashop

Vous vous êtes peut-être rendu compte qu’il n’y avait pas de bouton « Supprimer » pour les commandes dans le back office de Prestashop. Ce serait pourtant bien pratique. Vous avez parcouru toute l’interface du back office Prestashop, sans succès. Comment faire alors ? N’y a-t-il réellement aucun moyen de supprimer une commande existante dans Prestashop ? C’est ce que nous allons voir.

supprimer commande prestashop

Pourquoi ne peut-on pas supprimer une commande dans Prestashop ?

La politique de Prestashop est que toutes les commandes doivent être stockées. Les commandes contiennent potentiellement des informations confidentielles, notamment en ce qui concerne les moyens de paiement des clients. En fait, comme l’indique Prestashop dans sa documentation :

« En Europe, il est interdit de permettre la suppression d’informations de paiement, de facturation ou de commande. C’est pourquoi l’implémentation d’un bouton "Supprimer" pour les commandes rendrait PrestaShop illégal en Europe. »

Voila pourquoi vous ne trouverez pas de bouton vous permettant de supprimer une commande dans Prestashop. Cette loi européenne a été créée pour lutter contre la fraude.

Oui, mais j’ai des commandes de tests moi !

Biensûr, votre intention n’est absolument pas de frauder. Cependant, avant de mettre en ligne votre site Prestashop, vous avez été amené à créer de nombreuses commandes pour effectuer des tests.

En soi, ces commandes ne gênent pas et n’entravent pas le fonctionnement de Prestashop ni de votre boutique en ligne. Si vous ne pouvez pas les supprimer, vous pouvez en revanche les annuler.

Cependant, même annulées, ces commandes existent toujours. Là où elles vont devenir encombrantes, c’est pour le calcul des statistiques de votre boutique. Elles vont introduire des informations erronées dans les statistiques de la boutique Prestashop, et plus tard, dans les rapports de vente.

Il faut donc trouver un moyen de supprimer définitivement toutes ces commandes de test.

Les 4 méthodes pour supprimer une commande dans Prestashop

Soyez rassuré, il est bien possible de contourner cette limitation de Prestashop pour pouvoir supprimer toutes vos commandes de test (et seulement vos commandes de test puisque vous avez bien compris que supprimer une commande réelle est illégal).

Plusieurs méthodes sont disponibles. Certaines nécessitant des connaissances en programmation, et d’autres, sont plus « propres ».

1- La méthode « hacker »

Ce n’est pas réellement une méthode de « hacker », le terme étant un peu fort ici. Néanmoins, il s’agit d’utiliser un mécanisme classique des sites web pour contourner la limitation.

Il faut savoir que toutes les commandes peuvent être exécutées en passant les bons paramètres au navigateur dans l’adresse du site. Ce n’est pas un « hack », car pour fonctionner, cette méthode nécessite tout de même que vous soyez connecté en tant qu’administrateur du site.

Pour supprimer une commande, suivez la procédure suivante :

  • Connectez-vous en tant qu’administrateur au site Prestashop.
  • Affichez le détail de la commande que vous souhaitez supprimer.
  • Regardez l’url dans la barre d’adresse du navigateur : vous devriez avoir une url du type « https://votre_nom_de_domaine/admin/index.php?controller=AdminOrders&id_order=5&vieworder&token=… ».
  • Remplacez « vieworder » dans l’url par « deleteorder » et appuyez sur la touche « Entrée ».

La commande devrait être supprimée, un message vous le confirmant devrait s’afficher dans la page.

L’inconvénient de cette méthode est que ce n’est pas très « propre » d’une part, et que si vous avez 50 commandes à supprimer, il faudra répéter l’opération pour chacune d’elle.
De plus, si la signature de la méthode de suppression d’une commande change d’une version à l’autre de Prestashop, cette « astuce » risque de ne plus fonctionner. Ce n’est donc en aucun cas une méthode pérenne.

prestashop nettoyage base de donnees

2- La méthode « bidouilleur »

Cette méthode consiste à ajouter un bouton « Supprimer » dans la section de gestion des commandes.

Pour y parvenir, il va falloir modifier le programme de Prestashop, et donc écrire des lignes de code en PHP. Ce n’est pas très compliqué en soi, mais cela peut être en revanche assez risqué.

Nous n’allons pas détailler ici les fichiers et portions de code à modifier. Il est possible de trouver de nombreux tutoriels sur le web. Sachez toutefois que modifier le code de Prestashop est risqué pour deux raisons principales :

  • Si vous vous trompez sur l’endroit de la modification, le code ajouté ou supprimé ou que vous laissez un espace ou un caractère en trop quelque-part, votre site Prestashop risque de ne plus fonctionner du tout.
  • Si vous effectuez une mise à jour de Prestashop, il y a toutes les chances pour que le ou les fichiers modifiés soient écrasés par ceux de la nouvelle version. Vous aurez alors perdu toutes vos modifications et devrez recommencer.

Il n’est jamais bon de « bidouiller » tant que l’on n’est pas certain de ce que l’on fait. Le risque de faire plus de mal que de bien n’est pas négligeable et nous n’avons donc pas là non plus une méthode à conseiller si vous n’êtes pas développeur.

3- On soulève le capot

Plus question de modifier le code cette fois, on attaque directement la base de données. Là encore, il faut être sûr de ce que vous faites et avoir les compétences nécessaires pour créer une requête SQL et vous connecter à la base de données pour l’exécuter.

Il est très facile de faire une erreur en écrivant la requête, d’oublier ou de se tromper sur un paramètre permettant de cibler précisément la commande à supprimer. Si vous vous trompez, vous risquez cette fois encore de paralyser votre site de e-commerce, mais en plus de perdre toutes les informations déjà présentes dans la base de données.

Il s’agit là encore de « bidouille », à éviter lorsque l’on travaille sur un site de e-commerce en ligne et en activité.

4- Enfin une méthode propre et sans risque !

Maintenant que nous avons vu trois méthodes, qui peuvent fonctionner mais qui présentent tout de même des risques non négligeables, voyons enfin une méthode propre et sans risque.

Comme toujours dans Prestashop, lorsque l’on cherche à ajouter une fonctionnalité qui n’est pas disponible nativement, il faut installer un module. La suppression d’une commande ne fait pas exception à la règle. Il est possible d’installer un module qui ajoute cette fonctionnalité au site.

Il existe plusieurs modules dans le marketplace qui font parfaitement le travail. Il existe même une application de bureau, Store Manager, qui permet de gérer tout Prestashop. Naturellement, toutes ces solutions sont payantes, comme la plupart des modules Prestashop.

Pour conclure sur la suppression de commande Prestashop

Si vous avez réellement besoin de supprimer des commandes dans votre site Prestashop, vous savez maintenant qu’il existe plusieurs solutions. Gardez en tête que la suppression des commandes est possible pour vos tests, mais que cela reste illégal au niveau européen s’il s’agit de commandes réelles de clients.

Fort de plusieurs années d’expérience sur des projets Prestashop, je suis à même de vous assister et de vous accompagner dans vos projets. N’hésitez pas à me contacter afin que nous puissions discuter de vos besoins.