stephbul Posted June 25, 2013 Share Posted June 25, 2013 Bonjour, Nous cherchons à debugger pour un client son module de paiement utilisant systempay. Une erreur 500 est retournée par l'appel à modules/systempay/validation.php, correspondant à l'appel de retour du système de paiement pour valider la commande. La commande est bien validée dans le prestashop, mais le système de paiement reçoit une erreur. Il n'y a pas de timeout comme souvent le cas sur certains serveurs. Le prestashop est en 1.5 et systempay en 1.0c. Après avoir tracé le code (hébergeur / infogéreur au service du client ), il se trouve que c'est la fonction saveOrder qui retourne un $order, une instance d'order, alors que les saveOrder de paypal (par exemple) ne font pas ce return. Commenter le "return $order;" permet de faire fonctionner le module! Enfin, à première vue. Avant de lever un ticket, j'aurais voulu avoir un retour d'autres utilisateurs, voire des développeurs du module pour comprendre. La mise en commentaire ne risque-t-elle pas de casser autre chose? Bien à vous. stephbul Link to comment Share on other sites More sharing options...
iorek Posted June 25, 2013 Share Posted June 25, 2013 les erreurs 500 sont tjs des erreurs applicatives et tjs liées à un autre module que Systempay. L'erreur la plus fréquente étant le non paramétrage du module so colissimo. Il y a même un topic sur le sujet des erreurs 500: http://www.prestashop.com/forums/topic/246189-module-systempay-erreur-500-so-colissimo-ps15/ Modifier notre module n'est pas forcément une bonne idée car il fonctionne parfaitement. Trouvez le module qui génère l'erreur 500 et vous aurez la solution. Link to comment Share on other sites More sharing options...
stephbul Posted June 25, 2013 Author Share Posted June 25, 2013 Bonsoir Iorek, Merci pour ta réponse. La modification que j'ai faite avait juste pour objectif le debug du problème de mon client et l'intention de mon post était de pouvoir trouver une autre solution que la modification d'un code d'un module, qui n'est jamais une bonne idée, je te l'accorde. Je veux bien entendre qu'il s'agisse d'un autre module, mais c'est tout de même au sein de systempay lors du retour du saveOrder (return $order;) que l'erreur 500 se produit, encore une fois, sans que je ne comprenne pourquoi. Par ailleurs, j'ai vu le post sur so colissimo, mais ce module n'est pas installé sur ce prestashop. Bien cordialement. Link to comment Share on other sites More sharing options...
iorek Posted June 25, 2013 Share Posted June 25, 2013 dans ce cas un autre module est installé qui cause le problème. validation.php est un point d'entrée générique. qui crée la commande pour tous les moyens de paiement. vous avez aussi ce post sur le sujet http://www.prestashop.com/forums/topic/239494-resolu-creation-de-commande-ps-v154/ Systempay n'est pas à l'origine du problème. Link to comment Share on other sites More sharing options...
stephbul Posted June 26, 2013 Author Share Posted June 26, 2013 Bonjour Iorek, J'ai bien compris que systempay est un module parfait et qui n'est pas à l'origine de mon problème. Merci pour ton support. J'aurais bien aimé comprendre le return. Petite remarque: validation.php n'est pas un point d'entrée générique puisqu'il s'agit d'un fichier présent dans le module de paiement systempay. Chaque module de paiement doit présenter un point d'entrée pour valider le paiement et enregistrer la commande. C'est ce que fait systempay en appelant la fonction saveOrder. De mon côté, tout se passe bien, jusqu'au return de saveOrder. Bien cordialement. Link to comment Share on other sites More sharing options...
iorek Posted June 26, 2013 Share Posted June 26, 2013 ce que je voulais dire c'est que Systempay s'appuie sur les methodes génériques pour passer d'un panier à une commande Tout se passe bien jusqu'au saveorder qui est un insert sql. et on ne sait pas: si vous avez fait une migration de PS, une installation from scratch, etc. On ne sait pas non plus si vous avez le même problème avec le chèque par exemple. Si votre base de données n'a pas toutes les colonnes attendues, la commande ne se créée pas. Link to comment Share on other sites More sharing options...
stephbul Posted June 26, 2013 Author Share Posted June 26, 2013 Bonjour, L'installation est une installation 1.5 from scratch. L'ensemble de la commande saveOrder fonctionne bien, la commande est bien créée en base mysql, le paiement est bien créé en base aussi avec les bonnes informations de réponses de systempay, c'est le return qui fait planter. Les autres moyens de paiement en production fonctionnent sans problème (paypal et chèques au moins) Bien cordialement Link to comment Share on other sites More sharing options...
bab45 Posted June 29, 2013 Share Posted June 29, 2013 Bonjour, J'ai eu le même problème d'erreur 500 lors du retour à la boutique après paiement. De mon côté, j'ai désinstallé le module Twenga et désactivé "memcached " et depuis tout fonctionne bien. Cordialement Carole Link to comment Share on other sites More sharing options...
iorek Posted June 30, 2013 Share Posted June 30, 2013 Merci BAB45. le plus simple est d'aller voir les logs d'erreur de son serveur apache. il y a tellement de modules complémentaires au paiement qui génèrent des erreurs 500. Link to comment Share on other sites More sharing options...
Recommended Posts