Installation de l’API de paiement Sogenactif (ou SIPS) sur Boutik-one

Publié dans CMS | Marqué avec , ,
Share

Ce billet intervient dans le cadre de mon travail. Il résume les actions à effectuer pour installer un système de paiement sécurisé sur le système d’e-commerce Boutik-one. Il n’a pas pour but d’expliquer franchement comment faire, mais agit plutôt comme une aide-mémoire pour moi (et pour vous peut-être) et me permet de mettre des mots derrière ce que je comprend. Le système d’e-commerce utilisé est Boutik-one. C’est plutôt codé à l’arrache et c’est assez dur à bien appréhender, mais le résultat est la : ça à l’air de fonctionner pas mal. L’API de payement utilisée est celle de la Société Générale : Sogenactif aussi nommée SIPS. Elle fournit un environnement sécurisé pour payer avec tout type de banque et de carte de crédit. C’est la première API utilisée pour sécuriser les paiements en ligne, suivi par celle du Crédit Mutuelle. (réputée plus difficile à installer) !

Où afficher le bouton

Payer par Sogenactif ? Dans le fichier /select_payment.php -> vers la ligne 512 il y a des tests pour savoir quels systèmes de payement doivent être affichés.

<?php
if($paypalPayment == "oui") { ... }

Il n’y a plus qu’à rajouter en dessous notre bloc « Payement par carte de crédit sécurisé » et le bouton correspondant qui nous amène à la page de Confirmation (par exemple sogenactif_payement.php) pour débuter l’accès aux pages sécurisées de Sogenactif. Pour rendre cela configurable via l’interface d’administration, il suffit de d’ouvrir le fichier /admin/site_config.php. Il y a 3 choses à modifier :

  • Le haut du fichier : un lien « Payement par carte de crédit (Sogenactif) » qui est une ancre pointant vers le bon endroit du tableau
  • Vers le milieu de fichier, par exemple juste avant la configuration de Western Union, il faut rajouter une partie au tableau avec des boutons à cocher pour activer ou non ce système de payement, et on peut rajouter un champ texte pour préciser le merchantID.
  • Vers la fin du fichier, lors de la création du fichier de configuration, il faut récupérer les valeurs que l’on vient de rentrer. Bref, c’est assez simple à faire, alors autant ne pas s’en priver ^^ !

Installer Sogenactif

Installer Sogenactif est en fait assez simple. Il suffit de télécharger le système sur le site de la Société Générale, puis de mettre le tout dans un dossier (par exemple /sogenactif) dans sa boutique. Il serait aussi bon de télécharger toute la documentation au format PDF. (notamment celle d’installation, de programmation et le dictionnaire des mots clés) Reste à suivre la documentation Installation pour installer Sogenactif. En gros :

  • request, response doivent être accessible en 755
  • pathfile, parcom.sogenactif, doivent être modifié avec les bonnes données
  • call_request, call_response, call_autoresponse doivent aussi être modifié et adapté à votre boutique !

Quelques infos

Voici l’utilisation qu’il faut faire des pages telles qu’elles nous sont fournis par Sogenactif. Il sera bien sûr possible de modifier le nom de ces pages, voir de les intégrer dans nos propres pages. C’est à ce niveau là qu’il faut commencer à mettre à jour la base de données pour préciser le type de payement choisi, etc…

  • call_request : liste touts les moyens de paiement utilisables et permet d’en sélectionner un, on est alors redirigé vers le bon serveur de paiement. On peut afficher cette page directement lors de la page de confirmation.
  • Serveur de paiement : demande les coordonnées bancaires -> on peut valider ou annuler son achat. Si le paiement est validé (qu’il soit accepté ou refusé par la banque), call_autoresponse est alors exécuté. Ensuite le résultat du paiement est affiché à l’utilisateur et il peut cliquer sur « Retour à la boutique » pour afficher call_response. Call_response est directement affiché lorsque l’on annule un payement, sans passer par call_autoresponse.
  • call_response : sur cette page, il faut afficher le résultat du paiement, et un lien de retour vers la boutique.
  • call_autoresponse : est exécuté directement lorsqu’un paiement est validé (accepté ou refusé). C’est sur cette page qu’il faut faire les traitements suivants : mise à jour de la base de données, et envoie d’e-mail, et pourquoi pas mise à jour d’un fichier de log. (puisqu’on ne voit pas à l’écran le résultat de cette page) En effet, on est sur que cette page est exécutée, ce qui n’est pas la cas de call_response. (sauf en cas d’annulation)

D’autre part, le fichier PDF d’Installation fournit un merchantID pour aller sur un serveur de paiement de test, ainsi que de faux numéros de carte de crédit pour tester un payement accepté ou refusé.
Pour ma part, j’ai lutté un petit peu pour faire fonctionner Sogenactif, mais finalement, pas tant que ça. C’est surtout Boutik-one qui m’a donné du fil à retordre : que modifier dans la base de données lors d’un paiement accepté ou refusé. C’est hyper mal-fichu, il y a du code qui se répète de partout, c’est vraiment galère. Mais enfin bon, l’important c’est que le paiement est lieu de manière sécurisé, non ? !

Et si on passait en objet ?

Il se trouve qu’après avoir presque fini de configurer l’API de payement, un développeur de la boîte où je suis en stage m’a appris qu’il avait créé une class pour gérer SIPS. Et c’est vrai que ça facilite drôlement les choses ! Le constructeur définie tous paramètres de Sogenactif (notamment les pages call_reponse et call_autoresponse), et des méthodes permettent d’ajouter celle qui manque (le montant de l’achat par exemple). Une méthode affiche le formulaire pour choisir le type de payement et voilà c’est bouclé ! Bref, l’objet c’est le bien 😀

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*