logs00 Posted February 28, 2012 Share Posted February 28, 2012 Bonjour à tous, Voilà j'aimerais tagger la page order-confirmation.php afin d'avoir un suivi de mes ventes. Plusieurs choses que je ne comprend pas : - GA ne vois la page order-confirmation.php que de "temps en temps"... - Par défaut la page order-confirmation.php (via son Controller) renvois systématiquement vers la page history.php Comment peut-on afficher cette page order-confirmation.php aux internautes venant de payer leur commande ? Peux-être en modifiant le controller afin d'annuler la redirection vers history.php ? J'ai déjà essayer de supprimer la redirection mais cela me fait une page d'erreur lors de l'appel de la page order-confirmation.php Le code du controller OrderConfirmationController.php que je pense qu'il faut modifier /* check if the cart has been made by a Guest customer, for redirect link */ if (Cart::isGuestCartByCartId($this->id_cart)) $redirectLink = 'guest-tracking.php'; else $redirectLink = 'history.php'; Un autre bout de code qui se trouve sur le controller GuestTrackingController.php qui renvois vesr la page history.php public function preProcess() { parent::preProcess(); if (self::$cookie->isLogged()) Tools::redirect('history.php'); } Je vous met également la page d'erreur qui s'affiche quand je modifie le controller OrderConfirmationController.php ... Si une âme charitable peut m'aider sur ce point se serait génial ! Merci à vous Bonne fin de journée LogS 1 Link to comment Share on other sites More sharing options...
logs00 Posted February 29, 2012 Author Share Posted February 29, 2012 Un grand merci à l'équipe PrestaShop Addon pour m'avoir aidé pour la correction de ce bug !! Link to comment Share on other sites More sharing options...
ChristianJules Posted May 9, 2012 Share Posted May 9, 2012 Bonjour, Je suis confronté à un problème peut-être similaire. Dans le BO de Paypal Intégral Evolution, j'ai indiqué la page order-confirmation.php comme URL de retour automatique, mais il faut systématiquement que l'internaute rafraichisse la page pour voir sa commande, sinon il a un message qui indique qu'il n'a pas de commande en cours (malgré le warning qui s'affiche aussi, disant qu'il faut rafraichir la page ... ça ne fait pas très pro). Tu remercies l'équipe Prestashop Addon de son aide mais tu ne dis pas ce qui a été fait ... est-ce que tu peux en dire un peu plus ? Merci ! 1 Link to comment Share on other sites More sharing options...
ckarone Posted May 31, 2012 Share Posted May 31, 2012 (edited) Un grand merci à l'équipe PrestaShop Addon pour m'avoir aidé pour la correction de ce bug !! Pouvez vous me donner une idée pour ce problème de redirection automatique vers history.php svp EDIT:J'ai trouvé une solution Ckarone Edited May 31, 2012 by ckarone (see edit history) 1 Link to comment Share on other sites More sharing options...
julien.m Posted May 31, 2012 Share Posted May 31, 2012 Effectivement, ce serait bien pour les autres de donner des éléments de réponse... 1 Link to comment Share on other sites More sharing options...
aboom Posted November 21, 2012 Share Posted November 21, 2012 any UP ? j'ai le même pbleme, comment annuler cette redirection vers history.php ? 1 Link to comment Share on other sites More sharing options...
NicoKot Posted February 18, 2013 Share Posted February 18, 2013 (edited) Bonjour à tous, J'ai le même problème de redirection après le paiement. Pour ma part, via le module Paybox, j'ai bien compris (enfin..., dites moi si je dis des bétises...) qu'il faut mettre pour le paiement effectué l'URL vers la page "order-confirmation.php". Mais, effectivement, j'ai le souci de redirection vers la page "history.php", très problématique. Pour info : j'utilise la version 1.5 de prestashop. Pouvez-vous m'éclairer et me dire ce qu'il faut faire. Merci de votre aide très précieuse. Edited February 18, 2013 by NicoKot (see edit history) Link to comment Share on other sites More sharing options...
netgui Posted February 20, 2013 Share Posted February 20, 2013 Super plein de monde a trouvé la soluce... mais alors.. qu'elle est t'elle svp ? :-p (quel suspense). merci, Link to comment Share on other sites More sharing options...
MathieuB Posted July 30, 2013 Share Posted July 30, 2013 Bonjour, les deux premiers ayant une solution, toujours pas prêt à la partager ? Cdt, Mathieu Link to comment Share on other sites More sharing options...
djb77 Posted September 27, 2013 Share Posted September 27, 2013 Bonjour, Je déterre le topic. Comment éviter d'être redirigé sur history.php mais plutot sur order-confirmation.php ??? merci ! Link to comment Share on other sites More sharing options...
egx Posted August 4, 2014 Share Posted August 4, 2014 Bonjour, Je re déterre aussi. Une réponse svp ?Merci ! Link to comment Share on other sites More sharing options...
dwpro Posted August 12, 2014 Share Posted August 12, 2014 Ils me font rire ceux qui qui prétendent avoir trouvé une solution..., puis silence radio. Link to comment Share on other sites More sharing options...
Zebx Posted August 12, 2014 Share Posted August 12, 2014 Hello, Je peux me tromper mais je pense que y a pas de solution unique à ce problème. D'après moi, cela dépend surtout des modules de paiement utilisés... La redirection vers history.php ne survient théoriquement que lorsqu'un paramètre est manquant au retour du paiement... et cela peut provenir soit d'un module mal développé, soit d'un souci de synchronisation (le retour vers la page de confirmation survient avant que la commande n'ait eu le temps d'être créée dans le BO)... soit les 2 mon général Bref, pas si simple à mon avis... Link to comment Share on other sites More sharing options...
dwpro Posted August 12, 2014 Share Posted August 12, 2014 Salut zebx, cela concerne 1.6.0.9 et HiPay 1.6.4 et j'ai vu via la forge que tu as trouvé une solution. Je suis donc preneur d'une solution provisoire jusqu’à ce que Prestashop et Hipay se mettent à jour. Link to comment Share on other sites More sharing options...
Zebx Posted August 12, 2014 Share Posted August 12, 2014 En effet, j'ai rencontré ce problème sur HiPay, et ça a été une véritable galère car c'est le cas de figure où non seulement le module est mal développé, y a un problème de synchro... et y a pas de mode sandbox pour faire des tests... la totale quoi Il faut que je revisualise mes modifs et que je remette tout ça au clair parce que y a pas mal de modifications à faire à différents endroits pour que ça fonctionne nickel. J'essayerai de regarder à ça ce soir et je reviens vers toi... a+ Link to comment Share on other sites More sharing options...
dwpro Posted August 12, 2014 Share Posted August 12, 2014 (edited) Entendu. Pour l'instant j'ai juste changé l'url de order-confirmation dans hipay.php et donc au lieu d'une 404 j'ai la page historique, ce n'est pas dramatique, mais pas d'email de confirmation de commande - c'est ça mon principal souci. Voici la diff de deux url Première avec HiPay et pas de confirmation par email. http://www.monsite.dom/confirmation-commande?id_cart=17&id_module=70&secure_key=dea1033b2fad6639b9b6456069f61c95 La deuxième par chéque avec confirmation par email. http://www.monsite.dom/confirmation-commande?id_cart=23&id_module=30&id_order=14&key=dea1033b2fad6633b9b6556069f61c95 Edited August 12, 2014 by dwpro (see edit history) Link to comment Share on other sites More sharing options...
Zebx Posted August 12, 2014 Share Posted August 12, 2014 Euh, là ton problème dévie du sujet initial Le bug dont il est question ici et pour lequel j'ai en effet bidouillé un correctif sur Hipay, c'est que les clients étaient redirigés vers l'historique au lieu de la page de confirmation. Toi, apparemment, tu es (étais) redirigé vers une 404 ??? Ca j'ai pas eu, mais en même temps je suis toujours avec la version 1.6.3 du module sur un PS 1.5.6.2 (la mise à jour Hipay 1.6.4 ne m'est d'ailleurs pas proposée). Pour ton second problème, tu parles bien du mail de confirmation de commande envoyé par ta boutique? Pas du mail de confirmation de paiement Hipay... Si c'est bien ça, à priori ça n'a rien à voir avec Hipay ni avec le module de paiement... Link to comment Share on other sites More sharing options...
dwpro Posted August 12, 2014 Share Posted August 12, 2014 Oui, une 404, mais en supprimant l'extension php de order-confirmation pour l'url, je me retrouve vers l'historique, donc le problème initial du sujet ci. L'email de confirmation de commande que le client reçoit, avec les détails, etc. lorsqu’on termine le paiement, donc le module ne confirme pas l'email, mais la commande est bien là et le paiement bien effectué. Link to comment Share on other sites More sharing options...
ckarone Posted August 12, 2014 Share Posted August 12, 2014 (edited) Bonjour, Ma solution concerne un module perso pour lequel j'avais un montant pas corectement formaté pour une version 1.4. Votre problème/erreur est causé par un paramètre manquant retourné lors de l'appel de /classes/PayementModules.php qui "transforme" un panier en une commande. Il retour des erreurs type 404 ou redirection vers history si ce que le modules de paiment lui retourne n'est pas correct/complet. Si cela peu vous aider. Edit: Ne cherchez pas à annuler la redirection mais cherchez le paramêtre manquant qui provoque cette redirection sinon vous allez au devant d'un tas de modifications pour faire fonctionner un module défaillant. Ckarone Edited August 12, 2014 by ckarone (see edit history) Link to comment Share on other sites More sharing options...
Zebx Posted August 12, 2014 Share Posted August 12, 2014 Ok, pour le premier point cela provient à mon avis de la version 1.6 de PS qui sauf erreur passe maintenant exclusivement par le contrôleur pour la gestion des pages. J'imagine donc que la version 1.6.4 de Hipay a été corrigée en ce sens, mais mal corrigée si en effet ce .php est resté dans l'url. L'url (setUrlOk) que tu as modifiée est-donc bien maintenant du type "index.php?controller=order-confirmation&id_cart=..." ? Dans cette même url tu peux déjà remplacer le paramètre "&secure_key=" par "&key=". A mon avis ça ne résoudra encore rien mais ça fait partie du correctif. Pour ton problème d'email, sur quel statut se met ta commande dans le BO après le paiement? Link to comment Share on other sites More sharing options...
dwpro Posted August 12, 2014 Share Posted August 12, 2014 Salut ckarone, je ne suis pas développeur, mais je pense qu'il manque l'id de la commande comme paramètre..., car le paiement et la commande s'effectuent normalement, donc le statut de la commande est bien en "paiement accepté", tout se déroule normalement, il y a bien une référence unique par commande, etc. Pour répondre à Zebx, oui l'url c'est celle-là, sauf que réécriture activée. D'ailleurs, je vais effectuer un test sans rewrite... et sans secure_key, meme j'y crois pas trop. En attendant un fix de la part de presta et hipay, je pensai à un bouton Actualiser ou header refresh automatique dans la page Historique vers laquelle le client est amené, ainsi il verra sa commande. Qu'est-ce que vous en pensez de ce bidouillage ? Ou bien il est possible d'effectuer un cron job qui renvoi le mail après commande censée être envoyé ? Link to comment Share on other sites More sharing options...
Zebx Posted August 13, 2014 Share Posted August 13, 2014 L'id_order est en effet un autre paramètre qui manque et qui est responsable de la redirection vers history, mais à priori je ne vois toujours pas de lien avec l'envoi du mail. Je pense qu'on va déjà essayer de résoudre ton problème de redirection, ensuite on verra pour le mail... et si c'était lié, ben avec un peu de chance on aura fait d'une pierre 2 coups Donc dans hipay.php, ton url de retour doit ressembler à ceci à présent : $paymentParams->setUrlOk(Tools::getShopDomainSsl(true).__PS_BASE_URI__.'index.php?controller=order-confirmation&id_cart='.(int)$cart->id.'&id_module='.(int)$this->id.'&key='.$customer->secure_key); //zebx Maintenant pour l'id_order c'est un problème de synchronisation, donc perso j'ai ajouté un délai dans OrderConfirmationController.php afin d'attendre que la commande soit bien créée et donc que son id existe. Dans la fonction init(), tu remplaces ceci : $this->id_order = Order::getOrderByCartId((int)($this->id_cart)); Par ceci : $this->id_order = Order::getOrderByCartId((int)($this->id_cart)); $i = 1; while (!$this->id_order && $i <= 10) { sleep(1); $this->id_order = Order::getOrderByCartId((int)($this->id_cart)); $i++; } Et dans initContent(), tu ajoutes au tout début ceci : $test_id_order = Order::getOrderByCartId((int)($this->id_cart)); $i = 1; while (!$test_id_order && $i <= 10) { sleep(1); $test_id_order = Order::getOrderByCartId((int)($this->id_cart)); $i++; } Tu peux déjà tester ça et nous revenir avec le résultat. Normalement la redirection vers history sera stoppée et tu arriveras sur la page de confirmation... mais cette page sera pour l'instant quasi vide (juste un lien vers l'historique et l'accueil) car le module hipay n'a aucun template prévu pour le retour de paiement. On verra ça après... Petite question subsidiaire, ton site sera uniquement en français ou tu as prévu des autres langues ? Link to comment Share on other sites More sharing options...
dwpro Posted August 13, 2014 Share Posted August 13, 2014 Merci, en effet plus de redirection, mais page blanche à la place et pas d'email de confirmation. Oui uniquement français comme langue. Link to comment Share on other sites More sharing options...
Zebx Posted August 13, 2014 Share Posted August 13, 2014 Mmm, page blanche, genre toute blanche ? Plus de menu, plus rien ? Ca c'est pas normal, il doit y avoir une erreur dans le code dans ce cas... vérifie bien tes copiés-collés et notamment les accolades... Link to comment Share on other sites More sharing options...
dwpro Posted August 13, 2014 Share Posted August 13, 2014 (edited) oui blanche sans rien ..., pour les erreurs, mon éditeur de code les corrige en rouge... c'est bien test_id_order comme function ? l'url de la page blanche http://www.monsite.dom/confirmation-commande?id_cart=27&id_module=70&secure_key=dea1033b2fad6633b9b6556069f61c95 Edited August 13, 2014 by dwpro (see edit history) Link to comment Share on other sites More sharing options...
Zebx Posted August 13, 2014 Share Posted August 13, 2014 Screen 1 : Pour setUrlOk, reprends exactement le format que je t'ai indiqué plus haut avec "index.php?controller=order-confirmation&id_cart..." N'oublie pas de changer aussi le secure_key en key comme indiqué plus haut aussi. Screen 2 : Remonte l'accolade ligne 97 à la ligne 88, juste en-dessous de "public" Screen 3 : ok Link to comment Share on other sites More sharing options...
dwpro Posted August 17, 2014 Share Posted August 17, 2014 Il y a 1 erreur [Hipay] Xsd schema ERROR : xmlParseEntityRef: no name(Line 26 - Column 82 - Code 68)xmlParseEntityRef: no name(Line 27 - Column 83 - Code 68)The document has no document element.(Line 0 - Column 0 - Code 1872) ( 1.0823e1a2cab2de54631117a3eb36539b3errorXsd schema ERROR : xmlParseEntityRef: no name(Line 26 - Column 82 - Code 68)xmlParseEntityRef: no name(Line 27 - Column 83 - Code 68)The document has no document element.(Line 0 - Column 0 - Code 1872) ) Link to comment Share on other sites More sharing options...
Zebx Posted August 17, 2014 Share Posted August 17, 2014 Colle ton setUrlOk ici pour voir... Link to comment Share on other sites More sharing options...
dwpro Posted August 17, 2014 Share Posted August 17, 2014 $paymentParams->setUrlNok(Tools::getShopDomainSsl(true).__PS_BASE_URI__.'index.php?controller=order-confirmation?id_cart='.(int)$cart->id.'&id_module='.(int)$this->id.'&key='.$customer->secure_key); ma page dans le BO pour order-confirmation est confirmation-commande dans l'url simplifié. Link to comment Share on other sites More sharing options...
Zebx Posted August 17, 2014 Share Posted August 17, 2014 Tu as collé setUrlNok au lieu de setUrlOk... Pas de souci pour l'url simplifiée, ça n'a pas d'incidence. Link to comment Share on other sites More sharing options...
dwpro Posted August 19, 2014 Share Posted August 19, 2014 Exactement la même URL Je ne sais pas quel module ou fichier a été en cause, mais j'ai remarqué que les emails sont envoyés désormais, pour moi c'est le principal pour l'instant, donc je vais laisser tel quel avec la page historique ce n'est pas très grave. Pour un module officiel et mis en avant je trouve que ça traine niveau compatibilité, sans oublier qu'il s'agit d'un moyen de paiement, donc censé être une priorité. Enfin, bref..., Merci pour ton aide. Link to comment Share on other sites More sharing options...
Zebx Posted August 19, 2014 Share Posted August 19, 2014 Normalement avec les modifs citées plus haut tu ne devrais plus tomber sur la page history mais sur la page de confirmation (vierge cependant puisqu'on a pas été au bout des modifs). L'inconvénient majeur de ne pas arriver sur la page de confirmation c'est que certains modules qui devraient être exécutés à la fin d'une commande réussie ne le seront pas. Je pense notamment à Google Analytics qui ne pourra donc pas tracker tes conversions. Sinon, ben ouais, je suis entièrement d'accord avec toi, ce devrait être une priorité... comme tant d'autres choses un peu bancales d'ailleurs Link to comment Share on other sites More sharing options...
Hi-media_SupportIT Posted September 8, 2014 Share Posted September 8, 2014 Bonjour, Le module Hipay Wallet est désormais compatible Prestashop 1.6 (correction des URL redirections) Vous pouvez le télécharger (ou le mettre à jour) à partir de cette page : http://addons.prestashop.com/fr/payments-gateways-prestashop-modules/1746-hipay.html Cordialement, Hipay technical support Link to comment Share on other sites More sharing options...
Zebx Posted September 8, 2014 Share Posted September 8, 2014 Bonjour, Les URL de redirections pour PS1.6 ont été corrigées mais est-ce que la redirection après paiement renvoie désormais bien sur une page de confirmation de paiement (et non sur la page history comme c'était le cas jusqu'à présent y compris en 1.5) ? D'après ce que je vois sur Github ça a l'air d'avoir aussi été corrigé mais comme il y avait aussi un problème de synchro, je préfère être sûr que ça fonctionne totalement avant de me lancer. Bref, si vous me confirmez que ça marche tip-top sous PS1.5.6.2, je mettrai volontiers mon module à jour... sinon bah je garde mes modifs perso qui vont bien Link to comment Share on other sites More sharing options...
meditation Posted September 11, 2018 Share Posted September 11, 2018 Bonjour je déterre ce topic, j'ai exactement de le même problème de redircetion sur le modèle Hipay, les client sons aléatoirement redirigés vers la page history.tpl, mais certins paiements sont tombés vers order-confirmation, c'est encore un problème de synchro je pense, j'ai suivi la modification de Zebx, mais cela ne marche pas, je suis sur ps1.6.17 avec module Hipay 1.6.18. Avez vous une solution à jour Merci et cordialement Link to comment Share on other sites More sharing options...
xavier027 Posted October 30, 2020 Share Posted October 30, 2020 Petit Up car j'avais un problème similaire pour Prestashop 1.7.6.7 avec HiPay Professional 1.0.8. Cela aidera peut-être quelqu'un. Après vérification du paiement, un chargement AJAX dégueu de Hipay s'affiche et finalement j'étais redirigé sur la page d'accueil pour pratiquement tous les paiements. Pas pratique pour les codes de conversion genre Google Analytics. J'ai repris et adapté légèrement le code de Zebx pour le problème de synchronisation: Dans /modules/hipay_professional/controllers/front/confirmation.php, remplacer: $order_id = Order::getOrderByCartId((int)$cart->id); Par: $order_id = Order::getOrderByCartId((int)$cart->id); $i = 1; while (!$order_id && $i <= 10) { sleep(1); $order_id = Order::getOrderByCartId((int)$cart->id); $i++; } Comme ca on évite la fonction waitForConfirmation avec l'icone dégueu de Hipay, la fonction displayConfirmation s'applique et redirige correctement sur la page de confirmation. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now