ID TECH
Contact
Tous les articles techniques

Article technique

Premiers pas avec le Universal SDK d'ID TECH

L'un des avantages à choisir un lecteur de carte de crédit fabriqué par ID TECH est que l'intégration de l'appareil dans un environnement de point de vente ou d'application de paiement peut s'effectuer rapidement et sans difficulté grâce à un kit de développement logiciel unique, que nous appelons le Universal SDK.

Il est qualifié d'« universel » en ce sens qu'il expose une API commune à l'ensemble des ID TECH produits pris en charge et fonctionne de la même manière quel que soit l'environnement.

Cela dit, il est important de noter que le Universal SDK d'ID TECH se décline en plusieurs variantes, selon le type de système d'exploitation dans lequel vous souhaitez déployer l'appareil et le langage de programmation que vous souhaitez utiliser. Un Universal SDK basé sur C# (.NET 4.61, .NET Standard 2.0/2.1, .NET Core 3.1) est disponible pour prendre en charge la plupart des ID TECH Products sous Windows. Toutefois, si vous avez besoin de prendre en charge, par exemple, l'un de nos lecteurs Bluetooth VP3300 avec un téléphone Samsung, il existe une version Android du Universal SDK basée sur Java pour cela. Si vous avez besoin d'une intégration sous Linux, nous disposons d'un Universal SDK en C++ (avec une version Java optionnelle également). Certains de nos lecteurs mobiles fonctionnent avec des iPad ou des iPhone ; il existe donc bien entendu un Universal SDK iOS (qui vous permet de programmer en Swift ou en Objective-C). Et oui, nous prenons également en charge le Raspberry Pi (en C et en Java).

Contrairement à certains de nos concurrents, ID TECH ne facture pas ses SDK et n'exige pas que vous rejoigniez un « programme développeur ». En réalité, vous pouvez accéder à la plupart des outils de développement (et à la documentation) sans même vous inscrire. Il vous suffit de vous rendre sur notre Base de connaissances, de sélectionner une famille de produits et de naviguer vers la page produit correspondante pour trouver les liens SDK. (À titre d'exemple, consultez la VP3300 Product Page. Faites défiler jusqu'à « SDK ».). De plus, notre SDK .NET est distribué via NuGet pour faciliter l'intégration avec Visual Studio. Le projet page pour notre .NET SDK contient de la documentation, des exemples et d'autres informations utiles concernant l' implémentation de .NET dans vos projets.

Ce qui est disponible sur notre Visual Studio .NET Page du projet?

  • Un lien vers NuGet.org qui héberge les ID TECH .NET bibliothèques
  • Exemples multiplateformes d'utilisation du SDK sur Windows, Mac ou Linux avec .NET Core 3.1
  • Documentation de l'API SDK, disponible en formats HTML et PDF
  • Exemple de code source utilisant Xamarin pour le développement mobile iOS et Android
  • Code source de notre logiciel uDemo qui pilote tous les ID TECH appareils via USB, Serial et IP
  • Programme d'installation compilé de notre logiciel uDemo logiciel
  • Journal des modifications
  • Divers utilitaires basés sur .NET pour piloter/configurer ID TECH appareils

Ce qui est dans le SDK téléchargez votre package depuis la Base de connaissances (versions non .NET )? Lorsque vous décompressez l'archive Zip, vous trouverez quatre dossiers :

  • Demo Ce dossier contient des exécutables déjà compilés correspondant aux exemples de projets fournis dans le dossier SourceCode . Vous y trouverez deux exécutables : l'un (appelé Simple Demo) représentant l'application de démonstration « tutoriel » de base décrite dans la documentation, et un une deuxième application plus élaborée qui (du moins dans le cas du SDK Windows) présente une apparence similaire à celle de UDemo utilitaire présenté dans un article précédent.
  • Docs La documentation du SDK se présente sous deux formes : HTML et PDF. Chacune comprend une description détaillée des API, des exemples d'utilisation, des informations contextuelles, un tutoriel pas à pas, et bien plus encore.
  • SDK Vous y trouverez les bibliothèques compilées et autres ressources nécessaires au fonctionnement d'une application sur la plateforme concernée. Pour les machines Windows, attendez-vous à trouver des DLL. Pour MacOS,vous trouverez des fichiers . attendez-vous à des fichiers .DYLIB fichiers ; pour Android, un fichier JAR.
  • SourceCode Ce dossier contient les fichiers d'en-tête, les fichiers de projet et le code source de l'application Simple Demo (tutoriel), ainsi que le code source d'un exemple d'application plus élaboré présentant des fonctionnalités avancées. Là encore, le contenu varie selon le système d'exploitation utilisé. Le code source pour Linux est en C et Java. Pour Windows, selon le SDK exact téléchargé, vous trouverez du code C# ou C++. Pour Android, il s'agit de Java. Pour iOS, vous avez le choix entre Objective-C ou Swift.

