Page tree
Skip to end of metadata
Go to start of metadata

1.How can I get the SDK for my mobile card readers (UniMag, UniMag Pro, iMag & iMag Pro, etc.)?

A: Most SDKs are now available free of charge here in our  Knowledge Base. Find your products "Home" page to find what SDKs have been made available. ID TECH has a mobile reader, evaluation kit, available for purchase. This evaluation kit includes a mobile reader injected with a demo key (if applicable), a CD with the SDK for Apple, Android & Blackberry devices, manuals, and other technical documents. 

3.What software can be used to test the UniMag with an Apple device?

A. You may download "ID TECH UniMag Reader Demo" from the App Store to verify the performance of the reader.

4.When testing the UniMag with an iPhone app, available in the app store, the app displays a "Timeout Error" after connection on each try. What should I do?

A: Please download "ID TECH UniMag Reader Demo" from App Store and test it on the Apple device or on another Apple device if possible to see if the same problem happens there. If so, contact ID TECH to get the hardware checked. If not, please contact software support.  This FAQ contains a list of common settings issues specific to iOS devices.

5.Is there a test application that can be used to test my mobile reader with Android device?

A: Yes. Customers can download "ID TECH UniMag Demo" from Google Play.  Another testing application called "UniMag Utility" can also be used for testing and sending out log files to ID TECH for further troubleshooting.

ID TECH UniMag Demo:
https://play.google.com/store/apps/details?id=IDTech.MSR.uniMag.Demo&feature=search_result#?t=W251bGwsMSwyLDEsIklEVGVjaC5NU1IudW5pTWFnLkRlbW8iXQ

ID TECH UniMag Utility:
https://play.google.com/store/apps/details?id=com.idtechproducts.MSR.uniMag.UniMagUtility&feature=more_from_developer#?t=W251bGwsMSwxLDEwMiwiY29tLmlkdGVjaHByb2R1Y3RzLk1TUi51bmlNYWcuVW5pTWFnVXRpbGl0eSJd

6.How do I test the mobile card reader with my Android phone and how to send in the log file from the phone if it’s not working?

A: You can download/instll the UniMag Utility (see FAQ #5 above) and follow the steps below to test the UniMag with your phone.

1. Remove bumper or case if there is any.
2. Plug the reader into the audio jack.
3. Launch the demo application and wait until the reader gets connected.
4. Click on [Swipe Card] button and swipe a credit card.
5. Verify the card data on the screen.
Customers may press [Email] button to send out log files to ID TECH if the reader fails to read a credit card.

7.How to stop input in application after a swipe to prevent battery usage?

A: After a card swipe is captured, the application usually jumps to another view which shows summarized transaction information. Before switching to the next view, the application should remove all observers, call closeConnection function and then release UniMag instance. Developers can refer to the demo source code included in the SDK package.

8.Is there a general code to parse the credit card data in Java?

A: There isn't one from ID TECH but a sample code (for card data in plain text) from one of our customers is available on request. It can be used as a reference only which we are not able to support or answer any questions about it.

9.What's the battery life for a UniMag Pro?

A: Our lab testing result shows the battery lifetime is at least 80,000 operations.

10.Can the Mobile reader output the card data into a web page directly?

A: No. ID TECH mobile reader is not keyboard emulated; therefore, the data will not automatically populate a text field on a webpage. An application is required to capture the card data from the SDK and then submit the data to certain text fields on the web page.

11.How to get the technical information of the Android mobile devices sent to the technical team for review?

A: Customers can download “UniMag Utility” from Google Play to obtain the model number and OS version of the Android device. Log files can be sent to ID TECH through the [Email] button.

12.Your hardware supporting list shows the reader working with a previous version O.S., will your reader work with phones/tablets loaded with the later version OS?

A: We expect the reader to work with later OS versions if there is no significant change made to the OS. Customers can download “UniMag Utility” from Google Play and send out log files to ID TECH if any error message is occurred.e suggest you try it. If there is no significant change made to the OS, we expect the reader will work with later OS version.

13.How to do the test with a revised XML file?

A: Following the following steps:

  1. Download “ID TECH UniMag Demo” from Google Play.
  2. Copy the revised XML file onto the SD card, or download the file onto the phone through email client application.
  3. Launch “ID TECH UniMag Demo” application.
  4. Get to the [Menu] choose [Settings] and select [Reload XML] then browse to the location where the revised XML file is saved, and then press [Select] button.
  5. Plug the reader into the audio jack.
  6. Press [Swipe Card] and swipe a credit card.

Note: To avoid having the new XML file to be reloaded each time the app is started, you can rename the XML file name to “IDT_uniMagCfgx.xx.xml” (e.g. IDT_uniMagCfg1.15.xml), so the demo can locate this profile setting file in the tablet internal memory. The XML file with the same filename may already exist in the internal memory. If that’s the case, just replace that file with your new XML file.

14.Can I try to modify the XML file for a mobile device which is not on your supporting list to try and test it?  How do I do it?

A: Without sending the devices in for our development team to analyze the waveform and tune up a profile for that particular Android device, customers may try to modify the configuration file by themselves and see if a profile of similar model would work on the unsupported one.  For example, customers may try to apply the profile of Sprint HTC EVO 3D (PG86100) to the PG86310.  However, we are not able to guarantee it would work.

Here’s how to make the changes to add a profile for an unsupported model.

1. Copy the profile of  PG86100, from start node <pg86100> to end node </pg86100> 
2. Append the copied content right after the end node </pg86100
3. Change the model name to the new one (PG86310
4. Save the configuration file with a different name 
5. Plug the reader into the audio jack.
6. Follow FAQ 13 above to test w/the XML file to see how it works

15.How do I go about to have the mobile reader injected with the key for it to output the encrypted data?

A: ID TECH mobile readers are not encrypted by default, but they all have the capability of being encrypted.  If they are to be encrypted, the key is determined by your processor or gateway.  They can specify an AES key or a TDES key needed.  In both cases the key management is DUKPT.  If that key is already in the key library at our facility, you only need to specify the name of it and we can inject it into your units upon request when ordering the readers.  If we don’t have it, you will need to request that your processor sends it to us as several parts in the required secure manner.  We also have the capability of generating a private encryption key for your use only and this involves sending the several key parts we have generated to your processor.  The units must be injected in a PCI certified Key Injection Facility, they cannot be injected remotely.  RKI is a recent feature supported by our updated devices and allows for remote HSM interfacing.  Please contact sales for details.

16.I tried to generate a profile for an unsupported Android device by applying profile from a similar model, but it doesn't make any difference, what other options do I have?

A: Customers can download “ID TECH UniMag Demo” from Google Play and run [Settings] à [StartAutoConfig] to see whether a profile can be generated for the particular Android device that is not listed as a supported phone. However, it is not guaranteed that AutoConfig will work on every Android device. Please contact our salesperson or sales team ( sales@idtechproducts.com ) with potential quantity if AutoConfig fails to find a profile for the device. Therefore, he or she can arrange further resource from our development team to manually tune up a profile for the unsupported phone/tablet.

17.I have a Samsung Galaxy Nexus and would like to use it with the Unimag Pro for building a prototype.  I received the SDK v2.6 with config file 1.15.7.7 and tried it.  Even though the idt_unimagcfg_default.XML contains a section<galaxynexus>, I get a timeout when the dongle is plugged in.  Why is this?

A: The Samsung Galaxy Nexus (GALAXYNEXUS) is not supported by UniMag Pro (ID-80110004-XXX).  However, it is supported by UniMag II (ID-80110008-XXX) and Shuttle (ID-80110010-XXX).  The configuration file (.xml) is shared among different UniMag family readers.  There might be some supported model included for the testing purpose of the development team.  Therefore, please always refer to the supported phone list on ID TECH website.

UniMag Pro: http://idtechproducts.com/products/legacy-products/unimag-pro-three-track-secure-mobile-magstripe-reader (this is presently at the time of this writing a legacy product)

UniMag II: http://idtechproducts.com/products/mobile-readers/msr-only/unimag-ii

Shuttle: http://idtechproducts.com/products/mobile-readers/msr-only/shuttle-mobile-magstripe-reader

18.Can I use an adapter that will allow me to use the reader without taking the outer box off my iPhone?

A: An extension cable might affect the wave signal of audio jack readers; therefore, we don’t suggest customers using it since we are not able to guarantee the reading performance.

The phone jack of UniMag II (ID-80110008) and Shuttle (ID-80110010) is about 3-4 mm longer than previous generations of UniMag family readers which might fit on your phone if you are using UniMag (ID-80110001) or UniMag Pro (ID-80110004).  If a much longer audio plug is preferred, you may contact our salesperson or sales team (sales@idtechproducts.com) and submit a custom product request.  Please note that there might be minimum quantity order for the custom product.  Please consider 6" 3.5 mm Stereo (TRRS) M/F Adapter as a reference to one product which may work, but a custom model of Shuttle may be available.  Please contact sales for pricing and availability.

19.Is the Key Value shown in the decryption section of the Shuttle PC Demo the Initial Derived Encryption Key or the Derived Key that gets derived from the IDEK?

A: The Key Value shown in the demo is the current transaction key which is used for encryption/decryption. This key changes every time when the KSN counter increases.

20.What's the difference between UniMag, UniMag Pro, UniMag II, and Shuttle?

A: UniMag (ID-80110001-XXX) is our first generation audio jack reader, and UniMag Pro (ID-80110004-XXX) is the next generation after UniMag.  Both readers read 3 track data, but there are couple differences between the two. First, UniMag Pro supports more phones than UniMag.  Please find supported phone list on the link below.  Second, UniMag Pro includes embedded batteries in the hardware design, which is mainly used to ensure sufficient power is given on certain phones for the reader to work properly.  However, it doesn’t mean there is a performance concern without the embedded batteries.  If the application focuses on Apple device or any phone that on the UniMag supported list, UniMag can still be a good choice.  Finally, UniMag Pro is the only solution out of these two choices if Blackberry platform will be one of the target markets.

UniMag: http://www.idtechproducts.com/products/mobile-readers/112.html

UniMag Pro: http://www.idtechproducts.com/products/mobile-readers/126.html

Since we are trying to keep improving our products, customers may also want to consider UniMag II (ID-80110008-XXX) or Shuttle if the application needs first 2 track data only.  UniMag II (ID-80110008-XXX) and Shuttle support more phones than UniMag and UniMag Pro, while Shuttle has better feasibility to support even more phone in the future due to the hardware design.

UniMag II: http://www.idtechproducts.com/products/mobile-readers/138.html

Shuttle: http://www.idtechproducts.com/products/mobile-readers/141.html

We have more recently also updated our audio jack reader options to include the UniPay reader: http://idtechproducts.com/products/mobile-readers/emv

21.How do I know if my phone is supported or not?

A: For supported phone list of mobile readers, please refer to the link on ID TECH website under [Products] à [Mobile Readers].  A list of device common name, OS version (which was tested by ID TECH), and the carrier will be available.

22.What SDK is provided by ID TECH for mobile readers?

A: ID TECH provides SDK for both UniMag family readers (UniMag, UniMag Pro, UniMag II and Shuttle) and iMag family readers (iMag, iMag Pro and iMag Pro II).

iMag and iMag Pro (II) share the same SDK which is written in Objective-C and present with static library format. Readers in UniMag family share the same SDKs. ID TECH currently provides SDKs for three platforms: iOS (Objective-C with .a static library file), Android (Java with Jar file) and Blackberry (Java with Jar file).  The UniPay series uses the Universal SDK.

23.Why do I need the SDK for mobile readers?

A: To integrate your application with our mobile readers, you will need the SDK, which will make development process much easier. The SDK provides necessary APIs for an application to detect reader connection, get card data from the reader, or power up reader (if UniMag family readers are used). The SDK package also includes a piece of demo application for customers to verify the functionality of the reader.

Please note that the SDK does not include a feature to decrypt card data. The whole encrypted data block (from STX 0x02 to ETX 0x03) will be passed to the application. Therefore, customer’s application will be responsible for parsing designated fields (such as encrypted track 1 data, encrypted track 2 data and KSN) and handling decryption process.

24. What data should I expect from the SDK on mobile readers?

A: The SDK will output complete card data in either clear text or encrypted format depending on whether or not the reader is encrypted with a secure key. ID TECH currently doesn’t provide APIs for an application to extract a specific field such as card number and expiration date. An application will need to parse the data by itself.

iOS SDK also embedded a format filter to ensure data integrity. Start and end sentinels will be verified for non-encrypted data; while checksum and LRC will be verified for encrypted data. When the card data doesn’t match either format, a bad swipe message will show.

25. Why does UniMag Pro reader work in UniMag Utility but not ID TECH UniMag Demo?

A: There are two ways to power up the reader.  One is by power up the string and the other is through command.  ID TECH UniMag Demo is set to power up the reader through command by default.  Therefore, UniMag (ID-80110001) and UniMag Pro (ID-80110004) will receive timeout error if [Settings] à [Command to Connect] is enabled because the two models do not support bi-directional communication.

It is not required to enable “Command to Connect” when testing UniMag II (ID-80110008) and Shuttle (ID-80110010) in ID TECH UniMag Demo since they support commands.  Our Android apps use auto-connect per an insertion-event API, and the iOS app also enables the use of auto-connect but retains a connect by command option.

26. My application is able to decrypt data from UniMag Pro successfully. However, it fails to decrypt data when working with UniMag II or Shuttle.  Why is that?

A: The encrypted output formats of the two sets (UniMag/UniMag Pro vs. UniMag II/Shuttle) of the reader are different. Customers may refer to the manuals of the two sets of the reader for more details.

  1. UniMag II/Shuttle does not support hashed data; while UniMag Pro does. à The status is determined by Field 9.
  2. UniMag II/Shuttle supports outputting serial number; while UniMag Pro does not. à The status is determined by Field 8.
  3. Session ID is supported by UniMag Pro when the security level is 4. à The status is determined by Field 9.

27. Why the audio jack reader works on other mobile device but not on my Apple device?

A: UniMag reader requires the mobile device to output stereo audio in order to function. Please make sure the [Mono Audio] setting under [Settings] à [General] à [Accessibility] à Mono Audio is disabled.

28. UniMag Utility Autoconfig Walkthrough for Android

A: In order to run autoconfig and send the data to ID TECH, you must use the UniMag Utility. It is found on the app store under the search term "ID TECH UniMag".

29. is there a command I can send to the reader to disconnect ? How about restarting it ?


There is no command to disconnect an audio jack reader, other than unplugging it from the headphone jack. There is no command to reboot/restart the reader.

After downloading the app, open it and select a reader.

Now open the setting menu. This varies per device but it is usually one of the main buttons or in the bottom of the screen when using the utility.

Once open, choose Settings and select the option, "Start Autoconfig". This should begin the process. It will count up from 1% until finished.

If successful, the reader will be powered and the app will return the serial number.

If so, you should take a minimum of three test swipes to provide sufficient data to ID TECH. Swipes can be started by pressing the Swipe Card button, after which, a popup will appear waiting 20 seconds for you to swipe. A good swipe with non-encrypted data should look something like the picture below.

A good swipe with encrypted data should look something like the picture below.

If you make three good swipes, press the Email button to send the data to ID TECH. You must have an email account already set up on the device. Ignore the questions and choose to send the email, this will send an email with attachments to ID TECH.

We need the .wav, .txt, and the autoconfig.data in order to verify the device is supportable and add it to our list. Please note that our list is published once a month, usually at the end of the month. Your device will typically not be functional with a live production app until our list has been updated. However, if the product app has the .xml included in the files, you may be able to replace it with the updated .xml from testing. In many cases, this file is complied into the source code so you much wait for the update.

29.UniMag Common Issues for iOS SDK

A: iOS has a few potential settings which can cause the UniMag not to work. When a device fails to connect or read, please check the following settings to make sure they are correct.

1. Privacy: Please go to the privacy menu in the settings and check for microphone.

Ensure that any app which uses the UniMag reader is set to green.

2. Mono Audio: Please go to settings, general, accessibility to check the mono audio setting.

This should be turned off and is in the hearing section of this list. Also, check the left-right balance just below this to make sure it is in the center.

3. Volume limit: The iOS device can be set to limit volume from the music app. To check this, please go to settings and scroll down until you find the music app (picture of a red music note).

In this menu, check the Equalizer and Volume Limit settings to make sure they are both turned off.

4. Restrictions. If this is turned on, you need to make sure microphone access or audio settings are not incorrectly set with access denied.

If all of these settings are correct and the reader still does not work, please make sure you have checked function in the ID TECH demo. It can be found on the app store under the terms "ID TECH UniMag". You may also try the same reader with a different device, just to be sure that the problem is not specific to that mobile device.

30. Does the UniMag iOS SDK support ARM 64?

A: Yes, starting with SDK version 7.9, the UniMag SDK for iOS has 64-bit support.


See also:

There is no content with the specified labels

2 Comments

  1. Jackson Grimm, please update this article. I notice some on the information is no longer accurate like the instructions for getting the SDK.


    Gavin

  2. Thanks for the reminder Gavin Means!