eShop Plugin – Adaptation de l'API Payson pour la prise en charge des paiements en Euro

2011/12/2 | Actualités WordPress

Description du plugin

eShop est un plugin WordPress de payement en ligne suédois. Il inclut une gestion de panier, de produits et dispose de plusieurs « banques » pour les payements des utilisateurs.Liste des « banques » disponibles dans ce plugin:

  • Paypal
  • Payson -> avec la version 6.2.2, la gateway pour Payson utilise un ancien système et ne peut accepter les Euros.
  • iDeal Lite
  • eProcesingNetwork
  • Cash
  • Bank
  • Webtopay
  • Authorize.net
  • Ogone
Site du plugin: http://quirm.net/ – Wiki du plugin: http://quirm.net/wiki/ – Forum du plugin: http://quirm.net/forum/

Fonctionnement des gateway

eShop utilise quasiment de la même manière tous ses scripts. La page « checkout.php » gère la confirmation des données (panier, nom, prénom, coût etc..) et renvoie à la gateway de la banque choisie.La gateway Payson possède 3 fichiers:

  • payson.php
  • payson/payson.class.php
  • payson/index.php
La manière de cette gateway de communiquer avec Payson est de faire un formulaire avec les infos de l’utilisateur et d’envoyer une requête de type POST afin que la banque puisse avoir toutes ces infos et procéder au payement. Info: cette méthode, comme dit ci-dessus ne marche plus. Voir la partie « Problème avec la gateway Payson » pour la nouvelle méthode avec une API.
Le fichier « payson.php » comporte 3 parties différentes au sein de son script. Ces parties sont 3 actions possibles avec la banque, disponible via la page /checkout?eshopaction=ACTION
  • redirect -> prépare les données entrées dans le formulaire de payement, et lance la connexion vers le site de la banque pour que l’utilisateur puisse faire son achat.
  • process -> procède à la préparation/modification des données de payement insérées précédemment.
  • paysonipn -> une fois le payement effectué sur le site de la banque, cette action est appelée afin d’envoyer un mail de confirmation à l’entreprise et traiter les données reçues de la banque.
Les redirections en fonction des actions sont automatiques. Il n’y a donc normalement pas besoin d’intervenir dessus.

 Le fichier payson.class.php est une classe permettant d’y ajouter les champs de l’utilisateur et de préparer le formulaire qui sera à Payson.Le fichier index.php définit certaines variables de configuration. 

Problème avec la gateway Payson

Description du problème:eShop version 6.2.2 ne prend pas en compte les payements en Euro avec Payson et ne prend uniquement les SEK (monnaie suédoise). Ceci est dû à la gateway pour Payson qui utilise une ancienne façon de communiquer avec cette banque. Nous avons essayé de modifier le code afin de prendre les Euro en fonction, mais ceci s’est avéré impossible.Nous avons donc utiliser un nouvel API disponible sur le site de Payson, prenant en compte cette monnaie.Lien d’explication de l’API: http://api.payson.Lien de téléchargement de l’api avec exemple: https://github.com/PaysonAB/api-integration-php Pour intégrer cet API dans la gateway Payson, il faut agir sur le fichier payson.php et intégrer l’API dans le dossier payson/. Le reste des fichiers ne doivent pas être touchés.Dans le fichier payson.php, il y a 1 action à modifier: « redirect ». Cet API possède différentes classes utiles pour la connexion auprès de Payson. Dans la partie « redirect », créer la connexion en fonction des exemples de Payson en se basant sur l’ancien code pour la récupération des variables.Pour avoir le code modifié, chapitre « Intégrer la gateway payson modifiée ». 

Intégrer la gateway Payson modifiée

En résumé, les modifications à faire pour intégrer l’API sont:

  • télécharger l’API dans le dossier payson/
  • télécharger le fichier payson.php modifié et le copier à la place de l’ancien.
Lien vers payson.php modifié: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx

 Faire également attention  à modifier la variable « cancelUrl » dans payson.php afin de la redirigé sur le site, par exemple sur la page d’accueil.Cette variable sert à quand l’utilisateur annule son payement. Il sera redirigé sur le lien indiqué. 

Utilisé pour quels sites?

 

Support ou demande d’informations concernant cette adaption du plugin ?

Veuillez nous contacter via notre formulaire de contact pour toute question relative.