Jump to content

Paiement secure_key bloquante


Recommended Posts

Bonjour,

J'ai besoin de votre aide car certaines commandes sont bloquées dans prestashop au moment du paiement. Je cherche à corriger le problème le plus proprement possible. Voici mon soucis :

J'ai une erreur fatale relevée par les lignes 100-101 de PayementModule.php :

if ($secure_key !== false AND $secure_key != $cart->secure_key)
               die(Tools::displayError());



En effet si je vérifie dans la base de donnée les 2 secure_key ne sont pas les mêmes.
Reste à savoir pourquoi :

- Est-ce du à une mise à jour de prestashop et de la génération des secure_key qui a changé

ou

- à un panier déjà validé mais dont le paiement à buggué.

Le soucis c'est que la cliente ne peut plus faire de commande car son panier est toujours refusé par ce fatal error. Pour y remédier j'ai commenté les lignes précédemment citées le temps de valider la commande.

Seulement si je lance la requête suivante dans mysql :

SELECT cu.secure_key, ca.secure_key FROM ps_cart ca LEFT JOIN ps_customer cu ON ca.id_customer = cu.id_customer WHERE ca.secure_key <> cu.secure_key;


Je m'aperçois que ce n'est peut être pas la seule cliente à avoir le problème.

Comment résoudre au mieux et le plus proprement possible cette histoire de secure_key qui bloque toute commande ?

Merci d'avance pour votre aide.

Link to comment
Share on other sites

  • 7 months later...

Salut,

Je suis tombé sur ton post et ça m'a éclairé sur la provenance de mon problème.

 

Les paiements via virement et chèque affichaient FATAL ERROR en dernière phase de validation.

 

En testant un peu plus, je me suis rendu compte que cela ne concernait que mon ancien compte, datant d'avant une migration PS 1.3 vers 1.4. Et avec ta requête j'ai pu confirmé que tous les comptes créés sous PS 1.3 ressortaient en erreur après la migration 1.4. En effet, en créant un nouveau compte, je n'avais pas le soucis.

 

De plus j'ai lu quelque part sur un issue tracker de prestashop que ce problème avait déjà été remonté, dans le traitement automatique de migration de prestashop 1.3 vers 1.4, il ne gère pas bien les anciens comptes.

 

Pour corriger j'ai donc passé la requête suivante :

 


update ps_cart ca, ps_customer cu
set ca.secure_key = cu.secure_key
where ca.id_customer = cu.id_customer
and ca.secure_key <> cu.secure_key;

 

Et soucis résolu.

Merci pour la piste en tout cas, ca me permet de pas trop pourrir mon dimanche

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...