TrogloGeek / prestashop-tggatos-module

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

erreur sur prestashop 1.7.7.0 #112

Open kiksou opened 3 years ago

kiksou commented 3 years ago

Bonjour a toi Troglogeek j'ouvre aujourd'hui une deuxième boutique en utilisant ton module , et vu que c'est le même compte bancaire et le même hébergeur je me suis permis de copier le dossier du module directement dans la nouvelle boutique, tout ce passe bien jusqu'au retour a la boutique ou j'obtiens ce message en mode debug 🐞

[PrestaShopModuleException]

TggAtosBaseBankReturnFrontController::recoverCart: unable to restore Cart#fr, cannot process bank response at line 73 in file modules/tggatos/controllers/front/basebankreturn.php

  1. $this->bankResponse->order_id
  2. ));
  3. }
  4. } else {
  5. throw new PrestaShopModuleException(sprintf(
  6. '%s: unable to restore Cart#%s, cannot process bank response',
  7. METHOD,
  8. $this->bankResponse->order_id
  9. ));
  10. } TggAtosBaseBankReturnFrontController->recoverCart - [line 317 - classes/controller/FrontController.php] FrontControllerCore->init - [line 39 - modules/tggatos/controllers/front/basebankreturn.php] TggAtosBaseBankReturnFrontController->init - [line 15 - modules/tggatos/controllers/front/userreturn.php] TggAtosUserReturnModuleFrontController->init - [line 287 - classes/controller/Controller.php] ControllerCore->run - [line 518 - classes/Dispatcher.php] DispatcherCore->dispatch - [line 17 - modules/tggatos/autodispatch/init.php] tggatos_autodispatch - [line 4 - modules/tggatos/autodispatch/userreturn.pub.php] - [1 Arguments]

merci pour l'aide que tu pourrais m'apporter !

kiksou commented 3 years ago

https://prestashop.blog.capillotracteur.fr juste une deuxième question s'agit il de ta page officielle par rapport a PayPal ?

TrogloGeek commented 3 years ago

Bonsoir, désolé pour le délai, j'avais vu l'email passer en pleine journée de travail et ai oublié d'y revenir le soir venu.

lorsque je mets dans un message d'erreur/exception un nom d'entité suivi d'un dièse, ce qui suit le dièse est un identifiant primaire. Cart#fr => le module s'est embrouillé dans l'ordre des champs et a visiblement confondu langue et cartId en hydratant la réponse. De mémoire, je vois deux causes qui peuvent changer l'ordre des champs:

Je me souviens que pour dépanner des utilisateur qui avaient leur propre serveur SIPS il avait fallu changer le contenu de TggAtosModuleResponseObject::$fields ou TggAtosModuleResponseObject::$shortResponseUnavailableFields.

Il faudrait comparer les champs de réponse détaillés dans la doc fournie par la banque avec ceux des tableaux cités ci-avant. En l'absence de doc bancaire, en activant les logs tu peux obtenir les messages bancaires reçu dans les fichiers de log écris par le module. Je te suggère d'appeler manuellement ton binaire response en ligne de commande et de comparer les champs des messages décodés avec les deux tableaux statiques cités plus haut, et d'ajuster au besoin. Mais il vaut mieux travailler à partir de la doc bancaire correspondant à ta version des binaires que par empirisme surtout sur une solution de paiement.

https://prestashop.blog.capillotracteur.fr juste une deuxième question s'agit il de ta page officielle par rapport a PayPal ?

Officielle au sens où c'est bien chez moi, sur mon serveur oui, mais abandonné et en friches depuis peut être pas loin de 10 ans ? Je ne fais quasiment plus que du LTS sur ce module lié à une solution de paiement qui aurait déjà du être abandonnée par obsolescence et manque de robustesse début 2000 au plus tard,

kiksou commented 3 years ago

merci TrogloGeek je m'y met ! je te ferais un retour !

kiksou commented 3 years ago

TggAtosModuleResponseObject::$fields et TggAtosModuleResponseObject::$shortResponseUnavailableFields. se trouve dans quels fichier ? je cherche un peu partout ...

et j'ai essayé de call le binaire response sans succès de cette manière :

/prestashop_1/modules/tggatos/bin$ ./response

je my prend sûrement extrêmement mal

et ou je devrais chercher exactement dans la doc bancaire ?

kiksou commented 3 years ago

le truc que je comprends pas c'est que j'ai strictement rien touché au niveau du module et que la banque LCL est dans le même compte est il possible que pour une 2eme boutique il faut un 2eme certificat ?

TrogloGeek commented 3 years ago

TggAtosModuleResponseObject::$fields et TggAtosModuleResponseObject::$shortResponseUnavailableFields. se trouve dans quels fichier ? je cherche un peu partout ...

le fichier principal : tggatos.php

et j'ai essayé de call le binaire response sans succès de cette manière :

/prestashop_1/modules/tggatos/bin$ ./response

je my prend sûrement extrêmement mal

il y a des paramètres à ajouter, vous pouvez soit obtenir les lignes de commandes du module en le débuggant soit a lisant la documentation d'implémentation.

et ou je devrais chercher exactement dans la doc bancaire ?

Cela dépend de la banque mais dans le titre du document on y trouve généralement "plugin" ou "implémentation". Ce qui vous intéresse est le détail d'appel du binaire response, et le détail de sa sortie texte.