Jump to content

Problème PayPlug "Duplicate entry for key lock_cart_unique"


Recommended Posts

Bonjour,

J'ai un soucis sur un Prestashop 1.7.6.4 (PHP 7.2), apparemment avec le module PayPlug pour PrestaShop.

En effet après avoir payer et valider une commande, une erreur s'affiche "Duplicate entry '13055' for key 'lock_cart_unique'"
Avec des traces de débogage complémentaire (voir l'image jointe).

Désoler pour la qualité désastreuse de l'image avec l'erreur ! Je n'était pas présent, et on m'a seulement envoyer une photo.

Malgré cette erreur, la commande à bien été prise, et le virement a également été effectué.
Seulement, je ne comprend pas pourquoi cette erreur apparaît...

De plus, les seules informations sur les actions qui auraient amenés à cette erreur que j'ai sont les suivantes :

  1. L'utilisateur s'est rendu sur la fiche d'un produit
  2. Il a fait ajouter au panier, puis s'est rendu sur la page de paiement
  3. Il a rentrer toutes ses informations, et est arrivé à la section paiement
  4. Il a rentrer ses informations de paiement, a accepté le paiement
  5. Directement le paiement passé, il est retourné à la page précédente

C'est sur cette dernière "étape" que l'erreur est apparue.
Mon problème ici est de comprendre pour quelle raison cette erreur est apparue.

Serait-il possible que cette dernière étape soit la cause du problème ?
Je m'explique : l'URL sur laquelle il y a l'erreur (qui es invisible sur l'image jointe...) est du style : "/module/payplug/validation?ps=1&cartid=13055". Serait-il possible que cette URL en particulier essayer d'ajouter une donnée dans la BDD ?

Si c'est le cas, cela pourrait peut-être expliquer l'erreur...

Merci,
Kumo

WhatsApp Image 2023-12-06 at 16.02.17.jpeg

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

Je n'ai pas de solution technique, malgré tout, après avoir réfléchis et refait le cheminement de l'erreur, il s'agit probablement d'un problème d'utilisation !

J'imagine que votre site est en mode debug, c'est pourquoi l'erreur s'affiche.

En réalité il s'agit d'un fonctionnement normal, je m'explique :
Lorsque vous finissez le paiement, à un certain moment (je n'ai plus le flow exact en tête), vous arrivez sur la page ou l'erreur s'affiche. Si on regarde bien l'URL (que je n'ai pas pu fournis dans mon post...), il y a un identifiant de commande. Sur cette page, cet identifiant est utiliser pour mettre en base de donnée l'état courant de la commande (ici "validation" dans mon post).
Sauf que cette page n'est conçu pour être visité qu'une seule fois, donc si on retourne sur la même page avec la même URL on essaie de remettre la même donnée en BDD. C'est donc logique d'obtenir cette erreur.

En solution, je peut vous conseiller de désactiver le mode debug, cette erreur devrait disparaître.

 

Toutes ses informations peuvent être retrouvées en parcourant le code du module, en suivant le cheminement de la logique depuis le paiement jusqu'à l'erreur (il est aussi possible de suivre la trace de l'erreur et de regarder dans les parties de codes précisés par PrestaShop.

Link to comment
Share on other sites

Bonjour @Ghada rhaiem

 

En effet c'est un comportement normal ! Il s'agit du cache Prestashop qui ne s'actualise pas tout seul.
Il suffit normalement de supprimer le cache du site en suivant cette URL.

 

À savoir : La réactivation du mode debug est sensé enlever cette erreur 500. Car le cache est "paramètré" sur le mode debug.

Link to comment
Share on other sites

Avez-vous bien totalement vidé le cache du site depuis le FTP ?
 

Je vois sur votre capture d'écran que la commande est d'aujourd'hui, j'imagine donc que l'on peut exclure l'idée que ce soit un dupliqué, car sinon l'enregistrement n'aurais juste pas pu se faire.
Instinctivement j'aurais essayer de refaire une commande, mais en l'occurence si c'est une nouvelle commande, le problème n'est peut-être plus le même. (Surtout si vous n'avez plus l'erreur lors du paiement)

N'étant malgré tout pas développeur du plugin Payplug, je pense que mon aide n'ira malheureusement pas plus loin...
En revanche, vous pouvez essayer de voir du côté de cette page, un utilisateur semble avoir eu un problème similaire.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...