Ce module permet de lier Logistics au terminal de paiement de Banksys. Cela veut dire que l'utilisateur ne doit plus indiquer manuellement le mode de paiement d'une vente. Si on choisit paiement par carte dans l'écran de paiement, Logistics envoie le montant de la transaction vers le terminal, et une fois la transaction terminée, Logistics reçoit le montant payé automatiquement dans la case du mode de paiement utilisé par le client. Ainsi, les erreurs d'inversions des modes de paiement deviennent quasi nulles.

Le module Gestion d'un terminal Banksys est une extension du module Y (Module Gestion des paiements). Dans le string des modules, il faut avoir : B6.

Sur cette page:

Prérequis

(tick) Protocole utilisé : VIC 1.07

(tick) Terminal de paiement Banksys avec port série compatible avec ce protocole : YOMANI, (XENTA, XENTISSIMO)

(error) Terminal de paiement Banksys sans port série non compatible : YOXIMO

Le terminal Banksys doit être branché à l'aide d'un câble disponible chez banksys au numéro suivant : 02/727.88.99
Veuillez donc bien vérifier si ce câble existe chez votre client.
Voici les références disponibles de ces câbles :

Référence non blindé :
2m - 230 140 23 93
5m - 530 140 03 93

Référence Blindé :
5m - 530 140 54 37

Voici la configuration pour le port COM :

  • Asynchronous
  • Full duplex
  • 1 start bit, 8 data bits, 1 stop bit
  • Parity : None
  • Speed : 9600 bps
  • Physical encoding method : Non Return to Zero (NRZ)
  • Byte serialisation : Least Significant Bit (LSB) first

En cas de problème, les spécialistes de chez Banksys pour les terminaux sont disponibles au 02/727.66.33

Haut de page

Fonctionnement

Il faut préalablement installer le SrvTerminal sur le PC qui sera physiquement connecté au terminal via le port série. SrvTerminal est une petite application de type service qui va tourner en tâche de fond sur cet ordinateur. Le SrvTerminal sera identifié par cette icône :

Celle-ci viendra s'ajouter aux services déjà actifs que l'on peut trouver à côté de l'horloge du système :

Ce service va pouvoir recevoir des fichiers de transactions à effectuer. Le PC qui fait une demande de transaction ne doit pas forcément être le poste sur lequel le service tourne, c'est-à-dire le poste où le terminal est connecté physiquement. Ainsi, plusieurs postes caisses peuvent travailler avec un terminal de paiement unique. Les transactions envoyées au service terminal seront traitées l'une après l'autre, nous avons donc ici la possibilité d'avoir une file d'attente pour les transactions à effectuer.

Haut de page

Installation du SrvTerminal

