TggAtos, module de paiement opensource pour Prestashop 1.6/1.7 ATOS Sips 2.0 par Wordline (et qui accepte SSL)
Version de test :
1 2 3 4 |
PHP5 Nginx Prestashop 1.6.15 à 1.6.23 TggAtos 4.1.3 |
Introduction
Les modules officiels de paiements avec contrat VAD ATOS Sips 2.0 de Prestashop et du LCL (Sherlock’s) sont incompatibles avec la protection SSL. En fait, l’adresse de retour permettant la confirmation de la transaction ne peut être appelée. Ainsi, vous ne recevrez ni la confirmation de paiement par mail ni la notification du back-office Prestashop. D’autant que la commande n’est pas créée et il est impossible de réaliser le suivi par Prestashop.
C’est un problème assez grave car le client a bel et bien payé, mais vous n’avez aucun moyen de le savoir dans l’immédiat sinon de vous connecter au logiciel de gestion de votre banque pour consulter les transactions.
Beaucoup de solutions existent mais TroloGeek a créer un module qui est non seulement opensource mais aussi bien plus puissant que les modules officiels ATOS 2.0 et qui permet de forcer l’adresse de retour. Ce module s’appelle TggAtos.
Si vous voulez ajouter la protection HTTPS à votre site boutique, l’implémentation de ce module est une bonne solution (et gratuite). Du moins si votre banque dispose de ATOS 2.0 Sips. Renseignez-vous auprès du service technique de votre banque pour connaître votre version d’ATOS Sips.
Téléchargement de TggAtos
Nous allons reprendre une partie du tutoriel officiel d’installation en y ajoutant au fur et à mesure du temps quelques modifications notamment la modification du logo ou de la page de paiement. Mais surtout de forcer l’adresse de confirmation.
Le GitHub du module : https://github.com/TrogloGeek/prestashop-tggatos-module
- Le répertoire du FTP est <repertoire_ftp>
- Le répertoire du prestashop est <repertoire_prestashop>
- Le répertoire du module est <tggatos>
(situé dans <repertoire_ftp>/<repertoire_prestashop>/modules/<tggatos>)
Installation de TggAtos
- Décompresser le .zip et renommer le dossier prestashop-tggatos-module-RC_4.1.3 en tggatos
- Placer le répertoire du module dans <repertoire_prestashop>/modules/tggatos
- Remplacer les binaires dans <tggatos>/bin par les binaires de votre banque ou de votre prestataire ATOS Sips. Important, si vous utilisez un logiciel de transfert SFTP, il faut envoyer les fichiers binaire en mode binaire sous peine d’avoir une erreur du type Error when calling request binary, system exit code
- Mettre le fichier certification fourni par votre banque dans le dossier <tggatos>/param/ ce fichier est de la forme certif.<languagee>.<id_marchant>
- Supprimer les autres fichiers certif.* dans le dossier, ils sont inutiles
- Mettre le fichier pathfile fourni par votre banque dans le dossier <tggatos>/param/
- Régler les permissions :
- <tggatos>/bin, son contenu, et ses dossiers en mode execution pour l’utilisateur php
- chmod -R 755 <tggatos>/bin
- <tggatos>/param et son contenu en mode écriture pour l’utilisateur php
- chmod -R 770 <tggatos>/param
- <tggatos>/log en mode écriture pour l’utilisateur php
- chmod 770 <tggatos>/log
- <tggatos>/bin, son contenu, et ses dossiers en mode execution pour l’utilisateur php
- Installer le module par le back-office de prestashop
- Pour des questions de sécurité, déplacer les dossiers ci dessous à la racine de <repertoire_ftp> si vous y avez accès ou dans un dossier non accessible par le protocole HTTP :
- <repertoire_ftp>/tggatos/param et aller dans la section BASIC du module dans le back-office et indiquer le nouveau répertoire dans le champs Location of ATOS configuration
- <repertoire_ftp>/tggatos/log et aller dans la section ADVANCED du module dans le back-office et indiquer le nouveau répertoire dans le champs Responses logs storage path
- Vérifier que les permissions sont toujours respectées après le déplacement de ces dossiers
- Renseigner votre banque dans la section BASIC, dans le champs Your bank
- Renseigner votre certificat dans la section BASIC, dans le champs Select the production certificate
- Renseigner votre fuseau horaire dans la section ADVANCED, dans le champs transaction_id time zone
- Pour les utilisateurs de SSL, dans la section ADVANCED, cocher la case Force user return from bank
- Renseigner le nom du fichier du logo que vous avez fourni à votre banque dans la section GRAPHIC, dans le champs Center banner
- Si vous n’avez pas d’autre logo, dans la section GRAPHIC, laisser le champs Upper right logo vide
- Selon votre besoin, choisissez l’un des trois moyens de paiement disponibles :
- Dans la section SINGLE, cocher la case Enable single payment mode
- Dans la section 2TIMES, cocher la case Enable 2 times payments mode
- Dans la section 3TIMES, cocher la case Enable 3 times payments mode
- Si vous pouvez accepter les cartes American Express :
- Dans le cas du paiement simple, dans la section SINGLE, dans le champs Accepted payment means, remplacer
CB,1,VISA,1,MASTERCARD,1 par CB,1,VISA,1,MASTERCARD,1,AMEX,1 - Dans le cas du paiement en deux fois, dans la section 2TIMES, dans le champs Accepted payment means, remplacer
CB,2,VISA,2,MASTERCARD,2 par CB,2,VISA,2,MASTERCARD,2,AMEX,2 - Dans le cas du paiement en trois fois, dans la section 3TIMES, dans le champs Accepted payment means remplacer
CB,3,VISA,3,MASTERCARD,3 par CB,3,VISA,3,MASTERCARD,3,AMEX,3
- Dans le cas du paiement simple, dans la section SINGLE, dans le champs Accepted payment means, remplacer
- Passer le module en mode (Pre-)Production, dans la section BASIC, sélectionner (Pre-)Production: Use your production certificate dans le champs ATOS Run mode
Vous pouvez dés à présent accepter les paiements par Carte Bleue
Si vous rencontrez un problème pendant l’installation, vous pouvez activer le mode debug de Prestashop en mettant la constante _PS_MODE_DEV_ égale à TRUE, en activant le journal d’erreur de PHP et en mettant la constante error_reporting égale à -1 pour avoir plus d’informations
Petites améliorations graphiques de TggAtos
Dans un premier régler les positions des cadres de paiement. Pour ce faire, rendez-vous dans les back-office de prestashop puis modules > positions et rechercher le point d’accroche displayPayment.
Sources
https://github.com/TrogloGeek/prestashop-tggatos-module/blob/RC_4.1.3/README.md
Todo
- Tester et régler CB.1
- Changer les logos
- Changer la page finale de paiement
- Changer le cadre
15 commentaires
elisaescobedo · 1 avril 2019 à 17 h 57 min
Thanks for the excellent guide
f6ddw · 18 mai 2020 à 12 h 11 min
Bonjour,
Tout se passe bien jusqu’à l’installation du module dans le back-office. Une fois le fichier zip téléversé, j’obtiens ce message
d’erreur :
Installer un module
error
Aïe… le chargement a échoué.
Que s’est-il passé ?
Ce fichier ne semble pas être un fichier .zip de module valide.
David Sprang · 18 mai 2020 à 15 h 01 min
Bonjour, merci pour votre message !
Alors, lorsque vous téléchargez un module Prestashop sur GitHub, il faut le décompresser, le renommer et l’installer par FTP.
La raison est que GitHub renomme les dossiers et donc Prestashop n’arrive pas à retrouver le bon nom du module.
Je vous invite à faire les manipulations ci-dessous :
– Décompresser le .zip et renommer le dossier prestashop-tggatos-module-RC_4.1.3 en tggatos
– Placer le répertoire du module dans ftp/modules/tggatos
f6ddw · 20 mai 2020 à 11 h 35 min
Bonjour,
J’ai fait tout ça et mis les bons droits mais le module n’est toujours pas visible depuis BO.
David Sprang · 20 mai 2020 à 11 h 53 min
Bonjour,
Vous avez Prestashop 1.6 ou 1.7 ?
Bien à vous,
f6ddw · 21 mai 2020 à 10 h 46 min
Bonjour,
J’ai Prestashop 1.7.6.5 sous apache2 et kubuntu 20.04 LTS.
Tout tggatos appartient à www-data:ww-data 775.
Merci.
f6ddw · 22 mai 2020 à 9 h 23 min
Bonjour,
C’est Prestashop 1.7.6.5 sous Apache 2 et kubuntu 20.04.LTS.
Tout le répertoire tggatos appartient à www-data:www-data 775.
Merci.
David Sprang · 22 mai 2020 à 10 h 12 min
Bonjour,
Le nom du module dans la liste du module est bien « Carte bancaire avec SIPS/ATOS » ?
f6ddw · 22 mai 2020 à 10 h 23 min
Oui, c’est dans fr.php :fr.php:$_MODULE[‘tggatos_cbbe43f5ac4e212b0e3a30ba7ebd01b2’] = ‘Carte bancaire avec SIPS/ATOS’;
fr.php:$_MODULE[‘tggatos_96f00a5ed5345899a56bdb71a08074bb’] = ‘SIPS/ATOS module de paiement par TrogloGeek’;
tggatos.php: $this->displayName = $this->l(‘CC Payment with SIPS/ATOS’);
tggatos.php: $this->description = $this->l(‘SIPS/ATOS payment module by TrogloGeek’);
Laurent · 6 juin 2020 à 2 h 31 min
J’ai le même problème. Module 5.1 installé sur un PS tout frais 1.7.6.5, mais il apparait dans « Autre », et pas « Paiement ».
La configuration est OK, mais au checkout je n’ai toujours pas de mode de paiement, malgré la vérification des groupes de clients, devises et pays.
Il y a un rapport avec la liste officielle des modules de paiement, j’ai tenté de modifier le fichier xml en local mais cela n’a rien changé.
Snif :'(
David Sprang · 9 juin 2020 à 9 h 49 min
Bonjour, sur le GitHub, il est indiqué que le module est en BETA pour Prestashop 1.7.
J’ai vu que vous avez ouvert une issue sur le GitHub, vous avez pu trouver la solution ?
Je vais bientôt passer mes Prestashop en 1.7, je m’y pencherai dès lors.
Bien à vous,
David Sprang · 22 mai 2020 à 10 h 43 min
Alors, je viens de réussir à l’installer sous Prestashop 1.7
– J’ai téléchargé l’archive zip sur https://github.com/TrogloGeek/prestashop-tggatos-module
– J’ai ouvert l’archive avec 7-zip
– J’ai renommer le dossier principal « prestashop-tggatos-module-5.1.0 » en « tggatos » – dans l’archive –
– J’ai importer le module en .zip à travers le BO
Et j’ai une installation réussie, vous pouvez essayer ?
f6ddw · 22 mai 2020 à 11 h 31 min
Ok, ça fonctionne !
J’avais essayé une installation manuelle du module qui ne fonctionne pas :
– téléchargement du zip sur ma station ;
– unzip ;
– renommage en tggatos.
– téléversement sur le serveur ;
– réglage des droits.
Merci tout plein !
J’utilise tggatos depuis une vingtaine d’années pour une association afin de gérer les cotisations, les réservations du congrès, du salon annuel et pour la boutique.
Super boulot et je sais parfaitement le travail que ça demande.
David Sprang · 22 mai 2020 à 11 h 38 min
Super ! Il ne vous reste plus qu’à configurer le module 😉
f6ddw · 22 mai 2020 à 20 h 00 min
Ok, ça ne devrait pas poser de problème.
Si ça vous intéresse, j’ai écrit une classe php
transaction
qui peut être utilisée depuis n’importe quelle page php et gère entièrement une transaction bancaire, y compris les retours et leur traitement et suivi.Contactez-moi en direct.