Module ATOS/SIPS

Je vous l’avais promis, le voici pour l’instant en version bêta, il s’agit du connecteur Atos/SIPS pour Prestashop. Pas mal pour l’ouverture de ce blog non ?

Il ne s’agissait à l’origine que d’une correction par rapport à celui gratuit qui existait ici :
http://sourceforge.net/projects/modatospresta/
ou bien
http://www.votre-ecommerce.com/module-de-paiement-securise-atos-284/
qui malheureusement souffrait de quelques défauts :

  • Génère un ID de transaction dès l’affichage du choix de paiement.
  • Obsolescence programmée du générateur d’ID de transaction, ainsi après 1 000 000 (un million) d’affichage du choix de paiement (même si l’on choisit un autre module) si l’on ne purge pas le système d’unicité des ID de transaction (un fichier texte) régulièrement le module cesse de fonctionner en tombant dans une boucle de récursion infinie. De plus ce système pose de sérieux problèmes de performances.
  • Ne gère pas la réponse automatique/silencieuse de la banque, la plus importante, car elle est envoyée systématiquement alors que l’utilisateur ne clique pas toujours sur le bouton de retour à la boutique, auquel cas sans réponse automatique la commande n’est pas prise en compte côté boutique.
  • Se base sur le cookie de session du client: en cas de session expirée au retour de l’utilisateur, pas de prise en compte de la commande côté boutique.
  • Incompatible avec le module GAnalytics. (connecteur Prestashop/Google Analytics).
  • Supporte uniquement les paiements en euros.
  • Supporte uniquement la langue française (aussi bien sur la boutique que sur le serveur de la banque).

ce qui est fort dommage étant donné que l’idée d’inclure les fichiers de configuration de différentes banques pour faciliter la vie des utilisateurs basiques était très bonne.

Je suis donc parti de ce module, à l’origine pour le corriger, mais découvrant de plus en plus des limitations sus-citées, je n’ai conservé que l’idée de proposer les fichiers de configuration de multiples banques dès l’installation et je suis reparti de zéro, en profitant pour améliorer le back-office, refactoriser le code pour simplifier l’ajout de nouvelles banques ou modifier son comportement et ajouter quelques améliorations de l’interface back-office comme la possibilité de choisir le statut d’une commande dont le paiement vient d’être validé ou le paramètrage des logs : activation/désactivation, format texte et/ou CSV (formattés pour Excel en français).

Il n’est pour le moment qu’en bêta-test, il doit donc être recetté avant d’être utilisé sur une boutique en production.

Téléchargements

23/09/2010 – version 1.0 stable
Plus d’info sur la page de téléchargement.
Version 1.0

