THELIA Forum

Welcome to the THELIA support and discusssion forum

Offline


Bonjour,

Un site développé en version 2.3.1 et mis en service en avril 2016 rencontre depuis le 29 juillet dernier un problème à l'étape 3 'Vérifier ma commande'.
Après avoir sélectionné le moyen de paiement Paypal (module en version 2.0) et cliqué sur suivant pour arriver à l'étape 4, on obtient le message suivant :

Nous sommes désolés, un problème est survenu lors du paiement.
Désolé, quelque chose n'a pas marché avec Paypal

Afficher les erreurs php ne m'avance guère plus sur la nature du problème.

J'ai supprimé le module Paypal v2 et installé la v3, mais un message d'erreur m'indique que certains fichiers de la V2 sont manquants.
J'ai restauré mon site tel qu'il était avant cette manip.
J'ai installé les 2 en même temps (via 2 git clone pour les 2 versions), mais seul la v2 apparaît en BO.
J'ai restauré mon site tel qu'il était avant cette manip.

Comment dois-je m'y prendre pour résoudre ce problème plutôt urgent ?
Les logs Paypal du site en question.

INFO: 2017-07-29 16:23:56: 2017-07-29 14:23:56 Transaction Success correlationId: 27e2804d2ba9d << dernière commande OK 
ERROR: 2017-08-01 19:06:34: Ne peut obtenir la réponse de Paypal
ERROR: 2017-08-01 19:42:25: Ne peut obtenir la réponse de Paypal
ERROR: 2017-08-02 17:29:14: Ne peut obtenir la réponse de Paypal
ERROR: 2017-08-02 17:29:44: Ne peut obtenir la réponse de Paypal
ERROR: 2017-08-02 20:06:34: Ne peut obtenir la réponse de Paypal
ERROR: 2017-08-02 20:07:28: Ne peut obtenir la réponse de Paypal
ERROR: 2017-08-02 20:08:03: Ne peut obtenir la réponse de Paypal
ERROR: 2017-08-02 20:58:02: Ne peut obtenir la réponse de Paypal
ERROR: 2017-08-02 20:58:33: Ne peut obtenir la réponse de Paypal
ERROR: 2017-08-02 21:00:06: Ne peut obtenir la réponse de Paypal
ERROR: 2017-08-02 22:13:54: Ne peut obtenir la réponse de Paypal
ERROR: 2017-08-04 13:40:19: Ne peut obtenir la réponse de Paypal
ERROR: 2017-08-04 13:40:47: Ne peut obtenir la réponse de Paypal
ERROR: 2017-08-04 13:43:23: Ne peut obtenir la réponse de Paypal
ERROR: 2017-08-04 13:43:35: Ne peut obtenir la réponse de Paypal
ERROR: 2017-08-04 13:44:51: Ne peut obtenir la réponse de Paypal
ERROR: 2017-08-04 14:10:14: Ne peut obtenir la réponse de Paypal

Merci d'avance.

Offline


Si ça s'est subitement arrêté de fonctionner depuis le 29 jullet, je suppose qu'il s'est passé quelque chose sur ton compte PayPal, puisque tu n'as sans doute pas modifié le paramétrage dans Thelia, ni modifié le module, et que l'API signature NVP utilisée par la V2 du module fonctionne normalement.

Essaie de contacter le support PayPal pour savoir s'il y a eu des changements sur ton compte fin juillet.

Pour revenir à la dernière version 2 (la 2.1.2) du module, désactive et supprime toutes les version que tu as installé, et récupère celle ci : https://github.com/thelia-modules/Paypal/tree/2.1.2

La V3 suppose un accès à la ligne de commande (ce qui est stupide, cf cette issue : https://github.com/thelia-modules/Paypal/issues/33), il faudrait que je forke la V3 pour en faire un module utilisable par tout le monde sans prise de tête.


CQFDev | Sites, boutiques, modules, développement et intégration pour Thelia 1 et 2

Offline


Ca s'est subitement arrêté le 29 juillet, en effet. Je n'ai effectivement rien touché et le client non plus. J'ai contacté Paypal qui a testé un achat et me dit que le problème vient du site puisque leur page de paiement n'est même pas appelée.

Je suis un peu perdu. Si on a rien touché et que Paypal n'a rien changé dans l'api, je ne comprends pas pourquoi soudainement ça ne fonctionne plus.

J'ai restauré une sauvegarde du site avant mes manipulations infructueuses. Je désactive la seule version du module Paypal que j'avais : la 2.0. Je suppose que je ne dois pas cocher 'Supprimer aussi les données de ce module'. Mais que je coche ou non cette case, j'obtiens ce message. Si je supprime manuellement le dossier Paypal dans 'local/modules'

Le module "Paypal" est utilisé par au moins une commande, et ne peut être supprimé.

Que dois-je faire ?

Offline


Ça remarche subitement depuis ce matin, je n'ai absolument rien touché, j'avais remis une sauvegarde du site en l'état avant mon intervention !

Je viens de contacter Paypal qui devait me faire un feed-back sur leur intervention. Ils prétendent "n'avoir rien à voir" dans cette histoire.
Je dois dire que ça me stresse un peu, car je ne sais toujours pas quel était la nature du problème ni comment le prévenir.
Ce n'est pas non plus l'hébergeur du client (OVH) qui était en cause.

Problème auto-résolu. Incompatible avec l'aspect tellement terre-à-terre de l'informatique. Je pense quand même à un problème de Paypal.
Cependant, même en mode 'development' sur le site, je n'avais pas de message d'erreur. et le journal des transactions du module est peu bavard, j'ai juste un

ERROR: 2017-08-02 20:07:28: Ne peut obtenir la réponse de Paypal

Bref, si quelqu'un a une idée qui permettrait de pousser les investigation pour comprendre, je suis preneur !

Offline


On peut imaginer qu'à un moment donné, ton serveur n'a pas pu joindre le serveur de Paypal (curl::exec() retourne false ici), mais les possibilité sont tellement nombreuses, que c'est difficile de déterminer la cause exacte avec ce seul message. Il faudrait ajouter quelque traces.


CQFDev | Sites, boutiques, modules, développement et intégration pour Thelia 1 et 2

Offline


Ce qui est étrange, c'est que ça ait duré aussi longtemps.

J'ai zieuté " $response = curl_exec($ch); "

Quant à tracer l'erreur, quels outils ai-je à ma disposition si ça se reproduit ?
Pourquoi n'ai-je pas eu de message en mode development sur le serveur ?

Offline


Quant à tracer l'erreur, quels outils ai-je à ma disposition si ça se reproduit ?

Concrètement, aucun.

Tu pourrais rajouter ici après $response = curl_exec($ch); une trace que tu pourrais retrouver dans les logs (log/log-thelia.txt)

if (false === $response) {
    \Thelia\Log\Tlog::getInstance()->error("Echec de l'appel au serveur Paypal: ".curl_error($ch)." - URL: $url");
}

CQFDev | Sites, boutiques, modules, développement et intégration pour Thelia 1 et 2