Tutoriel : Installation d'une solution de paiement en ligne E-Transactions (SIPS-ATOS) sur un serveur Apache avec PHP
Date de publication : 21 juin 2008
Par
Thierry Godin (Voir les autres articles)
Ce tutoriel a pour but d'expliquer l'installation d'un système de paiement en ligne E-Transactions (SIPS-ATOS) sur un site e-commerce utilisant un serveur Linux avec Apache et PHP.
I. Généralités
I-A. Pré-requis
I-B. Introduction
I-C. Présentation de l'API SIPS-ATOS
I-C-1. Contenu du package
I-C-2. Documentation
I-D. Présentation du processus de paiement en ligne
I-D-1. Principe de fonctionnement d'une transaction en ligne (Schéma)
II. Exemple d'installation pour une boutique en ligne avec un caddie simple (1 article)
II-A. Introduction
II-B. Installation des fichiers binaires
II-C. Installation des fichiers de paramètres et des certificats
II-C-1. Fichier pathfile
II-C-2. Certificats : fichiers certif.fr.xxxxxxxxxxxx
II-C-3. Paramètres du commerçant : Fichier parmcom.xxxxxxxxxxxxx
II-C-4. Paramètres du fournisseur : Fichier parmcom.e-transactions
II-C-4-a. Paramètre : PAYMENT_MEANS
II-C-4-b. Paramètre : BLOCK_ORDER
II-C-4-c. Paramètre : HEADER_FLAG
II-C-4-d. Paramètre : TEMPLATE
II-C-5. Autres fichiers et sous-dossiers
II-D. Installation des fichiers PHP
II-E. Intégration du fichier d'appel (call_request.php)
II-E-1. Introduction
II-E-2. Récupération du contenu du caddie
II-E-3. Mise en place des paramètres de transaction
II-E-4. Affichage des moyens de paiement
II-E-5. Le fichier call_request.php complet avec un minimum de commentaires
II-E-6. A propos des paramètres de transaction
II-F. Intégration du fichier de réponse automatique (call_autoresponse.php)
II-G. Intégration du fichier de réponse manuelle (call_response.php)
II-H. Mise en place sur le serveur de production
II-I. Essais de fonctionnement et de paiement (Phase de tests)
II-I-1. Essais avec l'identifiant de commerçant et le certificat de test
II-I-2. Essais avec l'identifiant de commerçant et le certificat final (Phase de pré-production)
II-J. Passage en production
III. Création d'un modèle personnalisé pour la passerelle de paiement (Template)
III-A. Présentation
III-B. Création du fichier HTML
III-C. Template en plusieurs langues
III-D. Un Template pour chaque page
III-E. Utilisation de l'utilitaire de test de Template pour Windows (test_template.exe)
III-F. Intégration du Template à la passerelle de paiement
IV. Conclusion
V. Remerciements
I. Généralités
I-A. Pré-requis
De bonnes connaissances de l'environnement Linux et de PHP sont nécessaires pour pouvoir installer une solution de monétisation sur un site web e-commerce.
PHP :
- Les sessions
- Les tableaux
- L'envoi d'email
- Lire et écrire dans un fichier
LINUX :
- Les chemins
- Les droits des fichiers
I-B. Introduction
Ce tutoriel devrait pouvoir s'appliquer probablement à toute solution de paiement en ligne qui utilise le système SIPS-ATOS, mais pour que l'exemple reste concret, nous allons nous pencher plus particulièrement sur le système E-Transactions du Crédit Agricole.
Nous allons étudier le cas de l'API pour Linux version 6 sur un serveur Linux OpenSuse (10.2) avec Apache (2.2.3) et PHP (5.2.5).
I-C. Présentation de l'API SIPS-ATOS
Dans ce tutorial, le package SIPS-ATOS nous a été délivré en pièce jointe d'un courrier électronique au format *.zip
Vous devez également avoir reçu votre
certificat électronique de commerçant par email. Le certificat est empaqueté dans un fichier exécutable chiffré (Security Box). Vous recevrez par courrier postal le code qui permettra de déchiffrer votre certificat pour l'enregistrer sur votre disque dur.
Nous passerons ici sur toutes les formalités administratives relatives à la création de votre boutique en ligne auprès de votre établissement bancaire (constitution du dossier, présentation de documents administratifs, contrats et signatures) auxquelles vous devrez vous soumettre.
I-C-1. Contenu du package
Décompressez le fichier ZIP dans le répertoire de votre choix sur votre disque dur, puis ouvrez-le. Il devrait contenir :
- Un dossier bin : Il contient les exécutables request et response
- Un dossier documentation : Il contient toute la documentation nécessaire à l'installation ainsi qu''un guide du programmeur et un dictionnaire des données
- Un dossier logo : Il contient les logos de cartes bancaires
- Un dossier param : Il contient un certificat de test, ainsi qu''un fichier de paramètres du commerçant , un fichier de paramètres du fournisseur et le fichier pathfile
- Un dossier sample : Il contient des exemples de fichiers d'appel de requête de transaction et de réponse pour PHP et Perl
- Un dossier test_template : Il contient un Template d'exemple ainsi qu'un utilitaire de test test_template
- Un fichier de version
Dans ce tutoriel, nous laisserons de côtés tous les fichiers Perl (qui sont livrés avec).
Les principaux fichiers sont expliqués en détail plus loin.
I-C-2. Documentation
Ce tutoriel n'a pas pour but de se substituer à la documentation officielle qui vous a été fournie avec l'
API.
N'hésitez pas à lire les différents guides d'installation.
Lorsque vous serez un peu plus familier du système de paiement, vous vous pencherez sûrement sur le Guide du programmeur ainsi que le Dictionnaire des données. Ces documents vous permettront de passer des paramètres supplémentaires lors de la transaction et d'interpréter tous les messages de retour.
Le Dictionnaire des données vous sera également très utile : Chaque champ, chaque paramètre doit observer des règles de syntaxe très strictes.
I-D. Présentation du processus de paiement en ligne
Comme un schéma vaut mieux qu'un long discours, je vous laisse découvrir toute la chaîne du processus de paiement au travers du schéma ci-dessous.
I-D-1. Principe de fonctionnement d'une transaction en ligne (Schéma)

