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 entre automatic_response_url et https #67

Closed Sn4kY closed 6 years ago

Sn4kY commented 7 years ago

Bonjour.

Tout d'abord, il me semble avoir noté une petite coquille à la ligne 1799 : https://github.com/TrogloGeek/prestashop-tggatos-module/blob/RC_4.1.2/tggatos.php#L1799 Il est fait mention de "automatic_reponse_url" alors qu'il s'agirait plutôt de "automatic_response_url" (il manque un "S" à "reSponse", mais ce n'est que cosmétique ici (il me semble).

Ensuite, et c'est là que je ne comprends pas bien la composition de la ligne 1053 https://github.com/TrogloGeek/prestashop-tggatos-module/blob/RC_4.1.2/tggatos.php#L1053 Mise en situation :

Dans les paramètres passés au binaire ATOS, je peux bien observer que "normal_return_url" est bien en proto https, ainsi que "cancel_return_url", mais pas "automatic_response_url", ce qui provoque que aucun paiements par CB ne sont désormais validés : 'normal_return_url=https://www.monsite.tld/modules/tggatos/autodispatch/userreturn.pub.php' 'cancel_return_url=https://www.monsite.tld/modules/tggatos/autodispatch/userreturn.pub.php' 'automatic_response_url=http://www.monsite.tld/module/tggatos/silentresponse'

Je ne comprends donc pas pourquoi la construction du paramètre "automatic_response_url" n'est pas buildée de la même manière que les autres paramètres ? Ne faudrait-il pas plutôt utiliser la sytaxe de la ligne 1048 ?

Merci de votre réponse.

TrogloGeek commented 7 years ago

Bonsoir, réponse rapide depuis le téléphone donc désolé pour son caractère bref.

Le système SIPS 600 (service fourni par votre contracteur VAD) n'est pas compatible avec le SSL pour la réponse automatique, ce système datant du millénaire précédent ;-) Il vous faut donc empêcher toute redirection forcée de HTTP vers HTTPS pour les URL de retour bancaires. De plus il faut savoir qu'appliquer une redirection sur une requête utilisant un autre verbe que GET (ici POST) ne permet pas de garantir que la requête suivant la redirection conserve le verbe et le payload. Vous pouvez donc purement et simplement perdre ainsi des données soumises à votre serveur.

TrogloGeek commented 7 years ago

Tout d'abord, il me semble avoir noté une petite coquille à la ligne 1799 : https://github.com/TrogloGeek/prestashop-tggatos-module/blob/RC_4.1.2/tggatos.php#L1799 Il est fait mention de "automatic_reponse_url" alors qu'il s'agirait plutôt de "automatic_response_url" (il manque un "S" à "reSponse", mais ce n'est que cosmétique ici (il me semble).

Il s'agit en effet d'une coquille à corriger.

Je ne comprends donc pas pourquoi la construction du paramètre "automatic_response_url" n'est pas buildée de la même manière que les autres paramètres ? Ne faudrait-il pas plutôt utiliser la sytaxe de la ligne 1048 ?

Pour les autres URLs (retour utilisateur), le navigateur client est le vecteur de transport des données, on respecte donc le SSL lorsque configuré. Le système émettant les réponses silencieuses de SIPS 6xx n'est ni capable de gérer une redirection (il me semble) ni capable de dialoguer en SSL, d'où ce traitement spécifique de l'URL de retour silencieux.

Ai-je répondu à toutes vos questions ?

Cordialement, Damien.

Sn4kY commented 7 years ago

Bonjour Merci pour la correction de la coquille.

Oui, je penses avoir compris.

Dans mon cas, le problème ne viendrait donc que de la redirection faite via apache.

Merci pour les précisions.