THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour à tous,

Je reviens vers vous car depuis peu, le module payzen renvoi une erreur 405 au serveur de paiement Systempay.

Peut-être ai-je raté une évolution quelconque de ce module, car il fonctionnait sans problème avant. Je ne peux pas vraiment donner de précision sur la date d'apparition de ce problème car il survient sur un site générant très peu de commandes CB.

Après quelques vérifications, en modifiant le fichier de configuration des routes pour autoriser la méthode GET plutôt que POST, l'erreur disparaît mais forcément la méthode de gestion de la réponse s'appuie sur les variables POST...
J'ai également tenté de réinstaller le module, au cas où.

Avant d'aller plus loin dans mon "déboggage", quelqu'un aurait-il ce problème en ce moment ?

Merci à tous !

Last edited by webAravis (01-07-2015 10:19:41)

Offline


Salut,

Si tu te mets en index_dev.php, tu as un message d'erreur ?
Dans /tonThelia/core/lib/Thelia/Module/AbstractPaymentModule.php ligne 39, si tu as :
$$parser->getTemplateHelper()->getActiveFrontTemplate()
essaie d'enlever un $ à $$parser, ça faisait tout péter chez moi aussi.

Offline


Si je vais directement sur l'url Callback en index_dev.php, j'obtiens l'erreur :

No route found for "GET /payzen/callback": Method Not Allowed (Allow: POST)
Ce qui correspond bien au code 405.

En revanche, je n'ai pas le double $ dans le fichier AbstractPaymentModule.php... je suis en Thelia 2.1.1 pour ce site, le problème viendrait-il de là ?

Personnellement, étant donné que le module fonctionnait sans problèmes à sa mise en place, j'ai plutôt l'impression que c'est du côté de la banque que quelque chose a bougé... je me trompe peut-être.

Offline


Si à l'installation ça fonctionnait et que tu n'as rien touché depuis, c'est vrai qu'on aurait plutôt tendance à penser que ça vient de la banque.

Le problème du double $ a dû apparaître avec la 2.1.2 ou la 2.2 encore en dév, l'erreur ne doit pas venir de là avec ta 2.1.1 du coup.

Effectivement si on va directement sur l'URL de callback, ça envoie l'erreur, mais c'est normal vu qu'elle est censée se faire appelée par PayZen après un paiement. Tu as essayé de faire un paiement de test via PayZen pour voir si ça appelle bien le callback à la fin plutôt que de l'appeler directement ?

Offline


J'ai relancé plusieurs fois l'appel de l'url de notification et toujours la même chose.

La seule progression dans cette erreur est lorsque j'autorise la méthode GET pour cette route. A ce moment, sur l'interface systempay je n'ai plus d'erreur mais la méthode de callback ne fonctionne pas car il ne récupère pas les paramètres de la requête (il attends du POST alors qu'il semblerait que l'url soit appelée en GET)

Offline


Problème trouvé, après analyse des logs Apache je retrouve les requêtes du serveur :

194.50.38.6 eco-meubles.com - [01/Jul/2015:09:15:50 +0200] "POST /payzen/callback HTTP/1.1" 301 250 "-" "Lyra-Network Agent"
194.50.38.6 www.eco-meubles.com - [01/Jul/2015:09:15:50 +0200] "GET /payzen/callback HTTP/1.1" 405 75 "-" "Java/1.7.0_79"

Le retour 301 m'a interpellé, et j'ai une règle htaccess pour rediriger avec le code 301 vers le domaine en www.
J'ai donc modifié l'url de notification de paiement et l'url de retour serveur sur le back office commercant pour taper directement sur le domaine en www et... ça fonctionne !

Le problème est donc résolu, merci pour votre aide !

Last edited by webAravis (01-07-2015 10:19:27)

Offline


Ça ne venait donc pas de Thelia ?
Content que tu aies pu résoudre le soucis smile

Bonne continuation sur Thelia, n'hésite pas si tu as d'autres problèmes !

Offline


Non cela ne venait ni de Thelia, ni du module, ni de la banque mais bien de moi-même après une directive de redirection dans le .htaccess.