TrogloGeek / prestashop-tggatos-module

TggAtos Module for Prestashop (1.4 to 1.7), ATOS SIPS 6xx payment gateway
61 stars 34 forks source link

Problème d'encodage dans les URL de retour #64

Closed Thymotep closed 6 years ago

Thymotep commented 7 years ago

Bonjour,

J'utilise le module tggatos sur un site, et je rencontre un soucis avec la solution "cetelem presto".

L'URL de retour depuis la page de la banque est la suivante : https://www.SITE.fr/?fc=module&module=tggatos&controller=paymentfailure&id_cart=&transaction_id=&tggatos_date=

Les "&" deviennent des "&", j'ai tenté de faire un html_entity_decode voir même sur str_replace, sans succès.

Au niveau de la config advanced du module, le champ "User return front office domain" ne contient rien (pour avoir le lien par défaut de PrestaShop).

Le module est en version 3.4.0, et fonctionne bien en dehors de ce problème de lien d'annulation / retour.

Est-ce un bug ou un problème de config de ma part ?

Merci pour les retours, Dimitri

TrogloGeek commented 7 years ago

Bonjour, désolé pour la latence de réponse, énorme charge de travail ces jours ci.

L'URL fournie n'est pas l'URL de retour depuis la banque mais une redirection causée par ce controlleur: https://github.com/TrogloGeek/prestashop-tggatos-module/blob/RC_3.4.0/controllers/front/userreturn.php

Il y a visiblement deux problèmes dans votre URL: Les données dynamiques sont manquantes et l'URL a été html encodé. Concernant les données manquantes, le fait que la date soit manquante est plus qu'étrange. 1. Avez vous nettoyé l'url manuellement pour en retirer les informations relatives à la transaction avant de la poster ? Concernant l'encodage de l'URL, je vois deux sources probables : vous utilisez une version de PrestaShop pour laquelle Tools::redirect() est buggée (et il y en a bon nombre), soit il s'agit de règles de redirection de votre serveur HTTP qui corrompent l'URL (courant avec les règles de forçage HTTPS ou de domaine canonique). 2. Quelle version de PrestaShop utilisez vous ?

Les "&" deviennent des "&", j'ai tenté de faire un html_entity_decode voir même sur str_replace, sans succès.

3. Où êtes-vous intervenu ? Quel a été le code utilisé ?

Le support de ce module est compliqué pour une personne seule et sans financement face aux nombreuses versions de PrestaShop et leurs bugs respectifs à contourner et les problématiques inhérentes au système de paiement SIPS. 4. Pourriez-vous envisager de basculer sur la dernière version du module pour simplifier les choses ?

Cordialement, Damien.

Thymotep commented 7 years ago

Bonjour,

Merci pour votre retour, et le temps consacré.

1. Je n'ai pas modifié le module, donc à priori pas de nettoyage manuel de l'URL. 2. La version PrestaShop est là 1.6.1.7 3. Module standard sans modification dans le code 4. Qu'elle est la dernière version ? Actuellement celle en place est là 3.4.0, dois-je essayer là 4.1.2 RC ?

En pièce-jointe, voici l'endroit où je rencontre le problème, c'est directement sur la plateforme du prestataire de paiement.

tggatos

Bien à vous, Dimitri

TrogloGeek commented 7 years ago

Avez vous un site sur lequel je puisse examiner le problème ? (une instance de développement par exemple).

La dernière version est effectivement la RC_4.1.2, je mets en branche par défaut la version à favoriser.