Guide du développeur

Transcription

Guide du développeur
Klik & Pay
Guide du développeur
Pour une installation rapide
de la plate−forme de paiement Klik & Pay
Ce document est la propriété de Cyberservices SA,
il ne peut être reproduit ou divulgué sans autorisation écrite préalable.
1
Table des matières
1 Notions générales
5 Paiement en X fois
1.1 Fonctionnement
5.1 Paramétrage
1.2 Prise en main rapide
5.2 Validation de commande
1.3 Les variables obligatoires
1.4 Multilingue
5.3 Retour du client
5.4 Les échéances
1.5 Fonction TEST
2 Paiement au comptant
6 La fonction "Panier"
2.1 Paramétrage
2.2 Validation de commande
7 Vérification dynamique de commande
2.3 Retour du client
8 Annexe
3 Paiement différé
8.1
Liste des pays
3.1 Paramétrage
3.2 Validation de commande
3.3 Retour du client
4 Paiement par abonnement
4.1 Paramétrage
4.2 Validation de commande
4.3 Retour du client
4.4 Les échéances
4.5 Stopper un abonnement
9 Exemples
9.1
Tester un retour dynamique
9.2
Formulaire de paiement au comptant
9.3
Formulaire de paiement différé
9.4
Formulaire de paiement par abonnement
9.5
Formulaire de paiement en X fois
9.5
Syntaxe des montants
9.6
Retour dynamique au comptant
9.7
Retour dynamique différé
9.8
Retour dynamique pour les abonnements
9.9
Retour dynamique échéance d'abonnement
9.10 Stopper un abonnement
9.11 Construction du "Panier"
9.12 Vérifier une commande
2
Fonctionnement
−
Le client choisit les produits ou services sur le site marchand (1) et est envoyé vers la plate−forme de
paiement Klik & Pay par le biais d'un formulaire statique ou dynamique(2).
−
Le client choisit le type de carte bancaire (3) qu'il souhaite utiliser (VISA, MASTERCARD, AMEX, etc...)
−
Le client saisit les informations bancaires demandées et procède au paiement de sa commande (4).
La plate−forme vérifie les données auprès de la banque du porteur (5)
−
Si la transaction est acceptée, une confirmation de commande est présentée au client, un e−mail lui est
envoyé (3) (message paramétrable par le marchand), un e−mail contenant le détail de la commande est
envoyé au marchand (6) et la base de données du marchand est mise à jour si la fonction "Validation
Dynamique" est utilisée (6). Le client est alors redirigé vers la page "Retour vente OK" définie par le
marchand.
Si la transaction est refusée, un message informe le client que la transaction a été refusée et il est
redirigé vers la page "Retour vente refusée" définie par le marchand.
3
Prise en main rapide
Pour une prise en main rapide de la solution de paiement Klik & Pay, le marchand doit procéder comme suit :
1 Définir si le site est dynamique ou pas
Si oui, consulter le fonctionnement du retour dynamique en fonction du type de paiement choisi (comptant, différé
− ou abonnement) de manière à créer ou adapter les scripts de validation de commande.
2 Formulaire de commande
− Créer ou adapter le formulaire de commande avec le nom exact des variables demandées par Klik & Pay,
− Adapter l'URL en fonction du type de paiement choisi (comptant, différé ou abonnement),
− Si le site est dynamique, adapter la construction du panier (optionnel mais conseillé)
3 Paramétrage du Back Office
− Info bancaires :
(Paramétrage > Infos bancaires)
Ces informations sont nécessaires pour la rétrocession des transactions.
− Paramètres :
(Paramétrage > Paramètres)
Articulation de la navigation des clients.
Renseigner les champs "Page de retour Vente OK", "Page de retour Vente REFUSÉE" et "Validation de
commande" (pour la Validation de commande, voir en fonction du type de paiement choisi "comptant", "différé" ou
"abonnement")
− Langue par défaut :
Langue dans laquelle les informations sont affichées au client si la variable L n'est pas utilisée.
− Adresse e−mail :
La première adresse est l'adresse principale. Cette adresse est utilisée par Klik & Pay pour les différents
messages envoyés au marchand. Deux autres adresses peuvent être spécifiées. Les confirmations de commande
seront également envoyées à ces adresses (service livraison, comptable, etc...)
− Détail des ventes rétrocédées :
Si activé, chaque transaction prise en compte lors des rétrocessions sera affichée.
4 Texte par e−mail
− (Paramétrage > Texte par e−mail)
Le marchand paramètre ici le message de confirmation qui sera automatiquement envoyé à ses clients lors d'une
transaction aboutie.
5 Abonnement
− Si le marchand utilise la fonction Abonnement, il convient de paramétrer les abonnements depuis le Back Office
(Back Office > Paramétrage abonnements)
Le compte marchand est maintenant fonctionnel, il suffit de faire quelques tests et de demander la mise en production du
compte par e−mail à votre interlocuteur Klik & Pay.Si vous rencontrez une difficulté ou avez des questions au sujet de
l'installation ou de l'utilisation de la plate−forme de paiement Klik & Pay, notre support technique est à votre disposition du
lundi au vendredi de 9h00 à 19h00 au +33 4 42 69 26 48 ou par e−mail à [email protected]
4
Les variables obligatoires
Il est important de respecter scrupuleusement la syntaxe des variables envoyées (orthographe et
majuscules−minuscules).
Toutes les variables indiquées ci−dessous doivent être transmises à la plate−forme de paiement Klik & Pay.
Nom de la variable
Valeur
ID
Identifiant du marchand
NOM
Nom du client
PRENOM
Prénom du client
ADRESSE
Adresse du client
CODEPOSTAL
Code postal du client
VILLE
Ville du client
PAYS
Pays du client
EMAIL
E−mail du client
TEL
Téléphone du client
MONTANT
Montant de la transaction
ABONNEMENT
Numéro de l'abonnement
ou
Pour connaître son ID, le marchand doit consulter la section Info compte de son Back Office (Back Office > Info compte).
Afin d'éviter les erreurs lors du paiement, il est conseillé d'utiliser une liste déroulante pour la sélection du pays de
résidence du client (voir Liste des pays)
Autres variables qui peuvent être utilisées avec Klik & Pay :
Nom de la variable Valeur
Nom de la variable Valeur
MONTANT2
Montant 2éme échéance
pour un paiement en X fois
MONTANT3
Montant 3éme échéance
pour un paiement en X fois
MONTANT4
Montant 4éme échéance
pour un paiement en X fois
MONTANT5
Montant 5éme échéance
pour un paiement en X fois
DATE2
Date 2éme échéance pour
un paiement en X fois
DATE3
Date 3éme échéance pour
un paiement en X fois
Variables associées à l'url de
retour client
RETOURVOK
si la transaction est
acceptée.
DATE4
Date 4éme échéance pour
un paiement en X fois
Variables associées à l'url de
RETOURVHS retour client
si la transaction est refusée.
DATE5
Date 5éme échéance pour
un paiement en X fois
SOCIETE Société du client
ADRESSE2 Complément d'adresse
FAX Télécopie du client
DETAIL Articles commandés
L Langue
RETOUR
Seconde partie de l'URL de
retour dynamique
5
Multilingue
Par défaut, Klik & Pay affiche les informations dans la langue définie par le marchand depuis son Back−Office
(Paramétrage > Paramètres > Langue par défaut).
Si votre site est multilingue, vous pouvez alors paramétrer la langue dans laquelle les informations seront affichées pour
chacune des sections de votre site.
Il vous suffit pour cela de renseigner la variable "L"
Langue
Valeur de la variable L
Français
fr
Anglais
en
Allemand
de
Espagnol
es
Italien
it
Néerlandais
du
6
Fonction TEST
Lors de la création d'un nouveau compte marchand, Klik & Pay initie automatiquement ce compte en mode TEST.
Le mode test permet de contrôler l'envoi des informations depuis le site marchand vers la plate−forme de paiement Klik
&Pay.
Lorsque les tests sont terminés, le marchand demande alors à Klik & Pay de passer son compte mode en PRODUCTION.
Le marchand peut à tout moment repasser en mode test en incluant le champ suivant dans le formulai
:
<input type="hidden" name="DO" value="TEST">
re de commande
Fonctionnement :
Si une erreur est rencontrée, un message alerte alors le développeur pour lui permettre de la corriger en temps réel.
Si aucune erreur n'est rencontrée, la plate−forme de paiement affiche alors différents messages :
(les information marquées ci−dessous en rouge sont des exemples)
Validation Dynamique : RETOUR_DYNAMIQUE + 454545&NUMXKP=1061199863
Ceci vous permet de tester votre retour dynamique (voir validation de commande).
Pour ce faire, collez la première partie de l'URL (partie indiquée dans votre Back Office Paramétrage > Paramètres >
Validation de commande) dans une nouvelle fenêtre de votre navigateur. Copiez et collez à la suite de la première partie
de l'URL (dans la nouvelle fenêtre de votre navigateur) les informations affichées après le "+".
Exemple :
Si la première partie de l'URL renseignée dans votre Back Office pour le retour dynamique est
"http://www.mon_site.com/cgi−bin/validation.pl?MAVARIABLE=", dans cet exemple, il vous faut
appeler l'url suivante dans une nouvelle fenêtre :
http://www.mon_site.com/cgi−bin/validation.pl?MAVARIABLE=454545&NUMXKP=1061199863.
Retour client en cas de vente valide : http://www.mon_site.com/ok.html
Ceci est l'URL vers laquelle le client est redirigé après paiement si la transaction est acceptée.
Retour client en cas de vente non valide : http://www.mon_site.com/no.html
Ceci est l'URL vers laquelle le client est redirigé après paiement si la transaction est refusée.
A la suite de ces informations, vous trouverez un exemple de message envoyé par e−mail au marchand lorsqu'une
transaction est validée.
Ce message contient les coordonnées du client ainsi que le détail de la commande si la fonction "Panier" de Klik & Pay
est utilisée.
7
Paiement au comptant : Paramétrage
Pour un paiement au comptant (option par défaut), le marchand doit envoyer les informations de paiement vers l'URL
suivante :
http://www.klikandpay.com/cgi−bin/klikcpp/klik.pl
Exemple de formulaire basique pour un paiement au comptant :
<form method="POST" action="http://www.klikandpay.com/cgi−bin/klikcpp/klik.pl">
Nom : <input type="text" name="NOM" size="20"><br>
Prenom : <input type="text" name="PRENOM" size="20"><br>
Adresse : <input type="text" name="ADRESSE" size="20"><br>
CP :<input type="text" name="CODEPOSTAL" size="20"><br>
Ville :<input type="text" name="VILLE" size="20"><br>
Pays :<input type="text" name="PAYS" size="20"><br>
Tel :<input type="text" name="TEL" size="20"><br>
E−mail :<input type="text" name="EMAIL" size="20"><br>
<input type="submit" value="Envoyer" name="B1"></p>
<input type="hidden" name="ID" value="112122222222">
<input type="hidden" name="MONTANT" value="100.00">
</form>
La valeur de la variable ID doit être remplacée par la valeur de l'identifiant unique du marchand.
Pour connaître son ID, le marchand doit consulter la section Info compte de son Back Office (Back Office >
Info compte)
La valeur du montant peut être de la forme :
100 ou 100.00
IMPORTANT :
− Le séparateur décimal doit être un point.
− La valeur du montant ne doit contenir aucun caractère spécial ou espace !
Exemples :
1000 = OK
1000.00 = OK
1 000.00 = NO
1'000.00 = NO
1,000.00 = NO
8
Paiement au comptant : Validation de commande
Les événements indiqués ci−dessous sont uniquement activés si la transaction est réussie. Dans le cas contraire, le client
est simplement redirigé vers le site marchand (voir retour du client).
Dés que la transaction est acceptée, la procédure de retour dynamique est activée de manière à ce que les bases de
données du marchand soient à jour avant même le retour du client.
Dans un même temps, un e−mail est envoyé au marchand pour l'informer de la réussite de la transaction et lui donner
les détails de la commande (voir "Panier"). Un e−mail de confirmation est envoyé au client.
Le message envoyé au client est paramétrable par le marchand depuis son Back Office (Paramétrage > Texte par
e−mail).
RETOUR DYNAMIQUE :
Le retour dynamique est uniquement utilisé par les marchands propriétaire d'un site dit "Dynamique" est qui nécessite la
mise à jour de bases de données par exemple.
De manière à ce que l'URL de retour ne soit pas visible par le client, cette URL est fractionnée en deux parties.
La première partie est renseignée par le marchand dans son Back Office (Paramétrage > Paramètres > Validation de
commande).
Cette première partie est donc "statique" pour chacune des transactions.
La seconde partie est passée par le formulaire de commande grâce à la variable "RETOUR".
Cette seconde partie est donc "dynamique".
Exemple :
− Le marchand construit son script de validation de commande (pour notre exemple
"http://www.mon_site.com/cgi−bin/validation.pl").
− Le script doit recevoir un numéro de commande, le marchand renseigne donc le champ "Validation de
commande" de son Back Office avec : "http://www.mon_site.com/cgi−bin/validation.pl?commande="
− Le client prépare sa commande sur le site marchand.
− Avant d'envoyer le client vers la plate−forme de paiement Klik & Pay, le marchand stocke la commande
dans ses bases de données sous un identifiant unique (pour notre exemple "454545").
− Le marchand ajoute de manière dynamique le champ suivant dans le formulaire de commande du client :
<input type="hidden" name="RETOUR" value="454545">
Si la transaction est acceptée, la plate−forme de paiement Klik & Pay appelera l'URL
"http://www.mon_site.com/cgi−bin/validation.pl?commande=454545" suivie de la variable NUMXKP
qui sera renseignée avec le numéro de commande interne à Klik & Pay, soit par exemple
"http://www.mon_site.com/cgi−bin/validation.pl?commande=454545&NUMXKP=565454545".
Pour connaître l'utilisation de la variable NUMXKP, voir "vérification de transaction"
9
Paiement au comptant : Retour du client
Que la transaction soit acceptée ou non, un message généré par la plate−forme Klik & Pay informe le client de sa
situation.
En cas de transaction acceptée, un "ticket" est présenté au client.
En cas de transaction refusée, une "erreur" est présentée au client.
Après cette etape, le client est redirigé vers une URL spécifiée par le marchand.
Les URL de retour client sont paramétrables depuis le Back Office du marchand (Paramétrage > Paramètres).
Page de retour Vente OK :
Ceci est l'URL vers laquelle est redirigé le client en cas de transaction acceptée.
Vous pouvez ajouter des variables à cette URL par le biais de la variable "RETOURVOK".
Exemple :
Page de retour Vente OK : "http://www.mon_site.com/cgi−bin/retourok.pl?commande="
RETOURVOK (passée dans le formulaire de commande) : "454545".
Le client est redirigé vers l'URL "http://www.mon_site.com/cgi−bin/retourok.pl?commande=454545" après une
transaction réussie.
Page de retour Vente REFUSÉE :
Ceci est l'URL vers laquelle est redirigé le client en cas de transaction refusée.
Vous pouvez ajouter des variables à cette URL par le biais de la variable "RETOURVHS".
Exemple :
Page de retour Vente Refusée : "http://www.mon_site.com/cgi−bin/retourhs.pl?commande="
RETOURVHS (passée dans le formulaire de commande) : "454545".
Le client est redirigé vers l'URL "http://www.mon_site.com/cgi−bin/retourhs.pl?commande=454545" après une
transaction refusée.
10
Paiement différé : paramétrage
Le paiement différé permet au marchand d'accepter ou de refuser une transaction après la commande du client.
Le montant de la transaction est uniquement débité du compte du client après acceptation de la commande par le
marchand ou après 4 jours si le marchand n'est pas intervenu sur la commande.
Si le marchand n'intervient pas sur une transaction en attente, un e−mail de rappel lui est envoyé 3 jours après la date de
transaction, soit 24 heures avant la validation automatique.
Si après 4 jours le marchand n'est toujours pas intervenu sur la transaction, cette dernière est automatiquement validée et
un e−mail d'information est envoyé au marchand.
Ceci est un service en option qui doit être activé par Klik & Pay.
Pour un paiement différé (service en option), le marchand doit envoyer les informations de paiement vers l'URL suivante :
http://www.klikandpay.com/cgi−bin/klikcppdif/klik.pl
Exemple de formulaire basique pour un paiement différé :
<form method="POST" action="http://www.klikandpay.com/cgi−bin/klikcppdif/klik.pl">
Nom : <input type="text" name="NOM" size="20"><br>
Prenom : <input type="text" name="PRENOM" size="20"><br>
Adresse : <input type="text" name="ADRESSE" size="20"><br>
CP :<input type="text" name="CODEPOSTAL" size="20"><br>
Ville :<input type="text" name="VILLE" size="20"><br>
Pays :<input type="text" name="PAYS" size="20"><br>
Tel :<input type="text" name="TEL" size="20"><br>
E−mail :<input type="text" name="EMAIL" size="20"><br>
<input type="submit" value="Envoyer" name="B1"></p>
<input type="hidden" name="ID" value="112122222222">
<input type="hidden" name="MONTANT" value="100.00">
</form>
La valeur de la variable ID doit être remplacée par la valeur de l'identifiant unique du marchand.
Pour connaître son ID, le marchand doit consulter la section Info compte de son Back Office (Back Office >
Info compte)
La valeur du montant peut être de la forme :
100 ou 100.00
IMPORTANT :
− Le séparateur décimal doit être un point.
− La valeur du montant ne doit contenir aucun caractère spécial ou espace !
Exemples :
1000 = OK
1000.00 = OK
1 000.00 = NO
1'000.00 = NO
1,000.00 = NO
11
Paiement différé : Validation de commande
Les événements indiqués ci−dessous sont uniquement activés si la transaction est réussie. Dans le cas contraire, le client
est simplement redirigé vers le site marchand (voir retour du client).
Dés que la transaction est acceptée, un e−mail est envoyé au marchand pour l'informer de la réussite de la transaction
et lui donner les détails de la commande (voir "Panier"). Un e−mail de confirmation est envoyé au client.
Le message envoyé au client est paramétrable par le marchand depuis son Back Office (Paramétrage > Texte par
e−mail).
Contrairement au paiement au comptant, la procédure de retour dynamique sera uniquement activée lorsque le
marchand aura validé la transaction ou si le marchand n'est pas intervenu sur la transaction après 4 jours.
RETOUR DYNAMIQUE :
Le retour dynamique est uniquement utilisé par les marchands propriétaire d'un site dit "Dynamique" est qui nécessite la
mise à jour de bases de données par exemple.
De manière à ce que l'URL de retour ne soit pas visible par le client, cette URL est fractionnée en deux parties.
La première partie est renseignée par le marchand dans son Back Office (Paramétrage > Paramètres > Validation de
commande).
Cette première partie est donc "statique" pour chacune des transactions.
La seconde partie est passée par le formulaire de commande grâce à la variable "RETOUR".
Cette seconde partie est donc "dynamique".
Exemple :
− Le marchand construit son script de validation de commande (pour notre exemple
"http://www.mon_site.com/cgi−bin/validation.pl").
− Le script doit recevoir un numéro de commande, le marchand renseigne donc le champ "Validation de
commande" de son Back Office avec : "http://www.mon_site.com/cgi−bin/validation.pl?commande="
− Le client prépare sa commande sur le site marchand.
− Avant d'envoyer le client vers la plate−forme de paiement Klik & Pay, le marchand stocke la commande
dans ses bases de données sous un identifiant unique (pour notre exemple "454545").
− Le marchand ajoute de manière dynamique le champ suivant dans le formulaire de commande du client :
<input type="hidden" name="RETOUR" value="454545">
Si la transaction est acceptée, la plate−forme de paiement Klik & Pay appelera l'URL
"http://www.mon_site.com/cgi−bin/validation.pl?commande=454545" suivie de la variable NUMXKP
qui sera renseignée avec le numéro de commande interne à Klik & Pay, soit par exemple
"http://www.mon_site.com/cgi−bin/validation.pl?commande=454545&NUMXKP=565454545".
Pour connaître l'utilisation de la variable NUMXKP, voir "vérification de transaction"
12
Paiement différé : Retour du client
Que la transaction soit acceptée ou non, un message généré par la plate−forme Klik & Pay informe le client de sa
situation.
En cas de transaction acceptée, un "ticket" est présenté au client.
En cas de transaction refusée, une "erreur" est présentée au client.
Après cette etape, le client est redirigé vers une URL spécifiée par le marchand.
Les URL de retour client sont paramétrables depuis le Back Office du marchand (Paramétrage > Paramètres).
Page de retour Vente OK :
Ceci est l'URL vers laquelle est redirigé le client en cas de transaction acceptée.
Vous pouvez ajouter des variables à cette URL par le biais de la variable "RETOURVOK".
Exemple :
Page de retour Vente OK : "http://www.mon_site.com/cgi−bin/retourok.pl?commande="
RETOURVOK (passée dans le formulaire de commande) : "454545".
Le client est redirigé vers l'URL "http://www.mon_site.com/cgi−bin/retourok.pl?commande=454545" après une
transaction réussie.
Page de retour Vente REFUSÉE :
Ceci est l'URL vers laquelle est redirigé le client en cas de transaction refusée.
Vous pouvez ajouter des variables à cette URL par le biais de la variable "RETOURVHS".
Exemple :
Page de retour Vente Refusée : "http://www.mon_site.com/cgi−bin/retourhs.pl?commande="
RETOURVHS (passée dans le formulaire de commande) : "454545".
Le client est redirigé vers l'URL "http://www.mon_site.com/cgi−bin/retourhs.pl?commande=454545" après une
transaction refusée.
Si la transaction n'est pas acceptée par le marchand mais qu'elle a été validée par le client, il incombe au
marchand d'en informer son client.
13
Paiement par abonnement : Paramétrage
Le paiement par abonnement permet au marchand de présenter des paiements récurrents en banque pour une prestation
ou un service.
Ce service permet donc de proposer une offre d'essai pour un montant et une durée différente de l'abonnement principal.
Ceci est un service en option qui doit être activé par Klik & Pay.
Pour paramétrer ses abonnements, le marchand doit dans un premier temps les définir depuis son Back Office (Back
Office > Paramétrage abonnements)
Définir un abonnement :
− Le marchand doit donner un nom à l'abonnement,
− Choisir le montant du premier versement (période d'essai),
− Donner le délai entre le premier versement et le début de l'abonnement (1 à 4 semaines),
− Donner la périodicité de l'abonnement (1 à 6 mois),
− Donner le montant de l'abonnement.
Après la création de l'abonnement, Klik & Pay lui attribut un identifiant unique.
Cet identifiant doit donc être inclus dans le bon de commande.
Pour un paiement par abonnement (service en option), le marchand doit envoyer les informations de paiement vers l'URL
suivante :
http://www.klikandpay.com/cgi−bin/klikcppabon/klik.pl
Exemple de formulaire basique pour un paiement par abonnement :
<form method="POST" action="http://www.klikandpay.com/cgi−bin/klikcppabon/klik.pl">
Nom : <input type="text" name="NOM" size="20"><br>
Prenom : <input type="text" name="PRENOM" size="20"><br>
Adresse : <input type="text" name="ADRESSE" size="20"><br>
CP :<input type="text" name="CODEPOSTAL" size="20"><br>
Ville :<input type="text" name="VILLE" size="20"><br>
Pays :<input type="text" name="PAYS" size="20"><br>
Tel :<input type="text" name="TEL" size="20"><br>
E−mail :<input type="text" name="EMAIL" size="20"><br>
<input type="submit" value="Envoyer" name="B1"></p>
<input type="hidden" name="ID" value="112122222222">
<input type="hidden" name="ABONNEMENT" value="45GFD7554GFD">
</form>
La valeur de la variable ID doit être remplacée par la valeur de l'identifiant unique du marchand.
La valeur de la variable ABONNEMENT doit être remplacée par la valeur de l'abonnement créé sur le Back
Office.
Pour connaître son ID, le marchand doit consulter la section Info compte de son Back Office (Back Office >
Info compte)
14
Paiement par abonnement : Validation de commande
Les événements indiqués ci−dessous sont uniquement activés si la transaction est réussie. Dans le cas contraire, le client
est simplement redirigé vers le site marchand (voir retour du client).
Dés que la transaction est acceptée, la procédure de retour dynamique est activée de manière à ce que les bases de
données du marchand soient à jour avant même le retour du client.
Dans un même temps, un e−mail est envoyé au marchand pour l'informer de la réussite de la transaction et lui donner
les détails de la commande (voir "Panier"). Un e−mail de confirmation est envoyé au client.
Le message envoyé au client est paramétrable par le marchand depuis son Back Office (Paramétrage > Texte par
e−mail).
RETOUR DYNAMIQUE :
Le retour dynamique est uniquement utilisé par les marchands propriétaire d'un site dit "Dynamique" est qui nécessite la
mise à jour de bases de données par exemple.
De manière à ce que l'URL de retour ne soit pas visible par le client, cette URL est fractionnée en deux parties.
La première partie est renseignée par le marchand dans son Back Office (Paramétrage > Paramètres > Validation de
commande).
Cette première partie est donc "statique" pour chacune des transactions.
La seconde partie est passée par le formulaire de commande grâce à la variable "RETOUR".
Cette seconde partie est donc "dynamique".
Exemple :
− Le marchand construit son script de validation de commande (pour notre exemple
"http://www.mon_site.com/cgi−bin/validation.pl").
− Le script doit recevoir un numéro de commande, le marchand renseigne donc le champ "Validation de
commande" de son Back Office avec : "http://www.mon_site.com/cgi−bin/validation.pl?commande="
− Le client prépare sa commande sur le site marchand.
− Avant d'envoyer le client vers la plate−forme de paiement Klik & Pay, le marchand stocke la commande
dans ses bases de données sous un identifiant unique (pour notre exemple "454545").
− Le marchand ajoute de manière dynamique le champ suivant dans le formulaire de commande du client :
<input type="hidden" name="RETOUR" value="454545">
Si la transaction est acceptée, la plate−forme de paiement Klik & Pay appelera l'URL
"http://www.mon_site.com/cgi−bin/validation.pl?commande=454545" suivie de la variable NUMXKP
qui sera renseignée avec le numéro de commande interne à Klik & Pay, soit par exemple
"http://www.mon_site.com/cgi−bin/validation.pl?commande=454545&NUMXKP=565454545".
A noter : La valeur de la variable NUMXKP est également la référence de l'abonnement créé. Cette valeur
sera utile pour les prochaines échéances de l'abonnement ou pour supprimer l'abonnement.
Pour connaître l'utilisation de la variable NUMXKP, voir "vérification de transaction"
15
Paiement par abonnement : Retour du client
Que la transaction soit acceptée ou pas, un message généré par la plate−forme Klik & Pay informe le client de sa
situation.
En cas de transaction acceptée, un "ticket" est présenté au client.
En cas de transaction refusée, une "erreur" est présentée au client.
Après cette etape, le client est redirigé vers une URL spécifiée par le marchand.
Les URL de retour client sont paramétrables depuis le Back Office du marchand (Paramétrage > Paramètres).
Page de retour Vente OK :
Ceci est l'URL vers laquelle est redirigé le client en cas de transaction acceptée.
Vous pouvez ajouter des variables à cette URL par le biais de la variable "RETOURVOK".
Exemple :
Page de retour Vente OK : "http://www.mon_site.com/cgi−bin/retourok.pl?commande="
RETOURVOK (passée dans le formulaire de commande) : "454545".
Le client est redirigé vers l'URL "http://www.mon_site.com/cgi−bin/retourok.pl?commande=454545" après une
transaction réussie.
Page de retour Vente REFUSÉE :
Ceci est l'URL vers laquelle est redirigé le client en cas de transaction refusée.
Vous pouvez ajouter des variables à cette URL par le biais de la variable "RETOURVHS".
Exemple :
Page de retour Vente Refusée : "http://www.mon_site.com/cgi−bin/retourhs.pl?commande="
RETOURVHS (passée dans le formulaire de commande) : "454545".
Le client est redirigé vers l'URL "http://www.mon_site.com/cgi−bin/retourhs.pl?commande=454545" après une
transaction refusée.
16
Paiement par abonnement : Les échéances
La présentation des échéances d'un abonnement est gérée automatiquement par Klik & Pay.
La procédure est identique à une transaction normale, mais ne nécessite aucune intervention de la part du marchand ou
du client.
Échéances dynamiques :
Lors de la création de l'abonnement, un numéro NUMXKP a été transmis au serveur du marchand. Ce numéro sera
reporté pour chacune des transactions.
Prochaine échéance non valide :
La variable STOPABON ayant pour valeur 1 est ajoutée au retour dynamique si la prochaine échéance de cet
abonnement ne pourra être présentée en banque pour cause de date de validité de carte expirée. Cette information est
également ajoutée dans le mail de confirmation de commande envoyé au marchand.
Échéance refusée :
Si l'échéance est refusée, le retour dynamique se fait tout de même, mais la variable ABONREFUSE ayant pour valeur 1
est ajoutée à l'URL de retour dynamique.
Dans ce cas, un e−mail d'alerte est envoyé au marchand et un second e−mail est envoyé au client.
Exemple :
la valeur du premier retour dynamique (lors de la création de l'abonnement) été :
http://www.mon_site.com/cgi−bin/validation.pl?commande=454545&NUMXKP=565454545
Pour chaque échéance, la valeur du retour dynamique sera :
http://www.mon_site.com/cgi−bin/validation.pl?commande=454545&ORIGINNUMXKP=565454545&NUMXKP=666566
Si la prochaine échéance ne sera pas valide, la valeur du retour dynamique sera :
http://www.mon_site.com/cgi−bin/validation.pl?commande=454545&ORIGINNUMXKP=565454545&NUMXKP=666566&STOPABON=1
Si l'échéance est refusée, la valeur du retour dynamique sera :
http://www.mon_site.com/cgi−bin/validation.pl?commande=454545&ORIGINNUMXKP=565454545&NUMXKP=666566&ABONREFUSE
commande = Valeur de la variable "RETOUR" fournie par le marchand
ORIGINNUMXKP = Valeur NUMXKP de création d'abonnement
NUMXKP = Référence de la transaction
17
Paiement par abonnement : Stopper un abonnement
Le marchand peut stopper un abonnement à tout moment depuis son Back Office (Back Office > Abonnements en cours).
Un abonnement peut également être stoppé de manière dynamique directement depuis le serveur du marchand.
Pour cela certains éléments sont nécessaires :
− Valeur NUMXKP de la création de l'abonnement (ou valeur ORIGINNUMXKP des échéances),
− Identifiant unique du marchand,
− Mot de passe Klik & Pay du marchand.
Il suffit alors d'appeler l'URL suivante :
http://www.klikandpay.com/cgi−bin/klikcppabon/killabon.pl?ID=ID&PASSE=PASSE&NUMXKP=NUMXKP_DE_CREATION
IMPORTANT :
Cette URL ne doit en aucun cas être visible par le client car elle contient le mot de passe du marchand.
Cette procédure doit donc être faite en arrière plan.
Exemple (Perl) :
#!/usr/bin/perl
$ID="";
$PASSE="";
$NUMXKP="";
use LWP::Simple;
$content=get("http://www.klikandpay.com/cgi−bin/klikcppabon/killabon.pl?ID=$ID&PASSE=$PASSE&NUMXKP=$NUMXKP");
print "Content−type: text/html\n\n";
print "Abonnement $NUMXKP supprimé";
exit;
# Renseignez les valeurs ID, PASSE et NUMXKP
18
Paiement en X fois : Paramétrage
Le paiement en X fois permet au marchand de proposer à son client de régler un achat ou un service en plusieurs fois.
Ceci est un service en option qui doit être activé par Klik & Pay.
Dans la majeure partie des cas, le paiement en X fois doit être réalisé à partir d'un site dynamique qui va calculer la valeur
des montants et les échéances "à la volée".
Définir un paiement en X fois :
Le site marchand doit calculer les montants et les dates des échéances.
La première échéance est passée sous la variable MONTANT.
Aucune date n'est passée pour la première échéance car le paiement sera réalisé par le client.
Pour les autres échéances, il faut faire passer les informations comme indiqué ci−dessous.
Échéances
Variable Montant
Variable date
Seconde échéance :
MONTANT2
DATE2
Troisième échéance :
MONTANT3
DATE3
Quatrième échéance :
MONTANT4
DATE4
Cinquième échéance :
MONTANT5
DATE5
IMPORTANT :
− La date de la dernière échéance ne peut pas dépasser 5 mois après la date du premier versement,
− Il peut au maximum y avoir 4 échéances après le premier versement,
− Si le format de la date d'une échéance n'est pas correcte ou dépasse 5 mois, une erreur est présentée au client,
− Les dates doivent être passées sous la forme suivante YYYY−MM−DD.
Pour un paiement en X fois (service en option), le marchand doit envoyer les informations de paiement vers l'URL
suivante :
http://www.klikandpay.com/cgi−bin/klikcpppaiements/klik.pl
19
Exemple de formulaire basique pour un paiement en x fois :
<form method="POST" action="http://www.klikandpay.com/cgi−bin/klikcpppaiements/klik.pl">
Nom : <input type="text" name="NOM" size="20"><br>
Prenom : <input type="text" name="PRENOM" size="20"><br>
Adresse : <input type="text" name="ADRESSE" size="20"><br>
CP :<input type="text" name="CODEPOSTAL" size="20"><br>
Ville :<input type="text" name="VILLE" size="20"><br>
Pays :<input type="text" name="PAYS" size="20"><br>
Tel :<input type="text" name="TEL" size="20"><br>
E−mail :<input type="text" name="EMAIL" size="20"><br>
<input type="submit" value="Envoyer" name="B1"></p>
<input type="hidden" name="ID" value="112122222222">
<input type="hidden" name="MONTANT" value="100.00">
<input type="hidden" name="MONTANT2" value="50.00">
<input type="hidden" name="DATE2" value="2003−10−09">
<input type="hidden" name="MONTANT3" value="50.00">
<input type="hidden" name="DATE3" value="2003−11−09">
<input type="hidden" name="MONTANT4" value="50.00">
<input type="hidden" name="DATE4" value="2003−12−09">
<input type="hidden" name="MONTANT5" value="50.00">
<input type="hidden" name="DATE5" value="2004−01−09">
</form>
La valeur de la variable ID doit être remplacée par la valeur de l'identifiant unique du marchand.
Pour connaître son ID, le marchand doit consulter la section Info compte de son Back Office (Back Office >
Info compte)
La valeur du montant peut être de la forme :
100 ou 100.00
IMPORTANT :
− Le séparateur décimal doit être un point.
− La valeur du montant ne doit contenir aucun caractère spécial ou espace !
Exemples :
1000 = OK
1000.00 = OK
1 000.00 = NO
1'000.00 = NO
1,000.00 = NO
20
Paiement en X fois : Validation de commande
Les événements indiqués ci−dessous sont uniquement activés si la transaction est réussie. Dans le cas contraire, le client
est simplement redirigé vers le site marchand (voir retour du client).
Dés que la transaction est acceptée, la procédure de retour dynamique est activée de manière à ce que les bases de
données du marchand soient à jour avant même le retour du client.
Dans un même temps, un e−mail est envoyé au marchand pour l'informer de la réussite de la transaction et lui donner
les détails de la commande (voir "Panier"). Un e−mail de confirmation est envoyé au client.
Le message envoyé au client est paramétrable par le marchand depuis son Back Office (Paramétrage > Texte par
e−mail).
RETOUR DYNAMIQUE :
Le retour dynamique est uniquement utilisé par les marchands propriétaire d'un site dit "Dynamique" est qui nécessite la
mise à jour de bases de données par exemple.
De manière à ce que l'URL de retour ne soit pas visible par le client, cette URL est fractionnée en deux parties.
La première partie est renseignée par le marchand dans son Back Office (Paramétrage > Paramètres > Validation de
commande).
Cette première partie est donc "statique" pour chacune des transactions.
La seconde partie est passée par le formulaire de commande grâce à la variable "RETOUR".
Cette seconde partie est donc "dynamique".
Exemple :
− Le marchand construit son script de validation de commande (pour notre exemple
"http://www.mon_site.com/cgi−bin/validation.pl").
− Le script doit recevoir un numéro de commande, le marchand renseigne donc le champ "Validation de
commande" de son Back Office avec : "http://www.mon_site.com/cgi−bin/validation.pl?commande="
− Le client prépare sa commande sur le site marchand.
− Avant d'envoyer le client vers la plate−forme de paiement Klik & Pay, le marchand stocke la commande
dans ses bases de données sous un identifiant unique (pour notre exemple "454545").
− Le marchand ajoute de manière dynamique le champ suivant dans le formulaire de commande du client :
<input type="hidden" name="RETOUR" value="454545">
Si la transaction est acceptée, la plate−forme de paiement Klik & Pay appelera l'URL
"http://www.mon_site.com/cgi−bin/validation.pl?commande=454545" suivie de la variable NUMXKP
qui sera renseignée avec le numéro de commande interne à Klik & Pay, soit par exemple
"http://www.mon_site.com/cgi−bin/validation.pl?commande=454545&NUMXKP=565454545".
A noter : La valeur de la variable NUMXKP est également la référence de la première échéance. Cette
valeur sera utile pour les prochains paiements.
Pour connaître l'utilisation de la variable NUMXKP, voir "vérification de transaction"
21
Paiement en X fois : Retour du client
Que la transaction soit acceptée ou pas, un message généré par la plate−forme Klik & Pay informe le client de sa
situation.
En cas de transaction acceptée, un "ticket" est présenté au client.
En cas de transaction refusée, une "erreur" est présentée au client.
Après cette étape, le client est redirigé vers une URL spécifiée par le marchand.
Les URL de retour client sont paramétrables depuis le Back Office du marchand (Paramétrage > Paramètres).
Page de retour Vente OK :
Ceci est l'URL vers laquelle est redirigé le client en cas de transaction acceptée.
Vous pouvez ajouter des variables à cette URL par le biais de la variable "RETOURVOK".
Exemple :
Page de retour Vente OK : "http://www.mon_site.com/cgi−bin/retourok.pl?commande="
RETOURVOK (passée dans le formulaire de commande) : "454545".
Le client est redirigé vers l'URL "http://www.mon_site.com/cgi−bin/retourok.pl?commande=454545" après une
transaction réussie.
Page de retour Vente REFUSÉE :
Ceci est l'URL vers laquelle est redirigé le client en cas de transaction refusée.
Vous pouvez ajouter des variables à cette URL par le biais de la variable "RETOURVHS".
Exemple :
Page de retour Vente Refusée : "http://www.mon_site.com/cgi−bin/retourhs.pl?commande="
RETOURVHS (passée dans le formulaire de commande) : "454545".
Le client est redirigé vers l'URL "http://www.mon_site.com/cgi−bin/retourhs.pl?commande=454545" après une
transaction refusée.
22
Paiement en X fois : Les échéances
La présentation des échéances d'un paiement en X fois est gérée automatiquement par Klik & Pay.
La procédure est identique à une transaction normale, mais ne nécessite aucune intervention de la part du marchand ou
du client.
Depuis son Back Office (Back Office > Paiements en X fois), le marchand peut consulter les échéances à venir et en
supprimer s'il le souhaite.
Une échéance marquée en rouge indique que la carte du client ne sera plus valide au moment du paiement de cette
échéance.
Échéances dynamiques :
Lors du premier versement d'un paiement en X fois, un numéro NUMXKP a été transmis au serveur du marchand. Ce
numéro sera reporté pour chacune des échéances.
Échéance refusée :
Si une échéance est refusée, cette dernière est effacée et un e−mail est envoyé au marchand ainsi qu'au client.
Les autres échéances ne sont pas effacées automatiquement.
Le marchand doit dans ce cas prendre contact avec son client pour obtenir le règlement de l'échéance refusée.
Exemple :
la valeur du premier retour dynamique (premier versement) été :
http://www.mon_site.com/cgi−bin/validation.pl?commande=454545&NUMXKP=565454545
Pour chaque échéance, la valeur du retour dynamique sera :
http://www.mon_site.com/cgi−bin/validation.pl?commande=454545&ORIGINNUMXKP=565454545&NUMXKP=666566
commande = Valeur de la variable "RETOUR" fournie par le marchand
ORIGINNUMXKP = Valeur NUMXKP du premier versement
NUMXKP = Référence de la transaction
23
La fonction "Panier"
Le panier permet au marchand de recevoir un e−mail contenant le détail des produits ou services achetés par le client lors
de chaque commande.
Cette fonction n'est pas obligatoire pour le bon fonctionnement du processus de paiement, mais elle est vivement
conseillée.
Le principe est très simple...
Le contenu du panier est passé via la variable DETAIL dans le formulaire de commande.
Si le site marchand est dynamique, lors de l'affichage du bon de commande, il suffit d'incrémenter la valeur de la variable
DETAIL pour chaque article comme indiqué ci−dessous :
REF:REFERENCE PRODUIT%Q:QUANTITE%PRIX:PRIX%PROD:NOM DU PRODUIT|
Exemple pour deux produits commandés :
REF:4545%Q:2%PRIX:100%PROD:Produit test|REF:958%Q:1%PRIX:500%PROD:Produit test 2|
A ajouter dans le formulaire de commande :
<input type="hidden" name="DETAIL" value="REF:4545%Q:2%PRIX:100%PROD:Produit
test|REF:958%Q:1%PRIX:500%PROD:Produit test 2|">
Exemple Perl + Mysql
$DETAIL="";
$command="SELECT REF,TITRE,QUANTITE,PRIXUNITAIRE FROM CADDIE WHERE
CLIENT='$CLIENT'";
$sth = $dbh−>prepare($command) || die "Préparation impossible: $DBI::errstr";
$sth−>execute() || die "Erreur d'execution: $DBI::errstr";
@data=();
while (@data = $sth−>fetchrow_array()) {
($REF,$TITRE,$QUANTITE,$PRIXUNITAIRE) = @data;
$DETAIL.="REF:$REF%PROD:$TITRE%Q:$QUANTITE%PRIX:$PRIXUNITAIRE|";
}
$sth−>finish;
Important :
Compte tenu du fait que les caractères % : et | sont des opérateurs dans la conception du panier, il convient de ne pas les
utiliser dans des noms de produit ou des références.
24
Vérification dynamique de commande
Afin d'éviter tout risque de fraude, Klik & Pay vous permet de vérifier de manière dynamique qu'une transaction effectuée
correspond bien aux informations que vous avez précédemment envoyées.
Pour cela, il vous suffit de capturer la valeur NUMXKP retournée par Klik & Pay lors de la validation dynamique et de
demander un état à notre script "checkvente.pl".
URL :
Vente au comptant ou par abonnement : http://www.klikandpay.com/cgi−bin/klikcpp/checkvente.pl
Vente en différé : http://www.klikandpay.com/cgi−bin/klikcppdif/checkvente.pl
Pour vérifier une transaction, le marchand doit passer deux variables à notre script :
ID : Identifiant unique du marchand
NUMXKP : valeur NUMXKP retournée par la plate−forme de paiement Klik & Pay lors de la validation dynamique.
Exemple pour une vente au comptant :
http://www.klikandpay.com/cgi−bin/klikcpp/checkvente.pl?ID=ID_MARCHAND&NUMXKP=VALEUR_NUMXKP
Le script répond au marchand :
VALIDATIONNO NOVARIABLES : Variable ID ou NUMXKP manquante
VALIDATIONNO ID INCO : ID marchand inconnu
VALIDATIONNO VENTE INCO : Transaction non trouvée (Valeur NUMXKP non reconnue)
VALIDATIONYES|MONTANT|DELAI : Vente OK (VALIDATIONYES) + Montant de la transaction enregistrée + Délai en
seconde depuis la transaction
Pour que le marchand puisse tester le script, il lui suffit de donner la valeur "VALEURTEST" à la variable NUMXKP.
Exemple (perl) pour une vente au comptant :
#!/usr/bin/perl
use CGI;
use LWP::Simple;
$form = new CGI;
$NUMXKP= $form−>param("NUMXKP");
$ID="VALEUR ID";
$MONTANT="VALEUR MONTANT ENREGISTRE";
$content = get("http://www.klikandpay.com/cgi−bin/klikcpp/checkvente.pl?ID=$ID&NUMXKP=$NUMXKP");
@infopaiement = split /\|/ , $content;
$MONTANT2="$infopaiement[1]";
$STATUT="$infopaiement[0]";
$DELAI="$infopaiement[2]";
print "Content−type: text/html\n\n";
if ($MONTANT != $MONTANT2 || $STATUT ne "VALIDATIONYES") {
print "Problème sur cette commande !!!";
}
else {print "Vente OK, validée il y a $DELAI secondes";}
exit;
# Renseignez les valeurs ID et MONTANT
Important :
Le marchand doit vérifier les transactions en temps réel (lors du retour dynamique).
Si le marchand vérifie les transactions par groupe, les sécurités de notre serveur bloqueront le serveur du marchand.
25
Annexe : Liste des pays
La localisation géographique du client est très importante pour un bon déroulement de la procédure de paiement.
C'est pourquoi nous conseillons aux marchands d'utiliser une liste de proposition de pays plutôt que de laisser le client
l'indiquer manuellement.
Voici une liste "SELECT" que les marchands peuvent mettre en place sur le formulaire de commande :
<select name="PAYS" size="1">
<option value="FR">France</option>
<option value="CH"> Suisse </option>
<option value="BE">Belgique</option>
<option value="" disabled>−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−</option>
<option value="AF">Afghanistan</option>
<option value="AL">Albania</option>
<option value="DZ">Algeria</option>
<option value="AS">American Samoa</option>
<option value="AD">Andorra</option>
<option value="AO">Angola</option>
<option value="AI">Anguilla</option>
<option value="AQ">Antarctica</option>
<option value="AG">Antigua and Barbuda</option>
<option value="AR">Argentina</option>
<option value="AM">Armenia</option>
<option value="AW">Aruba</option>
<option value="AU">Australia</option>
<option value="AT">Austria</option>
<option value="AZ">Azerbaijan</option>
<option value="BS">Bahamas</option>
<option value="BH">Bahrain</option>
<option value="BD">Bangladesh</option>
<option value="BB">Barbados</option>
<option value="BY">Belarus</option>
<option value="BE">Belgium</option>
<option value="BZ">Belize</option>
<option value="BJ">Benin</option>
<option value="BM">Bermuda</option>
<option value="BT">Bhutan</option>
<option value="BO">Bolivia</option>
<option value="BA">Bosnia and Herzegowina</option>
<option value="BW">Botswana</option>
<option value="BV">Bouvet Island</option>
<option value="BR">Brazil</option>
<option value="IO">British Indian Ocean Territory</option>
<option value="BN">Brunei Darussalam</option>
<option value="BG">Bulgaria</option>
<option value="BF">Burkina Faso</option>
<option value="BI">Burundi</option>
<option value="KH">Cambodia</option>
<option value="CM">Cameroon</option>
<option value="CA">Canada</option>
<option value="CV">Cape Verde</option>
<option value="KY">Cayman Islands</option>
<option value="CF">Central African Republic</option>
<option value="TD">Chad</option>
<option value="CL">Chile</option>
<option value="CN">China</option>
<option value="CX">Christmas Island</option>
<option value="CC">Cocos (Keeling) Islands</option>
<option value="CO">Colombia</option>
<option value="KM">Comoros</option>
26
<option value="CG">Congo</option>
<option value="CD">Congo, The Democratic Republic of the</option>
<option value="CK">Cook Islands</option>
<option value="CR">Costa Rica</option>
<option value="CI">Cote d'Ivoire</option>
<option value="HR">Croatia (Hrvatska)</option>
<option value="CU">Cuba</option>
<option value="CY">Cyprus</option>
<option value="CZ">Czech Republic</option>
<option value="DK">Denmark</option>
<option value="DJ">Djibouti</option>
<option value="DM">Dominica</option>
<option value="DO">Dominican Republic</option>
<option value="TP">East Timor</option>
<option value="EC">Ecuador</option>
<option value="EG">Egypt</option>
<option value="SV">El Salvador</option>
<option value="GQ">Equatorial Guinea</option>
<option value="ER">Eritrea</option>
<option value="EE">Estonia</option>
<option value="ET">Ethiopia</option>
<option value="FK">Falkland Islands (Malvinas)</option>
<option value="FO">Faroe Islands</option>
<option value="FJ">Fiji</option>
<option value="FI">Finland</option>
<option value="FR">France</option>
<option value="FX">France, Metropolitan</option>
<option value="GF">French Guiana</option>
<option value="PF">French Polynesia</option>
<option value="TF">French Southern Territories</option>
<option value="GA">Gabon</option>
<option value="GM">Gambia</option>
<option value="GE">Georgia</option>
<option value="DE">Germany</option>
<option value="GH">Ghana</option>
<option value="GI">Gibraltar</option>
<option value="GR">Greece</option>
<option value="GL">Greenland</option>
<option value="GD">Grenada</option>
<option value="GP">Guadeloupe</option>
<option value="GU">Guam</option>
<option value="GT">Guatemala</option>
<option value="GN">Guinea</option>
<option value="GW">Guinea−Bissau</option>
<option value="GY">Guyana</option>
<option value="HT">Haiti</option>
<option value="HM">Heard and Mc Donald Islands</option>
<option value="VA">Holy See (Vatican City State)</option>
<option value="HN">Honduras</option>
<option value="HK">Hong Kong</option>
<option value="HU">Hungary</option>
<option value="IS">Iceland</option>
<option value="IN">India</option>
<option value="ID">Indonesia</option>
<option value="IR">Iran (Islamic Republic of)</option>
<option value="IQ">Iraq</option>
<option value="IE">Ireland</option>
<option value="IL">Israel</option>
<option value="IT">Italy</option>
<option value="JM">Jamaica</option>
<option value="JP">Japan</option>
<option value="JO">Jordan</option>
<option value="KZ">Kazakhstan</option>
<option value="KE">Kenya</option>
<option value="KI">Kiribati</option>
<option value="KP">Korea, Democratic People's Republic of</option>
<option value="KR">Korea, Republic of</option>
<option value="KW">Kuwait</option>
<option value="KG">Kyrgyzstan</option>
<option value="LA">Lao People's Democratic Republic</option>
27
<option value="LV">Latvia</option>
<option value="LB">Lebanon</option>
<option value="LS">Lesotho</option>
<option value="LR">Liberia</option>
<option value="LY">Libyan Arab Jamahiriya</option>
<option value="LI">Liechtenstein</option>
<option value="LT">Lithuania</option>
<option value="LU">Luxembourg</option>
<option value="MO">Macau</option>
<option value="MK">Macedonia</option>
<option value="MG">Madagascar</option>
<option value="MW">Malawi</option>
<option value="MY">Malaysia</option>
<option value="MV">Maldives</option>
<option value="ML">Mali</option>
<option value="MT">Malta</option>
<option value="MH">Marshall Islands</option>
<option value="MQ">Martinique</option>
<option value="MR">Mauritania</option>
<option value="MU">Mauritius</option>
<option value="YT">Mayotte</option>
<option value="MX">Mexico</option>
<option value="FM">Micronesia</option>
<option value="MD">Moldova, Republic of</option>
<option value="MC">Monaco</option>
<option value="MN">Mongolia</option>
<option value="MS">Montserrat</option>
<option value="MA">Morocco</option>
<option value="MZ">Mozambique</option>
<option value="MM">Myanmar</option>
<option value="NA">Namibia</option>
<option value="NR">Nauru</option>
<option value="NP">Nepal</option>
<option value="NL">Netherlands</option>
<option value="AN">Netherlands Antilles</option>
<option value="NC">New Caledonia</option>
<option value="NZ">New Zealand</option>
<option value="NI">Nicaragua</option>
<option value="NE">Niger</option>
<option value="NG">Nigeria</option>
<option value="NU">Niue</option>
<option value="NF">Norfolk Island</option>
<option value="MP">Northern Mariana Islands</option>
<option value="NO">Norway</option>
<option value="OM">Oman</option>
<option value="PK">Pakistan</option>
<option value="PW">Palau</option>
<option value="PA">Panama</option>
<option value="PG">Papua New Guinea</option>
<option value="PY">Paraguay</option>
<option value="PE">Peru</option>
<option value="PH">Philippines</option>
<option value="PN">Pitcairn</option>
<option value="PL">Poland</option>
<option value="PT">Portugal</option>
<option value="PR">Puerto Rico</option>
<option value="QA">Qatar</option>
<option value="RE">Reunion</option>
<option value="RO">Romania</option>
<option value="RU">Russian Federation</option>
<option value="RW">Rwanda</option>
<option value="KN">Saint Kitts and Nevis</option>
<option value="LC">Saint Lucia</option>
<option value="VC">Saint Vincent and the Grenadines</option>
<option value="WS">Samoa</option>
<option value="SM">San Marino</option>
<option value="ST">Sao Tome and Principe</option>
<option value="SA">Saudi Arabia</option>
<option value="SN">Senegal</option>
<option value="SC">Seychelles</option>
28
<option value="SL">Sierra Leone</option>
<option value="SG">Singapore</option>
<option value="SK">Slovakia (Slovak Republic)</option>
<option value="SI">Slovenia</option>
<option value="SB">Solomon Islands</option>
<option value="SO">Somalia</option>
<option value="ZA">South Africa</option>
<option value="GS">South Georgia</option>
<option value="ES">Spain</option>
<option value="LK">Sri Lanka</option>
<option value="SH">St. Helena</option>
<option value="PM">St. Pierre and Miquelon</option>
<option value="SD">Sudan</option>
<option value="SR">Suriname</option>
<option value="SJ">Svalbard and Jan Mayen Islands</option>
<option value="SZ">Swaziland</option>
<option value="SE">Sweden</option>
<option value="CH">Switzerland</option>
<option value="SY">Syrian Arab Republic</option>
<option value="TW">Taiwan, Province of China</option>
<option value="TJ">Tajikistan</option>
<option value="TZ">Tanzania, United Republic of</option>
<option value="TH">Thailand</option>
<option value="TG">Togo</option>
<option value="TK">Tokelau</option>
<option value="TO">Tonga</option>
<option value="TT">Trinidad and Tobago</option>
<option value="TN">Tunisia</option>
<option value="TR">Turkey</option>
<option value="TM">Turkmenistan</option>
<option value="TC">Turks and Caicos Islands</option>
<option value="TV">Tuvalu</option>
<option value="UG">Uganda</option>
<option value="UA">Ukraine</option>
<option value="AE">United Arab Emirates</option>
<option value="GB">United Kingdom</option>
<option value="US">United States</option>
<option value="UY">Uruguay</option>
<option value="UZ">Uzbekistan</option>
<option value="VU">Vanuatu</option>
<option value="VE">Venezuela</option>
<option value="VN">Viet Nam</option>
<option value="VG">Virgin Islands (British)</option>
<option value="VI">Virgin Islands (U.S.)</option>
<option value="WF">Wallis and Futuna Islands</option>
<option value="EH">Western Sahara</option>
<option value="YE">Yemen</option>
<option value="YU">Yugoslavia</option>
<option value="ZM">Zambia</option>
<option value="ZW">Zimbabwe</option>
</select>
29

Documents pareils