Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section


Column

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.

Info

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.



Column
width400px


Panel

Sur cette page:

Table of Contents



Prérequis

(tick) Protocole utilisé : VIC 1.07

...

  • 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

Liaison vers le terminal de paiement BanksysHaut 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 :

...

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.

Liaison vers le terminal de paiement BanksysHaut 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 :

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


      Info

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

      Résultat :
      Image RemovedImage Added

    • 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. Si la version installée de Logistics est supérieure ou égale à 4.0.6, télécharger Télécharger la version 1.8 du SrvTerminal.
    Si la version installée de Logistics est inférieur à 4.0.6, télécharger la version 1.6 du SrvTerminal.

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

    Warning

    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
    Warning
    titleImpossible 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é.


Liaison vers le terminal de paiement BanksysHaut 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).

...

Expand
titleVoir les instructions pour une mise à jour du terminal


Info
titleMise à 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


Liaison vers le terminal de paiement BanksysHaut de page

Paramétrage de Logistics

Info

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.

...

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

...

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

Expand
titleCliquez ici pour afficher la liste des codes d'erreur renvoyés par le terminal Banksys...


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
Result Not Ok1501Technical 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 this link 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 length4009Bad protocol state(terminal busy with the previous action)
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 )5015Transaction status forwarded to external device without interpretation by the terminal (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

Panel
titleManage 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

Code Block
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 pageLiaison vers le terminal de paiement Banksys