Le parcours d'une demande d'autorisation
L'autorisation est la demande par laquelle l'acquéreur interroge l'émetteur d'une carte sur son accord pour payer une transaction déterminée. Elle constitue la première étape du cycle d'une transaction carte, avant la capture puis la compensation. En moins de deux secondes, la demande part du terminal (ou de la page de paiement), traverse l'acquéreur et le réseau (scheme), puis atteint l'émetteur. Le verdict revient par le même chemin. À ce stade, aucun argent ne circule, l'émetteur se contentant de réserver la provision sur le compte du porteur et de s'engager, sous conditions, à payer. Le mouvement de fonds n'interviendra qu'à la compensation, après la capture.
Les messages ISO 8583
La norme ISO 8583 structure les échanges entre acquéreurs, réseaux et émetteurs, et chaque message y commence par un MTI (Message Type Indicator) de 4 chiffres. Il encode la version (0xxx = 1987, 1xxx = 1993), la classe (x1xx = autorisation, x2xx = financier, x4xx = reversal, x8xx = réseau), la fonction (xx0x = demande, xx1x = réponse, xx2x = advice) et l'origine. En France, le protocole CB2A régit le dialogue terminal↔acquéreur. La logique des messages y est identique.
| MTI | Message | Rôle |
|---|---|---|
| 0100 | Authorization Request | Demande d'autorisation (pas de mouvement de fonds) |
| 0110 | Authorization Response | Réponse de l'émetteur (code DE39 + code d'autorisation DE38) |
| 0120 / 0130 | Authorization Advice | Notification a posteriori (ex. autorisation rendue en stand-in) et sa réponse |
| 0200 / 0210 | Financial Request / Response | Demande financière (autorisation + capture en un message, ex. retrait DAB) |
| 0400 / 0410 | Reversal Request / Response | Annulation d'une autorisation précédente |
| 0420 / 0430 | Reversal Advice / Response | Annulation notifiée (mode advice, répétable jusqu'à acquittement) |
| 0800 / 0810 | Network Management | Messages techniques : sign-on, sign-off, echo test, échange de clés |
Le corps du message est composé de champs numérotés (Data Elements, DE), dont la présence est signalée par un ou plusieurs bitmaps. Quelques champs structurants : DE2 (PAN), DE3 (code traitement), DE4 (montant), DE11 (STAN), DE14 (expiration), DE18 (MCC), DE22 (mode d'entrée), DE37 (RRN), DE38 (code d'autorisation), DE39 (code réponse), DE41/DE42 (identifiants terminal et commerçant), DE49 (devise), DE55 (données EMV).
MTI : 0100 demande d'autorisation
DE2 : 497010######1234 PAN (masque ici ; 16 chiffres en clair dans le reseau)
DE3 : 000000 code traitement : achat de biens/services
DE4 : 000000012550 montant : 125,50 (12 chiffres, 2 decimales implicites)
DE7 : 0711123456 date/heure de transmission MMJJhhmmss (UTC)
DE11 : 001234 STAN - System Trace Audit Number
DE14 : 2812 date d'expiration AAMM (decembre 2028)
DE18 : 5812 MCC : restaurant
DE22 : 051 mode d'entree : puce EMV + PIN
DE37 : 619214001234 RRN - Retrieval Reference Number
DE41 : 00012345 identifiant du terminal (TID)
DE42 : 000000001234567 identifiant du commercant (MID)
DE49 : 978 devise de transaction : EUR (ISO 4217 numerique)
DE55 : 9F2608A1B2C3D4... donnees EMV : ARQC, ATC, TVR, UN... (TLV)Les codes réponse : lire un refus
Le code réponse est la valeur par laquelle l'émetteur motive sa décision, transportée dans le champ DE39 du message de réponse. Sa lecture commande la stratégie de nouvelle tentative (retry), les motifs de refus n'appelant pas tous la même conduite. On distingue les refus définitifs (hard declines : carte volée, invalide) des refus conditionnels (soft declines : provision insuffisante, authentification requise). Ces derniers peuvent aboutir si la transaction change.
| Code | Libellé | Type | Bonne pratique commerçant |
|---|---|---|---|
| 00 | Transaction approuvée | Acceptation | Capturer dans les délais (voir compensation) |
| 03 | Commerçant invalide | Hard | Vérifier le paramétrage du contrat acquéreur / MCC |
| 05 | Ne pas honorer (refus générique) | Soft/Hard | Refus « fourre-tout » émetteur ; 1 retry avec 3DS possible, pas plus |
| 14 | Numéro de carte invalide | Hard | Ne jamais réessayer : PAN inexistant (souvent test de cartes) |
| 41 | Carte perdue | Hard | Ne jamais réessayer ; risque de fraude, ne pas livrer |
| 43 | Carte volée | Hard | Idem 41 : blocage définitif, signalement |
| 51 | Provision insuffisante | Soft | Retry différé (ex. J+3, après paie) ; efficace sur abonnements |
| 54 | Carte expirée | Soft | Demander la nouvelle carte ou utiliser l'Account Updater du scheme |
| 55 | PIN erroné | Soft | Le porteur ressaisit ; blocage après 3 échecs (code 75) |
| 57 | Transaction non permise au porteur | Hard | Carte non habilitée (ex. e-commerce bloqué) ; ne pas insister |
| 59 | Suspicion de fraude | Hard | L'émetteur suspecte une compromission ; ne pas réessayer, ne pas livrer |
| 61 | Dépasse le plafond de montant | Soft | Proposer un montant inférieur ou un paiement fractionné |
| 65 | Plafond en nombre dépassé / SCA requise (Mastercard) | Soft | Chez Mastercard, 65 = refaire la transaction avec 3DS |
| 1A | Authentification SCA requise (Visa / CB) | Soft | Soft decline DSP2 : rejouer immédiatement la transaction avec 3DS |
| 75 | Nombre d'essais PIN dépassé | Hard | Carte bloquée PIN ; orienter vers la banque |
| 91 | Émetteur indisponible | Soft | Retry technique rapide (l'émetteur ou le lien est tombé) |
| 96 | Dysfonctionnement système | Soft | Retry technique avec backoff ; surveiller si récurrent |
Les émetteurs français répondent aussi par des codes CB spécifiques transportés dans les champs privés, que les PSP ré-agrègent en catégories : « refus banque », « refus technique », « fraude ». Le pilotage du taux d'acceptation suppose que le PSP restitue les codes bruts DE39 transaction par transaction. Ces catégories agrégées réunissent des motifs qui appellent des traitements opposés.
Préautorisation et capture : vente en 1 ou 2 temps
Une vente par carte comporte deux opérations distinctes, l'autorisation qui recueille l'engagement de l'émetteur et la capture qui présente le montant définitif au règlement. Selon l'activité, ces deux opérations sont simultanées ou séparées dans le temps. En vente en un temps, l'autorisation et la capture sont simultanées, le montant autorisé étant présenté tel quel en compensation le soir même (cas du commerce de proximité classique). En vente en deux temps, les deux étapes se dissocient, une préautorisation réservant un montant estimé. La capture fixe ensuite le montant réellement dû, parfois plusieurs jours plus tard ; elle peut être partielle, ou complétée par des autorisations incrémentales.
| Critère | Vente en 1 temps | Vente en 2 temps (préauth + capture) |
|---|---|---|
| Moment du débit | Compensation dès le soir (J/J+1) | À la capture, qui peut intervenir plusieurs jours après |
| Montant | Définitif à l'autorisation | Estimé à la préauth, ajusté à la capture (≤ montant autorisé, sauf incrémental) |
| Cas d'usage | Commerce de détail, restauration | Hôtellerie, location de véhicule, carburant, e-commerce avec expédition différée |
| Provision porteur | Réservée puis débitée | Réservée (parfois longtemps) ; libérée si non capturée |
| Risque commerçant | Faible | Expiration de l'autorisation si capture trop tardive → risque de refus au règlement |
- Capture partielle : capturer moins que le montant autorisé (obligatoire de libérer le solde par reversal partiel).
- Captures multiples : plusieurs captures sur une même autorisation (expéditions fractionnées), supporté selon schemes et acquéreurs.
- Autorisation incrémentale : augmenter le montant réservé sans nouvelle transaction (hôtellerie, location).
- Autorisation à zéro (account verification) : vérifier la validité d'une carte sans réserver de fonds, soit l'usage propre pour enregistrer une carte, à la place des préauths à 1 €.
Stand-in processing : quand l'émetteur ne répond pas
Le stand-in processing est le mécanisme par lequel le réseau rend la décision d'autorisation à la place d'un émetteur injoignable. L'indisponibilité provient d'un incident, d'une maintenance ou d'un timeout. Il porte le nom de STIP chez Visa, de Stand-In chez Mastercard, et de traitement en secours dans l'écosystème CB. Le scheme applique alors des paramètres pré-négociés avec l'émetteur : plafonds par MCC et par période, vérification des listes de cartes bloquées, contrôles de vitesse. Il peut aller jusqu'à valider le cryptogramme si l'émetteur a partagé ses clés.
Le stand-in est aussi un outil de continuité d'activité volontaire. Certains émetteurs délèguent au réseau les décisions de nuit ou les transactions à très faible risque, pour lisser la charge. Une transaction refusée en stand-in (code 91 ou refus paramétrique) mérite à l'inverse une nouvelle tentative une fois l'émetteur revenu en ligne : le refus émanait des paramètres appliqués par le réseau, non d'une décision de l'émetteur sur ce compte.
Reversal, void, timeout et répétition
Le reversal (messages 0400/0420) annule tout ou partie d'une autorisation avant compensation, la provision réservée chez l'émetteur étant libérée immédiatement. Le remboursement (refund) désigne une opération distincte, transaction financière inverse exécutée après compensation. Le void, dans l'usage PSP, désigne une troisième opération, l'annulation d'une transaction capturée mais pas encore présentée en compensation.
| Opération | Moment | Effet porteur | Coût commerçant |
|---|---|---|---|
| Reversal (0400/0420) | Après autorisation, avant capture | Provision libérée en quasi temps réel | Aucun (pas de compensation) |
| Void / annulation | Après capture, avant envoi en compensation | Le porteur ne voit qu'un encours qui disparaît | Aucun ou minime |
| Refund / remboursement | Après compensation | Crédit visible sous 2 à 5 jours ouvrés | Frais de traitement ; l'interchange initial n'est pas toujours restitué |
Le timeout est la situation dans laquelle le terminal ou le PSP a envoyé une 0100 sans recevoir de 0110 dans le délai imparti. Ce délai est classiquement de 30 à 60 s côté terminal. L'émetteur a pu autoriser la transaction ou la refuser, et l'expéditeur ne dispose d'aucune information pour trancher, ce qui interdit de traiter l'absence de réponse comme un refus. Le système doit alors émettre un reversal advice (0420) pour neutraliser l'éventuelle autorisation fantôme, puis le répéter (0421, mécanisme repeat) jusqu'à acquittement 0430, typiquement via une file store-and-forward (SAF).
t0 : envoi 0100 (STAN 001234, RRN 619214001234)
t0 + 45 s : aucun 0110 recu -> TIMEOUT
t0 + 45 s : envoi 0420 (reversal advice)
DE90 = donnees originales : MTI 0100, STAN 001234,
date/heure DE7, identifiants acquereur/emetteur
motif (DE25/DE22 selon dialecte) = "timeout / unable to complete"
t0 + 75 s : pas de 0430 -> repetition 0421 (meme contenu)
... repetitions espacees (SAF) jusqu'a acquittement 0430
resultat : si l'emetteur avait autorise, la provision est liberee ;
s'il n'avait rien recu, le 0420 est ignore sans effet.- Reversal complet : libère toute l'autorisation (abandon de panier après auth, timeout).
- Reversal partiel : ajuste la réservation au montant réel (carburant, capture partielle).
- Advice vs request : le 0420 (advice) est fire-and-forget avec répétition, adapté au post-incident ; le 0400 (request) attend une réponse synchrone.
- Idempotence : côté PSP/API, toute création d'ordre de paiement doit être idempotente (clé d'idempotence) pour survivre aux timeouts HTTP sans dupliquer l'autorisation.