Jump to content

Problème API paiement


Recommended Posts

Bonjour, je rencontre un gros problème avec l'API sur le paiement par Payplug ou Paypal aussi.

Lorsqu’un client achète et paye je reçois ce message d'erreur par mail de Payplug :

"La transmission vers votre serveur de la notification de transaction n°675071 (IPN) a échoué.

Votre serveur a renvoyé l’erreur suivante : HTTP 500."

Paypal ne dit... Rien.

 

Pour le Serveur j'ai pas de retour négatif de PHPNET. De plus j'ai deux sites au même endroit le second marche bien.
A tout hasard j'ai supprimer et réinstaller les module Paypal et Payplug. Ce n'a rien donné.

 

Ce qui ce passe, le client achète, Payplug a reçu le paiement, mais dans mon BO la commande n'est pas validé. donc il y a rien sauf les différence client et une commande a 0€. un port a 0€ et les détail de la commande du moins uniquement les prix. Pas la désignation.

Pour ça je dois allais voir dans le panier.

 

Dans le statut de commande du BO, l'état est "annulé". Si je confire moi-même le paiement au BO, ma commande n'est pas pour autant validé, seul s’inscrit paiement effectué par Payplug.

 

Donc après je fait la facture a la main puisque cette fournie par le site est vide.

 

Quelqu'un aurais une idée ou aurais vu le cas.

Merci

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour

 

Erreur 500, Erreur 502

 

500 c'est le système qui n'a pas pu lire un fichier ou une commande

502 c'est un  problème de proxy

 

Le retour que vous avez eu en erreur est du fait que payplug et cie n'a pas pu revenir sur votre site pour inscrire la commande et envoyer le mail + création de la facture qui je pense ne se crée que une fois le payement effectuer.

 

Donc ça peut être un problème sur votre site à vérifiez la page de retour sur laquelle doit arriver payplug ou un problème d'accès dû à votre hébergement dans ce cas voir avec l'hébergeur.

 

Mais vous risquez que l'hébergeur accuse prestashop insister que vous avez tous vérifiez et que l'erreur viens du fonctionnement du serveur.

 

C'est qui vos hébergeurs ?

Link to comment
Share on other sites

Bonjour et merci pour la réponse.

 

Me concernant, je suis hébergé chez ovh.

 

J'ai refais une commande pour réessayer et tout s'affiche correctement dans le BO, facture générée, donc commande prise en compte.

 

En revanche, c'est vrai que je reçois le message d'erreur 500, et que la confirmation de commande n'est pas envoyée.

 

Je précise que je n'ai pas beaucoup de compétence dans le codage..

 

Merci à vous

Link to comment
Share on other sites

500 c'est un bug applicatif dans la majorite des cas.

Analysez les logs et trouvez la ligne de code qui genere le fault 500.

Vous aurez alors le module responsable.

 

On accuse tjs le paiement car c'est le point d'entree pour transformer le panier en commande.

Mais ce n'est qu'un tout petit bout du traitement.

Link to comment
Share on other sites

Bonjour

 

Voir les logs d'erreur de votre hébergement dans votre manager ou demander à votre hébergeur s'il trouve des erreurs 500

Selon le jour et l'heure vu que la date heure minute secondes est indiqué sur chaque ligne des logs donc voir les access.logs

vu que c'est payplug qui reçois cette erreur.

Link to comment
Share on other sites

Bonjour Oron et merci pour la réponse.

 

l’hébergeur c'est PHPNET. Ce que je viens de me rendre compte c'est que j'ai des commandes où ça marche et d'autre ou sa marche plut. Sans rien changé nul part.

Et je vais voir demain avec PHPNET concernant votre dernière réponse de 11h.

 

Merci

Link to comment
Share on other sites

Merci Oron pour la réponse.

 

N'y connaissant rien, j'ai donc envoyé un message à OVH.

 

J'ai désinstallé le module et réinstallé mais rien ne change. 

 

En revanche, depuis une heure, impossible d'accéder à une commande, quand je clique dessus, la page qui suit est blanche ...

j'espère ne pas avoir fait de boulette ..

Link to comment
Share on other sites

 

En revanche, depuis une heure, impossible d'accéder à une commande, quand je clique dessus, la page qui suit est blanche ...

j'espère ne pas avoir fait de boulette ..

Faite :

 

La ligne sur une 1.4 dans config/config.inc.php

@ini_set('display_errors', 'off'); << mettez off à on >> @ini_set('display_errors', 'on');

ou selon votre version

La ligne sur une 1.5 / 1.6 dans config/defines.inc.php

define('_PS_MODE_DEV_', false); << mettez false à true >> define('_PS_MODE_DEV_', true);

 

Si c'est un problème d'interprétation d'un fichier vous verrez un message d'erreur. Copier Coller au moins la 1ere ligne.

Si le nom de votre dossier d'administration apparait remplacé le par des *****.

 

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

 

 

Comment analyser les logs ?

 

Il fat savoir que l'erreur n'apparaît pas sur le site mais nous est envoyé par email de la part de payplug.

 

L'erreur apparait forcément sur le site mais pas à l'acheteur.

Il faut comprendre qu'à la fin du paiement, toutes les plateformes doivent envoyer une notification au site marchand.

Cette notification en anglais s'appelle IPN comme instant payment notification.

 

Pour appeler cette notification, la plateforme de paiement appelle un script sur VOTRE serveur.

Si ce script plante, la plateforme de paiement reçoit les erreurs d'exécution du script sur VOTRE serveur.

 

Ce code est en partie celui de Payplug, mais aussi le code de tous les processus associés à la création d'une commande:

création de la facture, transporteur, mise à jour du stock, discount, google analytics, envoi de mail à l'acheteur, etc..

Si une tâche est défaillante, on accuse le module de paiement, mais il n'est que celui qui reçoit tous les bugs des autres (et les siens s'il est buggé :D )

 

Donc effectivement la plateforme de paiement quand elle reçoit un code HTML 500 ou tout autre code HMTL (502, 503, ..) ou une impossibilité d'exécuter le script (url invalide) ou un time-out,  elle est capable de vous dire:

  • le script sur votre serveur ne s'est pas exécuté correctement. donc la commande n'est peut-être pas créée.

 

Donc comme dit Oron, allez analyser les logs et trouvez le coupable.

 

C'est basique quand on a les logs sous les yeux.

Link to comment
Share on other sites

J'ai mis "true" sur la ligne : define('_PS_DEBUG_PROFILING_', true);

Et j'ai ce message qui apparaît :

Parse error: syntax error, unexpected ''table'' (T_CONSTANT_ENCAPSED_STRING), expecting function (T_FUNCTION) in www/wa_ps_1_5_2_0/override/classes/order/OrderPayment.php on line 9

Edited by valentinprestashop (see edit history)
Link to comment
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...