-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PS 1.7.6.5] - Pas de moyen de paiement #107
Comments
La table transaction_today a-t-elle bien été créée en MyISAM et non en InnoDB ? InnoDB ne supporte pas l'auto incrément sur une clé composite... |
L'exception vient du fait qu'après décodage de la réponse serveur le module a assigné la valeur "fr" au numéro de panier... Il y a donc un mic-mac entre les champs retournés par le binaire response et ceux attendus par le module. Soit il s'agit d'une réponse "courte" (réponse d'annulation et réponse de retour forcé) et le module ne l'a pas identifié comme tel, soit les binaires utilisés ne retournent pas les champs attendus dans l'ordre attendu et il faut ajuster les champs statiques $fields et $shortResponseUnavailableFields pour que cela corresponde aux binaires utilisés. https://github.com/TrogloGeek/prestashop-tggatos-module/blob/5.1.0/tggatos.php#L2652 |
Merci pour ta réponse. :) |
Désolé cette semaine je suis en formation sur le développement de drivers linux et j'ai complètement oublié de répondre hier soir. Je n'ai pas le droit de diffuser les documents mais la documentation des binaires est disponible auprès de la banque qui a fourni le binaire (d'ailleurs selon la version SIPS il y a des différences donc autant aller chercher le bon document !). Le binaire s'appelle de la manière suivante: Les messages de réponses bancaires non décodés reçus sont normalement disponible dans les logs du modules (s'il ne plante pas avant de logger...) pour pouvoir justement faire des tests et vérifications manuels. |
Bonjour,
Après avoir installé le module en version 5.1 (via l'interface de PS), configuré le module, mis le certificat de la banque, déplacé les répertoires "sensibles" hors accès public, me voilà confronté à un problème assez important :
J'ai plongé dans le fichier tggatos.php, et notamment la fonction canProcess (qui s'occupe d'indiquer à PS si le module peut proposer une méthode de paiement).
En ligne 421 :
$last_tid = (int)Db::getInstance(TRUE)->getValue('SELECT max(
transaction_id) as
valueFROM
'.$this->getTable(self::TABLE_TRANSACTION_TODAY).'WHERE
date= \''.date('Y-m-d').'\'', FALSE);
une vérification du dernier ID de transaction (par rapport au max) est faite.
SAUF que :
L'installation du module s'est bien passée, je n'avais pas eu d'erreur.
Mais la table transaction_today n'existait pas.
Par conséquent, PS plantait en silence, car la table n'existant pas, la fonction retournait FALSE immédiatement, ce qui rendait le module non dispo.
Cela n'explique pas pourquoi les autres moyens de paiement étaient aussi bypassés, mais en créant cette table manuellement (avec la définition en ligne 338), tout s'est mis à fonctionner.
Voilà, si ça peut aider...
:)
The text was updated successfully, but these errors were encountered: