Technischer Beitrag
Tools zur Integration von Zahlungsgeräten: UDemo
Entwickler von Zahlungsanwendungen, die die Integration von ID TECH Kartenlesern in ihre POS- (oder andere) Systeme beschleunigen möchten, können mit dem Universal SDK von ID TECH schnell vorankommen. Das SDK stellt Bibliotheken (sowie ein einheitliches API) bereit, um alle aktuell produzierten Kartenleser von ID TECH zu steuern – darunter Chip-Kartenleser (EMV), Magnetstreifenleser (MSR) und kontaktlose Leser – und unterstützt dabei eine Reihe von Programmiersprachen (z. B. C# für Windows, Java für Android, Swift für iOS und C für Linux).
Um das zugehörige Demoprogramm auszuführen, müssen Sie das SDK jedoch nicht installieren. Bei dieser eigenständigen Anwendung handelt es sich um das sogenannte Universal Demo bzw. kurz UDemo. Die eigenständige Windows-Version des UDemo erhalten Sie unter hier.
Wir empfehlen allen unseren Entwicklerkunden, sich mit der UDemo-App vertraut zu machen. Sie veranschaulicht detailliert, wie die rohen Anfragen und Antworten (zum und vom Gerät) aussehen, ermöglicht die Konfiguration eines Geräts mit bestimmten Einstellungen und bietet eine Testumgebung, in der Entwickler verschiedene Befehle mit unterschiedlichen Argumentwerten in Echtzeit ausprobieren können. Darüber hinaus ist UDemo auch eine hervorragende Möglichkeit, mehr über EMV zu erfahren.
Starten Sie nach der Ausführung des UDemo-Installers die Anwendung. Es erscheint ein Fenster ähnlich dem folgenden:
Bitte beachten Sie: Sie können jederzeit einen unterstützten ID TECH Kartenleser über den USB-Anschluss Ihres Computers anschließen – er wird automatisch vom UDemo erkannt. Sobald das Gerät erkannt wurde, wird der Befehlsbaum (siehe „COMMANDS" oben) mit gerätespezifischen Befehlen befüllt – beispielsweise mit einer Gruppe „CTLS", wenn das Gerät kontaktlose Transaktionen unterstützt, oder „EMV", wenn das Gerät kontaktbehaftete EMV-Chip-Kartentransaktionen unterstützt, usw.
Die grundlegende Vorgehensweise lautet:
- Schließen Sie ein Gerät an.
- Navigieren Sie im Befehlsbaum, bis Sie einen gewünschten Befehl gefunden haben.
- Doppelklicken Sie auf den Befehl im Baum ODER klicken Sie einmal auf die grüne Schaltfläche Execute Command am unteren Rand des Fensters.
- Überprüfen Sie den Log-Bereich, um die gesendeten Anfragen und empfangenen Antworten einzusehen. (An das Gerät gesendete Werte sind mit „OUT" gekennzeichnet, vom Gerät empfangene Werte mit „IN".)
- Überprüfen Sie den Results -Bereich (auf der rechten Seite), um eine verständliche Erklärung des Vorgangs zu erhalten.
Im obigen Screenshot wurde der Befehl „Start EMV Transaction" (gegen einen ID TECH VP3300-Kartenleser) mit dem standardmäßigen Transaktionsbetrag von 1,00 $ ausgeführt. Der tatsächlich ausgeführte Befehl wird oben im Log angezeigt. Vom Gerät wurden vier „IN"-Antworten empfangen. Die erste Antwort war ein ACK, die nächsten beiden „IN"-Antworten enthalten Statusinformationen in Form von LCD-Meldungen (z. B. „Processing…"), die während der laufenden Transaktion möglicherweise an einem POS-System angezeigt werden müssen. Das vierte und letzte „IN" enthält einen Block mit TLV-Daten (Tag-Length-Value), die vom Leser zurückgegeben wurden. Einige der TLV-Auswertungen werden im Result-Bereich angezeigt.
UDemo-Tipps
UDemo ist ein interaktives Tool, das sich am besten durch praktische Anwendung erschließt. Um den Einstieg etwas zu erleichtern, sollten Sie folgende Hinweise beachten:
- Viele Befehle erfordern Argumentwerte oder können vor der Ausführung konfiguriert werden. Klicken Sie einfach einmal auf einen Befehl in der Befehlsliste. Falls der entsprechende Befehl zusätzliche Werte annehmen kann, werden automatisch passende Formularfelder direkt oberhalb des Log-Bereichs eingeblendet. Geben Sie alle erforderlichen Werte ein und führen Sie den Befehl durch einen Doppelklick mit diesen Werten aus.
- Das virtuelle Tastenfeld oben rechts wird aktiv, wenn die in den Leser eingelegte Karte die PIN-Eingabe als eine ihrer Cardholder Verification Methods erfordert.
- Direkt oberhalb der Befehlsliste befindet sich eine Schaltfläche mit der Bezeichnung Decryption. Klicken Sie auf diese Schaltfläche, um ein Dialogfenster zu öffnen, in dem Sie Transaktionsdaten entschlüsseln können.
- Unterhalb des Log-Bereichs finden Sie einen Start Capture to Disk -Button (sowie einen Clear Logs -Button und einen Email Logs to Support-Button). Die Schaltfläche „Start Capture" ist nützlich, wenn Sie die Daten einer Sitzung zur späteren Analyse aufzeichnen möchten. Sie können uns Ihre Ergebnisse auch per E-Mail zusenden (über die Schaltfläche „Email Logs"), falls Sie einen technischen Support-Fall eröffnen möchten.
Vor der Durchführung einer EMV-Transaktion
UDemo ist selbstverständlich nur ein Testwerkzeug und nicht in der Lage, eine echte Live-Transaktion gegen eine Kreditkarte zu verarbeiten. Es simuliert jedoch alle drei Phasen (Start, Authentifizierung und Abschluss) einer kontaktbasierten EMV-Sitzung. Bevor Sie Transaktionsbefehle ausführen können, muss das Kartenlesegerät jedoch mindestens einige grundlegende Konfigurationen durchlaufen. (Andernfalls schlägt die Simulation fehl.)
Sie können ein Gerät schnell mit sinnvollen Standardwerten konfigurieren, indem Sie drei Befehle ausführen:
- Suchen Sie zunächst unter dem AID-Knoten des Befehlsbaums den Eintrag „Load Default AID" und führen Sie ihn aus. Dabei handelt es sich um einen Batch-Vorgang, der ein halbes Dutzend gängige AIDs in das Gerät lädt. Planen Sie hierfür etwa zehn Sekunden ein.
- Suchen Sie anschließend unter dem CAPK-Knoten des Befehlsbaums den Befehl „Load Default CAPK" und führen Sie ihn aus. Auch dies ist ein Batch-Befehl, der einige Sekunden in Anspruch nimmt. Er lädt öffentliche Schlüssel für verschiedene Kartenmarken, die zur Validierung der kryptografischen Merkmale verwendet werden, die eine Chipkarte zum Zeitpunkt der Transaktion erzeugt. (ACHTUNG: Die Schlüssel dienen ausschließlich zu Testzwecken und sind nicht für den produktiven Einsatz vorgesehen. Produktionsschlüssel erhalten Sie von Ihrem Gateway oder Zahlungsabwickler.)
- Suchen Sie abschließend unter dem Knoten „Terminal Config" im Befehlsbaum den Eintrag „Save Terminal Data" und führen Sie ihn aus. Dadurch werden sinnvolle Standard-TLVs in den Leser geladen, um verschiedene Terminal-Funktionen zu unterstützen.
Nachdem Sie diese Befehle ausgeführt haben, enthält der Kartenleser geeignete Standarddaten, und Befehle wie „Start Transaction" sollten fehlerfrei funktionieren.
Weitere Informationen
Die UDemo-App bietet selbstverständlich einen großen Funktionsumfang, der hier nicht vollständig beschrieben werden kann. Den besten Überblick erhalten Sie über die rosa Schaltfläche in der unteren linken Ecke des UDemo-Bildschirms (siehe Abbildung oben): Dokumentation Wenn Sie auf diese Schaltfläche klicken, öffnet sich ein PDF im Acrobat Reader (sofern auf Ihrem Rechner installiert) mit dem Quick Start Guide für UDemo.
Um zu verstehen, was die in UDemo angezeigten Hex-Bytes bedeuten, empfiehlt es sich, das Low-Level- (Firmware-)API-Handbuch für Ihren Leser zu beschaffen. Dieses erhalten Sie in der Regel direkt im Bereich Downloads unserer öffentlichen Knowledge Base (ohne Registrierung), einige Dokumente sind jedoch nur auf Anfrage erhältlich. In diesem Fall wenden Sie sich bitte an Ihren ID TECH-Ansprechpartner – die entsprechenden Unterlagen werden Ihnen kostenfrei zur Verfügung gestellt.
Haben Sie Fragen zum Universal SDK oder zu einem der ID TECH-Produkte? Kontaktieren Sie unsere Experten unter 1-800-984-1010!