Pour faire tourner SrvTerminal, il faut préalablement installer une DLL qui s'appelle bc_int.dll.
Cette DLL a été écrite en C sharp (C#), dès lors, pour que cette DLL tourne, il faut avant tout installer le Microsoft.NET FrameWork. Une fois ce FrameWork installé, il faut copier cette DLL dans le répertoire Windows/System32 (si système en 64 bit, copier dans le répertoire Windows/SysWOW64) et l'enregistrer.

Concrètement, voici les étapes à suivre pour installer SrvTerminal et sa DLL bc_int.dll

Installation du FrameWork Microsoft.NET

Téléchargez le Framework Microsoft .NET 4.0.

Une fois installé, vous devriez avoir un répertoire comme ceci :
C:\windows\Microsoft.NET\FrameWork\v4.x.xxxxx
Le numéro de version du framework v4.x.xxxxx peut varier.

Installation et enregistrement de la DLL

  1. Téléchargez le fichier ZIP qui contient cette DLL.

  2. Dézippez le contenu de ce fichier dans le répertoire c:\windows\system32
    (2 fichiers y seront copiés : Int_BC.dll et Int_BC.tlb)

  3. Pour enregistrer cette DLL dans la base de registre de Windows, 2 solutions sont possibles (manuelle ou automatisée) :

    • Solution manuelle

      En commande dos prompt mode administrateur, se placer dans le directory où se trouve le FrameWork C# (exemple : C:\windows\Microsoft.NET\FrameWork\v4.x.xxxxx)

      Lancer la commande DOS suivante :

      REGASM /codebase /tlb c:\windows\system32\int_bc.dll

      Pour un désenregistrement, la commande qu'il faudrait exécuter serait la même mais avec /u à la fin.

      Résultat :

    • Solution automatisée (via Logistics)

      Cliquez sur le bouton Enregistrement du composant (Attention de bien lancer Logistics en mode administrateur !)

Installation de l'application SrvTerminal

  1. Télécharger la version 1.8 du SrvTerminal.

  2. Sur le disque dur, créez un nouveau répertoire srvterminal : c:\srvterminal.

    Veuillez créer le répertoire srvTerminal au même niveau que le répertoire qui va recevoir les fichiers de transactions (voir plus loin le paramètre POS_TERMINAL_PAY_PATH)
    Exemple, si le répertoire des fichiers des transactions est c:\Banksys alors créez c:\srvTerminal.

  3. Dans ce répertoire, dézippez le contenu du fichier srvterminal.zip que vous venez de télécharger.

  4. Voilà, le service est quasi prêt à l'emploi ! Une chose reste à faire, introduire 2 paramètres dans le fichier srvterminal.ini. Ouvrez ce fichier avec le bloc note de windows :



    1. Veuillez créer le répertoire sur votre disque dur : C:\Banksys

    2. Il vous reste donc à indiquer sur quel port com le terminal est connecté, et où se trouve le répertoire où les fichiers de transactions vont être placés par Logistics (voir le paramètre POS_TERMINAL_PAY_PATH à créer du côté de Logistics pour modifier ce chemin). Indiquez C:\Banksys comme répertoire de transaction, POS_TERMINAL_PAY_PATH aura donc comme valeur C:\Banksys aussi. En Terminal serveur, on aurait donc : \\TSCLIENT\C\Banksys

  5. Si toutes les étapes ont été respectées, le service peut à partir de maintenant démarrer.
    En cas de problème, une fenêtre s'ouvre pendant 5 secondes avec l'explication du problème, et ensuite se referme.



    Les 2 messages d'erreurs possibles sont :
    • Terminal.CTerminal' (DLL) can't be initialised, please register it...
    • Directory error, check if exist : xxxxxxxxxxx

    Impossible d'exécuter SrvTerminal.exe

    Si le fichier SrvTerminal.exe ne se lance pas ou si un message d'erreur indique qu'il manque le fichier msvcr71.dll, alors une Installation de « Logistics WorkStation » doit être réalisée sur le poste où SrvTerminal est lancé.

Haut de page

Paramétrage du terminal de paiement Banksys

Une dernière chose importante, il faut activer au niveau du terminal Banksys l'option qui indique à ce dernier que c'est désormais une application externe connectée qui va envoyer les informations des transactions à réaliser. Voici ci-dessous la procédure à suivre (procédure qui nous a été communiquée par la société Banksys).

Instruction Banksys
  • (Only on a new terminal) Press <STOP> + <OK>
  • Press <MENU>
  • Choose 3. Terminal Setup
  • Choose 0. Technician only
  • Password : 1235789 + <OK>
  • Choose 4. Hardware Settings
  • Choose 2. ECR Protocol Ou Kassa Protocol
  • Choose 'CHANGE' with the keys below the screen
  • Choose 4. NVIC TICKET TERM + <OK>
  • Choose TERM-PRINTER
  • Press <STOP> 4 times.
Instruction Banksys YOMANI
  • (Only on a new terminal) Press <STOP> + <OK>
  • Press <MENU>
  • Choose 3. Terminal Setup
  • Choose 0. Technician only
  • Choose 9.
  • Password : 1235789 + <OK>
  • Choose 4. Hardware Settings
  • Choose 2. ECR Protocol Ou Kassa Protocol
  • Choose VIC (ou NVIC) Protocol + <OK>
  • Press <STOP> several times.

Réinitialisation

Pour revenir à la situation initiale, au lieu de 4 - NVIC TICKET TERM indiquer 0 - PAS DE CAISSE

MENU sur nouveau terminal

Avec un nouveau terminal Banksys (affichage couleurs), après l'avoir configuré en liaison caisse, il faut préalablement faire <STOP> + <OK> rapidement pour accéder au menu.

Paiement manuel

Une fois la liaison installée, un paiement peut encore être transmis totalement manuellement sur le terminal à condition qu'il dispose d'un côté terminal VENDEUR. Pour cela, il faut faire <STOP> + <OK> puis Type et choisir le type de carte de paiement. Un paiement par Bancontact peut donc être réalisé comme cela, ainsi que par carte de crédit pour autant que le terminal dispose d'une imprimante.

Mise à jour du terminal

  • (Only on a new terminal) Press <STOP> + <OK>
  • Press <MENU>
  • Choose 3
  • Choose 0
  • Choose 9
  • Password : 1235789 + <OK>
  • Choose 1
  • Choose 5
  • Choose 3

Haut de page

Paramétrage de Logistics

Rappel, il faut avoir B6 dans le string des modules au niveau de la licence.

Dans le paramétrage général, onglet Options, paramètre Options Point de Vente, paramètre Utilisation de l'interface POS, une nouvelle case à cocher apparaîtra : Gestion d'un terminal de paiement. Il faut la cocher et re-démarrer l'application.

Paramétrage des modes de paiements

Paramétrez la Table Modes de paiement via le menu Fichier > Tables > Tiers > Modes de paiement.

Introduisez la liste des modes de paiements que le magasin accepte au niveau des paiements par carte.

Pour rappel, le mode de paiement cash doit avoir le numéro d'ordre 1. Voir Table Modes de paiement.

Pour les modes de paiements par carte, ils ont un numéro d'ordre supérieur à 1, et il FAUT indiquer un numéro dans l'Identifiant pour le terminal de paiement. Voici la liste à respecter, veuillez introduire les numéros suivants.

Identifiant de paiement inconnu

Si le message ci-dessous s'affiche lorsqu'un paiement est effectué avec le terminal, alors un mode de paiement doit être ajouté dans la table des modes de paiement en remplissant l'Identifiant pour le terminal de paiement avec le numéro indiqué dans ce message d'erreur.

Il est également conseillé de créer un mode de paiement Autre et de lui donner comme identifiant le chiffre 999. De cette manière, si le client passe une carte acceptée par le terminal mais que le mode de paiement correspondant n'existe pas dans la table des modes de paiements, Logistics introduira le montant dans cette case. On pourra ensuite adapter la table des modes de paiement après avoir identifié le mode de paiement qui ne serait pas introduit dans Logistics.

Identifiants de paiement regroupés

Depuis la version 6.0.11 de Logistics, un seul mode de paiement peut être lié à plusieurs identifiants de paiement via le champ mémo Identifiants pour le terminal de paiement.

Par exemple, les identifiants 128 (Bancontact/MisterCash) et 66 (Bancontact/MisterCash EMV (SEPA)) peuvent être regroupés dans un même mode de paiement Bancontact.

Les différents identifiants supplémentaires à regrouper dans un mode de paiement doivent être séparés par une virgule dans ce champ mémo. Un identifiant doit toujours être présent dans le champ numérique Identifiant pour le terminal de paiement.

Paiement

ID


Paiement

ID


Paiement

ID

Bancontact/MisterCash

128
Pass promo 2101
Carwash74
Maestro127
TINA100
E-voucher73
Proton (load)126
EIC99
Loyalty card72
Proton (purchase)125
Exxon98
Pay Fair71

Visa

124


Cora Xenta97
Sodexo e-Pass70

Eurocard Mastercard

123


Pass promo 396
Ticket Restaurant (Edenred)69

American Express

122


Pass promo 495
Reserved68

Dinners Club

121


Pass promo 594
Reserved67

JBC

120


Pass promo 693

Bancontact/MisterCash EMV (SEPA)

66

National Company

119


Pass promo 792
Emergency fallback (TINA EMV)65
International Company118

Pass promo 8

91
KADOZ64
FNAC117
Pass promo 990
AtosWorldline WL63
Smart Shopper116
Pass promo 1089
RES62
M-BANXAFE115
Pass promo 1188
Yourgift61
Visa Electron114
Pass promo 1287
Giftcard60
Cirrus113
Pass promo 1386
ORES59
Visa Cash112
Pass promo 1485
Cartes Bancaires58
Clip111
Pass promo 1584
Basic Card57
Aurora110
Pass promo 1683
CCV Card56


109


Visa VPAY82
Equens WL55

108
EZSwitch81
Chèque54
SIS BPA Application107
Chipknip80
Travelcard53
Eloyse Application I and II106
BANK79
Smart Pay52
Pass CREDIT (PLC)105
GIRO78
UnionPay51
Pass CASH (PLC)104
EPWS77
Multi User50
Pass103
Comfort card (CMFC)76
Closed User49
Pass promo 1102
Prime line (PRLI)75


L'écran de paiement dans Logistics est désormais un peu différent :

Tous les modes de paiement autres que Cash sont grisés. Quand le client paie son achat avec une carte, l'utilisateur va lancer la transaction en appuyant sur Carte bancaire.

Logistics demandera confirmation du montant de la transaction (au cas où le paiement par carte serait partiel).

Fichiers de transaction

Logistics génère alors un fichier de transaction dans le répertoire : c:\Banksys

Répertoire des fichiers de transaction

  • Pour définir ce chemin, il existe un paramètre général à créer dans le dossier via le menu Fichier > Tables > Générales > Paramètres. Le paramètre à créer s'appelle POS_TERMINAL_PAY_PATH et dans le champ mémo, introduisez entre guillemets le chemin complet où Logistics doit enregistrer ce fichier de transaction.
  • Ce chemin peut aussi être défini dans le fichier Logistics.ini de la workstation via le même paramètre POS_TERMINAL_PAY_PATH. Le chemin défini dans le fichier INI est prioritaire sur le paramètre général introduit dans Logistics.
  • En Terminal Server (Module TS), il est possible de définir ce chemin dans le fichier LogisticsRemote.ini via le paramètre TERMINALPAYPATH. Le chemin défini dans ce fichier INI à distance est prioritaire sur le fichier INI local et sur le paramètre général introduit dans Logistics. Ce fichier INI est par défaut situé dans le répertoire \\TSCLIENT\C\WINBOOKS\LOGISTICS\. Ce répertoire peut être changé dans le paramètre général TS_PROGRAM_REMOTE_DIR_PATH via le menu Fichier > Tables > Générales > Paramètres. Tout le processus de lecture de ce fichier INI à distance peut parfois provoquer des ralentissements. Pour éviter ces ralentissements, ce processus de lecture peut ne plus être réalisé en mettant la valeur .F. pour le paramètre général LKUP_REMOTE_DIR_PATH.

Ce fichier sera traité immédiatement par le service srvterminal (pour autant qu'il n'y ait pas d'autres transactions dans la file d'attente).

Une fois la transaction traitée, le fichier sera déplacé soit dans le sous-répertoire Error en cas de problème, soit dans Processed si le paiement est bien passé.

Un fichier de transaction se présente comme ceci :

Le répertoire HistLog contient l'historique de toutes les informations qui ont été affichées dans l'écran de paiement dans la partie verte qui affiche l'état d'avancement de la transaction engagée.

Un fichier est créé par année et par mois.

Dans l'écran de paiement, un bouton Mode Manuel a été ajouté afin de pouvoir à tout moment repasser en mode manuel, c'est-à-dire que l'opérateur devra introduire manuellement le montant payé dans la bonne case ! Ce bouton n'est utile que dans le cas où il y aurait un problème de communication entre Logistics et le SrvTerminal.

Codes d'erreur

CodeErreur
0000Result OK

Result Unknown
5015Transaction status forwarded to external device without interpretation by the terminal(credit card)

Request not taken into account terminal busy
4009Bad protocol state(terminal busy with the previous action)

Result Not Ok
1501Technical Problem
1503Entered amount invalid
1504iep_host_id not valid
1505pur_id_ac_pub error
1506purse in red list
1508purse is locked for credit
1509purse is locked for debit
1512Purse expired
1513ICC state error
1516recovery error
1517purse key identifier error
1518purse balance is too large
1520pur_id_ext_ac_pub error
4000The parameter STATE INFORMATION is set to allways follow see at the bottom of this array to resolved it
4001No purse in reader and time out expired
4002No validation by the customer and time out expired
4004Request aborted by the VMC
4005Insufficient purse balance
4006Bad value in a field
4008Invalid message length
4010Application not supported
4011Time-out on fallback card reading
5001Technical problem
5002Rejection by the host
5003Double operation (consecutive transactions with same amount and same card)
5004Technical problem at host level
5005Unrecoverable problem
5006Stop customer
5008Invalid currency
5009Rejection by the terminal
5010Communication problem (wrong phone nr,...)
5011Rejection of balance request (only C-ZAM/SMASH/PTI)
5012Floor limit exceeded (credit card)
5013Transaction refused by the terminal in EMV mode (credit card)
5014Transaction refused by the card (credit card)
5016The „Maximal Transaction Number per (Calendar) Month‟ is reached
5017The maximal number of uncollected journals in terminal reached
5018Service TINA (already) activated
5019Service TINA (already) deactivated
5020Acquirer does not support service activation
5021Maximum transaction records is reached
5022Maximum number of TINA activation reached
5023Amount higher than authorized amount
5024Problem linked to card
7000-7999Incident codes for Added Application

Erreur 4000

Manage Terminal

You must disable this via the terminal:
• Press STOP - OK - MENU in sequence
• 3.
• 0.
• 9.
• 1235789 + OK
• 4. Hardware settings
• 2. ECR protocol
• NVIC OK
• Ticket OK
• Ticket width OK
• STATE INFORMATION must be "BY ECR", not "ALWAYS"

Haut de page

Erreur 60 OU PDV_STATE dans le log

24/06/2019 09:58:22:831 --> 24/06/2019 09:58:22:831 --> Champ(4 - IEP_TX) -- 00 00 --> - 00
24/06/2019 09:58:22:831 --> 24/06/2019 09:58:22:831 --> Champ(9 - PDV_STATE) -- 00 00 00 00 --> - 00
24/06/2019 09:58:22:831 --> 24/06/2019 09:58:22:831 --> Champ(22 - TYPE DE MESSAGE) -- 60 -->  - 00

Si vous rencontrez ce log, veuillez faire la procédure ci-dessus

Haut de page

ASTUCES

Il est possible de désactiver le Log se trouvant dans le répertoire de banksys en plaçant ce qui suit dans le fichier c:\SrvTerminal\srvTerminal.ini
DISABLE_LOG=YES

Haut de page

Environnement Citrix - réglage spécifique 

Parfois, le terminal confirme que c'est bien payé mais la confirmation vers Logistics n'est pas faite.

En fait, Logistics veut créer ou déplacer un fichier mais l'action n'est pas effectuée ou effectuée trop tard.

Il faut alors éditer ces paramètres dans la base de registre : 

HKLM\System\CurrentControlSet\Services\picadm\Parameters
CacheTimeout = 0
DirCacheTimeout = 0
RemoveableCacheTimeout = 0

Haut de page

"Carte refusée"

Si vous avez ce message, essayez de mettre les informations des cartes à jour dans le terminal

Menu : 
4 - Other cards 
7 - Paramétrage : 
Choisir WORLDLINE BCMC et WORLDLINE EUROPE
STOP
STOP
STOP 
le terminal redémarrera et l'erreur devrait être résolue.

Si ce n'est toujours pas le cas, il faudra alors téléphoner chez Banksys.

Haut de page