cm-cic paiement documentation technique v3 0

Upload: nabil-lajili

Post on 16-Jul-2015

399 views

Category:

Documents


1 download

TRANSCRIPT

Paiement scuris sur InternetDocumentation Technique

Le commerce lectronique en toute scurit

SOMMAIRE

Documentation Technique ___________________________________________ 1 11.1 1.2 1.3

Mise en place de linterface de paiement ___________________________ 3Introduction ______________________________________________________3 Cl de scurit commerant _________________________________________3 Spcifications des messages changs _______________________________4

22.1 2.2 2.3

Demander la mise en recouvrement dune demande de paiement _____ 17Prsentation _____________________________________________________17 Appel au service de demande de capture _____________________________17 Rponse de la demande de capture__________________________________21

33.1 3.2

Demander une annulation de paiement ou une annulation de rcurrence ___________________________________________________ 24Annulation de paiement ___________________________________________24 Annulation de rcurrence __________________________________________25

44.1 4.2 4.3

Le service de remboursement (recrdit) __________________________ 26Prsentation _____________________________________________________26 Appel au service de recrdit ________________________________________26 Rponse de la demande de recrdit _________________________________30

55.1 5.2 5.3

Aides linstallation ___________________________________________ 32Passer un TPE en production _______________________________________32 Foire aux questions _______________________________________________32 Les problmes les plus frquents ___________________________________36

6 7 88.1 8.2 8.3

Le fichier rcapitulatif _________________________________________ 41 Assistance technique __________________________________________ 43 Annexes ____________________________________________________ 44Contraintes gnrales de codage HTML des champs ___________________44 Contraintes particulires selon le champ _____________________________44 URLs des services ________________________________________________45

Services Page de paiement / Capture / Recrdit - Page 2 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

