Les transactions bancaires
Les terminaux de paiement électronique
Caractéristiques Hardware
Le Terminal de paiement électronique est un système accepteur très répandu. Il en existe en plusieurs déclinaisons. Les modèles présents sur le terrain sont globalement assez limités en ce qui concerne la puissance de calcul et seuls les grosses enseignes possèdent des modèles très performants.
Certains sont intégrés aux systèmes par exemple, chez certains magasins, vous pouvez faire développer des photographies.
Le pinpad, le boitier sur lequel le client saisie son code pin, peut être externalisé. Dans ce cas, la liaison entre les deux boitiers est sécurisé.
Le TPE peut utiliser plusieurs modes de communications réseau lors des échanges avec les serveurs acquéreurs et émetteurs. Ils supportent à l'heure actuelle les types de communications suivants : GPRS, GSM, WiFi, IP, RTC, …
Caractéristiques Software
Le TPE est composé au niveau software d’un mini OS qui est en fait plusieurs bibliothèques C disposées en plusieurs couches. Une partie s’occupera de la gestion des communications, l’autre des interactions de l’utilisateur, une autre encore est spécialisée dans la gestion du lecteur de carte. C’est un environnement très restreint.
Les TPE sont développés en majorité en C. Une fois, un constructeur a essayé de développer un TPE en Java. Cependant, avoir une JVM sur le TPE suscite plus de ressources matérielles et un coup supplémentaire pour les commerçants qui refusent de payer davantage. Ainsi, le projet n’a pas abouti.
Développement applicatif
Le développement en lui-même suppose de nombreuses contraintes et de la rigueure. La machine ne possède pas énormément de ressource et tous les types primitifs ont été redéfinis afin d’optimiser la mémoire utilisée. Aucun malloc n’est permis. Les fichiers sont uniquement de type binaire et il n’existe pas de moyen d’installer un débugger. Il n’y a qu’un simple logger externe. Dans la réalisation de projet monétique, les entreprises qui réalisent les développements applicatives ne peuvent pas mettre en place des environnements de débug comme dans l'aviation. Les projets ne possèdent pas un budget suffisant pour permettre un tel effort financier.
Le développement de nouvelles fonctionnalités est possible via une liaison série. On a un TPE relié en port série au pc du développeur. On compile et on déploie directement le code sur la machine. Ensuite, il faut tester si ce qu’on a programmé fonctionne. Il est fréquent de faire planter un TPE lors de son développement.
Lors des tests, les entreprises possèdent de serveurs en local généralement qui simulent le comportement d'un serveur acquéreur et émetteur. De plus, des cartes de tests sont fournies pour tester les différents types de cartes : EMV, B0'...