Technischer Beitrag
Erste Schritte mit dem Universal SDK von ID TECH
Einer der großen Vorteile eines Kartenlesers von ID TECH ist, dass die Integration in eine POS- oder Zahlungsanwendungsumgebung schnell und unkompliziert über ein einziges Software Development Kit erfolgen kann – unser sogenanntes Universal SDK.
Es ist „universell" in dem Sinne, dass es ein einheitliches API für alle unterstützten ID TECH Produkte bereitstellt und unabhängig von der Umgebung auf dieselbe Weise funktioniert.
Dabei ist es wichtig zu wissen, dass das Universal SDK von ID TECH in verschiedenen Varianten erhältlich ist – je nachdem, für welches Betriebssystem das Gerät eingesetzt werden soll und welche Programmiersprache bevorzugt wird. Ein auf C# basierendes (.NET 4.61, .NET Standard 2.0/2.1, .NET Core 3.1) Universal SDK steht zur Unterstützung der meisten ID TECH Produkte unter Windows zur Verfügung. Wenn Sie hingegen beispielsweise einen unserer Bluetooth-VP3300-Leser mit einem Samsung-Smartphone einsetzen möchten, steht eine Java-basierte Android-Version des Universal SDK zur Verfügung. Für die Integration unter Linux bieten wir ein C++-Universal SDK an (optional auch in einer Java-Version). Da einige unserer mobilen Lesegeräte mit iPads oder iPhones kompatibel sind, ist selbstverständlich auch ein iOS-Universal SDK erhältlich, das die Programmierung in Swift oder Objective-C ermöglicht. Und ja – auch Raspberry Pi wird unterstützt (mit C und Java).
Anders als einige unserer Mitbewerber verlangt ID TECH keine Gebühren für seine SDKs und setzt keine Mitgliedschaft in einem „Entwicklerprogramm" voraus. Tatsächlich können Sie die meisten Entwicklerwerkzeuge (und die zugehörige Dokumentation) abrufen, ohne sich überhaupt registrieren zu müssen. Besuchen Sie einfach unsere Wissensdatenbank, wählen Sie eine Produktfamilie aus und navigieren Sie zur jeweiligen Produktseite, um die SDK-Links zu finden. (Schauen Sie sich beispielsweise die VP3300-Produktseitean. Scrollen Sie nach unten zu „SDKs".). Darüber hinaus wird unser .NET SDK über NuGet bereitgestellt, um die Integration mit Visual Studio zu vereinfachen. Das Projekt page für unser .NET SDK enthält Dokumentation, Beispiele und weitere nützliche Informationen zur Implementierung von .NET in Ihren Projekten.
Was auf unserem Visual Studio .NET Projektseite?
- Ein Link zu NuGet.org, das die ID TECH .NET Bibliotheken bereitstellt
- Plattformübergreifende Beispiele zur Nutzung des SDK unter Windows, Mac oder Linux mit .NET Core 3.1
- SDK API-Dokumentation, sowohl im HTML und PDF Format
- Quellcode-Beispiel zur Verwendung von Xamarin für die iOS- und Android-Mobilentwicklung
- Quellcode unserer uDemo Software, die alle ID TECH Geräte über USB, Seriell und IP ansteuert
- Kompiliertes Installationspaket unserer uDemo Software
- Änderungsprotokoll
- Verschiedene .NET basierte Dienstprogramme zur Ansteuerung/Konfiguration von ID TECH Geräte
Was im SDK Ihren Download von Wissensdatenbank (Knowledge Base) (nicht .NET Versionen)? Wenn Sie das ZIP-Archiv entpacken, finden Sie vier Ordner:
- Demo — Dieser Ordner enthält bereits kompilierte ausführbare Dateien, die den im SourceCode -Ordner enthaltenen Beispielcode-Projekten entsprechen. Es gibt zwei ausführbare Dateien: eine (namens Simple Demo), die die grundlegende „Tutorial"-Demo-App darstellt, die in der Dokumentation beschrieben wird, sowie eine eine zweite, aufwändigere App, die (zumindest im Fall des Windows SDK) Aussehen und Bedienung des UDemo -Dienstprogramms ähnelt, das in einem früheren Beitrag.
- Docs — Die SDK-Dokumentation liegt in zwei Formaten vor: HTML und PDF. Jedes Format enthält eine ausführliche Beschreibung der APIs, Verwendungsbeispiele, Hintergrundinformationen, eine Schritt-für-Schritt-Anleitung und vieles mehr.
- SDK — Hier finden Sie’die kompilierten Bibliotheken und weitere Ressourcen, die für den Betrieb einer Anwendung auf der jeweiligen Plattform erforderlich sind. Für Windows-Systeme sind DLLs zu erwarten. Für MacOS sind .DYLIB Dateien; für Android eine JAR-Datei.
- SourceCode — Dieser Ordner enthält Header-Dateien, Projektdateien und Quellcode für die Simple Demo (Tutorial)-App sowie Quellcode für eine umfangreichere Beispiel-App, die erweiterte Funktionen demonstriert. Auch hier hängt der Inhalt vom verwendeten Betriebssystem ab. Der Quellcode für Linux ist in C und Java verfasst. Für Windows – je nach heruntergeladenem SDK – können Sie C#- oder C++-Code erwarten. Für Android wird Java verwendet. Für iOS haben Sie die Wahl zwischen Objective-C und Swift.
Die SDK-Bibliotheken übernehmen die Gerätekonnektivität plattform- und produktspezifisch, sodass Sie sich nicht um die technischen Details der Verbindung zum Kartenlesegerät über RS-232, USB, Bluetooth oder Klinkenanschluss (bei Mobilgeräten) kümmern müssen. Die Bibliotheken verwalten produktspezifische Kommunikationsprotokolle und schützen Sie davor, direkt mit Befehlen auf Firmware-Ebene arbeiten zu müssen. Wenn Sie beispielsweise die Firmware-Version Ihres VP3300 abfragen möchten, müssten Sie normalerweise, ohne das SDK, einen rohen Byte-Datenstrom senden, der der Hex-Sequenz 5669564f74656368320029000000dea0 entspricht, über den seriellen Port, und auf eine Antwort in etwa dieser Form warten:
Anschließend müssten Sie wissen, wie Sie die CRC am Ende der Antwort prüfen, die Nutzdaten aus den Framing-Bytes herausparsen, die Nutzdaten in einen ASCII-String konvertieren usw. Mit dem Universal SDK müssen Sie lediglich die API-Methode device_getFirmwareVersion()aufrufen und dann den zurückgegebenen String auswerten. Das SDK übernimmt alle technischen Details des Marshaling und Unmarshalling von Daten, der CRC-Berechnung, des Schreibens und Lesens von seriellen Port-Puffern usw.
Das Universal SDK vereinfacht die Durchführung von Transaktionen erheblich – ob per MagStripe, Kontakt-EMV oder kontaktlos –, da praktische Hilfsmethoden zum Parsen von TLV-Daten (und/oder MSR-Daten), zur Interpretation von Statuscodes und zur Anpassung des Geräteverhaltens zur Verfügung stehen. Das Universal SDK ermöglicht es Ihnen, auf einem relativ hohen Abstraktionsniveau zu programmieren, ohne sich selbst mit Datenprotokollen, Parsing-Routinen, Fehlercode-Nachschlagetabellen und anderen Low-Level-Details befassen zu müssen.
Gibt es etwas, das das Universal SDK enthält keine Geschäftslogik: Das liegt’bei Ihnen. Es ist auch nicht gateway- oder prozessorspezifisch; die wichtigsten Zahlungsanbieter verfügen alle über ihre bei Ihnen.eigenen’SDKs für den Zugriff auf den Online-Autorisierungshost. Das bedeutet, Sie’müssen das von Ihrem Gateway empfohlene SDK verwenden, um zum geeigneten Zeitpunkt online für die Autorisierung (oder Abrechnung usw.) zu gehen. Ist es möglich, eine Zahlungsanwendung zu entwickeln (einschließlich der Integration eines ID TECH Kartenlesers)? Ja, das ist möglich.’Sie benötigen dazu die entsprechenden SDKs.
Ist es möglich, eine Zahlungs-App zu entwickeln (einschließlich der Integration mit einem ID TECH Kartenleser)? ohne den Universal SDK nutzen? Ja, tatsächlich. Und einige Kunden von ID TECH’(die häufig Hardware verschiedener Anbieter integrieren müssen, aber nicht sechs unterschiedliche SDKs verwenden möchten) entscheiden sich für diesen Weg.
Bedenken Sie jedoch, dass Sie dabei Folgendes benötigen:
- Eigenen Verbindungscode (im Wesentlichen einen eigenen Treiber) entwickeln, um über USB, COM, Bluetooth oder eine andere Schnittstelle mit dem Gerät zu kommunizieren.
- Die Firmware-Befehle kennen, die zur Steuerung des Geräts erforderlich sind (ID TECH stellt diese Informationen in der Dokumentation zu verschiedenen Produkten bereit)..
- Das Verpacken und Entpacken von Daten und Befehlen gemäß den Protokollanforderungen des Geräts selbst übernehmen (NGA, ITP, NEO 2 oder was auch immer zutrifft).
- Das Parsen der Daten eigenständig durchführen.
- Status- und Fehlercodes selbst interpretieren.
- All dies auf eine Weise umsetzen, die auf die spezifischen Hardware- und Betriebssystemanforderungen der Zielplattform abgestimmt ist.
Gibt es Vorteil des Wegs ohne SDK? Nur dieser: Da Sie’es mit rohen Bytes arbeiten, ist die direkte Kommunikation mit dem Gerät im Grunde programmiersprachen-unabhängig. Es spielt keine Rolle mehr, welche Sprache Sie verwenden, solange Sie nativ mit dem seriellen Port (oder USB-Port usw.) kommunizieren können. Wenn Sie also gewohnt sind, in Pascal, Go, Kotlin oder einer Sprache zu programmieren, die vom Universal SDK derzeit nicht unterstützt wird, können Sie die Aufgabe dennoch bewältigen – wenn auch nicht ganz so komfortabel.
Wie gelingt der beste Einstieg in das Universal SDK? Das einfach: Laden Sie es herunter und lesen Sie die Dokumentation! Rufen Sie den Knowledge-Base-Link auf oder die .NET Projektseite oben, und Sie können noch heute Nachmittag mit der Entwicklung beginnen. Falls Sie neu im Bereich EMV sind, empfehlen wir Ihnen, zunächst unser Whitepaper zu EMV-Transaktionen mit dem Universal SDKzu lesen, das sowohl einen Überblick über EMV (Chip-Kartentransaktionen) als auch eine Einführung in das USDK selbst bietet.
Geräteseitige Anwendungen
Was ist mit dem Betrieb einer Zahlungs-App auf dem Gerät selbst? Ist das möglich? Tatsächlich ist es bei einigen der neueren Geräte von ID TECH’(z. B. VP5300 Einschublesesern und dem VP6800, unter anderem) tatsächlich möglich, Ihre Anwendung direkt auf dem Gerät zu hosten. Sie sollten mit der Entwicklung eingebetteter Anwendungen für Echtzeit-Betriebssysteme (und/oder Linux) in ANSI C vertraut sein – aber ja, es ist möglich. Und ja, es gibt eine spezielle, geräteseitige Sammlung von Hilfsbibliotheken, bekannt als ADF (kurz für Application Development Framework), die speziell dafür entwickelt wurde, es Ihrer Anwendung zu ermöglichen, direkt auf dem Gerät zu laufen.
Haben Sie Fragen zum Universal SDK (oder zum ADF)? Sprechen Sie mit einem unserer hausinternen Experten. Nehmen Sie Kontakt mit uns auf unter 1-800-984-1010. Wir freuen uns, von Ihnen zu hören!
