Ing ordre generique_tpv_serveur 0.8

651 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
651
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ing ordre generique_tpv_serveur 0.8

  1. 1. Version Draft 0.8 janvier 2009 INGEVOUCHER Complément du protocole ECR Dialogues serveur / caisseTechnical Specification © ATX SOFTWARER&D Dept. Gestion des périphériques caisseAuthor: BURGUIERE Yann E-mail: yburguiere@ingevoucher.comDate :2009-08-01Version : 00.8
  2. 2. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.8 1 Table des tableaux..................................................................................................................... 3 2 Table des figures ....................................................................................................................... 4 3 Historique ................................................................................................................................... 5 4 Objet du document .................................................................................................................... 6 5 Principes .................................................................................................................................... 7 5.1 Enchaînements possibles des messages ....................................................................... 7 5.1.1 Cas 1 : Message 8105/8115 simple........................................................................ 7 5.1.2 Cas 2 : Message 8105/8115 avec messages 8104/8114 intercalés ....................... 8 5.1.3 Cas 3 : Message 8105/8115 puis 8105, avec messages 8104/8114 intercalés ..... 9 6 Format général des messages ............................................................................................... 10 6.1 Principes ....................................................................................................................... 10 6.2 Description du message 8104/8114 ............................................................................. 10 6.3 Description du message 8105/8115 ............................................................................. 11 7 Format des données TLV ........................................................................................................ 12 7.1 Le format TLV ............................................................................................................... 12 7.2 Le format TLV composé ............................................................................................... 12 7.3 Le format TLV crypté .................................................................................................... 12 7.4 Plages de valeurs des tags........................................................................................... 13 7.5 Valeurs des TAGS ........................................................................................................ 15 7.6 Descriptif des TAGS spéciaux ...................................................................................... 19 7.6.1 Données du message 8101 (T_DATAS_8101)..................................................... 19 7.6.2 Demie clé de session (T_HALF_SESS_KEY) ...................................................... 19 7.6.3 Données du message 8111 (T_DATAS_8111)..................................................... 19 8 Structures des données des messages ................................................................................ 21 8.1 Structures des données des messages 8104/8114 ...................................................... 21 8.1.1 Effacement écran.................................................................................................. 21 8.1.2 Affichage écran ..................................................................................................... 22 8.1.3 Saisie confirmation ............................................................................................... 23 8.1.4 Saisie de caractères ............................................................................................. 24 8.1.5 Impression d’une ligne .......................................................................................... 25 8.1.6 Impression d’un buffer .......................................................................................... 26 8.1.7 Coupure papier ..................................................................................................... 27 8.1.8 Scanne code barre ............................................................................................... 28 8.1.9 Lecture de piste magnétique ................................................................................ 29 8.1.10 Demande de code confidentiel ............................................................................. 30 8.2 Structures des données des messages 8105/8115 ...................................................... 31 8.2.1 Réservation de produit identifié par un gencode................................................... 31 8.2.2 Confirmation/annulation de transaction ................................................................ 33 8.2.3 Requête carte cadeau .......................................................................................... 34 9 Exemples de séquences d’échanges de messages ............................................................. 35 9.1 Vente de recharge téléphonique virtuelle ..................................................................... 35 9.2 Vente de carte iTunes avec lecture de piste ISO .......................................................... 36 9.3 Activation de carte cadeau ........................................................................................... 37 9.4 Paiement avec une carte cadeau ................................................................................. 38 10 Codes retours (tag T_RES_TRX) ............................................................................................ 39 11 Formats additionnels de ticket ............................................................................................... 40 11.1 Impression de codes à barres ...................................................................................... 40 11.2 Impression de logos...................................................................................................... 40 11.3 Impression de données préenregistrées....................................................................... 40 11.4 Impressions dynamiques des tags et des lignes liées aux tags .................................... 40 12 Annexe1.................................................................................................................................... 42 12.1 Exemple de demande de lecture de piste magnétique ................................................. 42CONFIDENTIEL Page 2 / 42 www.ingevoucher.com
  3. 3. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.81 Table des tableauxTableau 1 – Format général des messages. .................................................................. 10Tableau 2 – Plages de valeurs des tags ........................................................................ 13Tableau 3 – Valeurs des tags. ........................................................................................ 18Tableau 4 – Données en clair du message 8101. .......................................................... 19Tableau 5 – Demie clé de session. ................................................................................ 19Tableau 6– Données en clair du message 8111. ........................................................... 20Tableau 7 – Commande effacement écran. ................................................................... 21Tableau 8 – Commande d’affichage écran. ................................................................... 22Tableau 9 – Commande de saisie de confirmation ........................................................ 23Tableau 10 – Commande de saisie de caractères. ........................................................ 24Tableau 11 – Commande d’impression de ligne. ........................................................... 25Tableau 12 – Commande d’impression de buffer. ......................................................... 26Tableau 13 – Commande de coupure papier. ................................................................ 27Tableau 14 – Commande de scanne code barre. .......................................................... 28Tableau 15 – Commande de lecture de piste magnétique. ........................................... 29Tableau 16 – Demande de code confidentiel. ................................................................ 30Tableau 17 – Demande de réservation de produit. ........................................................ 32Tableau 18 – Demande de confirmation/annulation de transaction. .............................. 33Tableau 19 – Requête carte cadeau. ............................................................................. 34Tableau 20 – Codes retour (tag T_RES_TRX). ............................................................. 39CONFIDENTIEL Page 3 / 42 www.ingevoucher.com
  4. 4. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.82 Table des figuresFigure 1 – Message 8105/8115 simple. ........................................................................... 7Figure 2 - Message 8105/8115 avec messages 8104/8114 intercalés. ........................... 8Figure 3 - Message 8105/8115 puis 8105, avec messages 8104/8114 intercalés .......... 9Figure 4 - Vente de recharge téléphonique virtuelle ...................................................... 35Figure 5 - Vente de carte iTunes avec lecture de piste ISO. ......................................... 36Figure 6 - Activation de carte cadeau. ............................................................................ 37Figure 7 - Paiement avec une carte cadeau .................................................................. 38CONFIDENTIEL Page 4 / 42 www.ingevoucher.com
  5. 5. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.83 HistoriqueVersion Date Commentaires Auteur00.1 2008-21-08 Release 1 EURONET00.2 2008-05-09 Ajout de codes retour. EURONET Nouveau caractères de contrôle pour les tickets.00.3 2008-26-11 Ajout du message 8105/8115 EURONET Ajout du tag crypté. Ajout de valeurs de tags.00.4 2008-02-12 Modification de l’entête du message EURONET 8105/8115 Modification des types de messages 8105/8115.00.5 2008-10-12 Ajout de la saisie de code confidentiel EURONET Ajout de tags liés aux cartes cadeaux Ajout du message de requête carte cadeau. Enrichissement des codes retours.00.6 2008-17-12 Gestion de l’impression des tags. EURONET Corrections mineures.00.7 2008-24-12 Ajout d’exemples d’échanges. EURONET Corrections mineures.00.8 2009-08-01 Modification des tickets. EURONET Modifications mineures..CONFIDENTIEL Page 5 / 42 www.ingevoucher.com
  6. 6. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.84 Objet du document Ce document est un complément du document ING_ECR_INTERFACE_TCP_IP_IMPLEMENTATION définissant le protocole d’échanges entre les caisses et le serveur INGEVOUCHER. Ce document décrit un nouveau format de message générique basé sur le format TLV. Ce format de message a pour but d’offrir une souplesse et une évolutivité maximum dans les dialogues caisses/serveur.CONFIDENTIEL Page 6 / 42 www.ingevoucher.com
  7. 7. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.85 PrincipesDeux nouveaux messages obéissent à ce format :. - Le message 8104/8114, qui est à l’initiative du serveur. - Le message 8105/8115, qui est à l’initiative de la caisse.Le message 8104/8114 a pour objectif de mettre à disposition du serveur lespériphériques du point de vente.A réception d’un message 8104, le point de vente doit y répondre par un message8114 et se mettre en attente d’un nouveau message.Le message 8105/8115 a pour objectif d’effectuer tout type de demande au serveur.A réception d’un message 8105, le serveur répond par un message 8115. La réponseest facultative et dépend du type de demande.Des messages 8104/8114 peuvent être intercalés entre la demande 8105 et la réponse8115.5.1 Enchaînements possibles des messages5.1.1 Cas 1 : Message 8105/8115 simple Point de Serveur vente 8105 8115 Figure 1 – Message 8105/8115 simple.CONFIDENTIEL Page 7 / 42 www.ingevoucher.com
  8. 8. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.85.1.2 Cas 2 : Message 8105/8115 avec messages 8104/8114 intercalés Point de Serveur vente 8105 8104 8114 8104 8114 8115 Figure 2 - Message 8105/8115 avec messages 8104/8114 intercalés.CONFIDENTIEL Page 8 / 42 www.ingevoucher.com
  9. 9. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.85.1.3 Cas 3 : Message 8105/8115 puis 8105, avec messages 8104/8114 intercalés Point de Serveur vente 8105 8104 8114 8104 8114 8115 8105 Figure 3 - Message 8105/8115 puis 8105, avec messages 8104/8114 intercalésCONFIDENTIEL Page 9 / 42 www.ingevoucher.com
  10. 10. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.86 Format général des messages6.1 PrincipesLes messages possèdent un format analogue aux messages déjà existants dansprotocole ECR.Ils sont composés de deux parties distinctes : - Un entête identifiant de manière unique le point de vente. - Des données applicatives liées au message. Les entêtes sont différents pour les messages 8104/8114 et 8105/8115. Les données applicatives peuvent être cryptées ou non.L’intégralité des messages est exprimée au format ASCII.6.2 Description du message 8104/8114 FIELD DESCRIPTION LENGTH FORMAT VALUE TRANSACTION Internal use 4 ALPHANUMERIC 0P12 CODE MESSAGE Message class 4 ALPHANUMERIC 8104 ou 8114 CLASS and function RUF INTERNAL USE 6 ALPHANUMERIC ‘000000’ CASH REGISTER Sequential 8 ALPHANUMERIC Right space NUMBER number filled identifying cash register SHOP NUMBER Sequential 15 ALPHANUMERIC Right space number filled identifying shop REQUEST DATA TLV DATAS Var ALPHANUMERICDATASTLV Tableau 1 – Format général des messages.CONFIDENTIEL Page 10 / 42 www.ingevoucher.com
  11. 11. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.86.3 Description du message 8105/8115 FIELD DESCRIPTION LENGTH FORMAT VALUE TRANSACTION Internal use 4 ALPHANUMERIC 0P12 CODE MESSAGE Message class 4 ALPHANUMERIC 8105 CLASS and function 8115 RUF INTERNAL USE 6 ALPHANUMERIC ‘000000’ CASH REGISTER Sequential 8 ALPHANUMERIC Right space NUMBER number filled identifying cash register CASHIER Sequential 8 ALPHANUMERIC Right space NUMBER number filled identifying cashier TRANSACTION Sequential 8 ALPHANUMERIC left zero-filled NUMBER number (ex:123 identifying 0123) transaction SHOP NUMBER Sequential 15 ALPHANUMERIC Right space number filled identifying shop DATE Date of request 8 ALPHANUMERIC DDMMYYYY TIME Time of request 6 ALPHANUMERIC hhmmss CONTROLLER Internal use 2 ALPHANUMERIC 00 REQUEST DATA TLV DATAS Var ALPHANUMERICDATASTLVCONFIDENTIEL Page 11 / 42 www.ingevoucher.com
  12. 12. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.87 Format des données TLV7.1 Le format TLVLe format des données échangées obéit aux règles suivantes : • Les quatre premiers octets définissent le type de donnée. • Les quatre octets suivants déterminent la longueur de la donnée. • La présence de ces huit premiers octets est obligatoire. • Les octets suivants, s’ils sont présents, sont la donnée elle-même.Une donnée au format TLV a donc le format ci-dessous : Type donnée Longueur donnée (=n) Donnée 4 octets 4 octets n octet(s) Figure 1 - Format dune donnée TLV7.2 Le format TLV composéUne donnée au format TLV peut également être composée de plusieurs données auformat TLV. Ce type de donnée est appelée « donnée composée », par opposition autype de donnée simple.Les tags composés possèdent une plage de valeurs spécifique.Une donnée composée au format TLV composé a donc le format ci-dessous : Longueur Type donnée T1 L1 V1 …… Tn Ln Vn donnée (=n) 4 octets 4 octets octet n octet(s) octetAvec, T1L1V1…. TnLnVn des données simples au format TLV. Figure 2 - Format dune donnée TLV composée7.3 Le format TLV cryptéUn tag crypté permet de véhiculer des données de manière sécurisée.Un tag crypté possède différentes caractéristiques : • La valeur du tag est incluse dans une plage de valeurs spécifique.CONFIDENTIEL Page 12 / 42 www.ingevoucher.com
  13. 13. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.8 • Les données du tag sont cryptées par un algorithme 3DES. • Les données du tag sont composées de : o Les données utiles. o Des caractères de padding initialisés à ‘00’. Le padding génère une taille totale de données multiple de 8. o Un CRC (Cyclic Redundancy Check) sur 2 octets et calculé sur les données utiles + les caractères de padding • La longueur du tag indique la longueur des données utiles décryptées et non la longueur des données cryptées. • La longueur des données cryptées est égale au multiple de 8 immédiatement supérieur à la longueur des données utiles + 2.Une donnée au format TLV crypté a donc le format ci-dessous : Longueur données Donnée cryptées = Type donnée utiles décryptées(=n) Données utiles+padding+CRC 4 octets 4 octets m octet(s), avec m>=n+2 et m multiple de 8 Figure 3 - Format dune donnée TLV cryptée.7.4 Plages de valeurs des tagsSuivant leur type, les tags appartiennent à des plages de valeurs spécifiques : Plages de Type valeurs0xFFFFà Tag composé et crypté0xC000 Tag composé0xBFFFà Tag Composé et en clair0x80000x7FFFà Tag simple et crypté0x4000 Tag simple0x3FFFà Tag simple et en clair0x0000 Tableau 2 – Plages de valeurs des tagsAinsi, chaque tags en clair possède son homologue en crypté, il suffit pour celad’ajouter 0x4000 à la valeur du tag en clair.CONFIDENTIEL Page 13 / 42 www.ingevoucher.com
  14. 14. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.8Par exemple, si valeur du tag en clair « piste ISO1 » est 0x0210, la valeur du tag crypté« piste ISO1 » sera 0x4210.CONFIDENTIEL Page 14 / 42 www.ingevoucher.com
  15. 15. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.87.5 Valeurs des TAGSLes TAGS décrits dans les cases colorées (vert) sont des TAGS cryptés.Tableau à compléter. Format des Longueur Nom Valeur données des Description données Tags composésT_DATAS_MSG 0x8000 ALPHANUM Var. Données du message Tags de commandes8104/8114T_EFF_ECRAN 0x0010 0 Effacement viseur caisseT_AFF_LIGNE 0x0011 0 Affichage ligne Demande de lecture de pisteT_LECT_ISO1 0x0021 0 ISO1 Demande de lecture de pisteT_LECT_ISO2 0x0020 0 ISO2 Demande de lecture de pisteT_LECT_ISO3 0x0023 0 ISO3T_SAISIE_CONFIRM 0x0030 0 Saisie de confirmation Saisie de plusieursT_SAISIE_MUL 0x0031 0 caractèresT_IMP_LIGNE 0x0040 0 Impression ligneT_IMP_BUFF 0x0041 0 Impression bufferT_IMP_CUT 0x0042 0 Coupure papier Demande de scanne de codeT_SCAN 0x0050 0 barre Demande de codeT_SAISIE_CODE_CONF 0x0032 0 confidentiel.8105/8115 Type de message : 1 : Réservation de produit. 2 :Confirmation/annulation de produit. 3 : Demande de nouvelle clé. 12 : Demande de paiement avec une carte cadeau. 13 : Demande de rechargement de carte cadeau. 14 : Demande de solde de carte cadeau. 15 : Demande de remboursement de carte cadeau.T_TYPE_MSG 0x1101 NUMERIQUE 1 51 : Réponse à un message de type 1. 53 : Réponse à un message de type 3. 62 : Réponse à un message de type 12. 63 : Réponse à un message de type 13. 64 : Réponse à un message de type 14. 65 : Réponse à un message de type 15.CONFIDENTIEL Page 15 / 42 www.ingevoucher.com
  16. 16. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.8 Confirmation/annulation de produit :T_CNF_CODE 0x1109 2 00 : Confirmation 11 : Annulation8105/8115 (FDJ)T_FDJ_REQ 0x2101 0 Demande de prise de jeux. Réponse à la demande deT_FDJ_ANSW 0x2111 0 prise de jeux. Demande d’annulation deT_ANNL_FDJ_REQ 0x2102 0 prise de jeux. Réponse à la demandeT_ANNL_FDJ_ANSW 0x2112 d’annulation de prise de jeux. Tags de paramètres et de données8104/8114T_NUM_LIGNE 0x0018 NUM 1 Numéro de ligne (affichage) Chaîne de caractères ASCIIT_STR_ASCII 0x0019 ALPHANUM Var. (affichage ou impression) Nombre de caractèresT_NB_CAR 0x0038 NUM Var. (saisie)T_RES_SAISIE 0x003A ALPHANUM Var. Chaîne saisieT_LG_MIN_CODE 0x003B NUM 1 Longueur minimum du code.T_LG_MAX_CODE 0x003C NUM 1 Longueur maximum du code. Type d’équipement à utiliserT_TYPE_EQU 0x003D NUM 1 1 : PINPAD 2 : CaisseT_CODE_CONF 0x403E NUM Var Code confidentielT_BUFF 0x0048 ALPHANUM Var. Buffer à imprimerT_RES_SCAN 0x0058 NUM Var. Code scanné.T_ISO1 0x0210 ALPHANUM Var. Piste ISO1T_ISO2 0x0220 ALPHANUM Var. Piste ISO2T_ISO3 0x0230 ALPHANUM Var. Piste ISO38105/8115T_TRX_NB 0x1001 NUM 4 Numéro de transactionT_DATE 0x1002 NUM 8 Date au format DDMMYYYYT_TIME 0x1003 NUM 6 Heure au format HHMMSST_EAN13 0x1004 NUM 13 Code EAN13T_RANDOM 0x1005 NUM Var. Random Demande ticket :T_ASK_TICK 0x1006 NUM 1 0 : Ticket non demandé. 1 : Ticket demandé.T_ING_REF 0x1010 ALPHANUM Var. Référence IngevoucherT_PIN_SERIAL 0x01011 ALPHANUM Var. Numéro de série de code Date de fin de validité deT_VAL_DATE 0x01012 NUM 8 code au format YYYYMMDD. Demande de nouvelle clé :T_ASK_KEY 0x1013 NUM 1 0 : Pas de clé demandée. 1 : Nouvelle clé demandée. Nombre de demandes max.T_KEY_ATTPT 0x014 NUM 8 utilisant l’ancienne clé de cryptage. Résultat de la transaction. :T_RES_TRX 0x1015 NUM 1 0 : Transaction OK <>0 : Transaction échouée.T_PIN_CODE 0x1017 ALPHANUM Var. Code d’activation Type de confirmation :T_CNF_TYPE 0x1018 NUM 2 00 : Confirmation 11 : AnnulationT_MST_KEY 0x1019 ALPHANUM 32 Clé maître Ticket à imprimer pour leT_TICK 0x1020 ALPHANUM Var. produit.T_HALF_SESS_KEY* 0x5016 ALPHANUM 32 Demie-clé de session.T_DATAS_8101* 0x5001 ALPHANUM 40 Données cryptées utiliséesCONFIDENTIEL Page 16 / 42 www.ingevoucher.com
  17. 17. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.8 dans le message 8101 Données cryptées utiliséesT_DATAS_8111* 0x5002 ALPHANUM 144 dans le message 8111.8105/8115 (FDJ) Code retour retourné par leT_FDJ_RET 0x2000 NUM Var. serveur FDJ. Timestamp de la requête auT_FDJ_TIMESTAMP 0x2001 NUM 14 format AAAAMMJJHHMMSST_FDJ_FSN 0x2002 NUM 16 Foreign serial NumberT_FDJ_COUNTERMARK 0x2003 ALPHUNUM 12 Identifiant de contremarque. Numéro à imprimer sur leT_FDJ_RECEIPT_NB 0x6004 NUM 32 reçu de prise de jeu. Numéro de contrôleT_FDJ_NNCA 0x6005 ALPHANUM 16 sécuritaire NNCA encrypté puis encodé en base 64. Numéro séquentiel reçu deT_FDJ_SEQ_NUM 0x2006 NUM 5 l’OLTP. Numéro de l’opérateur virtuelT_FDJ_AGENT_NUM 0x2007 NUM 8 qui a effectué la prise de jeux. Montant de la prise de jeuxT_FDJ_AMOUNT 0x2008 NUM Var. en centimes. Combinaison jouée pour une grille, cette balise peut être répétée plusieurs foisT_FDJ_COMBI 0x6009 ALPHANUM Var. La combinaison est pré formatée : par exemple pour le Loto : "01 02 03 04 05" Combinaison complémentaire jouée pour une grille ou pour un jeu ; cette balise est utilisée par exemple pour le n° chance du Loto et les étoiles de laT_FDJ_ADD_COMBI 0x6010 ALPHANUM Var. chance d’Euro millions ; Cette balise peut être répétée plusieurs fois La combinaison est pré formaté : par exemple pour le Loto : "07" ; pour Euromillions "1 2" Numéro joué pour le numéro chance Joker ; Cette balise peut être répétée plusieurs foisT_FDJ_JOKER 0X6013 ALPHANUMERIQUE Var. La combinaison est pré formaté : par exemple pour le Loto et Euromillions : "1 234 567".T_FDJ_BP 0x2011 NUM Var. Identifiant de bitmap. Identifiant de messageT_FDJ_MP 0x2012 NUM Var. prédéfini.8105/8115 (CARTE CADEAU)T_PAN 0x3000 NUM 19 Primary Account Nnumber.T_TRANSAC_AMOUNT 0x3001 NUM 12 Montant de transaction 1 : ManuelT_ENTRY_MODE 0x3002 NUM 1 2 : Piste ISO 3 : Code barreT_CURRENCY 0x3003 ALPHA 3 DeviseT_BALANCE_AMT 0x3004 NUM 12 Solde de la carte. Tags de compte-rendu8104/8114 Compte-rendu d’analyse du message reçu : 0 = OKT_CR_MSG 0x0100 NUM 1 1 = Longueur incorrecte 2 = Format de paramètre(s) incorrectCONFIDENTIEL Page 17 / 42 www.ingevoucher.com
  18. 18. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.8 3 = Paramètre absent 10 = Commande inconnue Compte-rendu d’affichage : 0 = OKT_CR_AFF 0x0310 NUM 1 1 = Affichage échoué. 10 = Périphérique absent. Compte-rendu de saisie : 0 = OKT_CR_SAISIE 0x0330 NUM 1 1 = Abandon saisie 3 = Timeout saisie 10 = Périphérique absent Compte-rendu d’impression : 0 = OKT_CR_IMP 0x0340 NUM 1 1 = Impression échouée 2 = Papier absent 10 = Périphérique absent Compte-rendu du scanne : 0 = OKT_CR_SCAN 0x0340 NUM 1 1 = Scanne échoué 10 = Périphérique absent Compte rendu de lecture de piste ISO2: 0 = OKT_CR_ISO 0x0120 NUM 1 1 = Carte illisible 2 = Abandon lecture 3 = Timeout lecture 9 = Autre échec8105/8115 (FDJ) Compte-rendu de demande de prise de jeux :T_CR_FDJ_REQ 0x2301 0 0 : Requête aboutie. <> 0 : Requête non aboutie. Compte-rendu de demande de prise de jeux :T_CR_ANNL_FDJ_REQ 0x2302 0 0 : Requête aboutie. <> 0 : Requête non aboutie.(*) : Tag spécial dont la valeur est composée de plusieurs données obéissant à une structure fixe. Tableau 3 – Valeurs des tags.CONFIDENTIEL Page 18 / 42 www.ingevoucher.com
  19. 19. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.87.6 Descriptif des TAGS spéciauxLes tags spéciaux sont composés de plusieurs données et possédant une structurefixe.7.6.1 Données du message 8101 (T_DATAS_8101)La longueur totale des données en clair est de 40 octets .Ces données sont cryptées en TDES (clé de 16 octets), puis converties au formatASCII. La longueur finale de la valeur du TAG est donc de 80 octets.Les données en clair, avant encryption et conversion sont les suivantes : FIELD DESCRIPTION LENGTH FORMAT VALUEGENCODE GENCODE eVoucher 13 BCD Format Given byeVoucher IngevoucherRUF INTERNAL USE 5 ALPHANUMERIC ‘00000’Random 1 Session Key Part1 8 Binary Random generated valueRandom 2 (Padd) Random used for 6 Binary Random generated verification valueCRC Cyclic Redundancy 2 Binary CRC of the 32 Check previous bytesAsk Receipt Flag for asking Receipt 1 Binary 0xAA : true Other : falsePADDING PADDING 5 Binary 00 00 … 00 Tableau 4 – Données en clair du message 8101.7.6.2 Demie clé de session (T_HALF_SESS_KEY)La longueur totale des données en clair est de 16 octets .Ces données sont cryptées en TDES (clé de 16 octets), puis converties au formatASCII. La longueur finale de la valeur du TAG est donc de 32 octets.Les données en clair, avant encryption et conversion sont les suivantes : FIELD DESCRIPTION LENGTH FORMAT VALUERandom 3 Session Key Part2 8 Binary Random generated valueRandom 4 (Padd) Encrypted Random4 6 Binary Random generated valueCRC Cyclic Redundancy 2 Binary CRC of the 14 Check previous bytes Tableau 5 – Demie clé de session.7.6.3 Données du message 8111 (T_DATAS_8111)La longueur totale des données en clair est de 72 octets .Ces données sont cryptées en TDES (clé de 16 octets), puis converties au formatASCII. La longueur finale de la valeur du TAG est donc de 144 octets.CONFIDENTIEL Page 19 / 42 www.ingevoucher.com
  20. 20. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.8Les données en clair, avant encryption et conversion sont les suivantes : FIELD DESCRIPTION LENGTH FORMAT VALUEGENCODE GENCODE eVoucher 13 ALPHANUMERIC Given by IngevouchereVoucherPIN LENGTH 1 Binary Indicate the length of the PINPIN PIN 32 ALPHANUMERIC PIN in hex formatSERIAL LENGTH Serial length 1 Binary Indicate the length of the PINPIN SERIAL Pin serial number 10 BCD Format Serial in BCD with zero-paddingVALIDITY DATE 4 BCD Format YYYYMMDDRUF INTERNAL USE 5 ALPHANUMERIC “00000”.LRC Longitudinal 1 Binary LRC of the 66 Redundancy Check previous bytesPADDING PADDING 5 Binary 00 00 … 00 Tableau 6– Données en clair du message 8111.CONFIDENTIEL Page 20 / 42 www.ingevoucher.com
  21. 21. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.88 Structures des données des messagesCe chapitre concerne le champ “REQUEST DATA” des messages. Il décrit les tagsutilisés pour les commandes standards.8.1 Structures des données des messages 8104/81148.1.1 Effacement écran8.1.1.1 Format : Présence Longueur des O : Obligatoire TAG Description données F : Facultative C : ConditionnelleDemande (8104)T_DATAS_MSG Var. OT_EFF_ECRAN 0 O Demande d’effacement écran 1 : Ecran PinpadT_TYPE_EQU 1 O 2 : Ecran caisseRéponse (8114)T_DATAS_MSG Var. O Résultat analyse du format de laT_CR_MSG 1 O demande.T_CR_AFF 1 C Compte-rendu commande Tableau 7 – Commande effacement écran.8.1.1.2 Exemple :CONFIDENTIEL Page 21 / 42 www.ingevoucher.com
  22. 22. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.88.1.2 Affichage écran8.1.2.1 Format : Présence Longueur des O : Obligatoire TAG Description données F : Facultative C : ConditionnelleDemande (8104)T_DATAS_MSG Var. OT_AFF_LIGNE 0 O Demande d’affichage écranT_NUM_LIGNE 1 O Numéro de ligne à traiter.T_STR_ASCII Var. O Chaine à afficher sur la ligne. Numéro de ligne à traiter (les lignesT_NUM_LIGNE 1 F suivantes sont facultatives).T_STR_ASCII Var. F Chaine à afficher sur la ligne. 1 : Ecran PinpadT_TYPE_EQU 1 O 2 : Ecran caisseRéponse (8114)T_DATAS_MSG Var. O Résultat analyse du format de laT_CR_MSG 1 O demande.T_CR_AFF 1 C Compte-rendu commande Tableau 8 – Commande d’affichage écran.8.1.2.2 Exemple :CONFIDENTIEL Page 22 / 42 www.ingevoucher.com
  23. 23. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.88.1.3 Saisie confirmation8.1.3.1 Format : Longueur Présence O : Obligatoire TAG des Description F : Facultative données C : ConditionnelleDemande (8104)T_DATAS_MSG Var. OT_SAISIE_CONFIRM 0 O Demande de saisie de confirmation 1 : Saisie PinpadT_TYPE_EQU 1 O 2 : Saisie caisseRéponse (8114)T_DATAS_MSG Var. O Résultat analyse du format de laT_CR_MSG 1 O demande.T_CR_SAISIE 1 C Compte-rendu commande Tableau 9 – Commande de saisie de confirmation8.1.3.2 Exemple :CONFIDENTIEL Page 23 / 42 www.ingevoucher.com
  24. 24. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.88.1.4 Saisie de caractères8.1.4.1 Format : Présence Longueur des O : Obligatoire TAG Description données F : Facultative C : ConditionnelleDemande (8104)T_DATAS_MSG Var. OT_SAISIE_MUL 0 O Demande de saisie de caractères 1 : Saisie PinpadT_TYPE_EQU 1 O 2 : Saisie caisseRéponse (8114)T_DATAS_MSG Var. O Résultat analyse du format de laT_CR_MSG 1 O demande.T_CR_SAISIE 1 C Compte-rendu commandeT_NB_CAR 1 C Nombre de caractères saisisT_RES_SAISIE Var. C Chaîne saisie. Tableau 10 – Commande de saisie de caractères.8.1.4.2 Exemple :CONFIDENTIEL Page 24 / 42 www.ingevoucher.com
  25. 25. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.88.1.5 Impression d’une ligne8.1.5.1 Format : Présence Longueur des O : Obligatoire TAG Description données F : Facultative C : ConditionnelleDemande (8104)T_DATAS_MSG Var. OT_IMP_LIGNE 0 O Demande d’impression d’une ligneT_STR_ASCII Var O Chaine à imprimerRéponse (8114)T_DATAS_MSG Var. O Résultat analyse du format de laT_CR_MSG 1 O demande.T_CR_IMP 1 C Compte-rendu commande Tableau 11 – Commande d’impression de ligne.8.1.5.2 Exemple :CONFIDENTIEL Page 25 / 42 www.ingevoucher.com
  26. 26. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.88.1.6 Impression d’un buffer8.1.6.1 Format : Présence Longueur des O : Obligatoire TAG Description données F : Facultative C : ConditionnelleDemande (8104)T_DATAS_MSG Var. OT_IMP_BUFF 0 O Demande d’impression d’une ligneT_BUFF Var O Buffer à imprimerRéponse (8114)T_DATAS_MSG Var. O Résultat analyse du format de laT_CR_MSG 1 O demande.T_CR_IMP 1 C Compte-rendu commande Tableau 12 – Commande d’impression de buffer.8.1.6.2 Exemple :CONFIDENTIEL Page 26 / 42 www.ingevoucher.com
  27. 27. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.88.1.7 Coupure papier8.1.7.1 Format : Présence Longueur des O : Obligatoire TAG Description données F : Facultative C : ConditionnelleDemande (8104)T_DATAS_MSG Var. OT_IMP_CUT 0 O Demande d’impression d’une ligneRéponse (8114)T_DATAS_MSG Var. O Résultat analyse du format de laT_CR_MSG 1 O demande.T_CR_IMP 1 C Compte-rendu commande Tableau 13 – Commande de coupure papier.8.1.7.2 Exemple :CONFIDENTIEL Page 27 / 42 www.ingevoucher.com
  28. 28. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.88.1.8 Scanne code barre8.1.8.1 Format : Présence Longueur des O : Obligatoire TAG Description données F : Facultative C : ConditionnelleDemande (8104)T_DATAS_MSG Var. OT_SCAN 0 O Demande de scanne de code barreRéponse (8114)T_DATAS_MSG Var. O Résultat analyse du format de laT_CR_MSG 1 O demande.T_CR_SCAN 1 C Compte-rendu du scanneT_RES_SCAN Var C Données scannées Tableau 14 – Commande de scanne code barre.8.1.8.2 Exemple :CONFIDENTIEL Page 28 / 42 www.ingevoucher.com
  29. 29. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.88.1.9 Lecture de piste magnétique8.1.9.1 Format : Présence Longueur des O : Obligatoire TAG Description données F : Facultative C : ConditionnelleDemande (8104)T_DATAS_MSG Var. OT_LECT_ISO2 0 O Demande de lecture de piste ISO2Réponse (8114)T_DATAS_MSG Var. O Résultat analyse du format de laT_CR_MSG 1 O demande.T_CR_ISO 1 C Compte-rendu de la lecture pisteT_ISO Var C Données lues Tableau 15 – Commande de lecture de piste magnétique.8.1.9.2 Exemple :CONFIDENTIEL Page 29 / 42 www.ingevoucher.com
  30. 30. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.88.1.10 Demande de code confidentiel8.1.10.1 Format : Longueur Présence O : Obligatoire TAG des Description F : Facultative données C : ConditionnelleDemande (8104)T_DATAS_MSG Var. OT_CODE_CONF 0 O Demande de code confidentielT_LG_MIN_CODE 1 O Longueur minimum du code.T_LG_MAX_CODE 1 O Longueur maximum du code. 1 : Saisie pinpad (code porteur)T_TYPE_EQU 1 O 2 : Saisie caisse (code caissier)Réponse (8114)T_DATAS_MSG Var. O Résultat analyse du format de laT_CR_MSG 1 O demande.T_CR_SAISIE 1 C Compte-rendu de la saisie.T_CODE_CONF Var O Code confidentiel Tableau 16 – Demande de code confidentiel.8.1.10.2 Exemple :CONFIDENTIEL Page 30 / 42 www.ingevoucher.com
  31. 31. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.88.2 Structures des données des messages 8105/81158.2.1 Réservation de produit identifié par un gencodeLes requêtes de réservation de produit doivent obligatoirement être suivies d’uneconfirmation/annulation de transaction (message de type 2).8.2.1.1 Format : Présence Longueur des O : Obligatoire TAG Description données F : Facultative C : ConditionnelleDemande (8105)T_DATAS_MSG Var. O 1 : Demande de réservation deT_TYPE_MSG 1 O produit.T_DATAS_8101 40 O Données du message 8101Réponse (8115)T_DATAS_MSG Var. O 51 : Réponse à la demande deT_TYPE_MSG 1 O réservation sur code EAN. Référence unique du produitT_ING_REF 6 O délivrée par le serveur Ingevoucher.T_PIN_SERIAL 20 max O Code série du produit. Date d’expiration du produit auT_VAL_DATE 8 O format YYYYMMDDT_ASK_KEY 1 O Indicateur de clé à actualiser. Nombre de demande réalisablesT_KEY_ATTPT 8 O avec l’ancienne clé. Solde de la carte (pour les cartesT_BALANCE_AMT 12 F cadeau).T_RES_TRX 2 O Résultat de la demande. Demie-clé de session généréeT_HALF_SESS_KEY 32 O par le serveur. Données cryptées de réponseT_DATAS_8111 144 F (suivant le type de produit). Ticket à imprimer pour ceT_TICK Var F produit. Numéro à imprimer sur le reçuT_FDJ_RECEIPT_NB 32 F de jeux, encrypté puis encodé en base 64 (FDJ).T_FDJ_NNCA 16 F Numéro de contrôle NNCA (FDJ) Combinaison(s) jouée(s) àT_FDJ_COMBI Var F imprimer (FDJ) Combinaison(s)T_FDJ_ADD_COMBI Var F complémentaire(s) jouée(s) à imprimer (FDJ) Numéro joker joué à imprimerT_FDJ_JOKER Var F (FDJ)CONFIDENTIEL Page 31 / 42 www.ingevoucher.com
  32. 32. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.8 Tableau 17 – Demande de réservation de produit.8.2.1.2 Exemple :CONFIDENTIEL Page 32 / 42 www.ingevoucher.com
  33. 33. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.88.2.2 Confirmation/annulation de transaction8.2.2.1 Format : Présence Longueur O : Obligatoire TAG Description des données F : Facultative C : ConditionnelleDemande (8105)T_DATAS_MSG Var. O 51 : Confirmation/annulation deT_TYPE_MSG 1 O produit. Référence unique du produitT_ING_REF 6 O délivrée par le serveur Ingevoucher. Indicateur de confirmation ouT_CNF_CODE 2 O annulation. Montant de la transaction, confirmation du montant traité.T_TRANSAC_AMOUNT 12 F Utilisé pour les échanges carte cadeau (activation ou paiement).Réponse (8115) Pas de réponse pour ce type de message Tableau 18 – Demande de confirmation/annulation de transaction.8.2.2.2 Exemple :CONFIDENTIEL Page 33 / 42 www.ingevoucher.com
  34. 34. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.88.2.3 Requête carte cadeauSi la requête carte cadeau est de type 12, 13 ou 15, elle doit obligatoirement être suivied’une confirmation/annulation de transaction (message de type 2).8.2.3.1 Format : Présence Longueur O : Obligatoire TAG Description des données F : Facultative C : ConditionnelleDemande (8105)T_DATAS_MSG Var. O 12 : Demande de paiement avec une carte cadeau. 13 : Demande de rechargement de carteT_TYPE_MSG 1 O cadeau. 14 : Demande de solde de carte cadeau. 15 : Demande de remboursement de carte cadeau.T_PAN 19 C Primary Account Nnumber. 1 : ManuelT_ENTRY_MODE 1 O 2 : Piste ISO 3 : Code barreT_TRANSAC_AMOUNT 12 C Montant de transactionT_CURRENCY 3 C DeviseRéponse (8115)T_DATAS_MSG Var. O 62 : Réponse à la demande de paiement. 63 : Réponse à la demande de rechargementT_TYPE_MSG 1 O 64 : Réponse à la demande de solde carte 65 : Réponse à la demande de remboursement. Référence unique de laT_ING_REF 6 O transaction.T_BALANCE_AMT 12 O Solde de la carteT_RES_TRX 2 O Résultat de la demande. Si T_TYPE_MSG = 62, possibilité deT_TICK Var F ticket informant du nouveau solde et des montants. Tableau 19 – Requête carte cadeau.CONFIDENTIEL Page 34 / 42 www.ingevoucher.com
  35. 35. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.89 Exemples de séquences d’échanges de messages9.1 Vente de recharge téléphonique virtuelle Point de Serveur vente 8105 T_TYPE_MSG = 1 8115 T_TYPE_MSG = 51 8105 T_TYPE_MSG = 2 Figure 4 - Vente de recharge téléphonique virtuelleCONFIDENTIEL Page 35 / 42 www.ingevoucher.com
  36. 36. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.89.2 Vente de carte iTunes avec lecture de piste ISO Point de Serveur vente 8105 T_TYPE_MSG = 1 8104 Demande de lecture ISO2 8114 Réponse à la lecture ISO2 8115 T_TYPE_MSG = 51 8105 T_TYPE_MSG = 2 Figure 5 - Vente de carte iTunes avec lecture de piste ISO.CONFIDENTIEL Page 36 / 42 www.ingevoucher.com
  37. 37. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.89.3 Activation de carte cadeau Point de Serveur vente 8105 T_TYPE_MSG = 1 8104 Demande de lecture ISO2 8114 Réponse à la lecture ISO2 8115 T_TYPE_MSG = 51 T_BALANCE_AMT présent 8105 T_TYPE_MSG = 2 T_TRANSAC_AMOUNT présent Figure 6 - Activation de carte cadeau.CONFIDENTIEL Page 37 / 42 www.ingevoucher.com
  38. 38. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.89.4 Paiement avec une carte cadeau Point de Serveur vente 8105 T_TYPE_MSG = 12 T_PAN présent T_TRANSAC_AMOUNT présent 8115 T_TYPE_MSG = 62 T_BALANCE_AMT présent 8105 T_TYPE_MSG = 2 T_TRANSAC_AMOUNT présent Figure 7 - Paiement avec une carte cadeauCONFIDENTIEL Page 38 / 42 www.ingevoucher.com
  39. 39. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.810 Codes retours (tag T_RES_TRX)Le tag T_RES_TRX peut prendre les valeurs suivantes : 00 Accepted 04 Internal Error. Try Again 05 Request rejected (authorization refused) 06 No more costumer credit 11 Invalid Format. Field missing or invalid in header. 12 Fatal Error. Ask Ingevoucher. 15 Duplicate transaction 21 Invalid Operator Code 22 Invalid Product Code 23 Invalid Merchant ID/Invalid Terminal ID 24 Obsolete 30 No PINs are available 40 No answer 41 Server connexion failed (Ingeclient) 42 Server connexion failed (Ingeserver) 43 Error during communication 50 Unknown reference 51 Record failed 63 Identification failed 71 Expired card 72 Invalid transaction 73 Invalid amount 74 Invalid card number 55 Invalid confidential pincode 80 Accepted, magnetic card treated with success. 81 Magnetic card treatment failed 82 Unknown card 83 Invalid card 84 Wrong card datatd format 85 Card already activated 90 Card account invalid 100 Card balance lower than amount 101 Card amount is null Tableau 20 – Codes retour (tag T_RES_TRX).CONFIDENTIEL Page 39 / 42 www.ingevoucher.com
  40. 40. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.811 Formats additionnels de ticketDe nouveaux caractères de contrôle sont définis.11.1 Impression de codes à barresCe caractère de contrôle permet l’impression de codes à barres.Caractère de contrôle : 0x1AFormat de la ligne : 0x1AGxxxxxxxxxxxxx Avec : 0x1A : caractère de contrôle G : Format du code à barre (1 = EAN13, 2 = EAN128) xxxxx… : Valeur numérique à formaterExemple, Impression d’un EAN13 de valeur 1234567890123 : x1A11234567890123x0A11.2 Impression de logosCe caractère de contrôle permet l’impression de logos préenregistrés dans la caisse.Caractère de contrôle : 0x1BFormat de la ligne : 0x1Bxxx Avec : 0x1B : caractère de contrôle xxx : Référence du logo à imprimerExemple, Impression du logo 2 : x1B002x0A11.3 Impression de données préenregistréesCe caractère de contrôle permet l’impression de données préenregistrées dans lacaisse.Caractère de contrôle : 0x1E Avec : 0x1E : caractère de contrôle xxx : Référence des données à impriméeExemple, Impression du texte 3 : x1E003x0A11.4 Impressions dynamiques des tagsUn tag peut être imprimé en fonction de la présence de celui-ci.Le format de l’impression est dépendant du format de la donnée.Le caractère de contrôle demandant l’impression d’un tag est :@Vxxxxnn, avec xxxx la valeur du tag et nn le numéro d’occurrence du tag.Exemple :CONFIDENTIEL Page 40 / 42 www.ingevoucher.com
  41. 41. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.8Impression de combinaison FDJ (tag T_FDJ_COMBI = 0x6009 ).La partie du ticket reçue et liée à l’impression des combinaisons est : Voici vos combinaisons : @V600901 @V600902 @V600903 Bonne chance !Dans la réponse du serveur, si le tag T_FDJ_COMBI comporte 2 occurrences dont lesvaleurs sont « 01 02 03 04 05 » & « 06 07 08 09 », l’impression des combinaisons surle ticket final est : Voici vos combinaisons 01 02 03 04 05 06 07 08 09 Bonne chance !CONFIDENTIEL Page 41 / 42 www.ingevoucher.com
  42. 42. Dialogues serveur / caisse Date: 01/2009 INGEVOUCHER Release: 0.812 Annexe112.1 Exemple de demande de lecture de piste magnétiqueLes trames suivantes, définissent l’échange suivant : - Demande à la caisse 1234 du magasin 5566 de lire les pistes ISO2 et ISO3. - Réponse de la caisse avec une lecture de la piste ISO2 (1030150604567111100=8888) réussie et un échec sur la lecture de la piste ISO3. 0P128104000000 1234 5566800000100020000000230000 0P128114000000 1234 55668000002A0120000200022000181030150604567111 100=8888 0120000201Décomposition des données TLV du message aller : - TAG de données du message : 8000 - Longueur de données du message : 0010 - Tag demande lecture ISO2 : 0020 - Longueur demande lecture ISO2 : 0000 - Tag demande lecture ISO3 : 0023 - Longueur demande lecture ISO3 : 0000Décomposition des données TLV du message retour : - TAG de données du message : 8000 - Longueur de données du message : 002A - Tag CR de lecture ISO : 0120 - Longueur CR de lecture ISO : 0002 - CR de lecture ISO : 0000 - Tag ISO2 : 0220 - Longueur ISO2 : 0018 - ISO2 : 1030150604567111100=8888 - Tag CR de lecture ISO : 0120 - Longueur CR de lecture ISO : 0002 - CR de lecture ISO : 01CONFIDENTIEL Page 42 / 42 www.ingevoucher.com

×