Les bibliothèques SDK gèrent la connectivité des appareils sur une base plateforme par plateforme (et produit par produit), ce qui vous évite de vous soucier des détails de bas niveau liés à la connexion au lecteur de carte via RS-232, USB, Bluetooth ou prise audio (dans le cas des appareils mobiles). Les bibliothèques prennent en charge les problèmes de protocole de communication propres à chaque produit et vous dispensent de traiter directement les commandes au niveau du firmware. Ainsi, par exemple, si vous souhaitiez interroger votre VP3300 pour connaître sa version de firmware, normalement, sans le SDK, vous devriez envoyer un flux d'octets bruts correspondant à la séquence hexadécimale 5669564f74656368320029000000dea0, via le port série, puis attendre une réponse du type :

Vous devriez ensuite savoir comment vérifier le CRC en fin de réponse, extraire la charge utile des données des octets de trame, convertir la charge utile en chaîne ASCII, etc. Avec l'Universal SDK, il vous suffit d'appeler la méthode API device_getFirmwareVersion(), puis d'inspecter la chaîne renvoyée. Le SDK prend en charge tous les détails complexes liés au marshaling et au démarshaling des données, au calcul des CRC, à l'écriture et à la lecture des tampons du port série, etc.

L'Universal SDK simplifie considérablement la réalisation des transactions (qu'il s'agisse de MagStripe, EMV à contact ou sans contact), grâce à des méthodes pratiques pour analyser les données TLV (et/ou les données MSR), interpréter les codes de statut et personnaliser les comportements de l'appareil. L'Universal SDK vous permet de coder à un niveau d'abstraction suffisamment élevé pour ne pas vous enliser dans les protocoles de données, les routines d'analyse, les tables de codes d'erreur et autres détails de bas niveau.

L'Universal SDK présente-t-il des lacunes ne fait pas ? Eh bien, il ne fait pasnon plus contenir la logique métier : non pluscette partievous incombe. Iln'est pas non plus compatible avec les passerelles ou les processeurs ; les principaux processeurs de paiement disposent tous de leurs propres SDK pour accéder à l'hôte d'autorisation en ligne. Cela signifie que vousdevrez utiliser le SDK recommandé par votre passerelle afin de vous connecter en ligne pour l'autorisation (ou le règlement, etc.) au moment approprié.

Est-il possible de créer une application de paiement (incluant l'intégration avec un lecteur de carte ID TECH) sans utilisant le Universal SDK ? C'est effectivement possible. Et certains clients d'ID TECH(qui ont souvent besoin de s'intégrer avec du matériel provenant de divers fournisseurs, mais ne souhaitent pas utiliser six SDK différents pour y parvenir) choisissent cette voie.

Gardez toutefois à l'esprit que cela implique de :

  1. Créer votre propre code de connectivité (en substance, votre propre pilote spécifique) pour communiquer avec l'appareil via USB, COM, Bluetooth ou tout autre protocole applicable.
  2. Maîtriser les commandes firmware nécessaires au pilotage de l'appareil (ID TECH met ces informations à disposition dans sa documentation relative aux différents produits)..
  3. Gérer l'encapsulation et le désencapsulage des données et des commandes, conformément aux exigences protocolaires de l'appareil (NGA, ITP, NEO 2, ou tout autre protocole applicable).
  4. Prendre en charge l'analyse des données par vos propres moyens.
  5. Interpréter vous-même les codes d'état et les codes d'erreur.
  6. Réaliser tout cela d'une manière adaptée aux exigences matérielles et système spécifiques de la plateforme ciblée.

Existe-t-il avantage à opter pour une approche sans SDK ? Un seul : étant donné que voustravaillez avec des octets bruts, la communication directe avec le périphérique est fondamentalement indépendante du langage de programmation. Le langage utilisé importe peu, du moment que vous pouvez communiquer nativement avec le port série (ou le port USB, etc.). Ainsi , si vous avez l'habitude de programmer en Pascal, en Go, en Kotlin (ou dans un langage qui n'est pas encore pris en charge par l'Universal SDK), vous pouvez tout de même accomplir la tâche, bien que ce soit moins aisé.

Quelle est la meilleure façon de démarrer avec l'Universal SDK ? C'est simple : téléchargez-le et consultez la documentation ! Rendez-vous sur le lien vers la base de connaissances ou la .NET page du projet ci-dessus et vous pouvez commencer à coder dès cet après-midi. En attendant, si vous débutez avec EMV, nous vous suggérons de consulter notre livre blanc sur les transactions EMV avec l'UniversalSDK, qui propose un récapitulatif d'EMV (transactions par carte à puce) ainsi qu'une introduction au USDK lui-même.

Applications résidentes sur l'appareil

Qu'en est-il de l'hébergement d'une application de paiement sur l'appareil lui-même ? Est-ce possible ? En fait, pour certains des appareils plus récents d'ID TECH(par exemple, les lecteurs à insertion VP5300 et le VP6800, entre autres), il est effectivement possible d'héberger votre application directement sur l'appareil. Vous devrez maîtriser le développement d'applications embarquées pour les systèmes d'exploitation temps réel (et/ou Linux), en ANSI C, mais oui, c'est possible — et il existe un ensemble de bibliothèques utilitaires résidentes sur l'appareil, connues sous le nom d'ADF (pour Application Development Framework), dédiées spécifiquement à permettre à votre application de s'exécuter sur l'appareil.

Vous avez des questions sur le SDK universel (ou l'ADF) ? Parlez à l'un de nos experts internes. Contactez-nous à 1-800-984-1010. Nous serions ravis d'avoir de vos nouvelles !