Jump to content

Recommended Posts

Posted (edited)

Bonjour,

J'ai pris le risque de passer en Prestashop 1.7.6.4 et le module de paiement par carte bancaire en 5.0.3... A cause de l'alerte de sécurité.

Le paiement par carte bancaire se passe bien, le client reçoit une confirmation par e-mail et la commande est validée avec l'état "paiement accepté".

Manque un détail: le client est renvoyé vers la page de garde du site, sans aucune indication de confirmation (en-dehors de celle de sa banque et du mail, mais c'est un peu léger). Sur les versions précédentes (PS 1.7.5.1 / Atos 5.0.1) j'avais un panneau "Votre commande est confirmée", c'était mieux.

J'ai remarqué que les fichiers /modules/atos/atos_return.php et /modules/atos/validation.php sont beaucoup plus succincts que dans la version précédente, avec un étrange appel de dirname(__FILE__) . '/../../index.php' ce qui pourrait expliquer mon problème.

Avant d'essayer des bidouillages d'un module de paiement (pas vraiment à faire à la légère, quoi) j'aimerais savoir si quelqu'un a des lumières là-dessus?

Merci d'avance.

 

Edited by Marz12
Résolu (see edit history)

Share this post


Link to post
Share on other sites

Certainement que le développeur peut faire le support de son module.

Share this post


Link to post
Share on other sites

Oui surtout que c’est un bug connu de leur module, je leur avais signalé lors de la sortie de leur mise à jour...

Share this post


Link to post
Share on other sites

Bonjour,

et merci pour vos réactions.

Oui, j'ai demandé au concepteur du module, sans retour pour le moment.

Mais quand je vois le temps que ça a mis l'été dernier pour les concertations entre Prestashop (1.7.6.0) et Atos (5.0.1 qui était incompatible) j'ai quelques doutes. Renforcés par la confirmation de la part de Janett que ça leur a déjà été signalé. Et bien que ce soit un module payant et relativement cher. (Sans parler de la grosse déception quant à la gestion par Prestashop des modules, depuis la découverte en début d'année de la backdoor présente dans des modules mis en avant par Prestashop via phpunit... Alors le problème était connu depuis 2017... Les mots me manquent et ça vaut peut-être mieux).

C'est pourquoi j'essaie de voir ailleurs si certains ont trouvé des solutions alternatives: c'est probablement le cas...

Alors si vous avez des pistes, merci à vous.

Share this post


Link to post
Share on other sites

Salut,

En fait, il suffit de renommer le fichier controllers/front/atos_return.php en controllers/front/return.php dans le dossier du module.

Share this post


Link to post
Share on other sites

Bonjour,

Merci beaucoup... J'ai renommé le fichier mais pas de changement: toujours un renvoi vers la page de garde du site... Bizarre.

(Pas de réponse du développeur du module bien sûr).

Par contre, au contraire de ce qui est constaté ici https://www.prestashop.com/forums/topic/1007864-module-atos-sips-10-et-confirmation-en-bo/  la commande est bien validée, les e-mails de confirmation envoyés, pas d'erreur 404.

D'après les logs, au moment de la validation du paiement la banque envoie une requête sur /modules/atos/validation.php, comme c'était déjà le cas dans la version précédente. Après le résultat diverge, ce qui n'a rien d'étonnant vu la différence selon les 2 versions de ce fichier... Mais ça reste à explorer pour moi.

Merci d'avance pour vos lumières ou une simple piste sur le fonctionnement de ce module.

Share this post


Link to post
Share on other sites

Après plusieurs essais, la solution la plus simple a été de désinstaller Atos 5.0.3 et de revenir à la version 5.0.1, en appliquant les corrections suggérées ici:

https://www.deltasight.fr/probleme-validation-commande-atos-prestashop-1-7-6/

Le paiement une fois validé, on arrive à l'historique des commandes. Il n'y a malheureusement plus de joli panneau "votre commande est acceptée", mais via l'historique le client peut arriver à la même conclusion, c'est bien mieux que la simple page de garde du site. Et je verrai par la suite si je peux améliorer ça.

 

Post Scriptum

J'ai eu une réponse de l'équipe PrestaShop Addons (sans la pj indiquée)

Bonjour,

nous vous prions de nous excuser pour ce délai de réponse anormalement long.

Le module permet uniquement de choisir de renvoyer vers votre boutique ou vers la page de confirmation d'Atos (voir pièce jointe).

Nous restons disponibles pour toute demande complémentaire.

Cordialement

Share this post


Link to post
Share on other sites
Posted (edited)

Je continue les joies du déboguage sous Prestashop.

Il apparaît que le problème se produit dans /controllers/front/OrderConfirmationController.php

On y accède avec des variables passées en GET par:

https://monsite/fr/module/atos/orderconfirmation?id_cart=8953&id_module=98&secure_key=945894587958921aa789202

ensuite OrderConfirmationController.php essaie de lire les variables:

Dans init() on a

$this->id_cart = (int) (Tools::getValue('id_cart', 0));

$this->id_module = (int) (Tools::getValue('id_module', 0));

$this->secure_key = Tools::getValue('key', false);

mais le résultat est vide et du coup on a une redirection vers l'historique des commandes.

Quelqu'un aurait-il une idée de la source du problème?

Edited by Marz12
code (see edit history)

Share this post


Link to post
Share on other sites
Posted (edited)

Suite des festivités:

je me débrouille pour récupérer id_cart, id_order, id_module et les autres paramètres qu'il faut, du coup OrderConfirmationController.php se comporte apparemment de la même façon que pour les paiements par chèque et virement, puis on passe à HistoryController.php

puis on arrive sur https://monsite/fr/confirmation-commande

...avec une page blanche ce qui est logique puisque lorsqu'on paie par chèque on arrive sur https://monsite/fr/confirmation-commande?id_cart=8953&id_module=98&id_order=8781&secure_key=945894587958921aa789202.

(D'ailleurs on a accès à cette page même après effacement des cookies et logout, je suppose que c'est la clé de sécurité qui fait que n'importe qui ne peut pas consulter les commandes de n'importe qui d'autre...?)

moralité il suffit de faire une gentille redirection dans OrderConfirmationController.php
 

if(paiement Atos + ma récupération de variables a marché) {

$redirectLink = 'index.php?controller=order-confirmation&id_cart=' . $mon_id_cart . '&id_module=' . $this->id_module . '&id_order=' . $this->id_order . '&key=' . $this->secure_key;
 Tools::redirect($redirectLink);

}

Et on obtient bien la page de confirmation de commande en bonne et due forme.

Ouf.

(Par contre je ne sais toujours pas d'où vient le problème. Je passe quand même le sujet en résolu puisque ceci, toute honteuse bidouille que ce soit, fonctionne).

Edited by Marz12
add (see edit history)

Share this post


Link to post
Share on other sites
On 5/1/2020 at 10:47 PM, Marz12 said:

moralité il suffit de faire une gentille redirection dans OrderConfirmationController.php
 


if(paiement Atos + ma récupération de variables a marché) {

$redirectLink = 'index.php?controller=order-confirmation&id_cart=' . $mon_id_cart . '&id_module=' . $this->id_module . '&id_order=' . $this->id_order . '&key=' . $this->secure_key;
 Tools::redirect($redirectLink);

}

 

Salut, j'ai visiblement le même problème, lors d'une commande passée avec un paiement en Chéque ou TB, yout va bien mais avec Atos l'état ne s'affiche pas !

Dois-je comprendre que je peu résoudre mon problème avec votre solution ? J'ai contacté Atos ... mais pas de réponse à l'heure actuel !

Merci de votre retour.

Capture d’écran 2020-06-03 à 18.39.52.png

Share this post


Link to post
Share on other sites

Bonjour,

il n'est pas certain que le problème soit exactement le même. En effet, de mon côté la commande passait au statut "Paiement accepté" ce qui ne semble pas le cas chez vous. (J'ai eu une fois ce problème parce que j'avais laissé par inadvertance le mode maintenance mais j'imagine que vous avez déjà vérifié ça).

Il y a eu divers problèmes avec les modules Atos dans les dernières versions de Prestashop:

Si vous ne retrouvez pas de similitudes avec ce qui se passe chez vous, il vous reste le débogage...

De mon côté je n'ai eu aucune vraie réponse d'Atos (simplement le message cité ci-dessus, légèrement à côté...).

 

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More