1 Mise en place de linterface de paiement1.1 IntroductionLintgration de la plate-forme de paiement CM-CIC p@iement dans la cinmatique de paiement par carte bancaire sur votre site consiste mettre en uvre deux interfaces dans votre systme dinformation : Interface Aller : gnration dun formulaire de demande de paiement, scuris par un sceau, qui accompagnera votre client lorsque vous le redirigez sur notre plate-forme de paiement Interface Retour : rception de la confirmation du paiement que nous envoyons aprs chaque demande de paiement Le travail raliser ncessite des comptences avances en programmation : recevoir et contrler des paramtres en mthode POST manipuler des chanes de caractres utiliser une fonction ou une classe conforme la RFC2104 implmentant le HMAC SHA1 ou MD5 sauvegarder le contexte de paiement en fichier ou base de donnes suivre le droulement pas pas dun programme dans un outil de dbogage ou en programmant des traces. A titre dinformation, des exemples de ces deux interfaces vous sont fournis avec la documentation, dans les langages de programmation les plus courants (PHP, VB.NET, C#.NET, ASP, Python, Ruby, Java et C++). Vous pourrez utiliser ces exemples comme point de dpart, mais vous devrez les modifier selon les spcificits de votre environnement et de votre application. En particulier, le stockage des cls devra tre revu pour exploiter les meilleurs outils de confidentialit disponibles dans votre environnement.

1.2 Cl de scurit commerantUne cl de scurit, propre chaque TPE, destine certifier les donnes changes entre le serveur du commerant et le serveur de paiement scuris de la banque, est indispensable pour utiliser le service de paiement par carte bancaire. Un lien, permettant de tlcharger cette cl de scurit, est envoy par notre centre de support au commerant. Le commerant peut demander la rgnration dune nouvelle cl, priodiquement ou loccasion dvnements tels quune mise en production, un changement dhbergeur, un changement de prestataire, etc. Il est de la responsabilit du commerant de conserver cette cl de faon sre et confidentielle en exploitant les meilleurs outils disponibles dans son environnement.

Services Page de paiement / Capture / Recrdit - Page 3 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

La cl de scurit est reprsente de faon externe par 40 caractres hexadcimaux (par exemple : 0123456789ABCDEF0123456789ABCDEF01234567). Cette reprsentation externe doit tre convertie en une chane de 20 octets (reprsentation oprationnelle) avant utilisation.

1.3 Spcifications des messages changs 1.3.1 Rappel de la cinmatiqueAction Le serveur commerant obtient laccord de linternaute sur la chose et le prix Le serveur du commerant rassemble les donnes du paiement effectuer puis cr le formulaire de paiement scell puis met en page ce formulaire de paiement destination de linternaute Linternaute clique sur le bouton correspondant au formulaire de paiement et accde au serveur de paiement Le serveur bancaire vrifie la validit du sceau et entame le dialogue de paiement avec linternaute Linternaute dialogue avec le serveur bancaire et paye (ou ne paye pas) par carte bancaire Le serveur bancaire renvoie un rsultat de paiement scell au serveur du commerant sur son interface Retour Le serveur du commerant vrifie la validit du sceau puis prend en compte le rsultat de paiement puis renvoie un accus de rception au serveur bancaire Le serveur affiche linternaute le rsultat du paiement Linternaute peut imprimer (ou sauvegarder) cette page Le serveur propose linternaute de revenir sur le site du commerant via un lien hypertexte Sil suit ce lien, linternaute quitte le serveur de paiement et revient sur le site du commerant Le serveur du commerant adapte son dialogue en fonction du rsultat de paiement reu Intervenant Site web du commerant Interface Aller sur le serveur du commerant

Serveur de paiement de la banque

Interface Retour sur le serveur du commerant Serveur de paiement de la banque Site web du commerant

Services Page de paiement / Capture / Recrdit - Page 4 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

1.3.2 Interface Aller 1.3.2.1 Cration du formulaire Les paramtres du terminal et les donnes de la commande sont regroupes en un formulaire HTML scell afin de transmettre la demande de paiement au serveur de la banque via le navigateur du client. Les champs fournir dans le formulaire sont fournis dans le tableau ci-dessous : Champs version TPE Description Version du systme de paiement utilise Numro de TPE Virtuel du commerant. Taille : 7 caractres date Date de la commande au format JJ/MM/AAAA:HH:MM:SS montant Montant TTC de la commande formate de la manire suivante : Un nombre entier Un point dcimal (optionnel) Un nombre entier de 2 chiffres* (optionnel) Une devise sur 3 caractres alphabtiques ISO4217 (EUR, USD, GBP, CHF, etc.) reference Rfrence unique de la commande. Taille : 12 caractres alphanumriques maximum texte-libre Zone de texte libre. Taille : 3200 caractres maximum mail Adresse email de linternaute lgue Code langue Taille : 2 caractres societe Code alphanumrique permettant au commerant dutiliser le mme TPE Virtuel pour des sites diffrents (paramtrages distincts) se rapportant la mme activit url_retour URL par laquelle lacheteur revient sur la page daccueil de la boutique url_retour_ok URL par laquelle lacheteur revient sur le site du commerant suite un paiement accept url_retour_err URL par laquelle lacheteur revient sur le site du commerant suite un paiement refus MAC Sceau issu de la certification des donnes Taille : 40 caractres hexadcimaux options Liste des options utilises (peut tre vide). Chaque option est spare des autres par RemarqueVersion actuelle 3.0 Exemple : 1234567 Exemple : 05/12/2006:11:55:23 Exemples : 62.73EUR 10GBP 1024USD

*Attention : un arrondi est effectu automatiquement sil y a plus de 2 dcimales. Exemple : ABERTYP00145

Valeurs possibles : FR EN DE IT ES NL PT SV Ce code est fourni par nos services. Exemple : monSite1

Attention : ne pas confondre avec lURL de linterface Retour , aussi appele URL de confirmation des paiements

Exemple : opttest=abc&optbis=1

Services Page de paiement / Capture / Recrdit - Page 5 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

23 un caractre &. Si loption a une valeur, le nom est spar de la valeur par le caractre =.

Remarque : Lorsque le nom ou la valeur de loption est incorrect, la demande de paiement est interrompue et un message derreur, indiquant que le formulaire est erron, est affich sur la page.

1.3.2.2 Liste des champs propres au paiement fractionn Les champs suivants sont spcifiques au mode de paiement fractionn : Champs nbrech dateech1 Description Nombre dchances pour cette commande (entre 2 et 4 maximum) Date de la premire chance au format JJ/MM/AAAA La premire chance correspond la date de la commande. Montant TTC de lchance formate de la manire suivante : Un nombre entier Un point dcimal (optionnel) Un nombre entier de 2 chiffres (optionnel) Une devise sur 3 caractres alphabtiques ISO4217 (EUR, USD, GBP, CHF, etc.) Date de la Nime chance au format JJ/MM/AAAA Montant TTC de la Nime chance formate de la manire suivante : Un nombre entier Un point dcimal (optionnel) Un nombre entier de 2 chiffres (optionnel) Une devise sur 3 caractres alphabtiques ISO4217 (EUR, USD, GBP, CHF, etc.) RemarqueExemple : 4 Exemple : 25/04/2008

montantech1

Exemples :

62.73EUR 10GBP 1024USD

*Attention : un arrondi est effectu automatiquement sil y a plus de 2 dcimales. Exemple : 05/06/2008 Exemples : 62.73EUR 10GBP 1024USD

dateech[N] (N entre 2 et 4) montantech[N] (N entre 2 et 4)

*Attention : un arrondi est effectu automatiquement sil y a plus de 2 dcimales

Remarque : Pour pouvoir utiliser ces champs, votre TPE doit tre configur pour accepter les paiements en N fois ; Tous ces champs sont optionnels : si vous ne les fournissez pas, les paramtres mis en place la cration de votre TPE seront pris en compte ;Services Page de paiement / Capture / Recrdit - Page 6 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

-

La somme des montants de chaque chance doit tre gale au montant de la commande ; Les montants doivent tre dans la mme devise ; les chances doivent tre mensuelles.

Services Page de paiement / Capture / Recrdit - Page 7 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

1.3.2.3 Exemple de formulaire de paiement en HTML

1.3.2.4 Exemple de formulaire de paiement fractionn en HTML

Services Page de paiement / Capture / Recrdit - Page 8 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

1.3.2.5 Calcul du sceau du formulaire Le sceau ( mettre dans le champ MAC) est calcul laide dune fonction de hachage cryptographique en combinaison avec une cl secrte respectant les spcifications de la RFC 2104. Cette fonction gnrera le sceau partir de donnes certifier et de la cl de scurit commerant sous sa forme oprationnelle. Les donnes certifier seront prsentes sous la forme dune concatnation dans un ordre prcis des informations du formulaire : ***** ************* Exemple pour un paiement classique : 1234567*05/12/2006:11:55:23*62.73EUR*ABERTYP00145*Exemple TexteLibre*3.0*FR*monSite1*[email protected]********* *

Exemple pour un paiement fractionn : 1234567*05/12/2006:11:55:23*62.73EUR*ABERTYP00145*Exemple TexteLibre*3.0*FR*monSite1*[email protected]*4*05/12/ 2006*16.23EUR*05/01/2007*15.5EUR*05/02/2007*15.5EUR*05/03/ 2007*15.5EUR*

Services Page de paiement / Capture / Recrdit - Page 9 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

1.3.3 Interface Retour Aprs avoir trait la demande de paiement, le serveur de la banque informe directement le serveur du commerant du rsultat de la demande de paiement en mettant une requte HTTP on-line, contenant le rsultat de la demande de paiement, sur lURL de confirmation des paiements (interface Retour ). Cette URL doit nous tre indique au moment de la mise en place du systme. Remarque : Linterface retour est appele aprs chaque tentative de paiement dune mme commande, pour en indiquer le rsultat. Il est donc possible que linterface retour reoive plusieurs notifications de paiements refuss puis une notification de paiement accept pour une mme rfrence. 1.3.3.1 Paramtres renvoys par la banque Linterface Retour sera appele par le serveur de la banque avec la mthode POST. Les donnes envoyes par le serveur de la banque sont dcrites ci-dessous : Champs MAC date Description Sceau rsultant de la certification des donnes Date de la demande dautorisation de la commande au format JJ/MM/AAAA_a_HH:MM:SS Numro de TPE Virtuel du commerant Montant TTC de la commande format de la manire suivante : Un nombre entier Un point dcimal (optionnel) Un nombre entier (optionnel) Une devise sur 3 caractres alphabtiques ISO4217 (EUR, USD, GBP, CHF, etc.) Rfrence unique de la commande Zone de texte libre Remarque

TPE montant

Le serveur de la banque renvoie ici les donnes telles quelles ont t reues lors de la phase Aller du paiement

reference texte-libre

Services Page de paiement / Capture / Recrdit - Page 10 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

code-retour

Le rsultat du paiement, parmi : payetest paiement accept (en TEST uniquement) paiement paiement accept (en Production uniquement) Annulation paiement refus En paiement fractionn, pour les mises en recouvrement automatique des chances de rang > 1 : paiement_pf[N] paiement accept de lchance N (N entre 2 et 4) Annulation_pf[N] paiement refus dfinitivement de lchance N (N entre 2 et 4)

En cas de paiement refus, une autorisation ultrieure pourra encore tre dlivre pour la mme rfrence. Le code payetest nest envoy que pour des paiements effectus dans lenvironnement de validation. Si ce code est prsent lors dun paiement en production, il sagit dune anomalie.

cvx

oui

vld brand

si le cryptogramme visuel (obligatoire pour les cartes Visa et MasterCard) a t saisi non sinon Date de validit de la carte de crdit utilise pour effectuer le paiementCode rseau de la carte sur 2 positions alphabtiques parmi. AM American Express CB GIE CBMC VI Mastercard Visa La valeur na est systmatiquement retourne dans lenvironnement de test.

na

Non disponible

status3ds

numauto

Indicateur dchange 3DSecure : -1 : la transaction ne sest pas faite selon le protocole 3DSecure 1 : la transaction sest faite selon le protocole 3DS et le niveau de risque est faible 2 : la transaction ne peut pas se faire selon le protocole 3DSecure, le porteur a cependant t authentifi par le biais de 3DSecure 3 : la transaction sest faite selon le protocole 3DS et le niveau de risque est lev 4 : la transaction sest faite selon le protocole 3DS et le niveau de risque est trs lev Numro dautorisation tel que fourni par la banque metteur

Uniquement dans le cas o lautorisation a t accorde

Services Page de paiement / Capture / Recrdit - Page 11 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

motifrefus

Motif du refus de la demande de paiement : Appel Phonie : la banque du client demande des informations complmentaires Refus : la banque du client refuse daccorder lautorisation Interdit : la banque du client refuse daccorder lautorisation Filtrage : la demande de paiement a t bloque par le paramtrage de filtrage que le commerant a mis en place dans son Module Prvention Fraude Code pays de la banque mettrice de la carte bancaire (norme ISO 3166-1) Code BIN de la banque du porteur de la carte de crdit Hachage irrversible (HMAC-SHA1) du numro de la carte de crdit utilise pour effectuer le paiement (identifiant de manire unique une carte de crdit pour un commerant donn) Adresse IP du client ayant fait la transaction Code pays de lorigine de la transaction (norme ISO 3166-1) Etat 3DSecure du VERes Etat 3DSecure du PARes Montant de lchance en cours Numros des types de filtres bloquant le paiement (cf. tableau Retours Module Prvention Fraude dtails ci-dessous) 1 : Adresse IP 2 : Numro de carte 3 : BIN de carte 4 : Pays de la carte 5 : Pays de lIP 6 : Cohrence pays de la carte / pays de lIP 7 : Email jetable 8 : Limitation en montant pour une CB sur une priode donne 9 : Limitation en nombre de transactions pour une CB sur une priode donne Donnes ayant engendres le blocage

Uniquement dans le cas o la demande de paiement a t refuse.

originecb bincb hpancb

Uniquement en cas de souscription du module prvention fraude

ipclient originetr veres pares montantech filtragecause

En cas de souscription du module antifraude et de loption 3Dsecure Uniquement dans le cas du paiement fractionn Uniquement dans le cas dun filtrage du paiement. Si plusieurs filtres bloquent le paiement, ceux-ci sont spars par des tirets. Les causes et les valeurs correspondantes tant dans le mme ordre.

filtragevaleur

Services Page de paiement / Capture / Recrdit - Page 12 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

Retours Module Prvention Fraude Dtails La fonctionnalit de filtrage des paiements sappuie sur un ensemble de neuf filtres, librement paramtrable sur le tableau de bord (nouvelle version). Chacun de ces filtres agit sur un critre spcifique, comme ladresse IP du client, son adresse email, le pays de sa carte bancaire Numro du Critre danalyse type de filtre1 2 3 4 5 6 Adresse IP Numro de carte BIN de carte Pays de la carte Pays de lIP Cohrence pays de la carte / pays de lIP Email jetable Limitation en montant pour une CB sur une priode donne Limitation en nombre de transactions pour une CB sur une priode donne

Valeur retourne comme raison du blocageAdresse IP du client Hash de la carte du client Bin de la carte du client Pays de la carte du client Pays de lIP du client Pays de la carte # Pays de ladresse IP du client Nom de domaine de ladresse email du client Montant cumul en euros () sur la priode donne associ la carte du client Nombre de transactions cumules sur la priode donne associe la carte du client

Remarque

Fonctionne uniquement pour les paiements par carte

Fonctionne uniquement pour les paiements par carte

7 8

9

Fonctionne uniquement pour les paiements par carte

Exemple de donnes envoyes par le serveur de paiement de la banque linterface Retour pour un paiement immdiat, diffr, partiel ou rcurrent : TPE=1234567&date=05%2f12%2f2006%5fa%5f11%3a55%3a23&montant=62% 2e75EUR&reference=ABERTYP00145&MAC=e4359a2c18d86cf2e4b0e646016 c202e89947b04&texte-libre=LeTexteLibre&coderetour=paiement&cvx=oui&vld=1208&brand=VI&status3ds=1&numauto= 010101&originecb=FRA&bincb=010101&hpancb=74E94B03C22D786E0F2C2 CADBFC1C00B004B7C45&ipclient=127%2e0%2e0%2e1&originetr=FRA&ver es=Y&pares=Y Exemple de donnes envoyes par le serveur de paiement de la banque linterface Retour pour la premire chance dun paiement fractionn :

Services Page de paiement / Capture / Recrdit - Page 13 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

TPE=1234567&date=05%2f12%2f2006%5fa%5f11%3a55%3a23&montant=62% 2e75EUR&reference=ABERTYP00145&MAC=e4359a2c18d86cf2e4b0e646016 c202e89947b04&texte-libre=LeTexteLibre&coderetour=paiement&cvx=oui&vld=1208&brand=VI&status3ds=1&numauto= 010101&originecb=FRA&bincb=010101&hpancb=74E94B03C22D786E0F2C2 CADBFC1C00B004B7C45&ipclient=127%2e0%2e0%2e1&originetr=FRA&ver es=Y&pares=Y&montantech=20EUR Exemple de donnes envoyes par le serveur de paiement de la banque linterface Retour pour un filtrage dun paiement immdiat: TPE=9000001&date=05%2f10%2f2011%5fa%5f15%3a33%3a06&montant=1%2 e01EUR&reference=P1317821466&MAC=70156D2CFF27A9B8AAE5AFEBE590D 9CFCAAF9BDC&textelibre=Ceci+est+un+test%2c+ne+pas+tenir+compte%2e&coderetour=Annulation&cvx=oui&vld=0912&brand=MC&status3ds=1&motifrefus=filtrage&originecb=FRA&bincb=513283&hpancb=764AD2 4CFABBB818E8A7DC61D4D6B4B89EA837ED&ipclient=10%2e45%2e166%2e76 &originetr=inconnue&veres=&pares=&filtragecause=4&filtragevaleur=FRARemarque : Les pays sont dsigns par leur code iso de trois lettres selon la norme ISO 3166-1 alpha-3.

Services Page de paiement / Capture / Recrdit - Page 14 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

1.3.3.2 Validation du sceau Le message de confirmation reu est scell par un sceau MAC qui a t calcul par le serveur de paiement de la banque laide de la cl de scurit commerant attribue votre terminal de paiement. Une fonction de validation du sceau doit tre implmente dans linterface Retour pour sassurer quil ny a pas eu de falsification des donnes contenues dans le message de confirmation du paiement reu. Pour cela, la fonction doit recalculer le code MAC associ au message et le comparer celui transmis dans le message : si les deux codes sont identiques, linformation reue est fiable (intgrit des informations et authentification de lmetteur). Pour calculer le MAC il faut utiliser une fonction de hachage cryptographique en combinaison avec une cl secrte respectant les spcifications de la RFC 2104. Cette fonction gnrera le sceau partir de donnes certifier et de la cl de scurit commerant sous sa forme oprationnelle. Les donnes certifier seront prsentes sous la forme dune concatnation dans un ordre prcis des informations envoyes par le serveur de la banque : *****3.0*************** Exemple si vous tes inscrit au module prvention fraude et loption 3DSecure et le paiement est accept : 1234567*05/12/2006_a_11:55:23*62.75EUR*ABERTYP00145*LeTexteL ibre*3.0*paiement*oui*1208*VI*1*010101**FRA*010101*74E94B03C 22D786E0F2C2CADBFC1C00B004B7C45*127.0.0.1*FRA*Y*Y*

Services Page de paiement / Capture / Recrdit - Page 15 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

1.3.3.3 Cration de laccus de rception La rponse renvoye par linterface Retour au serveur de paiement de la banque doit tre un des deux messages prsents dans le tableau ci-dessous, dpendant seulement de la vrification du sceau MAC reu, sans tenir compte de la valeur du code-retour de paiement, ds lors que cette valeur fait partie de la liste des valeurs numres pour le champ code-retour. Sceau valid Oui Non Accus de rception renvoyer au format texte version=2 cdr=0 version=2 cdr=1

Remarque : correspond un saut de ligne Lorsque le serveur de la banque ne reoit pas laccus de rception pour un sceau valid, il envoie un courriel dalerte sur une bote aux lettres lectronique de surveillance indique par le commerant et refait une seconde tentative. Ce courriel contient un lien permettant de rejouer via la mthode GET la requte mise par le serveur bancaire, un code de lerreur rencontre lors de lappel de lurl de confirmation et laccus de rception renvoy par le serveur commerant. Ds la phase de test, le commerant doit nous fournir ladresse dune bote aux lettres lectroniques rgulirement releve. Pour passer en production, le serveur commerant doit avoir fait au moins trois tests complets en renvoyant un accus de rception avec un sceau valid. Il faut galement avoir valid la prise de connaissance du Module Prvention Fraude dans la section Outils de scurit sur le tableau de bord de test (https://www.cmcicpaiement.fr/fr/test/identification/)

Services Page de paiement / Capture / Recrdit - Page 16 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

2 Demander la mise en recouvrement dune demande de paiement2.1 PrsentationLe but du service Capture_Paiement est de permettre aux commerants de mettre en recouvrement, par requte informatique et de manire scurise, les paiements qui ont t pralablement autoriss. Ce service peut tre utilis avec les modes de paiement suivants : - paiement diffr - paiement partiel - paiement fractionn (pour la premire chance uniquement) - paiement rcurrent (selon la configuration choisie) Pour demander une mise en recouvrement, lapplication du commerant doit faire appel au service web de capture du serveur de la banque (via un message HTTPS), en fournissant un certain nombre dinformations (le montant de la commande, sa date, sa rfrence, le numro du TPE virtuel du commerant, etc.). Un sceau doit tre calcul pour certifier les donnes changes. En rponse cette demande, le serveur de la banque retourne le rsultat de la demande de capture lapplication du commerant : capture accepte ou capture refuse.

2.2 Appel au service de demande de capture 2.2.1 Les informations fournirLapplication du commerant doit mettre une requte en mthode POST par un message HTTPS (SSL V3), destination du service Capture_Paiement sur les serveurs de la banque, contenant les champs suivants : Champs version TPE Description Version du systme de paiement utilise Numro de TPE Virtuel du commerant Taille : 7 caractres date Date et heure de la demande de capture au format JJ/MM/AAAA:HH:MM:SS date_commande Date initiale de la commande au format JJ/MM/AAAA montant Montant TTC de la commande initiale montant_a_capturer Montant TTC de la demande de capture montant_deja_capture Montant TTC correspondant au montant dj captur sur cette commandeServices Page de paiement / Capture / Recrdit - Page 17 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

RemarqueVersion actuelle 3.0 exemple : 1234567 Exemple : 05/12/2006:11:55:23 Exemple : 03/12/2006 Format : - Un nombre entier - Un point dcimal (optionnel)

Le commerce lectronique en toute scurit

montant_restant

Montant TTC correspondant au solde de la commande aprs la capture prsentement demande

- Un nombre entier (optionnel) - Une devise sur 3 caractres alphabtiques ISO4217 (EUR, USD, etc.) Exemples : 62.73EUR 10GBP 1024USD Exemple : ABERTYP00145

reference texte-libre lgue societe

Rfrence de la commande Zone de texte libre Taille : 3200 caractres maxi. Code langue (en majuscules) Taille : 2 caractres Code alphanumrique permettant au commerant dutiliser le mme TPE Virtuel pour des sites diffrents (paramtrages distincts) se rapportant la mme activit Sceau issu de la certification des donnes Taille : 40 caractres hexadcimaux Force la fin de la rcurrence pour les TPEs en paiement rcurrent. La valeur de ce champ sera renvoye en cas dappel phonie

FR, EN, DE, IT, ES, NL, PT ou SV Ce code est fourni par nos services. Exemple : monSite1

MAC

stoprecurrence phonie

Ce paramtre est optionnel. Ce paramtre est optionnel

Les champs de cette requte (sauf la version et les montants) doivent tous tre encods en HTML. Les spcifications dencodage sont dcrites en fin de document. Remarque : Il est possible quune demande dautorisation soit refuse pour un motif du type appel phonie (montant trop lev, centre dautorisation encombr, etc.). Il peut alors tre ncessaire pour le commerant de faire une demande manuelle (tlphone, fax) au centre dautorisation du porteur de la carte, qui communiquera en retour des coordonnes bancaires et du montant, un numro dautorisation pour cette transaction.

2.2.2 Calcul du sceauLe sceau ( mettre dans le champ MAC) doit tre calcul laide dune fonction de hachage cryptographique en combinaison avec une cl secrte respectant les spcifications de la RFC 2104. Les donnes certifier seront prsentes sous la forme dune concatnation dans un ordre prcis des informations du formulaire :

Services Page de paiement / Capture / Recrdit - Page 18 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

***** ***

2.2.3 Exemples de requte de captureExemple 1 : recouvrement partiel de 62 pour une commande initiale de 100Chane utilise pour le calcul du sceau :

1234567*05/12/2006:11:55:23*62.00EUR0EUR38EUR*ABERTYP00145* ExempleTexteLibre*3.0*FR*monSite1*Requte : POST /capture_paiement.cgi HTTP/1.0 Pragma: no-cache Connection: close User-Agent : AuthClient Host: paiement.creditmutuel.fr Accept: */* Content-type: application/x-www-form-urlencoded Content-length: 307 version=3.0 &TPE=1234567 &date=05%2F12%2F2006%3A11%3A55%3A23 &date_commande=03%2F12%2F2006 &montant=100.00EUR La somme des 3 montants doit &montant_a_capturer=62.00EUR tre gale au montant initial de &montant_deja_capture=0EUR la commande &montant_restant=38.00EUR &reference=ABERTPY00145 &texte-libre=ExempleTexteLibre &lgue=FR &societe=monSite1 &MAC=78bc376c5b192f1c48844794cbdb0050f156b9a2

Cette capture ne peut seffectuer que si votre TPE est configur en Paiement Partiel ou en Paiement Rcurrent. En cas de succs, une capture ultrieure dun montant de 38 est encore ralisable.

Services Page de paiement / Capture / Recrdit - Page 19 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

Exemple 2 : recouvrement total dune commande de 100Chane utilise pour le calcul du sceau :

1234567*05/12/2006:11:55:23*100.00EUR0EUR0EUR*ABERTYP00145* ExempleTexteLibre*3.0*FR*monSite1*Requte : POST /capture_paiement.cgi HTTP/1.0 Pragma: no-cache Connection: close User-Agent : AuthClient Host: paiement.creditmutuel.fr Accept: */* Content-type: application/x-www-form-urlencoded Content-length: 305 version=3.0 &TPE=1234567 &date=05%2F12%2F2006%3A11%3A55%3A23 &date_commande=03%2F12%2F2006 &montant=100.00EUR Les 2 montants doivent &montant_a_capturer=100.00EUR tre identiques &montant_deja_capture=0EUR &montant_restant=0EUR &reference=ABERTPY00145 &texte-libre=ExempleTexteLibre &lgue=FR &societe=monSite1 &MAC=78bc376c5b192f1c48844794cbdb0050f156b9a2

Cette capture peut seffectuer si votre TPE est configur en Paiement Partiel, en Paiement Rcurrent ou en Paiement Diffr. En cas de succs, aucune capture ultrieure nest ralisable.

Services Page de paiement / Capture / Recrdit - Page 20 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

2.3 Rponse de la demande de capture 2.3.1 Les informations retournesEn rponse la demande de capture, lapplication du commerant reoit un message dacquittement de la part du serveur de la banque. Ce message est un document de type MIME text/plain prcisant le rsultat de la capture. Il contient les champs suivants spars par un caractre CHR(10) : Champs version reference cdr Description Numro de version du message dacquittement Rfrence de la commande Code retour indiquant le rsultat de la capture Libell dtaill prcisant la nature du code retour Numro dautorisation du paiement si celui-ci a t accept Autorisation refuse pour un motif du type appel phonie RemarqueVersion actuelle : 1.0 Exemple : ABERTYP00145 Valeurs possibles : 1 : capture accepte 0 : capture refuse -1 : erreur Voir ci-dessous pour la liste des libells possibles

lib aut phonie

Ce champ nest prsent que si le champ phonie tait prsent et renseign dans la requte appelante

Si cdr est diffrent de 1, la capture na pas t effectue.

La liste des valeurs disponibles pour le libell est donne dans le tableau suivant : cdr Libells1 paiement accepte

1

commande annulee

1

recurrence stoppee

0 0 0

commande non authentifiee commande expiree commande grillee

Description Lautorisation bancaire a t dlivre et la mise en recouvrement a t effectue La demande dannulation a t prise en compte et la commande a t annule La demande dannulation dfinitive du renouvellement a t prise en compte La rfrence ne correspond pas une commande

Remarque

Uniquement en Paiement Rcurrent Vrifier les paramtres rfrence et date_commande

La date de commande dpasse le dlai autoris (+/- 24h) La commande nest plus Le nombre maximal de accepte par le serveur tentatives de fourniture debancaire

Services Page de paiement / Capture / Recrdit - Page 21 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

0 0 0

autorisation refusee la commande est deja annulee paiement deja accepte

carte a t atteint (3 tentatives sont acceptes) Lautorisation bancaire na pas t dlivre La commande a t annule lors dune prcdente capture Une demande dautorisation a dj t dlivre pour cette commande La signature MAC est invalide Le mode de paiement nest pas compatible avec cette requte La demande de capture est formule de manire incorrecte Un des montants transmis est mal format Les paramtres servant identifier le site commerant ne sont pas corrects La commande est en cours de traitement La date ne respecte pas le format requis Une autre transaction est en cours de traitement sur la mme rfrence Un problme technique est survenu

La capture nest pas effectue Aucune requte ne sera accepte sur cette commande

-1 -1

signature non valide verification echouee (mode de paiement) la demande ne peut aboutir montant errone commercant non identifie traitement en cours date erronee autre traitement en cours probleme technique

-1 -1 -1

Par exemple : le paiement immdiat, car le recouvrement est fait automatiquement Vrifier les paramtres envoys Vrifier les 4 paramtres de montant Vrifier les champs societe, lgue et TPE

-1 -1 -1

Vrifier le paramtre date Ritrer la demande

-1

Ritrer la demande

Services Page de paiement / Capture / Recrdit - Page 22 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

2.3.2 Exemples de messages retourns Cas dune capture accepteversion=1.0 reference=000000000145 cdr=1 lib=paiement accepte aut=123456

Cas dune annulation accepteversion=1.0 reference=000000000145 cdr=1 lib=commande annulee aut=123456

Cas dune annulation de rcurrenceversion=1.0 reference=000000000145 cdr=1 lib=recurrence stoppee aut=123456

Cas dune autorisation refuse sans le champ phonie fourniversion=1.0 reference=000000000145 cdr=0 lib=autorisation refusee

Cas dune autorisation refuse au motif dappel phonie avec le champ phonie renseign oui version=1.0 reference=000000000145 cdr=0 lib=autorisation refusee phonie=oui

Cas dune autorisation refuse avec le champ phonie renseign oui version=1.0 reference=000000000145 cdr=0 lib=autorisation refusee

Cas dune capture refuse avant la demande dautorisationversion=1.0 reference=000000000145 cdr=0 lib=commande non authentifiee

Cas dune erreurversion=1.0 reference=000000000145 cdr=-1 lib=commercant non identifie

Services Page de paiement / Capture / Recrdit - Page 23 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

3 Demander une annulation de paiement ou une annulation de rcurrence3.1 Annulation de paiementDans le cas o le commerant a demand un paiement et quil ne souhaite pas le mettre en recouvrement (marchandise non disponible, client qui sest rtract, etc.), il peut notifier le serveur de la banque de labandon de sa demande de paiement. Pour cela, il appellera le service de capture comme dcrit dans le chapitre prcdent, en spcifiant le montant capturer et le montant restant 0EUR. Exemple : annuler une commande dun montant initial de 100Chane utilise pour le calcul du sceau :

1234567*05/12/2006:11:55:23*0EUR0EUR0EUR*ABERTYP00145*Exemp leTexteLibre*3.0*FR*monSite1*Requte : POST /capture_paiement.cgi HTTP/1.0 Pragma: no-cache Connection: close User-Agent : AuthClient Host: paiement.creditmutuel.fr Accept: */* Content-type: application/x-www-form-urlencoded Content-length: 299 version=3.0 &TPE=1234567 &date=05%2F12%2F2006%3A11%3A55%3A23 &date_commande=03%2F12%2F2006 Le montant capturer et le montant &montant=100.00EUR restant doivent tre gaux 0 &montant_a_capturer=0EUR &montant_deja_capture=0EUR Le montant dj captur doit &montant_restant=0EUR correspondre lhistorique de la &reference=ABERTPY00145 commande &texte-libre=ExempleTexteLibre &lgue=FR &societe=monSite1 &MAC=78bc376c5b192f1c48844794cbdb0050f156b9a2

Cette capture peut seffectuer si votre TPE est configur en Paiement Partiel ou en Paiement Diffr. En cas de succs, aucune capture ultrieure nest ralisable.

Services Page de paiement / Capture / Recrdit - Page 24 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

3.2 Annulation de rcurrenceSi le commerant ne souhaite pas poursuivre les renouvellements automatiques dun abonnement, il peut notifier le serveur de la banque de labandon de la rcurrence du paiement. Pour cela, il appellera le service de capture comme dcrit dans le chapitre prcdent, en spcifiant le montant capturer et le montant restant 0EUR et le champ stoprecurrence OUI. Exemple : annuler la rcurrence dune commande dun montant initial.Chane utilise pour le calcul du sceau :

1234567*05/12/2006:11:55:23*0EUR0EUR0EUR*ABERTYP00145*Exemp leTexteLibre*3.0*FR*monSite1*Requte : POST /capture_paiement.cgi HTTP/1.0 Pragma: no-cache Connection: close User-Agent : AuthClient Host: paiement.creditmutuel.fr Accept: */* Content-type: application/x-www-form-urlencoded Content-length: 318 version=3.0 &TPE=1234567 &date=05%2F12%2F2006%3A11%3A55%3A23 &date_commande=03%2F12%2F2006 Le montant capturer et le montant &montant=100.00EUR restant doivent tre gaux 0 &montant_a_capturer=0EUR &montant_deja_capture=0EUR Le montant dj captur doit &montant_restant=0EUR correspondre lhistorique de la &stoprecurrence=OUI commande &reference=ABERTPY00145 &texte-libre=ExempleTexteLibre &lgue=FR &societe=monSite1 &MAC=78bc376c5b192f1c48844794cbdb0050f156b9a2

Cette capture peut seffectuer si le TPE est configur en Paiement Rcurrent. En cas de succs, la commande ne sera plus renouvele.

Services Page de paiement / Capture / Recrdit - Page 25 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

4 Le service de remboursement (recrdit)4.1 PrsentationLe but du service Rcrdit_Paiement est de permettre aux commerants de rembourser leurs clients dune partie ou de la totalit de leur achat, de faon scurise, via Internet. Pour demander un remboursement, lapplication du commerant doit faire appel au service web de recrdit du serveur de la banque (via un message HTTPS), en fournissant un certain nombre dinformations (le montant du remboursement, sa date, sa rfrence, le numro du TPE virtuel du commerant, etc.). Un sceau doit tre calcul pour certifier les donnes changes. En rponse cette demande, le serveur de la banque retourne le rsultat de la demande de remboursement lapplication du commerant : accepte ou refuse.

4.2 Appel au service de recrdit 4.2.1 Les informations fournirLapplication du commerant doit mettre une requte en mthode POST par un message HTTPS (SSL V3), destination du service Recredit_Paiement sur les serveurs de la banque, contenant les champs suivants : Champs version TPE Description Version du systme de paiement utilise Numro de TPE Virtuel du commerant Taille : 7 caractres date Date et heure de la demande de recrdit au format JJ/MM/AAAA:HH:MM:SS date_commande Date initiale de la commande au format JJ/MM/AAAA date_remise Date laquelle a eu lieu la mise en recouvrement au format JJ/MM/AAAA num_autorisation Numro dautorisation renvoy par le serveur de la banque lors de la demande de paiement montant Montant TTC de la commande initiale montant_recredit Montant TTC recrditer montant_possible Montant TTC de recrdit maximum autoris pour le numro dautorisation fourni RemarqueVersion actuelle 3.0 exemple : 1234567 Exemple : 05/12/2006:11:55:23 Exemple : 03/12/2006 Exemple : 04/12/2006 Exemple : 1234A6

Format : - Un nombre entier - Un point dcimal (optionnel) - Un nombre entier (optionnel) - Une devise sur 3 caractres alphabtiques ISO4217 (EUR, USD, etc.)

Services Page de paiement / Capture / Recrdit - Page 26 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

reference texte-libre lgue societe

MAC

Rfrence de la commande recrditer Zone de texte libre Taille : 3200 caractres maximum Code langue (en majuscules) Taille : 2 caractres Code alphanumrique usage interne uniquement permettant au commerant dutiliser le mme TPE Virtuel pour des sites diffrents (paramtrages distincts) se rapportant la mme activit Sceau issu de la certification des donnes Taille : 40 caractres hexadcimaux

Exemples : 62.73EUR 10GBP 1024USD Exemple : ABERTYP00145

FR, EN, DE, IT, ES, NL, PT ou SV Ce code est fourni par nos services. Exemple : monSite1

Note : le champ montant_possible est ncessaire afin que le serveur commerant et le serveur bancaire soient en phase. Si un remboursement a dj t effectu sur ce numro dautorisation, il doit tre dcompt par le commerant. Par exemple, pour une commande de 100 , si un remboursement de 10 a dj t effectu, le prochain remboursement prsentera une valeur de montant_possible de 90 .

4.2.2 Calcul du sceauLe sceau ( mettre dans le champ MAC) est calcul laide dune fonction de hachage cryptographique en combinaison avec une cl secrte respectant les spcifications de la RFC 2104. Les donnes certifier seront prsente sous la forme dune concatnation dans un ordre prcis des informations de la requte : *** *****

4.2.3 Contrle de lIP et limite du nombre de remboursementsPour des raisons de scurit, les requtes de remboursement ne peuvent tre mises que depuis des serveurs avec une adresse IP connue de nos services. De plus, chaque adresse IP est limite quotidiennement dans le nombre de requtes de remboursement quelle est autorise effectuer. Avant de pouvoir effectuer des requtes de remboursement dans lenvironnement de production, il vous faudra donc communiquer par courriel [email protected] la liste des adresses IP autoriser, ainsi que le nombre de remboursement quotidiens maximum pour chacune dentre elles.

Services Page de paiement / Capture / Recrdit - Page 27 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

Pour des raisons de commodits, aucun contrle nest effectu pour les requtes de remboursement dans lenvironnement de test.

Services Page de paiement / Capture / Recrdit - Page 28 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

4.2.4 Exemple de requte de recrditExemple 1 : recrdit partiel de 32 sur une commande de 100Chane utilise pour le calcul du sceau :

1234567*05/12/2006:11:55:23*32.00EUR100EUR*ABERTYP00145* ExempleTexteLibre*3.0*FR*monSite1*Requte : POST /recredit_paiement.cgi HTTP/1.0 Pragma: no-cache Connection: close User-Agent : AuthClient Host: paiement.creditmutuel.fr Accept: */* Content-type: application/x-www-form-urlencoded Content-length: 328 version=3.0 &TPE=1234567 &date=05%2F12%2F2006%3A11%3A55%3A23 &date_commande=03%2F12%2F2006 &date_remise=04%2F12%2F2006 &num_autorisation=1234A6 &montant=100.00EUR &montant_recredit=32.00EUR &montant_possible=100EUR &reference=ABERTPY00145 &texte-libre=ExempleTexteLibre &lgue=FR &societe=monSite1 &MAC=78bc376c5b192f1c48844794cbdb0050f156b9a2

En cas de succs, un recrdit dun montant maximal de 68 est encore ralisable.

Exemple 2 : recrdit total sur une commande de 100Chane utilise pour le calcul du sceau :

1234567*05/12/2006:11:55:23*100EUR100EUR*ABERTYP00145* ExempleTexteLibre*3.0*FR*monSite1*Requte : POST /recredit_paiement.cgi HTTP/1.0 Pragma: no-cache Connection: close User-Agent : AuthClient Host: paiement.creditmutuel.fr Accept: */* Content-type: application/x-www-form-urlencoded Content-length: 326

Services Page de paiement / Capture / Recrdit - Page 29 / 46 Version 3.0 Novembre 2011 Copyright: 2003 2011 Euro Information .All rights reserved.

Le commerce lectronique en toute scurit

version=3.0 &TPE=1234567 &date=05%2F12%2F2006%3A11%3A55%3A23 &date_commande=03%2F12%2F2006 &date_remise=04%2F12%2F2006 &num_autorisation=1234A6 &montant=100.00EUR &montant_recredit=100EUR &montant_possible=100EUR &reference=ABERTPY00145 &texte-libre=ExempleTexteLibre &lgue=FR &societe=monSite1 &MAC=78bc376c5b192f1c48844794cbdb0050f156b9a2

4.3 Rponse de la demande de recrdit 4.3.1 Les informations retournesEn retour la demande de recrdit, lapplication du commerant reoit un message dacquittement de la part du serveur de la banque. Ce message est un document de type MIME text/plain prcisant le rsultat du recrdit. Il contient les champs suivants spars par un caractre CHR(10) : Champs version reference cdr lib Description Numro de version du message dacquittement Rfrence de la commande Code retour indiquant le rsultat du recrdit Libell prcisant la nature du code retour RemarqueVersion actuelle 1.0 Exemple : ABERTYP00145 Valeurs possibles : 0 : recrdit effectu " Remplacement & < > " ou " '

Les fonctions de type HTML_ENCODE (cf IETF RFC1738) des langages conviennent parfaitement, elles encodent beaucoup plus de caractres, typiquement tout ce qui nest pas : ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 _ . - (soulign, point, tiret) Si vous utilisez dans le champ texte-libre des caractres hors de la plage ascii commune imprimable (31