F I C H E D ' I N F O R M A T I O N T E C H N I Q U E 0 4 4 E 1 1 / 0 8 / 2 0 1 1 Gammes TELIUM1 et 2 Gamme de Produits : EFT Smart, EFT930, EFTSmart2, ict220, ict250, iwl250 BUT : Pouvoir faire dialoguer un terminal autonome et une caisse enregistreuse Ce protocole est basé sur le protocole Concert (document Concert référence 095 version 2.0 du 01/09/2001) 1. NIVEAU PHYSIQUE: RS232 Signaux utilisés: masse, émission, réception. Mode asynchrone Vitesse de 1200bds à 115200bds 1 start, 7bits de données, parité paire, 1 stop, half duplex. 2. CONNEXION EN USB Avec un terminal de la gamme Telium1 ou 2, il est aussi possible de connecter celui-ci à une caisse en USB (le driver USB-Telium doit être installé sur l Operating System de la caisse) Dans ce cas là, il s agira d une émulation du port série. Coté terminal, voir l annexe 5. 3. EMISSION D'UN MESSAGE: [ENQ][STX][données][ETX][LRC][EOT] Maître ENQ TE1 TE2 Esclave ------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------- --- DONNEES = STX-----DONNEES-----ETX LRC EOT TE1 TE2 TR1 ---------------------------------------------- -------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------- TR2 TR1 TR2 ACK ACK LRC = Octet de contrôle, c'est un OU exclusif (XOR) sur 7 bits de tous les octets du message (STX exclu, ETX inclus). Il est initialisé à 0. Fit_044E_Protocole Connexion caisse Support Technique France Page :1/12
Chaque équipement peut être Maître ou Esclave à des instants différents. L'équipement qui prend l'initiative de la communication est appelé maître, l'autre est appelé esclave. En cas d acquittement négatif, le maître fait 3 tentatives d émission du message de données. Si vous recevez "05h 04h 05h 04h 05h 04h <=> ENQ EOT ENQ EOT ENQ EOT ", c est tout simplement le terminal EFT ou ict, qui tente de vous envoyer le compte rendu, et, comme vous ne répondez pas Ack à ses Enq il envoie EOT en fin de time out, et il réitère 3 fois la demande puis abandonne. Après l'envoi de votre message, il faut donc que vous soyez à l'écoute du terminal EFT ou ict, et il vous faut acquitter ses messages. 4. DEFINITION DES TEMPORISATIONS DU PROTOCOLE: Coté maître: TEMPO LIBELLE VALEUR MIN VALEUR MAX TE1 Time out d'attente Ack après émission Enq ou 300ms 500ms LRC TE2 Temps entre réception du Ack ou Nack et 0ms 200ms l'émission du STX ou EOT TE3 Temps entre l'émission du EOT et l'émission ou 100ms 700ms la re-émission d'une trame (valeur max uniquement si re-émission) TE4 Temps entre réception du dernier caractère et émission du EOT (cas de réponse incorrecte du récepteur) 50ms 200ms Coté esclave: TEMPO LIBELLE VALEUR MIN VALEUR MAX TR1 Temps entre réception du Enq ou LRC et 0ms 200ms l'émission du Ack ou Nack TR2 Time out d'attente STX ou EOT après l'émission 300ms 500ms du Nack TR3 Time out d'attente du LRC après l'émission du 2s 3s STX TR4 Temps minimum entre caractère EOT et caractère suivant (détection de caractère isolé) 20ms 70ms Fit_044E_Protocole Connexion caisse Support Technique France Page :2/12
5. PROTOCOLES Le terminal utilise le protocole dit E ou E+ en fonction du message envoyé Si vous envoyez un message de 26 caractères, vous utilisez le Protocole E. Si vous envoyez un message de 34 caractères (champs DELAI et AUTO en plus), vous utilisez alors le Protocole E+ Le protocole AC (produits pétroliers) n est pas traité par les produits TELIUM autonomes. 6. Avec le Protocole E 6.1 Message envoyé par la caisse vers le terminal EFTou ict : STX N caisse Montant IND MODE TYPE DEV PRIV ETX LRC 2 car 8 car 1 car 1 car 1 car 3 car 10 car CHAMP LONGUEUR SIGNIFICATION N Caisse 2 caractères Numéro de la caisse (numérique) MONTANT 8 caractères Montant exprimé dans la plus petite unité de fractionnement complété à gauche par des zéros. Indiquer un montant positif. IND 1 caractère Présence du champ REP de la réponse = 1 champ REP envoyé dans la réponse = autre champ REP non envoyé MODE 1 caractère Mode de règlement = 1 traitement carte uniquement = C traitement chèque (si pas d'appli chèque, message "FONCTION NON IMPLEMENTEE ") = autre choix "CARTE CHEQUE" TYPE 1 caractère Type de transaction = 0 (achat) traitement du débit = 1 (remboursement) traitement du crédit (TM7783400) = 2 annulation (disponible à partir de TM7783400) = 4 pré-autorisation (disponible à partir de TM7784200) = autre message "FONCTION NON IMPLEMENTEE ") DEV 3 caractères Code numérique de la devise (pour info: 250 pour FRF, 978 pour EUR) = code numérique connu traitement du débit dans la devise spécifiée = code numérique inconnu affichage "FONCTION IMPOSSIBLE" PRIV 10 caractères Données privées remontées par l application. par défaut = 10 caractères (à blanc lorsqu elle ne véhicule rien) Fit_044E_Protocole Connexion caisse Support Technique France Page :3/12
6.2Compte rendu envoyé par le terminal EFTou ict : La réponse comporte un champ optionnel «REP». Sa présence est conditionnée à la valeur du champ «IND» dans le message émis par la caisse. 6.2.1 Compte rendu envoyé par le terminal EFTou ict, REP non demandé. STX N caisse STAT MONTANT MODE DEV PRIV ETX LRC 2 car 1 car 8 car 1 car 3 car 10 car 6.2.2 Compte rendu envoyé par le terminal EFTou ict, REP demandé. STX N caisse STAT MONTANT MODE REP DEV PRIV ETX LRC 2 car 1 car 8 car 1 car 55 car 3 car 10 car CHAMP LONGUEUR SIGNIFICATION N Caisse 2 caractères Numéro de la caisse (numérique) STAT 1 caractère Etat de la transaction = 0 si transaction acceptée = 7 si transaction non aboutie MONTANT 8 caractères Montant exprimé dans la plus petite unité de fractionnement complété à gauche par des zéros. Indiquer un montant positif. MODE 1 caractère Mode de règlement utilisé par le TPE. = 1 -> traitement carte bancaire uniquement = C -> traitement chèque = 0 -> autre choix REP 55 caractères si l application, ayant traitée le débit, a renseigné le champ REP, celui-ci est remonté. Champ présent si IND=1 lors de l envoi du message caisse Par défaut = no carte ou no chèque, complétés par des blancs. DEV 3 caractères Code numérique de la devise (pour info: 250 pour FRF, 978 pour EUR) PRIV 10 caractères Données privées remontées par l application. par défaut = 10 caractères (à blanc lorsqu elle ne véhicule rien) 7. Avec le Protocole E+ (Disponible à partir du pack TELIUM Manager 77836XX) Fit_044E_Protocole Connexion caisse Support Technique France Page :4/12
7.1 Message envoyé par la caisse vers le terminal EFTou ict : STX N caisse Montant IND MODE TYPE DEV PRIV DELAI AUTO ETX LRC 2 car 8 car 1 car 1 car 1 car 3 car 10 car 4 car 4 car CHAMP LONGUEUR SIGNIFICATION N Caisse 2 caractères Numéro de la caisse (numérique) MONTANT 8 caractères Montant exprimé dans la plus petite unité de fractionnement complété à gauche par des zéros. Indiquer un montant positif. IND 1 caractère Présence du champ REP de la réponse = 1 champ REP envoyé dans la réponse = autre champ REP non envoyé MODE 1 caractère Mode de règlement = 1 traitement carte uniquement = C traitement chèque (si pas d'appli chèque, message "FONCTION NON IMPLEMENTEE ") = autre choix "CARTE CHEQUE" TYPE 1 caractère Type de transaction = 0 (achat) traitement du débit = 1 (remboursement) traitement du crédit (TM7783400) = 2 annulation (disponible à partir de TM7783400) = 4 pré-autorisation (disponible à partir de TM7784200) = autre message "FONCTION NON IMPLEMENTEE ") DEV 3 caractères Code numérique de la devise (pour info: 250 pour FRF, 978 pour EUR) = code numérique connu traitement du débit dans la devise spécifiée = code numérique inconnu affichage "FONCTION IMPOSSIBLE" PRIV 10 caractères Données privées remontées par l application. par défaut = 10 caractères (à blanc lorsqu elle ne véhicule rien) DELAI 4 caractères Champ définissant le moment de la réponse du TPE = A01x x = 0 = réponse en fin de transaction x = 1 = réponse immédiate (sans statut valide) Géré à partir de TELIUM Manager 7784000 AUTO 4 caractères Demande une autorisation impérative. Si la caisse souhaite que le terminal fasse impérativement une demande d autorisation, positionner ce champ à 1 (équivalent de la touche F4 du terminal) = B01x x = 0 (cartes : demande d autorisation au choix de l application) x = 1 (cartes : demande autorisation forcée) Géré à partir de TELIUM Manager 77860xx 7.2Compte rendu envoyé par le terminal EFTou ict, REP non demandé. STX N caisse STAT MONTANT MODE DEV PRIV ETX LRC 2 car 1 car 8 car 1 car 3 car 10 car Fit_044E_Protocole Connexion caisse Support Technique France Page :5/12
7.3 Compte rendu envoyé par le terminal EFTou ict, REP demandé. La réponse est soit immédiate, soit en fin de transaction, en fonction du champ DELAI de la demande. En cas d absence de ce champ, la réponse est émise en fin de transaction. STX N caisse STAT MONTANT MODE REP DEV PRIV ETX LRC 2 car 1 car 8 car 1 car 55 car 3 car 10 car CHAMP LONGUEUR SIGNIFICATION N Caisse 2 caractères Numéro de la caisse (numérique) STAT 1 caractère Etat de la transaction = 0 si transaction acceptée = 7 si transaction non aboutie = 9 si requête prise en compte (DELAI=1) MONTANT 8 caractères Montant exprimé dans la plus petite unité de fractionnement complété à gauche par des zéros. Indiquer un montant positif. MODE 1 caractère Mode de règlement utilisé par le TPE. La réponse est fonction du format du message reçu. Si le message reçu comprend le champ DELAI et le Champ AUTO la réponse est : *CUPBPOP géré avec le TELIUM Manager 778 5905 émetteur valeur protocole Carte bancaire 1 Chèque C Amex 2 CETELEM ou CETNCB en mode cetdis 3 Cofinoga 5 Diners 6 Franfinance 8 JCB 9 Accord-finances A Moneo O CUP * U FINTRAX EMV F autres 0 (zéro) REP 55 caractères si l application, ayant traitée le débit, a renseigné le champ REP, celui-ci est remonté. Champ présent si IND=1 lors de l envoi du message caisse Par défaut = no carte ou no chèque, complétés par des blancs. DEV 3 caractères Code numérique de la devise (pour info: 250 pour FRF, 978 pour EUR) PRIV 10 caractères Données privées remontées par l application. par défaut = 10 caractères (à blanc lorsqu elle ne véhicule rien) Par exemple, pour CBEMV 8130230 1 caractère = 2 (CBEMV) 3caractères = Numéro de la transaction 3caractères = Numéro de la remise 3caractères = Numéro logique de l application Fit_044E_Protocole Connexion caisse Support Technique France Page :6/12
Annexe 1 «extrait du document Concert» MODE : Asynchrone Half Duplex, 1 bit start et 1 bit stop VITESSE : 1200 bauds - Implémentation obligatoire 9600 bauds - Implémentation recommandée 19200 bauds - Implémentation facultative 38400 bauds - Implémentation facultative 57600 bauds - Implémentation facultative 115200 bauds - Implémentation facultative CARACTERES : ASCII - 7 bits + Parité Paire CARACTERES SPECIAUX :- ENQ :(05H) : demande d ouverture session - ACK :(H) : acquittement positif de réception - NAK :(15H) : acquittement négatif de réception - STX :(02H) : début de message - ETX :(03H) : fin de message - EOT :(04H) : fin de session TRAME DONNEES : STXdonnéesETX lrc (max. 512 caractères) - données : chaîne de caractères ASCII-7 (20H à 7FH + 0DH, 0EH) + Parité Paire lrc : caractères ASCII-7 (00H à 7FH) + Parité Paire OU EXCLUSIF des caractères données et ETX compris initialisé à 00h (STX exclu du calcul) COMPTEUR DE TENTATIVES : N1 : compteur d émission de la trame données. N1 max. est fixé à 3. - N2 : compteur de session. N2 max. est fixé à 3. Fit_044E_Protocole Connexion caisse Support Technique France Page :7/12
Annexe 2 : Exemple de Traces protocolaires pour un de montant de 56, paiement par carte OK Protocole E Protocole E+ Phase1 : Montant envoyé par la caisse Phase1 : Montant envoyé par la caisse Requête caisse 05 Réponse terminal Message envoyé par la caisse 02 30 31 30 30 30 30 35 36 30 30 31 31 30 39 37 38 20 20 20 20 20 20 20 20 20 20 03 LRC Réponse terminal Fin de dialogue caisse 04 Phase2 : Réponse renvoyée par le terminal Requête terminal 05 Réponse caisse Requête terminal 02 30 31 30 30 30 30 30 35 36 30 30 31 35 30 31 37 36 37 30 32 30 30 30 32 38 36 32 39 20 20 20 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 39 37 38 32 30 30 31 30 30 31 30 30 31 03 12 Réponse caisse Fin de dialogue terminal 04 Requête caisse 05 Réponse terminal Message envoyé par la caisse 02 30 31 30 30 30 30 35 36 30 30 31 31 30 39 37 38 20 20 20 20 20 20 20 20 20 20 41 30 31 30 42 30 31 30 03 LRC Réponse terminal Fin de dialogue caisse 04 Phase2 : Réponse renvoyée par le terminal Requête terminal 05 Réponse caisse Requête terminal 02 30 31 30 30 30 30 30 35 36 30 30 31 35 30 31 37 36 37 30 32 30 30 30 32 38 36 32 39 20 20 20 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 39 37 38 32 30 30 31 30 30 31 30 30 31 03 12 Réponse caisse Fin de dialogue terminal 04 Fit_044E_Protocole Connexion caisse Support Technique France Page :8/12
Annexe 3 : Exemple de code Windev ResConnect senvoi ChaineLRC j TailleAsc NBEssai senvoiparam uccaratere LigneCom1 est un booléen est une chaîne="01000020001c09780000000000" est un entier est un entier est un entier=taille(senvoi) est un entier=0 est une chaîne est un entier est un booléen //ResConnect=ConnectTPE() ResConnect=Vrai SI ResConnect=Vrai ALORS A_STX est une chaîne=caract(2) A_ETX est une chaîne=caract(3) A_EOT est une chaîne=caract(4) A_ENQ est une chaîne=caract(5) A_ACK est une chaîne=caract(6) A_NAK est une chaîne=caract(15) // Ouverture de COM1 LigneCom1 = souvre(1, 2000, 2000) SI LigneCom1 = Vrai ALORS // Paramétrage de COM1 : Taux 9600, parité paire, // 8 bits de données, 1 bit de stop sfixeparamètre(1, 9600, 1, 7, 0) // Suite traitement... // Fermeture de COM1 SINON Erreur("Erreur d'ouverture de COM1") FIN //Calcul du LRC ChaineLRC=0 POUR j =1 A TailleAsc uccaratere = Asc(Milieu(sEnvoi,j,1)) ChaineLRC=OUExclusifBinaire(ChaineLRC,ucCaratere) FIN ChaineLRC=OUExclusifBinaire(ChaineLRC,3) //Réveil TPE senvoiparam=a_enq Trace(sEnvoiParam) secrit(1,senvoiparam) //Attente Réponse TPE RetChaine est une chaîne="" Fit_044E_Protocole Connexion caisse Support Technique France Page :9/12
BOUCLE RetChaine=sLit(1,sDansFileEntrée(1)) A FAIRE TANTQUE RetChaine="" //Réponse OK SI RetChaine=A_ACK ALORS //Construction Trame senvoiparam=a_stx senvoiparam+=senvoi senvoiparam+=a_etx senvoiparam+=caract(chainelrc) //Envoi Trame secrit(1,senvoiparam) Trace(sEnvoiParam) //Attente Réponse TPE BOUCLE RetChaine=sLit(1,sDansFileEntrée(1)) A FAIRE TANTQUE RetChaine="" //Réponse OK SI RetChaine=A_ACK ALORS //Fin de Transmission senvoiparam=a_eot secrit(1,senvoiparam) Trace("Ok") SINON //Fin de Transmission senvoiparam=a_eot secrit(1,senvoiparam) Trace("KO") FIN FIN Trace("FIN") SINON Trace("KO") FIN //Fermeture du port sferme(1) Fit_044E_Protocole Connexion caisse Support Technique France Page :10/12
Annexe 4 : Connaître la version du TELIUM Manager du terminal MONTANT: 0,00 EUR Accéder à l'initialisation des Paramètres par : F TELIUM MANAGER Consultation Etat FONCTIONS 0-TELIUM MANAGER 2-CBEMV 3-CHEQUE 4-AMEX Descendre avec le navigateur flèche du bas pour arriver Sur TELIUM MANAGER puis valider avec la touche verte TELIUM MANAGER 1-Annulation 2-Consultation 3-Credit 4-Evolution Descendre avec le navigateur flèche du bas pour arriver Sur Consultation puis valider avec la touche verte CONSULTATION 1-Etat 2-Transaction 3-Appel 4-Configuration Descendre avec le navigateur flèche du bas pour arriver Sur Etat puis valider avec la touche verte Sur le ticket qui s édite, la version du TELIUM Manager du terminal EFT ou ict est indiquée : CARACTERISTIQUES MATERIELLES ET LOGICIELLES TELIUM MANAGER LE 04/08/2010 09 :08 :22 No série : 00000001 1234567890A234567890 Modele equipement : 420 Memoire flash : 00xxxxKo Stockage flash : 00xxxxKo Memoire Ram : 00xxxxKo Stockage Ram : 00xxxxKo Type syst accept : 22 Type architecture : 10 - - - - - - - - - - - - - - - Version : 37784503 CRC : ADF7 Fit_044E_Protocole Connexion caisse Support Technique France Page :11/12
Annexe 5 : Configurer le terminal en fonction du port utilisé (série ou USB) FONCTIONS 0-TELIUM MANAGER 1-CB 2-CBEMV 3-MONEO 4-CHEQUE Choisir la fonction désirée à l'aide des touches de navigation haut et bas Choisir «O-TELIUM MANAGER» puis valider Attention : l'ordre des fonctions présenté dans les exemples d'écran ci-contre peut être différent de celui qu'affiche votre terminal. TELIUM MANAGER 1- Annulation 2- Consultation 3- Crédit 4- Evolution 5- Initialisation INITIALISATION 1- Parametres 2-Matériel INITIALISATION Date et Heure Langue No terminal Connexion Caisse Choisir la fonction désirée à l'aide des touches de navigation haut et bas Choisir «5 initialisation» puis valider Attention : l'ordre des fonctions présenté dans les exemples d'écran ci-contre peut être différent de celui qu'affiche votre terminal. Choisir la fonction désirée à l'aide des touches de navigation haut et bas Choisir «1 Paramètres» puis valider Choisir la fonction désirée à l'aide des touches de navigation haut et bas Choisir «Connexion caisse» puis valider Attention : l'ordre des fonctions présenté dans les exemples d'écran ci-contre peut être différent de celui qu'affiche votre terminal. CONNEXION CAISSE DESACTIVE ACTIVE Déclaration de raccordement à un équipement informatique. Faire le choix "Active" puis valider Choisir ensuite dans les sous-menus proposés la vitesse et le type de liaison. LIAISON SERIE COM 0 USB Menu présent si connexion caisse a été activée. Faire le choix «COM 0» si la connexion physique entre le terminal et la caisse est en RS232, puis Valider Pour une connexion physique en USB, entre le terminal et la caisse, faire le choix USB puis valider Le paramétrage caisse est alors terminé. VITESSE 1200 2400 19200 Menu présent si choix «com 0» a été sélectionné. Sélectionner «1200» puisvalider Retour sur le menu en appuyant deux fois sur la touche rouge «Annulation» Fit_044E_Protocole Connexion caisse Support Technique France Page :12/12