Intégration DLL Windows / .SO Linux
Comment connecter simplement une caisse à un terminal de paiement, quel que soit l’environnement Windows ou Linux ?
Définition d’une DLL (Dynamic Link Library)
Une DLL est une bibliothèque de fonctions compilées utilisée par un logiciel pour exécuter des tâches spécifiques sans devoir intégrer tout le code en interne.
En termes simples, une DLL est un fichier .dll qui sert de pont entre une application (par exemple une caisse enregistreuse) et un matériel ou un service (comme un terminal de paiement).
Définition d’un fichier .SO Linux (Shared Object)
Sous Linux, l’équivalent technique d’une DLL est un fichier .so (Shared Object).
Il remplit exactement les mêmes fonctions :
-
bibliothèque partagée,
-
chargée dynamiquement par l’application,
-
exposant des fonctions accessibles immédiatement.
DLL (Windows) et .so (Linux) sont donc deux formats différents pour un même concept : une librairie chargée à la demande, permettant de piloter un terminal et d’échanger avec un serveur d’acceptation.
Architecture logicielle de la solution Retail Nepting
La solution Retail de Nepting existe sous deux architectures en fonction des besoins du client.
Dans le cadre de la solution intégrée, la documentation et la librairie Retail sont fournies avec trois composants principaux :
1. La librairie Retail (DLL Windows ou .so Linux)
C’est le cœur de l’intégration :
-
Elle permet d’envoyer des ordres au terminal de paiement (PED).
-
Elle prend en charge les transactions : débit, crédit, annulation.
-
Elle gère les échanges entre la caisse, le terminal et le serveur Nepting (NepSA).
-
Elle garantit la mise à jour du terminal et le comportement transactionnel
2. Le terminal de paiement (PED)
Il exécute les opérations de paiement, affiche les instructions à l’utilisateur et communique avec le serveur d’acceptation.
3. Le serveur d’acceptation NepSA
Il traite les transactions, valide les opérations, gère les autorisations et retourne les résultats.

Principe général de fonctionnement
La librairie Retail met à disposition un ensemble de fonctions permettant de construire, envoyer, réceptionner et libérer les messages échangés pendant une transaction.
1. Initialisation et clôture
Deux fonctions spécifiques permettent :
-
d’ouvrir la connexion à la librairie et au terminal,
-
de fermer proprement cette communication en fin de transaction.
Les 4 types de messages principaux :
Dans l’utilisation standard des services Nepting, quatre messages structurent les échanges :
-
Login : ouverture de session et initialisation
-
Transaction : débit, crédit, annulation
-
Abandon : interruption d’une opération en cours
-
Logoff : fermeture de session
Toutes les requêtes partent toujours de la caisse.
Dialogue entre la caisse et la librairie : un fonctionnement asynchrone
Après l’envoi d’une requête, la librairie Retail peut générer plusieurs interactions intermédiaires :
-
textes à afficher,
-
questions à poser,
-
menus à afficher,
-
saisies d’information (ex. code opérateur, confirmation, validation).
Ces interactions sont retournées de façon asynchrone à la caisse, qui doit rester en écoute permanente jusqu’à réception du message final, contenant le résultat complet de la transaction.
Construction et envoi des requêtes
Pour construire et envoyer une requête, la caisse utilise les fonctions suivantes :
-
Créer un message
CreateNepMessage -
Définir les champs (montant, devise, type de transaction, etc.)
SetNepField -
Envoyer le message
SendNepMessage -
Libérer la structure mémoire
FreeNepMessage
Réception des interactions et des réponses
Pour recevoir les interactions (écrans, questions…) et la réponse finale, l’application de caisse utilise :
-
CreateNepMessage– création d’un conteneur de message -
ReceiveNepMessage– réception d’un message depuis la librairie -
GetNepField– extraction d’un champ simple -
GetRepeatableNepField– extraction d’un champ répétable (ex. lignes du ticket) -
FreeNepMessage– libération finale
Ce mécanisme garantit un dialogue fiable, structuré et optimisé entre la caisse, la librairie et le terminal de paiement.
L’intégration Retail de Nepting via une DLL Windows ou un fichier .so Linux fournit une interface unifiée, moderne et performante pour piloter les terminaux de paiement.
Grâce à son architecture claire et à son modèle de messages, elle simplifie le travail des éditeurs de logiciels de caisse, réduit les coûts d’intégration et assure une communication fluide entre la caisse, le terminal et le serveur d’acceptation NepSA.