09/09/2010 – version Beta.4 RC2
– Ajout de hooks, cf documentation
Fred38 [http://www.01primalarme.fr/] a financé le développement d’une option dans l’administration du module pour saisir un ID de transaction minimum.
Module ATOS/SIPS version Beta.4 RC2
Une désinstallation de l’ancienne version est nécessaire avant mise à jour vers la beta 4 RC2.

04/08/2010 – version Beta.3 RC1
– Correction et complétion des traductions françaises
– Prise en compte des hébergement ayant déjà les exécutables Atos
– Changement correction d’un bug faisant apparaitre les phrases de confirmation de commande Atos même lors de l’utilisation d’un autre moyen de paiement
– Mise à jour et complétion de la documentation
– Ajout d’un champs de configuration avancée pour gérer les moyens de paiement utilisables sous Atos.
Module ATOS/SIPS version Beta.3 RC1
Une désinstallation de l’ancienne version est nécessaire avant mise à jour vers la beta 3 RC1.

28/07/2010 – version Beta.2
– remplacement du fichier atos.gif corrompu
– correction de l’URL du fichier atos.gif sur la page de départ en paiement
– ajout d’un message d’erreur lorsque le chemin vers le dossier des fichiers de configuration est trop long
– ajout d’un début de documentation sur les autorisations nécessaires pour les fichiers du module
Module ATOS/SIPS version Beta.2

27/07/2010
Module ATOS/SIPS version bêta

Dans un premier temps, il faudra se contenter du système de commentaire de ce wordpress pour me rapporter les bugs que vous rencontrerez, les questions et les demandes de fonctionnalités, ou du fil de discussion sur le forum de prestashop.

Supportez l’effort ATOS/SIPS pour Prestashop (un ordinateur portable pour développer ne serait pas du luxe 😉 ) :


About Damien VERON

Développeur d'applications web et desktop
Cet article a été publié dans Module Tgg_Atos pour Prestashop (module de paiement ATOS/SIPS gratuit), Modules. Permalien.

15 Responses to Module ATOS/SIPS

  1. Ben dit :

    Ha yes, ça m’a l’air propre 🙂
    je teste ce module très bientôt, intéressé par un retour?
    cordialement, Ben

  2. david dit :

    Bonjour,

    Bon courage pour la suite de votre module.
    Elle « corrige » une énorme épine dans le pied de prestashop qui ne propose pas un tel module par défaut.

    Dès que ma boutique aura généré un peu d’argent, je m’engage à vous faire un versement par paypal pour supporter le module.

    bonne continuation,
    David

  3. Bonjour et merci pour ce module !
    L’ancien module était effectivement ni fait ni à faire !

    J’avais une question à propos de votre module, en version Beta 4 RC2.
    J’ai constaté que l’adresse email du client était bel et bien envoyé à la banque. Or, celle-ci n’apparait pas dans mon journal de transactions.
    Savez-vous pourquoi ?

    Merci de votre réponse.

    • Damien VERON dit :

      Je ne sais pas, je n’ai pas de certificat de production, mais cela ne m’etonne pas, la qualité du service fourni par Atos tient bien souvent du foutage de gueule, exemple : lorsque vous experimenterez un plantage des serveurs Atos (oui oui, ca arrive), amusez vous a joindre la hotline pour les entendre vous mentir effrontemment que leur serveur n’a aucun problème…
      Sur un site qui faisait de gros traffic (plus d’une vente par minute) j’ai meme eu la surprise de trouver dans les logs la trace de deux reponses automatiques/silencieuses pour la meme transaction, la premiere disait transaction acceptée, la seconde, de 5s a 10m plus tard, annulait la transaction, et ceci pour plusieurs transactions sur la meme journée, dans ces moments la, quand on est en train de calculer le temps a passer pour corriger leurs conneries dans une BdD osCommerce et que leur hotline vous envoie chier avec pour unique reponse « c’est normal, vous n’avez qu’a interdir l’affichage du bouton annuler sur la page de paiement », vous prenez une grande respiration et vous dites « Merci Atos » 😉

  4. Frederic dit :

    Bonjour

    Merci pour ce module ,
    débutant dans prestashop et dans la VAD je rencontre certaines difficultés concernant le paramétrage de celui ci via BNP/Mercanet , notamment pour la mise en pré production

    Est il envisageable de vous contacter pour une aide a la mise en place ? rémunérée bien entendu

    Cordialement

  5. Lionel dit :

    Salut Damien,
    Je viens d’installer avec succès ton module, j’en suis au paiement par carte, dois-je mettre un numéro de carte qui fonctionne pour le tester ou la banque va t’elle me fournir un N° de carte test ? je ne voudrais pas faire de bêtises…

    • Damien VERON dit :

      Bonjour,

      Votre banque doit vous avoir fourni une documentation avec les numéros de carte à utiliser en mode démonstration, vous ne pourrez utiliser de vraies cartes qu’à partir du mode pré-production.

  6. Nicolas dit :

    Bonjour Damien

    Félicitation pour votre module et merci de le mettre à disposition.

    J’ai un souci au moment du paiement par carte cela m’inscrit :

    Le paiement par carte est indisponible jusqu’à demain, nous vous prions d’accepter nos excuses pour cet inconvénient.

    Et je reçois par mail le message d’erreur suivant :

    (127): sh: /var/www/vhosts/mon-domaine.fr/httpdocs/ps/b/bin/request: No such file or directory

    Auriez vous une idée du problème ? Merci

  7. Jérôme dit :

    Bonjour,
    J’ai installé votre module Atos sur un site et j’ai toujours le même message : « Le paiement par carte est indisponible jusqu’à demain, nous vous prions d’accepter nos excuses pour cet inconvénient. ».

    Ce que je comprends pas c’est que j’ai déjà fait l’installation sur d’autres sites et je n’avais pas ce problème.
    J’y ai mis les mêmes droits :
    -666 sur le dossier log
    – 766 sur param
    – 755 sur request et response.exe

    Seule différence entre les sites sur lesquels cela fonctionne c’est la banque (Crédit Agricole fonctionne pas alors que Banque Pop et Société Générale marche).

    Auriez-vous une idée de ce qui n’irait pas car cela fait plusieurs jours que je cherche, installe et re-installe sans succès…

    Merci pour votre aide !

    J.

    • Damien VERON dit :

      Bonjour,
      cette version n’est plus supportée depuis longtemps,
      merci d’utiliser une version à jour, de lire la documentation, et si le problème persiste, de poster sur la page correspondant à la version utilisée en fournissant les données adéquates sur votre hébergement (système d’exploitation et environnement d’hébergement avec les versions).

  8. kalia dit :

    Bonjour,

    Merci pour ce module 🙂
    C’est la première fois que j’essaye d’installer un module de paiement autre que paypal lool.
    Et je suis assez perdu, après l’installation en mode test j’ai cet erreur,
    j’ai activer le débug et j’ai :
    TGG_ATOS DEBUG OUTPUT
    array(4) {
    [« cmd »]=>
    string(633) « /home/www/modules/tgg_atos/bin/request « amount=4300 » « automatic_response_url=http://monurl.com/modules/tgg_atos/front-ctrl/payment-autoresponse.php » « cancel_return_url=http://monurl.com/modules/tgg_atos/front-ctrl/payment-return.php » « capture_day=0 » « capture_mode=AUTHOR_CAPTURE » « currency_code=978 » « customer_id=2 » « customer_email=mail@test.com » « customer_ip_address=mon ip » « language=fr » « merchant_id=082584341411111 » « normal_return_url=http://monurl.com/modules/tgg_atos/front-ctrl/payment-return.php » « order_id=2 » « transaction_id=1 » « pathfile=/home/www/modules/tgg_atos/param/pathfile » 2>&1″
    [« status »]=>
    NULL
    [« atos_return_code »]=>
    string(0) «  »
    [« atos_result »]=>
    NULL
    TGG_ATOS DEBUG OUTPUT
    TGG_ATOS: ERREUR DURANT L’APPEL DE L’EXÉCUTABLE REQUEST

    L’exécutable request a retourné une erreur.
    Y’aurai -t-il un tutorial pour l’installer pour une débutante comme moi svp?

    j’ai mis mon site prestashop sur un hébergement premium,
    j’utilise la dernière version de Prestashop.

    Merci d’avance,

    • Damien VERON dit :

      Bonjour,
      merci de poster sur la page de version appropriée ou au moins d’indiquer la version utilisée, de plus indiquer le système d’exploitation (nom, version, 32 ou 64 bits…) du moins si vous voulez que quelqu’un puisse vous aider…
      En effet lorsque l’on souhaite obtenir l’aide d’autrui il y a quelques efforts personnels à faire.
      Il n’y a pas de tutoriel pour débutant étant donné qu’une installation sécurisée de cette passerelle bancaire nécessite de solide connaissances dans :

      le système d’exploitation utilisé (linux ?), son shell, sa configuration et la mécanique de sécurité en environnement multi-utilisateur si le serveur n’est pas dédié (cela dit même dans le cas d’un serveur dédié ce n’est pas du luxe que de connaitre cette facette du système)
      la solution d’hébergement et sa configuration (Apache + PHP je suppose ? Si Apache, de quel MPM s’agit-il : prefork, worker ou autre ? Toujours si Apache : quelle intégratiion de PHP : mod_php, via un wrapper CGI ou CLI ?)

      Comme vous le voyez, il n’est pas possible de faire un tutoriel générique pour débutant, il y a trop d’environnements différents impliqués avec leurs spécificités à prendre en compte. Si cela vous révolte c’est auprès d’ATOS/SIPS et des banques exploitant encore ce système obsolète qu’il faut se plaindre, de mon côté je ne fait que fournir une passerelle pré-construite pour faire gagner du temps aux techniciens et leur éviter de réinventer la roue à chaque installation d’une passerelle de paiement ATOS/Prestashop, et cela avec un code que je trouve bien plus fiable et personnalisable que la plupart des solutions que j’ai vu jusqu’ici, que ce soit des modules payants ou gratuits.
      Si vous cherchez sur Internet vous trouverez de nombreux tutoriaux de niveau débutant pour installer une telle passerelle mais ceux que j’ai vu jusqu’ici ne couvrent qu’un seul environnement d’hébergement et/ou laissent des failles de sécurité béantes, et je ne souhaite pas devenir moi-même responsable d’installations bâclées d’une passerelle bancaire pouvant mettre en danger les informations bancaires des personnes utilisant la passerelle et permettre de détourner les paiements (que ferez vous lorsqu’un des clients de la boutique se sera vu débité du montant de sa commande, voir plus, mais que le paiement aura atterri sur le compte bancaire d’un pirate ?).
      J’ai essayé de verrouiller au possible le module pour vous éviter de faire des erreurs dangereuses, et faciliter au possible son installation, malheureusement je ne vois pas comment faire en sorte qu’il puisse être installé de manière sécurisée par des néophytes. Je vous conseille d’engager un professionnel, vous gagnerez du temps, en effet la plupart du temps un technicien expérimenté sur la solution ATOS et l’hébergement utilisé fera le travail en une ou deux heures, de manière propre et sécurisée, pour un débutant cela peut facilement prendre 3 jours de travail sans pour autant être certain que l’installation soit bien sécurisée.

      Concernant les logs postés, il semblerait que votre hébergement ne respecte pas les pré-requis pour une implémentation PHP de la passerelle ATOS puisqu’il semblerait que l’exécution de commandes shell depuis PHP ne soit pas autorisé (cf doc ATOS). Si tel est bien le cas il vous faudra changer cette configuration ou vous tourner vers une implémentation PERL-CGI (si autorisé par l’hébergement). En voici une : http://www.pierreyves.be/2010/03/16/module-atos-cgi-perl/ (je ne l’ai jamais testé ni ai vérifié le code source, je ne serait donc pas garant de sa fiabilité, mais au moins son auteur est une personne ayant de l’expérience et il y a donc de fortes chances que le travail soit propre).

      Si vous cherchez un technicien pour l’installation, vous pouvez chercher parmi les commentaires des pages de ce blog dédiées au module, je suppose que l’équipe Prestashop pourrait aussi accepter de vous l’installer même s’ils possèdent leur propre module (attention, je n’ai jamais testé leur module mais j’en ai eu des retours peu flatteurs, surtout sur le manque de possibilités de configuration), sinon je propose aussi des prestations d’installation/configuration et support à l’utilisation.

      Cordialement,
      TrogloGeek