Jump to content

Paypal erreur 500, au secours.


Recommended Posts

Bonjour à tous,

 

Juste avant mise en production, j'ai souhaité réaliser des tests de bout en bout, vrai achat via paypal etc..

Et "boum" une erreur 500 sur payment.php dans le module paypal, aie aie.

 

La boutique est ouverte, tous les tests préliminaires "ok", paiement par chèque, virement -> OK, c'est paypal qui coince.

 

Je suis en Prestashop 1.4.11.0 (par habitude de la branche 1.4.X), apres le premier erreur 500, j'ai téléchargé le dernier module paypal : 3.6.8, pareil.

 

Je suis hébergé chez Gandi (j'ai une autre boutique en prod qui fonctionne avec un autre compte Paypal, mais avec un vieux module (2.8.7), ou je n'utilise pas l'API... et ca fonctionne bien).

 

Vu qu'il y avait un "warning" dans le BO, j'ai aussi installé le module de rétro compatibilité (version 0.6) -> plus de warning

La config du module c'est bien passé, mes codes API sont vérifiés.

 

Dans le process de commande, tout est ok, je suis bien redirigé vers paypal, le client paye, et c'est au retour vers la boutique que j'ai l'erreur 500

 

La commade est validée dans le BO, le paiement passé, le client reçoit les emails paypal, moi aussi.

C'est donc juste après la validation que ca explose dans payment.php !?

 

Dans les log PHP j'ai rien :-(

Dans error.log d'apache j'ai :

[sun Mar 30 12:58:39.762192 2014] [core:error] [pid 29468:tid 3042264655616] [client 83.115.212.86:11318] Premature end of script headers: payment.php

 

Ensuite :

Dans config.inc.php j'ai mis -> @ini_set('display_errors', 'on');

Dans defines.inc.php -> define('_PS_MODE_DEV_', true);

 

Je n'ai rien de plus dans les log PHP et apache, uniquement le "Premature end of script headers: payment.php" dans error.log d'apache :-(

 

Auriez-vous une technique pour débugger payment.php, pour avoir une chance d'obtenir un message d'erreur exploitable qqpart (je ne suis pas un spécialsite prestashop), ou une autre idée.

 

Merci d'avance pour votre aide.

 

Bien cordialement.

Link to comment
Share on other sites

Bonsoir 2FR3,

 

Merci pour votre réponse.

 

Je viens de supprimer le module, réinstallation via le zip de la dernière version, config des paramètres API etc...

J'ai refais un achat de bout en bout, toujours l'erreur 500

 

http://monsite.com/modules/paypal/express_checkout/payment.php?token=EC-6EF78064AH191433V&PayerID=3EQMXKBFX3KX8

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at [no address given] to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

 

Comment peut-on récuprer des "logs" avant que cela "parte" en erreur 500 ? quel est le moyen de débugger ??

 

Merci encore.

 

Cordialement.

Link to comment
Share on other sites

Bonjour,

 

Pour avancer j'ai fais les tests suivant :

Tentative avec le thème standard -> même erreur

Essai de paiement par cheque -> ok

Essai de paiement par virement -> ok

 

Donc retour à la partie Paypal

 

J'ai fait une version spéciale de payment.php dans le module express checkout.

J'ai ajouté des log dans un fichier texte, vu que que je ne sais pas trop comment débugger une erreur 500...

 

Avant et parès chaque fonction ou test, j'ajoute des infos.

Globalement j'obtiens qqchose d'interessant -> la ou je passe en dernier dans ce payment.php c'est après la fonction validateOrder.

 

---------------- payment.php ----------------------------
-- Entre Express Checkout payment
-- Entre setCustomerAddress
-- Sortie setCustomerAddress
-- Sortie Express Checkout payment
-- Localisation : Previous steps succeed
-- Entre ReadyToPay
-- Entre validateOrder
-- Sortie validateOrder

 

Maintenant je me demande si le problème n'est pas ailleur ? comme si au retour de ces fonctions je n'arrivais pas à revenir la ou il faut (désolé c'est pas rès correct comme vocabulaire).

 

Je me suis penché sur l'appel au paiement, cad lorsque l'on demande à l'utilisateur de choisir un moyen de paiement, dans la page html j'ai cela :

 

<div id="HOOK_PAYMENT">
<p class="payment_module">
<p class="payment_module">
<a id="paypal_process_payment" title="Payez avec PayPal" onclick="$('#paypal_payment_form').submit();" href="javascript:void(0)">
</p>
<form id="paypal_payment_form" method="post" title="Payez avec PayPal" data-ajax="false" action="http://www.monsite.com/modules/paypal/express_checkout/payment.php">
<p class="payment_module">
<a title="Payer par chèque" href="http://www.monsite.com/modules/cheque/payment.php">
</p>

 

Je vois qu'avec le chèque et virement on appele directement la page php du payment choisi, avec paypal c'est pas la même chose :

<a id="paypal_process_payment" title="Payez avec PayPal" onclick="$('#paypal_payment_form').submit();" href="javascript:void(0)">

C'est normal ?

 

Quelle processus dans le module paypal doit permettre de revenir à la page qui confirme que tout c'est bien passe ?

Comment puis-je avancer dans la recherche de ce problème ?

 

Merci d'avance pour votre aide.

 

Cordialement,

Edited by Powerbook1800 (see edit history)
Link to comment
Share on other sites

J'avance pas...

 

Une question....

 

Il y a t-il qqun qui aurait une boutique Prestashop en prod avec module Paypal chez Gandi / Simple Hosting ?

Si oui quel version de Prestashop / Module Paypal ?

Si en plus vous avez activer Mondial Relay (version), cela m'interesse aussi, car à terme j'ai besoin du transporteur Mondial Relay dans ma boutique.

 

Merci.

Cordialement,

Link to comment
Share on other sites

Ca avance, un peu.

 

Dans mon desespoir, j'ai installé sur un autre vhost de mon Simple Host Gandi, une version de Prestashop "ancienne", la 1.4.8.2

Installation rapide, config de base avec un produit et config du module paypal (API) joint avec la boutique, une 2.8.7

 

Achat -> Ok de bout en bout !

 

Donc je suis sous Prestashop, hébergement Gandi et un ancien module paypal c'est OK.

 

J'installe le dernier module paypal dispo sur Prestashop Addon -> 3.6.8, config aec les même paramètre API.

Achat -> Erreur 500 !! même chose, commande validée, paiement ok mais au final l'erreur 500

 

J'en conclu que le module paypal "récent" ne fonctionne pas dans l'environnement Gandi, si il ne fonctionnait pas du tout, je pense que cela aurait fait du.. bruit !

 

Je vais donc essayer de me dépanner en installant la version du module paypal fournie avec la 1.4.8.2 sur ma boutique en 1.4.11.0 et tester. Si cela fonctionne, je pourrais ouvrir !

 

J'ai deux questions :

- Il y a t-il un emplacement ou trouver les modules paypal précendent (sous la forme d'un zip ?) pour que je puisse tester tous les modules supérieur au module fourni avec la 1.4.8.2 ?

 

- Comment faire avancer le problème du module paypal (le plus récent) utilisé sur un prestashop 1.4.x avec comme hébergeur Gandi ? je ne sais pas si c'est un problème de prestashop et ou d'hébergement (config PHP, ...).

 

Merci.

Cordialement,

Edited by Powerbook1800 (see edit history)
Link to comment
Share on other sites

Je rencontre le même problème que vous, mais en version 1.6 de prestashop et avec la dernière version du module paypal V3.6.8

Une erreur 500 survient dès lors que je veux effectuer le paiement...

 

La page incriminée est également /modules/paypal/express_checkout/payment.php

 

Ce problème est survenu à la suite de la mise à jour de presta 1.4 vers 1.6

La désinstallation puis réinstallation du module n'a en aucun cas changé la done...

 

SI une âme charitable pouvait venir à notre secours ce serait avec grand plaisir

Link to comment
Share on other sites

Bonjour DanitoLoco,

 

Désolé de lire cette mauvaise nouvelle.

 

Tu as fait le grand saut ! 1.4 -> 1.6 Banzaï !

 

Plus sérieusement, je n'en suis même pas la, mais j'ai pu tout de même mettre ma boutique en production, mais pas comme je le souhaitait :-(

 

Sur ma 1.4.11.0 hébergé chez Gandi Simple Hosting, le seul moyen d'offrir le paiement Paypal (la base quand même...) c'est de s'arrêter à la version 2.8.7 du module ! la version juste supérieure génère une erreur 500 (j'ai tout testé jusqu'à la dernière !!).

 

Ce que j'ai pu débugger / comparer sur la 2.8.7 comparées aux versions supérieures c'est que le module n'appelle pas Paypal de la même manière, et que la somme des données stockées dans le "cookie" est vraiment différentes (la seule chose que j'arrive a tracer avant l'erreur 500 en mettant un dump des variables presta juste avant la sortie de la fonction ValidateOrder), dans les version du module paypal > 2.8.7, le nombre de données "stockées" est bcq plus important.

 

Chez Gandi il y a finalement bcq de "plaintes" avec Prestashop + Erreur 500, j'ai été confronté aussi à un problème sur BO, il a fallu modifier fichier PHP pour limiter le stockage d'infos dans le cookie... je suis "presque" persuadé d'une limitation dans la config PHP de l'hébergeur, comme cela a été aussi annoncé sur les forum Gandi plusieurs fois...

 

Donc, ça "fonctionne" mais je suis bloqué pour une éventuelle mise à jour, sachant qu'en "local" sur une machine qui possède une ip fixe, ma boutique fonctionne sans modifs et avec la dernière version du module de paiement Paypal !! il y a bien un impact lié à l'hébergement.

 

Ton cas est certainement différent, j'imagine que tu n'es pas chez Gandi ? ta boutique actuelle utilise t-elle déjà un module Paypal récent ?

Migrer en 1.6 est... risqué il y a peu de passif dessus, perso je n'ai même pas osé passer à la branche 1.5.x !

 

Hope this help.

Link to comment
Share on other sites

  • 7 months later...
  • 1 year later...

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