ID TECH
Contact
Tous les articles techniques

Article technique

Premiers pas avec le SDK universel d'ID TECH

L'un des grands avantages de 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 se faire rapidement et sans difficulté grâce à un kit de développement logiciel unique, que nous appelons le Universal SDK.

Il est « 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 versions, 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 devez intégrer Linux, nous disposons d'un Universal SDK en C++ pour cela (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 pour 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 obtenir la plupart des outils de développement (ainsi que la documentation) sans même avoir à vous inscrire pour y accéder. Il vous suffit de vous rendre sur notre Base de connaissances, sélectionnez une famille de produits et accédez à la page produit correspondante pour trouver les liens SDK. (Par exemple, consultez la VP3300 page produit. Faites défiler jusqu'à « SDKs ».). 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 Page de projet 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 sous Windows, Mac ou Linux avec .NET Core 3.1
  • Documentation de l'API SDK, disponible en format HTML et PDF et PDF
  • Exemple de code source utilisant Xamarin pour le développement mobile iOS et Android
  • Code source de notre logiciel uDemo qui pilote l'ensemble des ID TECH appareils via USB, Série et IP
  • Programme d'installation compilé de notre logiciel uDemo logiciel
  • Journal des modifications
  • Divers utilitaires basés sur .NET pour piloter et configurer les 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 didactique de base décrite dans la documentation, et un second, plus élaboré, dont l'apparence et la convivialité (du moins dans le cas du SDK Windows) sont similaires à celles de l' 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 générales, un tutoriel pas à pas, et bien plus encore.
  • SDK Vous y trouverezles bibliothèques compilées et les autres ressources nécessaires au fonctionnement d'une application sur la plateforme concernée. Pour les machines Windows, vous trouverez des DLL. Pour MacOS, attendez-vous à trouver des fichiers .DYLIB ; pour Android, un fichier JAR.
  • SourceCode Ce dossier contient des fichiers d'en-tête, des 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é illustrant des fonctionnalités avancées. Là encore, le contenu disponible dépend du système d'exploitation utilisé. Le code source pour Linux est en C et Java. Pour Windows, selon le SDK téléchargé, vous trouverez du code en C# ou C++. Pour Android, il s'agit de Java. Pour iOS, vous avez le choix entre Objective-C et Swift.

Les bibliothèques du SDK gèrent la connectivité des appareils selon la plateforme (et le produit) utilisé, vous dispensant ainsi de vous préoccuper des détails de bas niveau liés à la connexion du lecteur de carte via RS-232, USB, Bluetooth ou prise audio (dans le cas des appareils mobiles). Ces bibliothèques prennent en charge les problématiques de protocole de communication propres à chaque produit et vous évitent d'avoir à traiter directement avec les commandes au niveau du firmware. Ainsi, par exemple, si vous souhaitez interroger votre VP3300 pour obtenir sa version de firmware, sans sans le SDK, vous devriez envoyer un flux d'octets bruts correspondant à la séquence hexadécimale 5669564f74656368320029000000dea0, via le port série, et 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 tramage, 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'examiner la chaîne retournée. Le SDK se charge de tous les détails fastidieux liés à la sérialisation et désérialisation 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 l'exécution des transactions (qu'il s'agisse de MagStripe, de contact EMV ou de paiements sans contact), grâce à des méthodes pratiques permettant d'analyser les données TLV (et/ou les données MSR), d'interpréter les codes de statut et de personnaliser les comportements des appareils. 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 correspondance des codes d'erreur et autres détails de bas niveau.

L'Universal SDK a-t-il des fonctionnalités qu'il ne faire ? Eh bien, il ne contientpas de logique métier : cette partie pas de logique métier :vous appartient. Il nest pas non plus compatible avec une passerelle ou un processeur spécifique ; les principaux processeurs de paiement disposent tous de leurspropres SDK pour accéder à l'hôte d'autorisation en ligne. Cela signifie que vous devrez 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 d'un lecteur de carte ID TECH)à l'aide du SDK universel ? Tout à fait. Et certains des

partenaires de ID TECH sans l'ont fait. Mais le SDK universel n'est pas, en lui-même, une application de paiement complète.Les clients (qui ont souvent besoin de s'intégrer avec du matériel provenant de différents fournisseurs, mais ne souhaitent pas utiliser six SDK distincts pour y parvenir) empruntent parfois cette voie.

Mais gardez à l'esprit que cela implique de :

  1. Développer 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 contrôle de l'appareil (ID TECH met ces informations à disposition dans la documentation de ses 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 vous-même l'analyse et le traitement des données.
  5. Interpréter vous-même les codes d'état et les codes d'erreur.
  6. Réaliser tout cela en tenant compte des exigences matérielles et système d'exploitation spécifiques à la plateforme ciblée.

Existe-t-il un avantage à opter pour la solution sans SDK ? Une seule raison : parce que voustravaillez avec des octets bruts, la communication directe avec l'appareil est fondamentalement indépendante du langage de programmation. Le langage utilisé n'a plus d'importance, 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'SDK universel), vous pouvez tout de même accomplir la tâche, même si ce n'est pas aussi simple.

Quelle est la meilleure façon de démarrer avec l'SDK universel ? C'est simple : downloadez-le et lisez la documentation ! Rendez-vous sur le lien de la base de connaissances ou sur la .NET page du projet ci-dessus et vous pourrez commencer à coder dès cet après-midi. En attendant, si vous découvrez EMV, nous vous conseillons de commencer par consulter notre livre blanc sur EMV Transactions with the Universal SDK, qui propose un récapitulatif sur EMV (transactions par carte à puce) ainsi qu'une introduction au USDK.

Applications résidentes sur l'appareil

Qu'en est-il de l'hébergement d'une application de paiement directement sur l'appareil ? Est-ce possible ? En fait, pour certains des appareils plus récents de 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 faisable — et il existe un ensemble spécial de bibliothèques utilitaires résidentes sur l'appareil, appelé ADF (pour Application Development Framework), conçu spécifiquement pour permettre à votre application de s'exécuter sur l'appareil lui-même.

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