Shéma du déroulement d'une transaction en ligne
- Le client a rempli le caddie et le valide pour procéder au paiement
- Le fichier call_request.php est exécuté et interroge le binaire request
- Affichage des moyens de paiement
- Le client clique sur la carte bancaire. Les données de la transaction sont envoyées au serveur du fournisseur
- Affichage du formulaire de saisie de carte bancaire
- Le client saisit ses numéros de carte puis valide. (Si le client abandonne, il est redirigé vers la page d'annulation : 6a -> 6b)
- Le serveur du fournisseur demande l'autorisation auprès d'une institution financière (réseau bancaire)
- La réponse est traitée par le fournisseur
- La requête est renvoyée vers le fichier de réponse automatique call_autoresponse.php et le fichier de réponse manuelle call_response.php (9 et 9.a)
- Ces deux fichiers sont exécutés et interrogent le binaire response pour interpréter le résultat (10 et 10.a)
- Le fichier de réponse manuelle call_response.php affiche la page de résultat (Succès ou échec)
II. Exemple d'installation pour une boutique en ligne avec un caddie simple (1 article)
II-A. Introduction
Dans cet exemple, considérons que notre boutique permette la vente de logiciels en ligne.
Le client, après s'être identifié, aura rempli un formulaire avec ses données personnelles nécessaires à la facturation, puis aura sélectionné un logiciel dans le catalogue.
Nous considérons que toutes ces données sont stockées dans une session que nous allons résumer ici comme ci-dessous :
| Définition des variables de session |
<?php
$_SESSION['USER_ID'] = "1";
$_SESSION['USER_NOM'] = "Godin";
$_SESSION['USER_PRENOM'] = "Thierry";
$_SESSION['USER_COMPANY'] = "N1bus-Expériences";
$_SESSION['USER_ADRESSE'] = "1, rue Henri Desgranges";
$_SESSION['USER_VILLE'] = "La Rochelle";
$_SESSION['USER_ZIP'] = "17000";
$_SESSION['USER_PAYS'] = "France";
$_SESSION['USER_TEL'] = "33(0) 123 456 789";
$_SESSION['USER_EMAIL'] = "xxxx@xxxx.com";
$_SESSION['CADDIE_ID'] = "1";
$_SESSION['CADDIE_LOG_NOM'] = "PlanningFacile";
$_SESSION['CADDIE_LOG_VERSION'] = "1.1.0.0";
$_SESSION['CADDIE_AMOUNT'] = "3000";
?>
|
Nous considérons également que notre site web est installé dans le répertoire suivant sur le serveur :
/srv/www/htdocs/monsiteweb/
|
Et enfin, nous créons un répertoire qu'on appellera "xpay" pour y stocker les fichiers de configuration et les certificats :
/srv/www/htdocs/monsiteweb/xpay/
|
 |
Nous n'avons pas besoin de connexion sécurisée pour notre boutique :
Toutes les données de la transaction seront chiffrées par le binaire request puis déchiffrées par le binaire response.
La transaction bancaire sera effectuée sur le serveur sécurisé (SSL 128 bit) de notre fournisseur.
Aucune information concernant la carte de crédit du client ne transite par notre serveur.
Pour une plus grande sécurité, vous pouvez évidemment utiliser le protocole HTTPS sur votre boutique,
mais ceci vous obligera à acquérir et/ou installer un certificat SSL et probablement une adresse IP supplémentaire.
|
Nous utiliserons un serveur Linux en local pour les tests, configuré comme le serveur de production afin d'éviter les surprises.
II-B. Installation des fichiers binaires
 |
Avant toute chose, vérifiez la configuration de PHP sur votre serveur avec la commande phpinfo().
|
safe_mode : On
Si la directive safe_mode est à On, vous devez copier les exécutables request et response dans le répertoire défini par la directive safe_mode_exec_dir
safe_mode : Off
Si la directive safe_mode est à Off, vous pouvez copier les exécutables request et response dans le répertoire de votre choix à l'intérieur de votre site ou dans le répertoire cgi-bin.
Vous utiliserez les binaires correspondants à votre noyau Linux (2.4 ou 2.6)
Dans notre exemple :
- La directive safe_mode est à On
- Le répertoire safe_mode_exec_dir est : /srv/www/htdocs/empty/
- Le noyau : 2.6.18.8-0.9
Nous allons donc copier les fichiers binaires request_2.6.9_3.4.2 et response_2.6.9_3.4.2 dans le répertoire : /srv/www/htdocs/empty/
CHMOD : 0755
II-C. Installation des fichiers de paramètres et des certificats
Afin de pouvoir s'y retrouver facilement, nous allons séparer les fichiers de l'
API de paiement des fichiers du site, sauf en ce qui concerne les fichiers PHP d'appel et de réponse que nous mettrons avec les fichiers du site (à la racine).
 |
Prenez soin de mettre des chemins en minuscule, sans accent et surtout sans espace.
Un espace dans le chemin d'un fichier provoquera une erreur
|
Nous allons copier les fichiers et dossiers suivants dans le répertoire : /srv/www/htdocs/monsiteweb/xpay/
- Fichier pathfile
- Fichier parmcom.e-transactions (Fichier de paramètres du fournisseur)
- Fichier parmcom.013044876511111 (Fichier de paramètres pour les tests)
- Fichier certif.fr.013044876511111 (Certificat pour les tests)
- Fichier certif.fr.xxxxxxxxxxxxxxxxxx (Votre certificat de commerçant - avec votre numéro de commerçant délivré par votre fournisseur)
- Dossier logo (Contient les images des cartes bancaires)
Copiez ensuite le fichier parmcom.013044876511111 dans le même répertoire et renommez-le en parmcom.xxxxxxxxxxxxxxxxxx où xxxxxxxxxxxxxxxxxx sera remplacé par le numéro que vous aura fourni votre fournisseur. (Ce sera probablement votre numéro de SIRET).
Ce nouveau fichier devra être modifié : vous mettrez les mêmes paramètres que dans le fichier parmcom.013044876511111 après avoir effectué tous les tests.
 |
Lorsque vous passerez en pré-production puis en production, il faudra utiliser votre certificat et votre fichier parmcom.....
|
II-C-1. Fichier pathfile
Le fichier pathfile (sans extension) contient les chemins vers les fichiers de paramètres, le certificat et le répertoire qui contient les images des cartes bancaires.
| Contenu du fichier pathfile |
#########################################################################
#
# Pathfile
#
# Liste fichiers parametres utilises par le module de paiement
#
#########################################################################
#
#-------------------------------------------------------------------------
# Activation (YES) / Désactivation (NO) du mode DEBUG
#-------------------------------------------------------------------------
#
DEBUG!YES!
# ------------------------------------------------------------------------
# Chemin vers le répertoire des logos depuis le web alias
# ------------------------------------------------------------------------
#
D_LOGO!xpay/logo/!
#
# --------------------------------------------------------------------------
# Fichiers parametres lies a l'api e-transactions paiement
# --------------------------------------------------------------------------
#
# fichier des parametres e-transactions
#
F_DEFAULT!/srv/www/htdocs/monsiteweb/xpay/parmcom.e-transactions!
#
# fichier parametre commercant
#
F_PARAM!/srv/www/htdocs/monsiteweb/xpay/parmcom!
#
# certificat du commercant
#
F_CERTIFICATE!/srv/www/htdocs/monsiteweb/xpay/certif!
#
# --------------------------------------------------------------------------
# end of file
# --------------------------------------------------------------------------
|
Modifiez les chemins sans oublier le ! final.
Vous devez avoir au moins :
- Un chemin vers le répertoire des logos (chemin relatif)
- Un chemin vers le fichier du fournisseur : parmcom.e-transactions!
- Un chemin vers le fichier du commerçant : parmcom!
- Un chemin vers le fichier de certificat : certif!
 |
Passez le paramètre DEBUG à YES pour les tests. Ceci affichera un message explicite au format HTML en cas d'erreur.
Nous repasserons ce paramètre à NO ensuite lors de la mise en pré-production |
II-C-2. Certificats : fichiers certif.fr.xxxxxxxxxxxx
Rien de particulier à dire sur les
certificats.
Vous ne devez pas éditer ces fichiers.
II-C-3. Paramètres du commerçant : Fichier parmcom.xxxxxxxxxxxxx
Le fichier parmcom.xxxxxxxxxxxxx contient les Url de retour de la transaction.
Nous allons éditer le fichier de test parmcom.013044876511111 puis nous recopierons ultérieurement les mêmes Url dans notre fichier parmcom.xxxxxxxxxxxxx
| Contenu du fichier parmcom du commerçant |
###############################################################################
#
# Fichier des parametres du commercant
#
# Remarque : Ce fichier parametre est sous la responsabilite du
# commercant
#
###############################################################################
# URL de retour automatique de la reponse du paiement
AUTO_RESPONSE_URL!http://www.monsite.com/call_autoresponse.php!
# URL de retour suite a paiement refuse
CANCEL_URL!http://www.monsite.com/call_response.php!
# URL de retour suite a paiement accepte
RETURN_URL!http://www.monsite.com/call_response.php!
# END OF FILE
|
 |
Vous devez mettre des Url complètes
|
Modifiez les Url sans oublier le ! final.
Vous devez avoir au moins :
- Une URL vers le fichier de réponse automatique call_autoresponse.php
- Une URL vers le fichier de réponse manuelle call_response.php
- Une URL vers le fichier en cas d'annulation de la part du client. Nous utiliserons ici le même fichier call_response.php
Note:
Nous verrons plus loin que nous pourrons passer ces Url en paramètres lors de la requête directement dans le fichier call_request.php
Ceci peut être utile dans le cas où vous souhaiteriez passer d'autres paramètres dynamiques dans les Url. Dans ce cas, vous prendrez soin de commenter les lignes des Url dans ce fichier en ajoutant un # devant.
II-C-4. Paramètres du fournisseur : Fichier parmcom.e-transactions
Comme dans le fichier parmcom du commerçant, ces paramètres peuvent être passés lors de la requête directement dans le fichier call_request.php
| Contenu du fichier parmcom du fournisseur |
###############################################################################
#
# Fichier des parametres E-TRANSACTIONS
#
# Remarque : Ce fichier parametre est sous la responsabilite du CA
#
###############################################################################
# Mode d'affichage des blocs de paiment
BLOCK_ALIGN!center!
# Ordre d'affichage des blocs de paiement
BLOCK_ORDER!1,2,3,4,5,6,7,8!
# Mode de securite
CONDITION!SSL!
# Code devise ( 978=EURO )
CURRENCY!978!
# flag d'edition des libelles des blocs de paiement
HEADER_FLAG!yes!
# Code langage de l'acheteur (fr=francais)
LANGUAGE!fr!
# Code pays du commercant
MERCHANT_COUNTRY!fr!
# Code langage du commercant
MERCHANT_LANGUAGE!fr!
# Liste des moyens de paiement acceptes
PAYMENT_MEANS!CB,1,VISA,1,MASTERCARD,1!
# Passage en une seule frame securisee au moment du paiement
TARGET!_top!
# Nom du template de la page de paiement e-transactions
TEMPLATE!template_ca_fr!
# Couleur du text (noir)
TEXTCOLOR!000000!
# END OF FILE
|
Note :
La plupart des commentaires vous indiquent la nature des paramètres à configurer.
Toutefois vous trouverez ci-dessous la description de certains paramètres particuliers.
II-C-4-a. Paramètre : PAYMENT_MEANS
C'est le paramètre qui affichera les images des différentes cartes de crédit avec le commentaire.
Il existe 3 blocs de commentaires :
| N° de Block |
Commentaire |
| 1 |
Choisissez un moyen de paiement ci-dessous |
| 2 |
Vous utilisez le formulaire sécurisé standard SSL, choisissez une carte ci-dessous : |
| 4 |
Autres moyens de paiement : |
Exemples :
Si vous renseignez ce paramètre avec les valeurs suivantes :
| PAYMENT_MEANS |
PAYMENT_MEANS!CB,1,VISA,1,MASTERCARD,1!
|
Les trois cartes de crédits seront affichées dans le bloc 1 sous le commentaire correspondant :
Si vous renseignez ce paramètre avec les valeurs suivantes :
| PAYMENT_MEANS |
PAYMENT_MEANS!MASTERCARD,2,CB,2,VISA,2!
|
Les trois cartes de crédits seront affichées dans le bloc 2 sous le commentaire correspondant :
II-C-4-b. Paramètre : BLOCK_ORDER
C'est le paramètre qui détermine l'ordre d'affichage des blocs.
Normalement la valeur par défaut (1,2,3,4,5,6,7,8,9) convient, mais si vous souhaitez afficher le bloc 2 avant le bloc 1, vous devrez alors renseigner ce champ avec les valeurs suivantes (2,1,3,4,5,6,7,8,9)
II-C-4-c. Paramètre : HEADER_FLAG
C'est le paramètre qui permet d'afficher ou masquer les commentaires
Si vous définissez ce paramètre à no , aucun commentaire ne sera affiché dans les blocs.
II-C-4-d. Paramètre : TEMPLATE
C'est le paramètre qui permet de définir le Template (design) qui sera utilisé pour le paiement sur le serveur du fournisseur.
Note :
Pour des raisons évidentes de sécurité, certaines parties de la page de saisie des codes de carte bancaire ne peuvent être modifiées (formulaire). En revanche, il est possible de modifier d'autres parties de la page, d'afficher votre logo, vos textes, vos couleurs.
Nous verrons plus loin comment créer un Template aux couleurs de votre site.
Pour le moment, nous laisserons le Template du fournisseur.
II-C-5. Autres fichiers et sous-dossiers
Le dossier logo :
Le dossier logo contient par défaut les images des 3 cartes bancaires (CB, VISA, MASTERCARD) et des cadenas SSL. Si vous devez utiliser d'autres cartes bancaires, assurez-vous d'y copier les images correspondantes.
Le fichier de logs :
Ce fichier n'existe pas par défaut, il vous faut donc créer un fichier texte vide que vous renommerez en log.txt (ou un autre nom si vous souhaitez).
Il devra pouvoir être accessible en lecture/écriture par nos scripts PHP de paiement (CHMOD 766). Vous pouvez le mettre dans le répertoire de votre choix.
Nous utiliserons ce fichier pour enregistrer toutes les transactions (succès ou échec), ainsi , si aucun email de confirmation n'était délivré après une transaction (panne serveur, réseau, bug ...) , nous aurions tout de même une trace dans le fichier de logs.
 |
De plus, en production nous y retrouverons les éventuels messages d'erreurs de l'API.
|
II-D. Installation des fichiers PHP
Nous allons copier les 3 fichiers PHP à la racine du site dans : /srv/www/htdocs/monsiteweb/
- call_request.php
- call_autoresponse.php
- call_response.php
 |
Astuce
|
Pour que vous ne soyez pas déroutés par le code de votre site et celui du système de paiement, je vous recommande d'inclure ces fichiers dans vos pages. (include()).
En effet, ceci peut s'avérer utile si , pour une quelconque raison, vous étiez amenés à changer de système de paiement.
De plus, ces fichiers généreront juste les images des cartes bancaires pour le call_request.php et des messages de confirmation (succès ou échec) pour le call_response.php
Cela permettra de ne mettre que le code nécessaire au traitement du paiement sans s'occuper de la mise en forme.
Le code sera plus clair et donc plus facile à debugger ou à maintenir.
Dans ce cas, n'oubliez pas de modifier les Url de retour dans le fichier parmcom du commerçant.
II-E. Intégration du fichier d'appel (call_request.php)
II-E-1. Introduction
Ce fichier permet de préparer une transaction avant d'accéder au paiement proprement dit sur le serveur du fournisseur.
C'est également ce fichier qui affichera les moyens de paiement (Cartes bancaires).
Pour que ce tutoriel soit le plus explicite possible, nous allons découper ce fichier en trois parties distinctes :
- La récupération du caddie
- La mise en place des paramètres de transaction
- L'affichage des moyens de paiement
 |
Vous retrouverez le fichier call_request.php complet dans la dernière section de ce chapitre.
|
II-E-2. Récupération du contenu du caddie
Comme nous l'avions défini au début de cet exemple, toutes les informations du client et le contenu du caddie sont déjà enregistrés dans des variables de session.
Nous allons donc récupérer ces variables pour pouvoir les transmettre lors de la transaction. Ceci nous permettra au retour de la transaction, d'envoyer un reçu de paiement détaillé au client par email et éventuellement de mettre notre base de données à jour (Si votre système de boutique en ligne utilise une base de données).
Une précaution, cependant :
Les paramètres de transaction obéissent à des règles syntaxiques très strictes. Par exemple, pour l'avoir déjà expérimenté à mes dépends, un espace dans la valeur d'un paramètre causera une erreur quasi incompréhensible car les données seront tronquées lors du traitement et l'
API renverra un message d'erreur plus ou moins générique difficile à interpréter.
On retrouvera souvent ce type d'erreur lorsque les paramètres contiendront des caractères interdits ou certains caractères de ponctuation.
On peut résoudre le problème une fois pour toutes en utilisant la fonction base64_encode() sur les paramètres susceptibles de contenir ce type de valeurs. On utilisera base64_decode() ensuite lors du retour de la transaction pour récupérer ces valeurs dans leur intégralité.
Tout le contenu du caddie et les infos du client seront passés dans un seul paramètre lors de la transaction, le paramètre :
caddie.
Nous allons donc mettre tout ça dans un tableau puis nous utiliserons la fonction
base64_encode() pour nous assurer que les données ne causent pas d'erreur lors de l'appel de l'
API.
| Préparation du caddie |
<?php
$TheCaddie = array();
$TheCaddie[] = $_SESSION['USER_ID'];
$TheCaddie[] = $_SESSION['USER_NOM'];
$TheCaddie[] = $_SESSION['USER_PRENOM'];
$TheCaddie[] = $_SESSION['USER_COMPANY'];
$TheCaddie[] = $_SESSION['USER_ADRESSE'];
$TheCaddie[] = $_SESSION['USER_VILLE'];
$TheCaddie[] = $_SESSION['USER_ZIP'];
$TheCaddie[] = $_SESSION['USER_PAYS'];
$TheCaddie[] = $_SESSION['USER_TEL'];
$TheCaddie[] = $_SESSION['USER_EMAIL'];
$TheCaddie[] = $_SESSION['CADDIE_ID'];
$TheCaddie[] = $_SESSION['CADDIE_LOG_NOM'];
$TheCaddie[] = $_SESSION['CADDIE_LOG_VERSION'];
$TheCaddie[] = $_SESSION['CADDIE_AMOUNT'];
$NumCmd = "CMD-" . date("YmdHis");
$TheCaddie[] = $NumCmd ;
$xCaddie = base64_encode(serialize($TheCaddie));
?>
|
II-E-3. Mise en place des paramètres de transaction
Maintenant, nous allons préparer les paramètres de la transaction.
Comme nous l'avions vu plus haut, certains paramètres que nous avions définis dans les fichiers parmcom, pouvaient en réalité être définis directement dans ce fichier.
Il existe une multitude de paramètres . Je vous recommande de consulter le Dictionnaire des données si vous voulez peaufiner votre transaction.
Nous allons parler ici que des principaux paramètres.
Vous devez savoir que ce fichier interrogera le binaire request lorsqu'il sera exécuté. On doit donc préciser ici le chemin du binaire et le chemin du fichier pathfile
C'est souvent ici que le bât blesse :
La plupart des erreurs que vous rencontrerez seront des erreurs de "chemin de fichier" ou de "droits des fichiers"
 |
Les paramètres passés dans la variable $parm sont séparés par un espace :
$parm = "parametre1=valeur1 parametre2=valeur2 parametre3=valeur3" etc.
Vous ne devez donc pas mettre d'espace dans les valeurs des paramètres !
|
| Les paramètres de la transaction |
<?php
$parm = "merchant_id=013044876511111";
$parm .= " pathfile=/srv/www/htdocs/monsiteweb/xpay/pathfile";
$path_bin = "/srv/www/htdocs/empty/request_2.6.9_3.4.2";
$parm .= " merchant_country=fr";
$parm .= " language=fr";
$parm .= " amount=" .$_SESSION['CADDIE_AMOUNT'];
$parm .= " currency_code=978";
$parm .= " transaction_id=" . date ("His");
$Produit = "<tr><td>CHEZN1BUS : LOGICIEL PLANNINGFACILE</td></tr>";
$parm .= " receipt_complement=" . $Produit;
$parm .= " customer_email=" . $_SESSION['USER_EMAIL'];
$parm .= " customer_ip_address=" . $IP;
$parm .= " caddie=" . $xCaddie ;
$SUPERID = session_id();
$parm .= " cancel_return_url=http://www.monsite.com/response.php?SUPERID=" . $SUPERID;
$parm .= " automatic_response_url=http://www.monsite.com/call_autoresponse.php";
$parm .= " normal_return_url=http://www.monsite.com/response.php?SUPERID=" . $SUPERID;
$parm .= " templatefile=le_template_de_mon_site";
?>
|
II-E-4. Affichage des moyens de paiement
Ici nous allons interroger le binaire
request avec la fonction PHP
exec() puis analyser la réponse renvoyée par l'
API. Si nous n'avons commis aucune erreur dans les étapes précédentes, les cartes bancaires seront affichées.
| Affichage des moyens de paiement |
|