gonado Posted January 22, 2013 Share Posted January 22, 2013 (edited) Bonjour, Je travaille sur une version de Prestashop 1.5.3.1 avec le module Ogone 2.4. J'ai eu comme beaucoup des soucis pour faire marcher ce module correctement, un problème que j'ai résolu et celui de la page de retour de la boutique qui tournait en boucle malgré le fait que je recevais un ok en ajax j'ai réussi à corriger le souci en modifiant le fichier dans /modules/ogone/views/templates/front/waiting.tpl {* * 2007-2011 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2011 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA *} <p><img src="{$base_dir}img/loader.gif" /> {l s='Please wait while your order is being processed...' mod='ogone'}</p> <script type="text/javascript"> function checkwaitingorder() {ldelim} $.ajax({ldelim} type:"POST", async:true, url:'{$base_dir}modules/ogone/checkwaitingorder.php', data:'id_cart={$id_cart|intval}&id_module={$id_module|intval}&key={$key|escape}', success:function (r) {ldelim} r = $.trim( r ); if (r == 'ok') { window.location.href = '{$ogone_link}?id_cart={$id_cart|intval}&id_module={$id_module|intval}&key={$key|escape}'; clearTimeout(t); } {rdelim} {rdelim}); t = setTimeout('checkwaitingorder()', 5000); {rdelim} t = setTimeout('checkwaitingorder()', 5000); </script> J'ai en fait juste mis le Timeout dans une variable que j'efface si je reçois bien ok. Le module marche bien comme cela, par contre et je pense que cela est un peu obligatoire sur une boutique, j'ai activé le module mailalerts et là une fois que je passe une commande avec Ogone et que j'arrive sur la page de confirmation de commande j'ai un message de type : Nous avons constaté un problème avec votre commande. Si vous pensez que c'est une erreur, merci de contacter notre service client. Du coup la commande est quand même bien rentrée dans la base de données mais sans statut (paiement accepté, annulé, ...) et les mails ne sont pas envoyés (ni au client ni au mail de la boutique). Je précise que le module mailalerts fonctionne très bien avec le chèque et le virement mais ne marche pas avec Ogone. Si je désactive le module de mailalerts tout rentre dans l'ordre mais par contre je ne peux plus envoyer de mail de confirmation de commande ce qui est fort ennuyeux ! Je suis entrain de regarder ce qui pourrait causer le problème mais je n'ai encore rien trouvé, si quelqu'un pouvait m'aider je pense que cela pourrait aider d'autres personnes aussi. Merci d'avance ! PS : Je vous tiens au courant si je trouve une solution à ce problème ! Edited January 24, 2013 by gonado (see edit history) 1 Link to comment Share on other sites More sharing options...
gonado Posted January 24, 2013 Author Share Posted January 24, 2013 Re, Bon apparemment il fallait faire une modification dans le fichier validation.php du module Ogone : <?php /* * 2007-2011 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2011 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ include(dirname(__FILE__).'/../../config/config.inc.php'); include(dirname(__FILE__).'/ogone.php'); $ogone = new Ogone(); /* CODE A RAJOUTER */ if (empty(Context::getContext()->link)) Context::getContext()->link = new Link(); /* FIN */ Voilà qui a résolu le problème ! 1 Link to comment Share on other sites More sharing options...
derrby Posted January 24, 2013 Share Posted January 24, 2013 Alors, là chapeau! je cherchais une solution depuis plusieurs semaines, j'avais remarqué qu'il fallait désactiver " informer le marchand d'une nouvelle commande" pour pouvoir accepter la commande par Ogone, par contre ni moi ni le client n'avions d'accusé de commande. Bravo, une belle épine du pied retirée avec cette modification du module. Merci encore. Michel Link to comment Share on other sites More sharing options...
Myst26 Posted February 4, 2013 Share Posted February 4, 2013 MERCI ! Link to comment Share on other sites More sharing options...
PRECIOZI Posted February 13, 2013 Share Posted February 13, 2013 Super! Merci infiniment! Link to comment Share on other sites More sharing options...
luan220 Posted March 13, 2013 Share Posted March 13, 2013 (edited) Hello, Pour le problème de la page qui tourne en boucle après avoir effectué le payement dans modules/ogone/views/templates/front/waiting.tpl j'ai simplement changé {$base_dir} par {$base_dir_ssl} car le ssl était activé chez moi, ça a toute suite réglé le problème En gros dans le javascript ça donne ça: <p><img src="{$base_dir}img/loader.gif" /> {l s='Please wait while your order is being processed...' mod='ogone'}</p> <script type="text/javascript"> function checkwaitingorder() {ldelim} $.ajax({ldelim} type:"POST", async:true, url:'{$base_dir_ssl}modules/ogone/checkwaitingorder.php', data:'id_cart={$id_cart|intval}&id_module={$id_module|intval}&key={$key|escape}', success:function (r) {ldelim} r = $.trim( r ); if (r == 'ok') { window.location.href = '{$ogone_link}?id_cart={$id_cart|intval}&id_module={$id_module|intval}&key={$key|escape}'; clearTimeout(t); } {rdelim} {rdelim}); t = setTimeout('checkwaitingorder()', 5000); {rdelim} t = setTimeout('checkwaitingorder()', 5000); </script> voila si ça peut aider les gens qui ont le même problème... Edited March 24, 2013 by luan220 (see edit history) Link to comment Share on other sites More sharing options...
iAssist Posted March 21, 2013 Share Posted March 21, 2013 Bonjour, J'ai exactement ce même problème, j'ai testé les deux solutions de ce topic mais rien y fait. J'ai une boutique chez 1&1 mutualisé avec prestashop 1.4 et je n'ai pas ce problème. En revanche avec une boutique 1.5 (Sur le même serveur) ça ne fonctionne pas :-( 4 jours que je suis dessus je perd espoir... Merci pour votre aide. Link to comment Share on other sites More sharing options...
za3500 Posted April 2, 2013 Share Posted April 2, 2013 Bonjour, j'ai eu le problème sous presta1.5 avec ogone 2.4. Aucune des solutions ci-dessus n'a réglé mon problème de page qui tournait en boucle. Par contre, j'ai trouvé la solution en ce qui me concerne, dans le fichier modules/ogone/validation.php, j'ai remplacé tous les $_GET en $_POST car dans ma config ogone, j'avais coché "POST" dans "Retour d'informations sur la transaction" > "Méthode de la requête". Et ça marche! ma commande est bien enregistrée dans le BO de presta. Voilà j'espère que ça pourra aider certain Link to comment Share on other sites More sharing options...
Sire-Sam Posted April 9, 2013 Share Posted April 9, 2013 (edited) Avant tout un Super GRAND Merci! Ces infos m'on vraiment aidée à solutionner la majorité des problèmes. Malgrés tout me concernant, la page 'waiting' (gif + message 'votre commande est en cours de ... bla bla bla' continuais de tourner en boucle. La requête ajax retournais toujours la valeur 'ko', après presque 2 jours d'analyse, j'ai pu avoir la certitude que la réponse de la requête était fausse. J'ai donc pu solutioner les problèmes existant en : 1- appliquant les 2 modifications présentée généreusement dans ce post 2- Modifiant le fichier ogone/checkwaitingorder.php::29 Placer le paramètre facultatif '$cache' de la function 'getValues' a 'false' Db::getInstance()->getValue('SELECT id_order FROM '._DB_PREFIX_.'orders WHERE id_cart = '.(int)Tools::getValue('id_cart').' AND secure_key = "'.pSQL(Tools::getValue('key')).'"',false) ? 'ok' : 'ko' Cela à définitivement réglé mon problème Encore merci gonado! Edited April 9, 2013 by Sire-Sam (see edit history) Link to comment Share on other sites More sharing options...
Kakaouette Posted April 17, 2013 Share Posted April 17, 2013 (edited) Bonjour, J'up le sujet, j'ai le même problème : "Nous avons constaté un problème avec votre commande. Si vous pensez que c'est une erreur, merci de contacter notre service client." J'ai essayé les solutions proposé et rien ne ce passe, moi j'ai aucune informations en back-office mise à part une notification d'une commande mais elle ne contient ni les produits, ni le statut ni le service de paiement, que pouvons-nous faire ? Version 1.5.0.17 Merci Edited April 17, 2013 by Glopsyo (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts