ID TECH
Contatto
Tutti gli articoli tecnici

Post tecnico

Introduzione all'Universal SDK di ID TECH

Uno dei vantaggi della scelta di un lettore di carte di credito prodotto da ID TECH è che l'integrazione del dispositivo in un ambiente POS o in un'applicazione di pagamento può avvenire in modo rapido e senza complicazioni tramite un unico Software Development Kit, che noi chiamiamo Universal SDK.

È "universale" nel senso che espone un API comune a tutti i prodotti ID TECH supportati e funziona allo stesso modo indipendentemente dall'ambiente di utilizzo.

Detto questo, è importante sottolineare che l'Universal SDK di ID TECH è disponibile in diverse versioni, a seconda del tipo di sistema operativo in cui si intende distribuire il dispositivo e del linguaggio di programmazione che si desidera utilizzare. Un Universal SDK basato su C# (.NET 4.61, .NET Standard 2.0/2.1, .NET Core 3.1) è disponibile per supportare la maggior parte dei prodotti ID TECH su Windows; tuttavia, se si ha la necessità di utilizzare, ad esempio, uno dei nostri lettori Bluetooth VP3300 con un telefono Samsung, esiste una versione Android dell'Universal SDK basata su Java appositamente pensata per questo scopo. Per le integrazioni con Linux, è disponibile un Universal SDK in C++ (con un'opzione anche in Java). Alcuni dei nostri lettori mobili sono compatibili con iPad o iPhone, quindi è naturalmente disponibile anche un Universal SDK per iOS (che consente di programmare in Swift o Objective-C). E sì, supportiamo anche Raspberry Pi (con C e Java).

A differenza di alcuni nostri concorrenti, ID TECH non applica alcun costo per i propri SDK e non richiede l'iscrizione a un "programma per sviluppatori". In realtà, è possibile accedere alla maggior parte degli strumenti di sviluppo (e alla relativa documentazione) senza nemmeno dover registrarsi. È sufficiente visitare il nostro Knowledge Base, selezionare una famiglia di prodotti e accedere alla relativa pagina prodotto per trovare i link agli SDK. (Ad esempio, consultare la VP3300 Pagina Prodotto. Scorrere verso il basso fino alla sezione "SDKs."). Inoltre, il nostro SDK .NET viene distribuito tramite NuGet per semplificare l'integrazione con Visual Studio. Il progetto page per il nostro .NET SDK contiene documentazione, esempi e altre informazioni utili relative all' implementazione di .NET nei tuoi progetti.

Cosa è disponibile sul nostro Visual Studio .NET Pagina del progetto?

  • Un link a NuGet.org che ospita le ID TECH .NET librerie
  • Esempi multipiattaforma per l'utilizzo di SDK su Windows, Mac o Linux tramite .NET Core 3.1
  • Documentazione delle API dell'SDK, disponibile in formato HTML e PDF
  • Esempio di codice sorgente che utilizza Xamarin per lo sviluppo di applicazioni mobili iOS e Android
  • Codice sorgente del nostro software uDemo che gestisce tutti i ID TECH dispositivi su USB, Seriale e IP
  • Programma di installazione compilato del nostro software uDemo software
  • Registro delle modifiche
  • Varie .NET utilità basate su per la gestione e la configurazione di ID TECH dispositivi

Cosa è nell'SDK scarica il pacchetto da Knowledge Base (non .NET versioni)? Dopo aver estratto l'archivio Zip, troverai quattro cartelle:

  • Demo Questa cartella contiene gli eseguibili già compilati corrispondenti ai progetti di codice di esempio forniti nella cartella SourceCode . Sono presenti due eseguibili: uno (denominato Simple Demo) che rappresenta l'app demo introduttiva di base descritta nella documentazione, e un una seconda applicazione più elaborata che (almeno nel caso di Windows SDK) presenta un aspetto e un'interfaccia simili a quelli della UDemo utility inclusa nella un articolo precedente.
  • Docs La documentazione SDK è disponibile in due formati: HTML e PDF. Ciascuno include una descrizione dettagliata delle API, esempi d'uso, informazioni di contesto, una guida tutorial e molto altro.
  • SDK Qui si trovano le librerie compilate e le altre risorse necessarie per supportare un'applicazione in esecuzione sulla piattaforma in questione. Per i sistemi Windows, sono disponibili file DLL. Per MacOS,sono disponibili file . sono disponibili file .DYLIB file JAR per Android.
  • SourceCode Questa cartella contiene file header, file di progetto e codice sorgente per l'app Simple Demo (tutorial), oltre al codice sorgente per un'app di esempio più elaborata che illustra funzionalità avanzate. Anche in questo caso, il contenuto varia in base al sistema operativo utilizzato. Il codice sorgente per Linux è in C e Java. Per Windows, a seconda dello specifico SDK scaricato, è disponibile codice C# o C++. Per Android è in Java. Per iOS, è possibile scegliere tra Objective-C e Swift.

Le librerie SDK gestiscono la connettività dei dispositivi su base platform-by-platform (e prodotto per prodotto), esonerando lo sviluppatore dai dettagli di basso livello relativi alla connessione al lettore di carte tramite RS-232, USB, Bluetooth o jack audio (nel caso dei dispositivi mobili). Le librerie si occupano dei problemi di protocollo di comunicazione specifici di ciascun prodotto e proteggono lo sviluppatore dalla necessità di gestire direttamente i comandi a livello firmware. Pertanto, ad esempio, se si desidera interrogare il VP3300 per ottenere la versione del firmware, normalmente, senza l'SDK, sarebbe necessario inviare un flusso di byte grezzo corrispondente alla sequenza esadecimale 5669564f74656368320029000000dea0 sulla porta seriale, e attendere una risposta simile a:

Occorrerebbe quindi sapere come verificare il CRC alla fine della risposta, estrarre il payload dei dati dai byte di framing, convertire il payload in una stringa ASCII e così via. Con l'Universal SDK, è sufficiente richiamare il metodo API device_getFirmwareVersion()e quindi esaminare la stringa restituita. L'SDK si occupa di tutti i dettagli tecnici di marshaling e unmarshalling dei dati, calcolo dei CRC, scrittura e lettura dei buffer della porta seriale e così via.

L'Universal SDK semplifica notevolmente l'esecuzione delle transazioni (sia MagStripe, che EMV a contatto o contactless), grazie a metodi di utilità per il parsing dei dati TLV (e/o MSR), l'interpretazione dei codici di stato e la personalizzazione del comportamento del dispositivo. L'Universal SDK consente di programmare a un livello di astrazione sufficientemente elevato, evitando di dover gestire direttamente protocolli dati, routine di parsing, tabelle di ricerca dei codici di errore e altri dettagli di basso livello.

L'Universal SDK presenta qualche limitazione non lo fa fare? Beh, non lo fare contiene la logica di business: requella partespetta a te. Non è inoltre compatibile con gateway o processori specifici; i principali processori di pagamento dispongono tutti dei propriSDK per accedere all'host di autorizzazione online. Ciò significa che dovrai utilizzare l'SDK consigliato dal tuo gateway per connetterti online ai fini dell'autorizzazione (o della liquidazione, ecc.) nel momento opportuno.SDK per accedere all'host di autorizzazione online. Ciò significa che dovrai utilizzare l'SDK consigliato dal tuo gateway per connetterti online ai fini dell'autorizzazione (o della liquidazione, ecc.) nel momento opportuno.

È possibile sviluppare un'applicazione di pagamento (inclusa l'integrazione con un lettore di carte ID TECH) senza utilizzando l'Universal SDK? In effetti sì. E alcuni clienti di ID TECH(che spesso hanno la necessità di integrarsi con hardware di diversi fornitori, ma non vogliono utilizzare sei SDK diversi per farlo) scelgono proprio questa strada.

Occorre però tenere presente che questo approccio richiede di:

  1. Creare il proprio codice di connettività (in sostanza, un driver personalizzato) per comunicare con il dispositivo tramite USB, COM, Bluetooth o qualsiasi altra interfaccia disponibile.
  2. Conoscere i comandi firmware necessari per controllare il dispositivo (ID TECH rende disponibili queste informazioni nella documentazione dei vari prodotti)..
  3. Gestire il packaging e l'unpackaging dei dati e dei comandi in conformità con i requisiti di protocollo del dispositivo (NGA, ITP, NEO 2 o qualsiasi altro applicabile).
  4. Gestire autonomamente il parsing dei dati.
  5. Interpretare autonomamente i codici di stato e i codici di errore.
  6. Svolgere tutto questo in modo adattato ai requisiti hardware e di sistema operativo specifici della piattaforma di destinazione.

Esiste qualche vantaggio nell'approccio senza SDK? Solo questo: poiché silavora con byte grezzi, la comunicazione diretta con il dispositivo è sostanzialmente indipendente dal linguaggio di programmazione. Non importa più quale linguaggio si utilizzi, purché sia possibile comunicare nativamente con la porta seriale (o USB, ecc.). Quindi se si è abituati a programmare in Pascal, Go, Kotlin (o in un linguaggio attualmente non supportato dall'Universal SDK), è comunque possibile portare a termine il lavoro, anche se in modo meno agevole.

Qual è il modo migliore per iniziare a lavorare con l'Universal SDK? È semplice: scaricalo e leggi la documentazione! Vai al link della Knowledge Base o alla .NET pagina del progetto in alto e potrai iniziare a programmare già nel pomeriggio. Nel frattempo, se sei nuovo a EMV, ti consigliamo di iniziare dando un'occhiata al nostro white paper su Le transazioni EMV con l'Universal SDK,che offre un riepilogo di EMV (transazioni con carta a chip) oltre a fornire un'introduzione all'USDK stesso.

Applicazioni residenti sul dispositivo

Che ne è dell'hosting di un'app di pagamento sul dispositivo stesso? È possibile? In effetti, per alcuni dei dispositivi più recenti di ID TECH(ad esempio, i lettori con inserimento VP5300 e il VP6800, tra gli altri), è effettivamente possibile ospitare la propria applicazione direttamente sul dispositivo. Sarà necessario avere familiarità con lo sviluppo di app embedded per sistemi operativi in tempo reale (e/o Linux), in ANSI C, ma sì, è fattibile. Esiste inoltre un set speciale di librerie di supporto residenti sul dispositivo, noto come ADF (acronimo di Application Development Framework), dedicato specificamente a rendere possibile l'esecuzione della propria app direttamente sul dispositivo.

Hai domande sull'Universal SDK (o sull'ADF)? Parla con uno dei nostri esperti interni. Contattaci all'indirizzo 1-800-984-1010. Saremo felici di sentirti!