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
Protocole utilisé sur les terminaux : CTEP
Terminal de paiement Banksys relié par câble ethernet au LAN
Winbooks Worldline Service (WWService) installé sur un ordinateur (en IP FIXE) sur le même LAN que les terminaux banksys
Logistics 6.2 à jour
Framework .NET en version 4.6.2
Fichier d'installation du WWService (+ Dernier update : ici)
Haut de page
Fonctionnement
La communication entre Logistics et les terminaux Banksys repose sur le Winbooks Worldline Service ( WWService ) qui sert de coordinateur pour l'envoi des demandes de paiement aux terminaux et le retour d'information dans Logistics.
Haut de page
Winbooks Worldline Service (WWService)
le WWService est un service windows permettant aux terminaux Banksys et à Logistics de communiquer.
Ce dernier peut gérer plusieurs terminaux mais il peut aussi être installé sur plusieurs machines pour que chaque ordinateur gère un seul terminal Banksys.
Schéma exemple d'implémentation
- Terminaux et logistics dans un même LAN
- Logistics exécuté sur un serveur TS distant, liaison au WWService via VPN
- Logistics exécuté sur serveur TS distant, liaison au WWService via WAN
Attention dans le cas d'un accès distant via le WAN nous vous conseillons de consulter la rubrique sécurisation des communications. |
Dans le cas d'une connexion via le WAN au WWService, veuillez vérifier que vous disposer d'une adresse IP Wan Fixe. Dans le cas contraire il sera nécessaire de configurer un service de DynDns et de configurer Logistics avec cette adresse. |
Installation
Vous pouvez récupérer le ficher setup du Winbooks Worldline Service via ce lien.
Le terminal Banksys se connecte à une IP, il est donc important que les ordinateurs ayant le WWService soient configuré avec une IP Fixe dans le LAN |
Durant une mise à jours du WWService, veuillez fermer Logistics.
Suivez les écrans d'installation du service.
A la fin de l'installation une fenêtre ( Winbooks Worldline View ) se lancera pour vous permettre la configuration du service
Si après le démarrage du PC, le numéro du terminal Banksys doit être ressaisi, il faut vérifier si le programme a le droit d'écrire dans son répertoire, car le WWservice crée un fichier txt port.list avec les informations de port encodé |
Configuration
L’ensemble de la configuration du service se fait se fait exclusivement via le Winbooks Worldline View ( WWView )
Configuration d'un terminal
Attention cette partie peut être différente suivant votre terminal et votre version en cas de doute veuillez vous référez aux documents de votre terminal ou vous mettre en contact avec worldline (Support : +32 (0)2 727 88 99). |
- Accédez au menu du terminal via la combinaison suivante : Stop, OK, Menu
- Accédez au menu 3 SETUP TERMINAL
- Accédez à la seconde page de paramétrage via 0 ou en sélectionnant l'option 10 SUIVANT
- Accédez au menu 9 SEUL TECHNICIEN
- Indiquez le mot de passe ( 123 5 789 par défaut )
- Accédez au menu 4 HARDWARE SETTING
- Accédez au menu 2 ECR PROTOCOL
- Sélectionnez le protocole CTEP et revenez au menu précédant => OK
- Accédez au menu 9 ECR PHYSICAL CONF
- Sélectionnez TCP/IP => OK
- Sélectionnez Client => OK
- Tapez l'ip de la machine ou est hébergé le WWService ( voir exemple après les instructions, a noté qu'il est important que la machine hébergeant le WWService soit en IP Fixe )
- Indiquez le port d'écoute du terminal ( 9000 par défaut, si plusieurs terminaux se connectent au même WWService, tous avoir un port différent ! ) => OK
- Sortez des menus via 3 x Stop
- Le terminal redémarre avec votre configuration
Exemple d'encodage pour l'ip 192.168.10.5 ( Vous pouvez utiliser le bouton Corr pour effacer des valeurs )
- 192 => OK
- 168 => OK
- 10 => OK
- 5 => OK
- => OK
Terminal YUMi ?
Voici la procédure à suivre :
S’assurer que le client dispose bien du mot de passe afin de rentrer dans la configuration via l'utilisateur "Merchant"
Pour rentrer dans la configuration :
Allez dans « GESTIONNAIRE TERMINAL »
Chercher le sous menu Caisse
Choisir « SELECTED MODE » et choisir le protocole « CTEP » « DEFINIR » « DEMARRER PARAMETRAGE »
Choisir « ERC PHYSICAL CONF » et choisir le protocole « ETHERNET »
Indiquer l’adresse IP du PC « Caisse » (Il doit être en IP FIXE par exemple 10.0.0.32)
Indiquer le NUMERO DE PORT (9000)
« DEFINIR » « DEMARRER PARAMETRAGE »
Configuration du firewall du pc hébergeant le WWService
Le port 6127 et les ports des terminaux doivent être ouvert et autorisé en protocole TCP sur le firewall sur les ordinateurs hébergeant le WWService en entrée et sortie.
Ajouter un terminal au WWService
Après avoir configuré votre terminal Banksys en ayant spécifié l'IP de l'ordinateur ainsi que le port dont le terminal attaquera, vous pouvez cliquer sur le bouton Add du WWView
Dans l'écran Add Terminal, spécifiez le port que vous avez indiqué dans le terminal et si vous le souhaitez vous pouvez indiquer une description.
Une fois l'écran validé le début de l'écoute du port commence et une ligne est ajouté au grid ou la colonne terminal vient avec le terme "Listen".
Une fois le terminal connecté, la ligne passe en vert l'id du terminal remplace le "Listen".
Du coté du terminal Banksys le libellée "LIRE CARTE" remplace le libellée "PAS DE CONNEXION CAISSE"
Si votre la ligne reste sur "Listen" vérifier bien que le port encodé est bien celui configuré dans le terminal et que ce port soit bien ouvert dans le firewall de l'ordinateur. En règle générale le terminal se connecte dans les 30 secondes |
Observateur d’événements
Vous pouvez suivre l'ensembles des opérations effectuée par le WWservice dans le journaux d'observation de windows
Vous pouvez également avoir un résumé des transactions via le WWView via l'onglet Transaction
Sécurisation des communications.
La communication entre le WWservice et les clients WWView et les logistics se base sur la technologie Windows Communication Foundation.
Pour facilité l'installation et la mise en place, la communication entre Logistics et le WWService n'est pas sécurisée de base.
En temps normal il n'est pas nécessaire de modifier la securisation car le WWService n'est pas exposé en dehors du LAN, cependant si vous exposez le WWService directement via le WAN il est recommandé de procéder à une sécurisation des communications en modifiant les bindings du service et des clients.
Vous pouvez vous baser sur la documentation de Microsoft pour la personnalisation des bindings.
Nous vous proposons deux exemples de sécurisation ci-après, la première utilisant la configuration par défaut du composant WsHttpBinding et une seconde basée sur les users windows.
les fichiers de bindings doivent être copiés dans le même emplacement que leurs exécutables |
Exemple de bindings suivant la configuration par défaut du wsHttpBinding
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
</startup>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WWServiceBinding"/>
</wsHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="WWServiceBehavior" name="WWService.WWWCF">
<endpoint address="" binding="wsHttpBinding" contract="WWService.IWWWCF"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="WWServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
|
|
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IWWWCF" />
</wsHttpBinding>
</bindings>
<client>
<endpoint address="http://wb-lt-170523-00:6127/" binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_IWWWCF" contract="WWService.IWWWCF"
name="WSHttpBinding_IWWWCF">
<identity>
<servicePrincipalName value="host/WB-LT-170523-00.winbooks.be" />
</identity>
</endpoint>
</client>
</system.serviceModel>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/></startup></configuration> |
|
Exemple de bindings demandant la sécurisation de la connexion par les utilisateurs windows
Si vous utilisez la configuration suivante : - Si vous êtes dans un domaine : la machine hébergeant le WWService et les clients doivent enregistrées dans ce dernier.
- Si vous n'utilisez pas de domaine : la machine hébergeant le WWService doit disposer en local des compte d'utilisateurs Windows (et des mêmes mots de passe) que les ordinateurs voulant se connecter au WWService.
|
Vous pouvez télécharger les fichiers de configuration ici |
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
</startup>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WWServiceBinding">
<security mode = "Message">
<message clientCredentialType="Windows" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="WWServiceBehavior" name="WWService.WWWCF">
<endpoint address="" binding="wsHttpBinding" contract="WWService.IWWWCF"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="WWServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration> |
|
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IWWWCF" >
<security mode = "Message">
<message clientCredentialType="Windows" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint address="http://wb-lt-170523-00:6127/" binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_IWWWCF" contract="WWService.IWWWCF"
name="WSHttpBinding_IWWWCF">
<identity>
<servicePrincipalName value="host/WB-LT-170523-00.winbooks.be" />
</identity>
</endpoint>
</client>
</system.serviceModel>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/></startup></configuration> |
|
Paramètres du WWService dans le gestionnaire de service de Windows ( optionnel )
Vous pouvez personnalisez plusieurs comportements du service via le gestionnaire de service de windows.
Vous pouvez accéder à ce gestionnaire en utilisant la commande services.msc via le menu exécuter de Windows
Vous pouvez recherche le service Winbooks Worldline Service dans la liste des services et faire un clic droit / propriété
Dans l'écran de paramétrage vous disposerez d'un certain nombre d'option pour personnaliser le fonctionnement du service comme :
- Le type de démarrage du service
- Définir un compte utilisateur spécifique pour le service
- Le comportement suite à une défaillance du service
- ect
|
Nous vous conseillons, afin de garantir que le WWService reste disponible même en cas de défaillance qui nécessite un arrêt, de définir les options de récupération sur "Redémarrer le service". Vous pouvez consulter les erreurs ayant entraîné un arrêt via l'eventlog de Windows. |
Haut de page
Logistics
Paramétrage de Logistics
Rappel, il faut avoir B6 dans le string des modules au niveau de la licence. |
Si vous exécutez une version inférieure à la 6.2.6 et que vous n'avez pas la possibilité de mettre à jour la version. Si la dernière version du WWService est installée, vous devez ajouter le paramètre suivant dans la table des paramètres du programme (disponible via le menu Fichier / Tables / Générales / Paramètres ) :
Code : "WWCLIENT" Valeur : "1.0.6.0" |
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 en TCP/IP.
Il est possible d'utiliser un terminal connecté en port série et des terminaux connecté TCP/IP vous devez dans ce cas cocher "Gestion d'un terminal de paiement" en plus de la "Gestion d'un terminal de paiement en TCP/IP" la suite de la configuration devra s'effectuer dans les journaux du dossier A noté qu'il n'est pas possible d'utiliser un terminal connecté en série et un terminal connecté en TCP/IP dans un même journal |
Dans le paramétrage de l'option vous pouvez spécifier l'adresse d'un WWService qui sera utilisé par défaut dans l'application.
Vous pouvez aussi également spécifier une expression à évaluer pour personnaliser la référence imprimée par l'imprimante banksys
Pour vérifier que le WWService spécifié est fonctionnel vous pouvez utiliser le bouton Test de connexion.
Si vous utilisez le bouton "Test de connexion", un log de l'initialisation de la connexion nommé "WWClientDebug.txt" sera créé au niveau du répertoire WWClient dans le répertoire d'installation de votre workstation |
Paramétrage des journaux
Vous trouverez dans l'onglet "Option Terminal Banksys TCP/IP" l'ensemble des options spécifiques à la gestion du terminal TCP/IP par journal
Option | Description |
---|
Configuration commune aux workstations | Si cette option est active, les workstations utilisent la même configuration pour le banksys pour le journal sélectionné. |
Ce Journal utilise un terminal TCPIP | Cette option n’apparaît que si vous utilisez les deux type de terminal. Vous devez sélectionner cette option dans le cas ou ce journal utilise un terminal de paiement TCP/IP |
Adresse du service | Adresse du WWService pour ce journal, si vide c'est l'adresse encodée dans le paramétrage qui sera utilisée |
ID du terminal | N° du terminal, utilisez le bouton ... pour obtenir la liste des terminaux connecté et fonctionnel sur le WWservice renseigné.
Si un seul terminal est disponible, son numéro est directement indiqué dans le champ |
Expression pour l'imprimante ticket du terminal | l'expression sera évaluée avant le paiement et envoyée au terminal pour personnalisé le champ REF du ticket imprimé |
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.
Attention les codes de paiement ne sont pas les mêmes entre le protocole utilisé en port série et TCP/IP. Vous devez utiliser les identifiants de paiement regroupé pour utiliser le même mode de paiement |
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 1001 (Bancontact/MisterCash) et 1013 (BC/MC EMV (Bancontact)) 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. |
|
|
Code de paiement
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. |
|
|
Nous vous conseillons de configurer au minimum les modes de paiement surligné en bleu dans le tableau ID | Brand |
---|
0001 | TOTAL Be National | 0002 | TOTAL Eutotrafic | 0003 | TOTAL ETAS24 | 0004 | DKV Selection | 0005 | UTA | 0006 | Esso Mark II | 0007 | euroShell | 0008 | Prepaid Shell GiftCard | 0009 | Shell Happy Days | 0010 | Service Card | 0011 | Eurotrafic (Benelux) | 0012 | Total Prepaid | 0013 | Tokheim card | 0014 | Total Lux trafic | 0015 | Total GR | 0016 | CCV IFSF | 1001 | Bancontact/MCA | 1002 | Visa Electron | 1003 | V Pay 1009 Maestro | 1010 | GIRO | 1011 | (NL) BANK | 1011 | (BE) CE-NAT | 1012 | (NL) EPWS | 1012 | (BE) CE-INT | 1013 | BC/MC EMV (Bancontact) | 1020 | Cartes Bancaires | 1030 | Payconiq | 1040 | GoodPay | 2002 | Visa | 2003 | MasterCard | 2004 | American Express | 2005 | Diners | 2007 | JCB | 2008 | UnionPay | 2009 | PAYFAIR/Monizze | 2012 | CMFC | 2013 | PRLI | 2014 | Basic Card | 3001 | Aurora | 3001 | Buy Way | 3002 | PASS | 3003 (BE) | Sodexo e-Pass | 3003(NL) | Yourgift H&G | 3004 | Edenred | 3013 | CCV Card | 3014 | Travelcard | 3015 | Intratuin | 3016 | Giftfor2 | 3020 | Company Cards | 3021 | AtosWorldline WL | 3100 | Equens WL | 3200 | Yourgift | 3300 | Giftcard | 3401 | RES | 4010 | Proton | 5601 | TOTAL CLUB |
|
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).
Codes d'erreur
Code | Meaning | 0000 | Positive message | 0001 | Partial approval | 1802 | Unexpected message | 1803 | Timeout expiration | 1811 | Technical problem | 1822 | Connection failure | 1823 | Reserved | 2000 | Unknown acquirer identifier | 2100 | Unsupported balance action code | 2625 | Corrupted message | 2628 | External Equipment Cancellation | 2629 | User cancellation | 2630 | Device cancellation | 2631 | Host cancellation | 2632 | Host error | 2633 | Operation already performed | 2634 | Operation busy | 2635 | Operation not performed | 2800 | Doesn’t exist | 2802 | Not allowed | 2806 | Bad signature | 2807 | Conditional field missing | 2808 | Not found | 2809 | Dependency not found | 2810 | Bad value | 2811 | Bad sequence | 2812 | Device attachment | 2813 | Unexpected field | 3100 | Chip card expected | 3101 | Card not well read |
3102 | Condition of use not satisfied | 4000 | Purse technical problem | 4001 | Purse host identifier invalid | 4002 | Purse SDA certificate error | 4003 | Purse extended SDA certificate error | 4004 | Purse in red list | 4005 | Purse is locked for credit | 4006 | Purse is locked for debit | 4007 | Purse expired | 4008 | Purse state error | 4009 | Purse recovery error | 4010 | Purse key identifier error | 4011 | Purse balance too large | 4012 | Insufficient purse balance | 4100 | No purse in reader and time out expired | 4101 | Time-out on fallback card reading | 4102 | Problem linked to card | 4103 | Card information not available | 4200 | Entered amount invalid | 4201 | Double operation | 4202 | Invalid currency | 4203 | Amount higher than authorized amount | 4204 | Floor limit exceeded in EMV mode | 4205 | Transaction refused by the terminal in EMV mode | 4206 | Transaction refused by the card in EMV mode | 4207 | Product not available | 4208 | Cashback not supported by terminal | 4209 | Cashback not allowed for the selected brand | 4210 | Maximum cashback amount exceeded | 4211 | Cashback service declined by card (NFC) | 4300 | Service (already) activated | 4301 | Service (already) deactivated | 4302 | Maximal transaction number per (calendar) month reached | 4303 | Maximal uncollected journals number reached | 4304 | Service activation not supported | 4305 | Maximum transaction records reached | 4306 | Maximum service activation number reached | 4400 | Product delivery failed | 4401 | Partial product delivery | 6003 | Paper jam |
6004 | Remove previous ticket | 6005 | No paper | 6006 | Low paper | 6008 | Printer specific | 2000 | Unknown acquirer identifier | 2100 | Action code not supported | 7806 | Product not allowed | 7808 | Bad pump number | 7816 | Incorrect pump session number | 7817 | Transaction amount null | 7818 | Transaction amount null and quantity null | 7819 | Pump unhooked time-out expiration | 8000… 8999 | Reserved for added applications | 9002 | No key fault | 9003 | Cryptographic fault | 9004 | No PIN fault | 9005 | Bad MAC | 9006 | Bad MDC | Others | Reserved |
|
Mise à jour du service
En cas de mise à jour du service il est conseillé de le fermer manuellement avant de lancer le setup.
Problème pouvant survenir
Haut de page