Paiement CyberMut™ ou PaiementCIC™


Page 'Paiement Sécurisé' Table

Pour tout rapport de bug ou suggestion, envoyez un mèl au Support ExperLog


Présentation

ExperShop supporte CyberMut™ ou PaiementCIC™ à partir de la version 1.2, (aucun test n'a été effectué avec les versions plus anciennes).

CyberMut™ et PaiementCIC™ s'apppuient sur la même plateforme technique : dans la suite du document, le terme "CyberMut™" sera utilisé, pour CyberMut™ ou PaiementCIC™.

Les librairies CyberMut™ ne sont pas incluses dans la livraison ExperShop: vous les obtiendrez du Crédit Mutuel ou du CIC à l'ouverture de votre compte CyberMut™.

Pour plus d'information, consultez le site web CyberMut™, ou celui de PaiementCIC™

Plateformes

Pour l'instant, nous n'avons testé que sous Linux (intel) et Windows NT...
Contactez-nous pour d'autres plateformes possibles.

Comment fonctionne CyberMut™ ?

CyberMut™ est un service de paiement sécurisé Crédit Mutuel.
Pour y accéder, vous devez ouvrir un compte bancaire professionnel au Crédit Mutuel, puis vous abonner au service.

Une fois remplies ces formalités, vous pourrez facilement configurer votre boutique ExperShop pour utiliser CyberMut™.

CyberMut™ dispose d'un serveur de paiement, qui prend le contrôle durant toute la phase de paiement: l'acheteur tape son numéro de Carte Bleue directement sur un serveur du Crédit Mutuel, qui contrôle la validitéde la transaction et accepte ou refuse le paiement; ensuite, le serveur CyberMut™ prévient le commerçant du succès ou de l'échec de la transaction.

Le service est asynchrone: la boutique est rappelée par le serveur de paiement via une requête HTTP contenant les informations relatives à l'état du paiement.

Le numéro de Carte Bleue du client est seulement connu de la banque: il n'est pas transmis au commerçant.

Configurer ExperShop pour CyberMut™

Les propriétés suivantes doivent être précisées dans le fichier de configuration de la boutique:

shop.Currency : la devise utilisée (par exemple, USD pour le Dollar, EUR pour l'Euro).

pay.cmut.URL : L'URL du service de paiement CyberMut™ (fournie par CyberMut™).
pay.cmut.version: la version de CyberMut™ (optionnel, 1.2 par défaut)
pay.cmut.TPE: Le numéro de TPE, fourni par CyberMut™
pay.cmut.MerchantId: le "Code Société" fourni par CyberMut™
pay.cmut.Lang: La langue utilisé par CyberMut™; Pour le français, spécifiez "francais" (valeur par défaut: "english").
pay.cmut.HomeURL: L'URL de la page principale de votre boutique.
pay.cmut.PayOkURL: Une URL de retour en cas de succés du paiement (en général, une page de remerciement qui affiche des informations sur la commande).
pay.cmut.PayErrURL: Une URL de retour en cas d'échec du paiement (en général, une page qui affiche un message d'erreur).
pay.cmut.SubmitText: Le texte affiché dans le bouton qui passe la main à CyberMut™.

CyberMut™ va vous demander un certain nombre d'informations permettant d'ouvrir votre compte, parmi lesquelles l'URL utilisée pour la confirmation des paiements.
Pour ExperShop, l'URL à fournir est de la forme:
http://votreserveur/servlet/com.expershop.pay.cmut.ESCgi2Servlet
(votreserveur est l'adresse de votre serveur web; /servlet/ doit être remplacé, le cas échéant, par le chemin utilisé pour atteindre les servlets ExperShop sur votre serveur web).

Installer CyberMut™ sur votre systéme

Lors de l'ouverture de votre compte CyberMut™, divers éléments vous seront remis, parmi lesquels les librairies CyberMut™ à installer sur votre système.

Installation sous Linux (intel)

La librairie ExperShop s'appelle libESCyberMut.so, et se trouve dans ExperSHOP/etc/cmut/linux-intel.

Principes:

  • La librairie doit etre visible des applications: par exemple, ajoutez /usr/local/ExperSHOP/etc/cmut/linux-intel dans /etc/ld.so.conf et exécutez ldconfig sous root; Avec Apache et JServ, il est recommandé d'ajouter wrapper.bin.parameters=java.library.path=/usr/local/ExperSHOP/etc/cmut/linux-intel dans jserv.properties pour s'assurer que l'application java voit la librairie.
  • La variable d'environnement CMKEYDIR doit pointer sur le répertoire contenant la clé CyberMut et être visible des applications: par exemple, avec Apache et JServ, ajoutez wrapper.env=CMKEYDIR=/usr/local/CyberMut dans jserv.properties (en supposant que votre fichier de clé est dans /usr/local/CyberMut).

Installation sous Windows NT

La librairie CyberMut™ s'appelle CMSSL.dll; La librairie ExperShop s'appelle ESCyberMut.dll, et se trouve dans ExperSHOP\etc\cmut\win32.

Pour cette raison, votre variable systéme PATH doit pointer vers ExperShop\etc\cmut\win32, ainsi que vers le répertoire contenant CMSSL.dll.

N'oubliez pas de positionner la variable d'environnement CMKEYDIR de CyberMut™ : elle doit pointer vers le répertoire qui contient le fichier de "clé commerçant" livré par CyberMut™.

Pour plus de détails concernant l'installation de CyberMut™, voir le manuel CyberMut™.

Appeler CyberMut™ depuis les templates ExperShop

Appeler CyberMut™, cela veut dire afficher une form HTTP, généré par CyberMut™ : cette form contient uniquement des chanps cachés ("hidden") et un bouton "submit".

ExperShop fournit une Action CyberMut™, via la classe com.expershop.pay.cmut.ESGenFormAct : cette action génére la form CyberMut™, et la stocke dans un paramétre de sortie appelé CyberMutFORM.

Pour afficher la form, vous devez invoquer l'action, puis afficher la valeur de CyberMutFORM; l'exemple suivant, lorsqu'il est copié dans un template DynHtml ExperShop, réalise les opérations nécéssaires :

$Action com.expershop.pay.cmut.ESGenFormAct
$CyberMutFORM$
La ligne "$Action" invoque l'action "com.expershop.pay.cmut.ESGenFormAct", puis $CyberMutFORM$ affiche la valeur du paramétre "CyberMutFORM".

L'action ESGenFormAct reçoit 2 paramètres optionnels:

  • cmut.Lang : Langue ("francais" ou "english"), remplace la valeur de pay.cmut.Lang dans le fichier de configuration
  • cmut.SubmitText : Texte du bouton (remplace la valeur de pay.cmut.SubmitText dans le fichier de configuration)
Note: l'action ESGenFormAct "pré-commande" le contenu du panier d'achat: lorsque CyberMut™ confirmera à ExperShop le succès du paiement, la "pré-commande" deviendra une commande à part entière.