PAYBOX SERVICES.
Centre Espace Sud – Route d’Elne - 66200 LATOUR BAS ELNE Version 3.41 Page 1 sur 44
tél : 04.68.85.79.90 -fax : 04.68.85.79.99
SOMMAIRE
PRODUIT « PAYBOX SYSTEM »............................................................................................................................................................3
I - PRESENTATION : ................................................................................................................................................................................3
II - LES MODULES DISPONIBLES :....................................................................................................................................................5
III - INSTA LLATION DU MODULEV2.CGI :..................................................................................................................................5
IV - LANCEMENT DU MODULEV2.CGI :.......................................................................................................................................6
a - Les différentes variables :...................................................................................................................................................................6
b - Lancement par mode « formulaire HTML » : ...............................................................................................................................9
c - Lancement par mode « fichier local » :..........................................................................................................................................10
d - Lancement par mode « ligne de commande » :............................................................................................................................11
e - Lancement par mode « variables d’environnement » :...............................................................................................................11
f - Lancement par plusieurs modes : ...................................................................................................................................................12
V - LES URLS DE RETOUR ET « L’URL HTTP » :........................................................................................................................12
a - Les 3 urls de retour sur le site commerçant :...............................................................................................................................13
b - La validation des bons de commandes avec « l’url http » : .......................................................................................................14
c – Valeurs des codes erreurs ...............................................................................................................................................................18
d – Remarques sur la signature PAYBOX........................................................................................................................................19
e – Interfaçage avec le traitement PAYBOX DIRECT Plus..........................................................................................................20
VI - LESDIFFERENTES OPTIONS ET PERSONNALISATIONS............................................................................................20
a - Gestion des paiements différés : .....................................................................................................................................................20
b - Gestion de la page intermédiaire : .................................................................................................................................................21
c - Gestion des codes d’erreur : ............................................................................................................................................................23
d - Personnalisation de la page de paiement :....................................................................................................................................26
e - Personnalisation du ticket de paiement :......................................................................................................................................26
f – Test de disponibilité des serveurs de paiement :..........................................................................................................................27
VII – LA PAGE DE PRESELECTION DU MOYEN DE PAIEMENT......................................................................................28
a – Forçage des type et moyen de paiements : ...................................................................................................................................29
OPTION GESTION DES ABONNEMENTS .....................................................................................................................................31
I - PRESENTATION : ..............................................................................................................................................................................31
II - PARAMETRAGE :.............................................................................................................................................................................31
CODES REPONSES DU CENTRE D’AUTORISATION..............................................................................................................36
I - LES CODES REPONSES DU CENTRE D’AUTORISATION :.............................................................................................36
a – Réseau carte bancaire, American Express et Diners :...............................................................................................................36
b – Réseau Cetelem/Aurore :................................................................................................................................................................37
PARAMETRES DE TESTS .......................................................................................................................................................................38
I – PROCEDURE ET PARAMETRES DE TESTS :.........................................................................................................................38
LE BACK OFFICE COMMERÇANT ....................................................................................................................................................39
I – LE BACK OFFICE COMMERCANT : .........................................................................................................................................39
INSCRIPTION AUPRES DE PAYBOX SERVICES ........................................................................................................................42
I – INSC RIPTION AUPRES DE PAYBOX SERVICES :...............................................................................................................42
I – ASSISTANCE :....................................................................................................................................................................................43
I – GLOSSAIRE : .......................................................................................................................................................................................44
PAYBOX SERVICES.
Centre Espace Sud – Route d’Elne - 66200 LATOUR BAS ELNE Version 3.41 Page 2 sur 44
tél : 04.68.85.79.90 -fax : 04.68.85.79.99
Produit « Paybox System »
II --
PPRREESSEENNTTAATTIIOONN ::
Le produit « Paybox System » est un système sécurisé de gestion des paiements par cartes
bancaires et privatives sur les sites marchands Internet.
Le produit « Paybox System » s’intègre très facilement dans tous systèmes de galerie
marchande. Il suffit d’installer le module CGI et d’y faire appel à partir de la page du site
commerçant qui précède la page de paiement Paybox System : rien n’est à installer chez le client
qui veut effectuer un paiement.
Le module CGI (Common Gateway Interface) est un exécutable permettant de récupérer
certaines données (telles que l’identifiant du commerçant, la référence de la commande, le
montant de la transaction…). Le module crypte ces données et redirige le client vers la page de
paiement Paybox System.
Une fois le produit intégré sur le site marchand, le client pourra effectuer son paiement en toute
sécurité : sa commande réalisée, il sera redirigé vers le serveur de PAYBOX SERVICES. Ce
dernier établit alors une connexion cryptée avec l’acheteur (en SSL 128 bits, pour que la saisie
du numéro de carte bancaire soit effectuée en toute sécurité) et affiche une page de paiement.
Paybox System vérifie la validité de la carte en effectuant une demande auprès du centre
d’autorisation bancaire du commerçant suivant les protocoles CBSA, CB2A version 5.1 et 5.2.
PAYBOX SERVICES.
Centre Espace Sud – Route d’Elne - 66200 LATOUR BAS ELNE Version 3.41 Page 3 sur 44
tél : 04.68.85.79.90 -fax : 04.68.85.79.99
Si le paiement est accepté, un ticket est alors affiché sur l’écran de l’acheteur (optionnel). Ce
même ticket lui sera renvoyé par courrier électronique (e-mail) comme preuve du paiement.
L’acheteur a alors la possibilité de revenir sur le site marchand pour effectuer d’autres achats.
Paybox System envoie également par e-mail un double du ticket de paiement au commerce. Il
sera possible, pour le commerçant, de gérer de façon automatique, le résultat de la tentative de
paiement grâce à « l’url http ».
En fin de journée, Paybox System réunit sous forme de « remise » tous les paiements réalisés sur
le site, et envoie celle-ci, suivant le protocole CBPR, CB2A version 5.1 et 5.2, au centre de
télécollecte bancaire du commerçant afin que les transactions soient traitées.
Une fois la télécollecte effectuée, le commerçant recevra un ticket de compte-rendu par e-mail.
Il faut télécharger le module correspondant au système d’exploitation de votre serveur Web
(module disponible à partir de notre site www.paybox.com, rubrique « téléchargement »).
Ce module doit ensuite être installé sur le répertoire « cgi-bin » de votre serveur Web (ce
répertoire peut porter un autre nom).
Le module pourra être renommé en « modulev2.cgi ». Par contre, pour des raisons de
compatibilité, le module ne devra absolument pas être renommé sous le nom « module.cgi ».
Il faudra ensuite y affecter les droits d’exécution : chmod 755.
(propriétaire : lecture + écriture + exécution ; groupe : exécution ; autres : exécution).
Attention :
- il faut vérifier que le transfert FTP a bien été effectué en binaire et non en ascii, car le module
est un exécutable. En cas de doute, vous pouvez comparer la taille en octets de votre module
installé dans le répertoire cgi-bin avec le module sur le site www.paybox.com (en positionnant
la souris sur le logo) : la taille doit être identique.
- il faut vérifier que le répertoire cgi-bin est bien paramétré au niveau de votre serveur Web
pour permettre l’exécution des scripts exécutables. Par exemple, si le module se met en
téléchargement au lieu de s’exécuter, cela signifie que le répertoire cgi-bin est mal paramétré.
- En cas d’utilisation du serveur WEB de la société Microsoft (IIS), il faut renommer le
programme « modulev2.cgi » en « modulev2.exe » lors de l’installation de celui-ci.
PAYBOX SERVICES.
Centre Espace Sud – Route d’Elne - 66200 LATOUR BAS ELNE Version 3.41 Page 5 sur 44
tél : 04.68.85.79.90 -fax : 04.68.85.79.99
- Les ports TCP à autoriser au niveau de votre architecture sont 80 (http), 443 (HTTPS) et 53
(DNS).
Une fois installé, le module doit pouvoir s’exécuter directement à travers l’adresse Internet sur
votre navigateur (par exemple : http://www.maboutique.com/cgi-bin/modulev2.cgi).
A l’exécution, vous devriez avoir un message du type « paybox input error code (-7) » ou
« paybox input error code (-3) » : cela signifie que le module s’est bien exécuté (l’erreur étant
seulement dû à l’absence des variables à référencer).Pour tout type d’erreur du style :
Une fois le module installé, il vous faut l’exécuter à partir de la page de votre site qui précède la
page de paiement Paybox System. Le lancement du module devra être accompagné de
différentes variables, l’exécution pouvant être effectuée sous différents modes.
Il n’y a aucune restriction sur le langage utilisé pour l’appel de ce module : vous pouvez sans
souci utiliser l’HTML, l’ASP, le PHP, le PERL…
aa -- LLeess ddiifffféérreenntteess vvaarriiaabblleess ::
Pour pouvoir assurer un paiement sur le serveur PAYBOX, le « modulev2.cgi » a besoin de
récupérer les informations nécessaires à la réalisation du paiement et à la gestion des liens entre
l’acheteur, le commerçant et le site « PAYBOX SERVICES ». Ces données sont stockées dans les
variables suivantes (dont le nom est fixe et en majuscule) :
vveerrssiioonn
nnoomm vvaarriiaabbllee
PBX_MODE
Mode de récupération des informations. de 1 à 4 chiffres parmi
les valeurs 1,2,3 ou 4.
ddeessccrriippttiioonn
1 à 4
chiffres.
ttaaiillllee
obligatoire >= 2.00
ttyyppee
dduu
mmoodduullee
PBX_SITE Numéro de site (TPE) donné par la banque [voir page 42]. 7 chiffres. obligatoire >= 2.00
PAYBOX SERVICES.
Centre Espace Sud – Route d’Elne - 66200 LATOUR BAS ELNE Version 3.41 Page 6 sur 44
tél : 04.68.85.79.90 -fax : 04.68.85.79.99
Numéro de rang (« machine ») donné par la banque [voir page
42].
2 chiffres. obligatoire >= 2.00
PBX_TOTAL Montant total de l’achat en centimes sans virgule ni point.
Code monnaie de la transaction suivant la norme ISO 4217 (code
numérique) :
PBX_DEVISE
PBX_CMD Votre référence commande.
Par exemple :
« 978 » pour l’euro.
« 840 » pour le dollar US.
« 952 » pour le CFA.
1 à 10
chiffres.
3 chiffres. obligatoire >= 2.00
1 à 250
caractères.
obligatoire >= 2.00
obligatoire >= 2.00
PBX_PORTEUR
PBX_RETOUR
PBX_IDENTIFIANT
PBX_EFFECTUE
PBX_REFUSE
PBX_ANNULE
PBX_OPT
PBX_TXT
PBX_WAIT
Adresse email de l’acheteur (porteur de carte).
Les caractères @ et . doivent être présents.
Variables renvoyées par Paybox (montant, référence commande,
numéro de transaction, numéro d’abonnement et numéro
d’autorisation) [voir page 14].
Identifiant PAYBOX fourni par PAYBOX SERVICES au moment
de votre inscription.
Page de retour de Paybox vers votre site après paiement accepté
[voir page 13].
Page de retour de Paybox vers votre site après paiement refusé
[voir page 13].
Page de retour de Paybox vers votre site après paiement annulé
[voir page 13].
Nom du fichier local quand la variable PBX_MODE est
documentée avec la valeur « 3 » [voir page 10].
Texte pouvant être affiché sur la page intermédiaire à la place
du texte par défaut [voir page 21].
Délai d’affichage de la page intermédiaire. La valeur est en
milli-secondes [voir page 21].
6 à 80
caractères.
3 à 150
caractères.
1 à 9
chiffres
jusqu’à 150
caractères.
jusqu’à 150
caractères.
jusqu’à 150
caractères.
jusqu’à 150
caractères.
non limité. facultatif >= 2.00
jusqu’à 5
chiffres.
obligatoire >= 2.00
obligatoire >= 2.00
obligatoire >= 2.00
facultatif >= 2.00
facultatif >= 2.00
facultatif >= 2.00
facultatif >= 2.00
facultatif >= 2.00
PBX_BOUTPI
PBX_BKGD
PBX_OUTPUT
PBX_LANGUE
PBX_ERREUR
PBX_PAYBOX
PBX_SOURCE
Intitulé du bouton de la page intermédiaire (« nul » pour la
suppression de ce bouton) [voir page 21].
Fond d’écran de la page intermédiaire (nom de couleur, code
couleur ou image) [voir page 21].
Mode de gestion de la page intermédiaire. Les valeurs possibles
sont : A, B, C, D et E [voir page 21].
Langue utilisée par Paybox pour l’affichage de la page de
paiement. Par défaut, la page est en français. Les valeurs
possibles sont FRA (Français), GBR (Anglais), ESP (Espagnol),
ITA (Italien), DEU (Allemand), NLD (Hollandais) et SWE
(Suédois).
URL de votre site permettant d’afficher la description des
éventuelles erreurs pouvant survenir à l’affichage de la page de
paiement [voir page 23].
URL du serveur de paiement primaire de Paybox si différente
de celle par défaut :
https://tpeweb.paybox.com/cgi/MYchoix_pagepaiement.cgi
Ce mode consiste à créer un formulaire HTML qui appellera le module avec les champs
spécifiés en paramètre (correspondant aux variables nécessaires).
La variable « PBX_MODE » devra avoir comme valeur « 1 ». Certaines variables telles que
« PBX_TOTAL », « PBX_PORTEUR » ou « PBX_CMD » devront être gérées de façon dynamique
car ces valeurs changent à chaque paiement.
Voici, à titre d’exemple, un formulaire permettant l’affichage de la page de paiement :
<FORM ACTION = ‘/cgi-bin/modulev2.cgi’ METHOD = post>
<INPUT TYPE = hidden NAME = PBX_MODE VALUE = ‘1’> <!-- passage par formulaire -->
<INPUT TYPE = hidden NAME = PBX_SITE VALUE = ‘1999888’>
<INPUT TYPE = hidden NAME = PBX_RANG VALUE = ‘99’>
<INPUT TYPE = hidden NAME = PBX_IDENTIFIANT VALUE = ‘2’>
<INPUT TYPE = hidden NAME = PBX_TOTAL VALUE = ‘1500’>
<INPUT TYPE = hidden NAME = PBX_DEVISE VALUE = ‘978’>
<INPUT TYPE = hidden NAME = PBX_CMD VALUE = ‘ma_reference_123456’>
<INPUT TYPE = hidden NAME = PBX_PORTEUR VALUE = ‘client@test.com’>
<INPUT TYPE = hidden NAME = PBX_RETOUR VALUE = ‘montant:M;ref:R;auto:A;trans:T’>
<INPUT TYPE = hidden NAME = PBX_EFFECTUE VALUE = ‘http://www.commerce.fr/merci.html’>
<INPUT TYPE = hidden NAME = PBX_REFUSE VALUE = ‘http://www.commerce.fr/regret.html’>
<INPUT TYPE = hidden NAME = PBX_ANNULE VALUE = ‘http://www.commerce.fr/regret.html’>
<INPUT TYPE = submit NAME = bouton_paiement VALUE = ‘paiement’>
</FORM>
Le client devra cliquer sur le bouton nommé ‘paiement’ pour lancer la page de paiement.
L’identification du commerçant (site 1999888, rang 99 et identifiant 2) correspond à la boutique
de test Paybox.
Le paiement sera de 1500 centimes d’euros (soit 15 €) et l’identification du paiement par rapport
à la commande du commerçant sera la référence « ma_reference_123456 ».
Une fois le paiement effectué, si ce dernier est accepté, la page
‘http://www.commerce.fr/merci.html’ s’affichera et un ticket de paiement sera envoyé par
mail au commerçant ainsi qu’au client à « client@test.com ».
Si le paiement est refusé ou annulé, la page ‘http://www.commerce.fr/regret.html’ sera
appelée.
PAYBOX SERVICES.
Centre Espace Sud – Route d’Elne - 66200 LATOUR BAS ELNE Version 3.41 Page 9 sur 45
tél : 04.68.85.79.90 -fax : 04.68.85.79.99
Ce mode ne garantit pas une sécurité optimale contre les manipulations d’un utilisateur mal
intentionné. En effet, il peut très bien capturer votre page HTML sur son ordinateur, en
modifier quelques valeurs (comme le montant ou votre numéro de commerçant), puis reexécuter la page avec ces nouvelles valeurs.
Pour éviter ce type d’attaque, il est donc fortement préférable d’utiliser en même temps un
autre mode pour protéger l’accès des variables sensibles.
cc -- LLaanncceemmeenntt ppaarr mmooddee «« ffiicchhiieerr llooccaall »» ::
Ce mode permet de gérer les variables via un fichier local de type « texte ». Ainsi, à l’appel du
module, il faut préciser comme valeur pour « PBX_MODE » le chiffre 3.
Bien entendu, étant donné que la variable « PBX_MODE » ne peut être mise dans le fichier à
lire, l’utilisation du fichier local doit être combinée avec un autre mode : par formulaire HTML
(mode 1) ou par ligne de commande (mode 4) par exemple. Ainsi, « PBX_MODE » n’aura jamais
« 3 » comme unique valeur mais « 13 » ou « 43 » (attention, l’ordre est important, « 31 » ou
« 34 » générera une erreur).
Il faudra ensuite utiliser la variable « PBX_OPT » pour indiquer le chemin d’accès et nom du
fichier.
Ce chemin devra être spécifié dans la syntaxe acceptée par le système d’exploitation du serveur.
Si PBX_OPT ne contient pas le chemin d’accès au fichier (complet ou relatif), le
« modulev2.cgi » estimera que le fichier se situe dans le répertoire courant où ce dernier est
appelé.
Si PBX_OPT n’existe pas ou est vide, le « modulev2.cgi » recherchera le fichier « pbxinfos.txt »
dans le répertoire courant. Ce répertoire peut être celui où est appelé le fichier ou celui où est
installé le module cgi (cela varie suivant le système d’exploitation - référence au Path).
Ce fichier contiendra les variables suivant un format spécifique : chaque ligne doit contenir une
et une seule variable suivie du signe « = » et de la valeur souhaitée. Chaque ligne est terminée
par un retour chariot (cr/lf ou lf). Les lignes vides ou commençant par le symbole « # » sont
ignorées (vous avez donc la possibilité, si vous le souhaitez, de rajouter des commentaires).
Voici, à titre d’exemple, l’utilisation d’un fichier local à travers un formulaire HTML permettant
l’affichage de la page de paiement :
<FORM ACTION = ‘/cgi-bin/modulev2.cgi’ METHOD = post>
<INPUT TYPE = hidden NAME = PBX_MODE VALUE = ‘13’>
<INPUT TYPE = hidden NAME = PBX_OPT VALUE = ‘C:\ mon_site\paybox\fichier.txt’>
# url de retour
PBX_EFFECTUE=http://www.commerce.fr/merci.html
PBX_REFUSE=http://www.commerce.fr/regret.html
PBX_ANNULE=http://www.commerce.fr/regret.html
Etant donné que les variables telles que « PBX_TOTAL », « PBX_CMD » ou « PBX_PORTEUR »
ont des valeurs différentes pour chaque paiement, si vous souhaitez les inclure dans le fichier
local, il sera nécessaire de créer un fichier pour chaque tentative de paiement.
Attention :
- en PHP, il faudra utiliser la fonction “shell_exec()” plutôt que “exec()” pour l’appel du
“modulev2.cgi”.
Ce mode permet d’utiliser le « modulev2.cgi » comme un programme normal (non CGI), appelé
lui-même par un programme CGI.
Les paramètres devront être spécifiés sur la ligne de commande, comme les arguments du
programme et la variable « PBX_MODE » devra contenir le chiffre « 4 ».
Ce système requiert l’utilisation d’un programme CGI intermédiaire fourni ou développé par le
responsable du site commerçant. Ce programme devra récupérer par ses propres moyens les
informations nécessaires au « modulev2.cgi », puis préparer la ligne de commande
correspondante et exécuter (appeler) le « modulev2.cgi ».
ee -- LLaanncceemmeenntt ppaarr mmooddee «« vvaarriiaabblleess dd’’eennvviirroonnnneemmeenntt »» ::
Ce mode représente une technique fortement liée au système d’exploitation du serveur et au
logiciel de gestion du site. Elle utilise les variables d’environnement, et requiert un accès plus
PAYBOX SERVICES.
Centre Espace Sud – Route d’Elne - 66200 LATOUR BAS ELNE Version 3.41 Page 11 sur 45
tél : 04.68.85.79.90 -fax : 04.68.85.79.99
détaillé au serveur du commerçant, ainsi que le développement de scripts ou de programmes
particuliers de la part du responsable du site commerçant.
Ces variables sont lisibles par n’importe quel programme utilisant la fonction standard C
« getenv() ». Vous pouvez alors envisager de préparer certains paramètres nécessaires au
« modulev2.cgi » comme autant de variables d’environnement qui seront invisibles depuis le
navigateur du client.
Par exemple, plutôt que d’appeler le « modulev2.cgi » depuis un formulaire HTML, il vous sera
possible d’appeler votre programme CGI « commercant.cgi » (en Perl, en C ou autre L4G
spécifique au logiciel utilisé), qui lui connaît le montant de l’achat.
Votre programme créera alors la variable d’environnement « PBX_TOTAL » puis appellera le
« modulev2.cgi » :
<FORM ACTION = ‘/cgi-bin/commercant.cgi’ METHOD = post>
<INPUT TYPE = submit NAME = bouton_paiement VALUE = ‘paiement’>
</FORM>
Votre programme « commercant.cgi » exécute à son tour les commandes suivantes (exemple
pour Unix) :
# indiquer au « modulev2.cgi » que les paramètres sont en variables d’environnement
Il est possible d’utiliser plusieurs modes pour appeler le « modulev2.cgi ». Ainsi, la variable
« PBX_MODE » peut contenir jusqu’à 4 chiffres parmi ‘1’, ‘2’, ‘3’ et ‘4’.
Dans ce cas, le « modulev2.cgi » cherchera les variables selon les modes spécifiés et dans l’ordre
spécifié. Cela permet par exemple de définir des valeurs par défaut dans un fichier ou en
mémoire.
Si PBX_MODE = 1234,
- alors « modulev2.cgi » recherche d’abord les variables dans les champs HTML,
- puis recherche les variables manquantes en environnement local,
- puis recherche les variables manquantes dans le fichier,
- puis recherche les variables manquantes sur la ligne de commande.
Une fois le paiement réalisé sur la page de paiement Paybox, le client a la possibilité de revenir
sur le site commerçant par l’intermédiaire de 3 urls.
Le commerçant pourra gérer de façon automatique la validation de ses bons de commandes
suivant le résultat de la transaction par l’intermédiaire d’une 4
Le retour de Paybox System vers le site marchand peut se faire sur 3 adresses (urls) différentes
selon si le paiement est accepté, refusé ou annulé.
Ces 3 urls peuvent être enregistrées par défaut dans la base de données Paybox : elles sont alors
à préciser dans la fiche d’inscription remise par le commerçant.
Elles peuvent également être gérées de façon dynamique par le commerçant en utilisant les 3
variables suivantes :
- PBX_EFFECTUE,
- PBX_REFUSE,
- PBX_ANNULE.
Ces urls sont appelées dès que le client clique sur le bouton « retour boutique » de la page
récapitulative du paiement (phase d’affichage du ticket de paiement), ou de la page indiquant
que la transaction n’a pas été autorisée.
Vous avez la possibilité de choisir un retour immédiat : vous pouvez préciser cette option dans
la fiche d’inscription ou auprès de notre support technique. Dans ce cas là, le ticket récapitulatif
n’est pas affiché, et, le client est redirigé directement vers le site du commerçant.
PAYBOX SERVICES.
Centre Espace Sud – Route d’Elne - 66200 LATOUR BAS ELNE Version 3.41 Page 13 sur 45
tél : 04.68.85.79.90 -fax : 04.68.85.79.99
Si ces urls ne sont pas gérées dynamiquement (via les variables PBX_…), les adresses utilisées
seront alors celles qui ont été enregistrées dans notre base de données.
Attention :
- Il est fortement déconseillé d’utiliser la variable « PBX_EFFECTUE » pour valider vos bons de
commandes : cette variable n’est pas sécurisée par Paybox et n’est pas garantie comme étant
lancée systématiquement. En effet, un acheteur qui a réalisé son paiement peut ne pas vouloir
revenir sur le site ou couper sa connexion.
- En cas de présence du caractère ; dans l’URL à appeler, il faut remplacer ce caractère par %3B.
Par exemple, si l’URL « PBX_EFFECTUE » est du type
www.commerce.fr/effectue.jsp;id_session=134ERF47, il faudra documenter la variable