FAQ: Mobile Card Readers

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

A: Most SDKs are available free of charge in our Knowledge Base. Find your product's "Home" page to find what SDKs are 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, and Blackberry devices, manuals, and other technical documents. 

2. What software can test the UniMag with an Apple device?

A. Download the ID TECH UniMag Reader Demo from the App Store to verify reader performance.

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

A: Download the ID TECH UniMag Reader Demo from the 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. 

4. Is there a test application that can test my mobile reader with Android devices?

A: Customers can download the ID TECH UniMag Demo from Google Play. Another test application, UniMag Utility, can also test and send log files to ID TECH for further troubleshooting.

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

A: Download and install the UniMag Utility (see FAQ #5 above) and follow the steps below to test the UniMag with your phone.

1. Remove the 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. Tap the Swipe Card button and swipe a credit card.
5. Verify the card data on the screen.

Customers can tap the Email button to send log files to ID TECH if the reader fails to read a credit card.

6. How do I stop input in an application after a swipe to prevent battery usage?

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

7. 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 only as a reference and we are not able to support or answer any questions about it.

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

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

9. Can the mobile reader output the card data directly into a web page?

A: No. The ID TECH mobile reader is not keyboard-emulated; therefore, the data can 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 text fields on the web page.

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

A: Download the 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 via the Email button.

11. Your hardware supporting list shows the reader works with a previous OS version; will your reader work with mobile devices loaded with a later OS version?

A: We expect the reader to work with later OS versions if there is no significant change made to the OS. Customers can download the UniMag Utility from Google Play and send log files to ID TECH if any error messages occur. We suggest you try it.

12. How do I test with a revised XML file?

A: Use the following steps:

  1. Download the ID TECH UniMag Demo from Google Play.

  2. Copy the revised XML file onto the SD card or download the file onto the phone via an email client application.

  3. Launch the ID TECH UniMag Demo application.

  4. Get to the Menu, select Settings, and select Reload XML. Browse to the location where the revised XML file is saved and tap the Select button.

  5. Plug the reader into the audio jack.

  6. Tap Swipe Card and swipe a credit card.

Note: To avoid having to reload the new XML file each time you start the app, you can rename the XML file name to IDT_uniMagCfgx.xx.xml (for example, IDT_uniMagCfg1.15.xml) so the demo can locate this profile setting file in the tablet's internal memory. If there is already an XML file with the same filename in the tablet's internal memory, replace that file with your new XML file.

13. Can I try to modify the XML file for a mobile device not on your supporting list to try to 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 the profile for a similar model works on the unsupported device. For example, customers may try to apply the profile of Sprint HTC EVO 3D (PG86100) to the PG86310. However, we cannot guarantee it will work.

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 with the XML file to see how it works

14. How do I get a mobile reader injected with the key it needs to output encrypted data?

A: Although ID TECH mobile readers are not encrypted by default, they all have encryption capability. Your processor or gateway determines the encryption key. They can specify the required AES or TDES key. Both cases use DUKPT for key management. 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 can also generate a private encryption key for your use only. This involves sending the several key parts we have generated to your processor. The units must be injected at a PCI-certified Key Injection Facility and 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.

15. I tried to generate a profile for an unsupported Android device by applying the profile from a similar model, but it did not work; what other options do I have?

A: Customers can download the ID TECH UniMag Demo from Google Play and run Settings > StartAutoConfig to see if the app can generate a profile for the unsupported Android device. However, AutoConfig may not work on every Android device. Contact the sales team (sales@idtechproducts.com) if AutoConfig fails to find a profile for the device. Sales can arrange further resources from our development team to manually create a profile for the unsupported phone or tablet.

16. 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?

A: The UniMag Pro (ID-80110004-XXX) does not support Samsung Galaxy Nexus (GALAXYNEXUS) phones. However, UniMag II (ID-80110008-XXX) and Shuttle (ID-80110010-XXX) do support that phone. The configuration file (XML) is shared among different UniMag family readers. There might be some supported models included for testing purposed by the development team. Always refer to the supported phone list on the ID TECH website.

17. Can I use an adapter 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; we do not recommend using it because we are not able to guarantee the reading performance.

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

18. Is the Key Value shown in the decryption section of the Shuttle PC Demo the Initial Derived Encryption Key or the Derived Key that is 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 the KSN counter increases.

19. 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 generation after UniMag. Both readers read three-track data, but there are a couple of differences between the two. First, UniMag Pro supports more phones than UniMag. Find the supported phone list on the link below. Second, UniMag Pro includes embedded batteries in the hardware design, mainly to ensure certain phones give the reader sufficient power to work properly. If the application focuses on Apple devices or any phone on the UniMag supported list, UniMag can still be a good choice. Finally, UniMag Pro is the only reader of these two choices for the Blackberry platform.

20. 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 the 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.

21. 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.

22. 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.

23. 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.

24. 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 by 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 a 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 the 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.

25. My application can 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 readers 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 numbers while UniMag Pro does not. à The status is determined by Field 8.

  3. The session ID is supported by UniMag Pro when the security level is 4. à The status is determined by Field 9.

26. Why does the audio jack reader work on other mobile devices but not on my Apple device?

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

27. UniMag Utility Autoconfig Walkthrough for Android

A: To run auto-config 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".

28. 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 must wait for the update.

28. UniMag Common Issues for iOS SDK

A: iOS has a few potential settings that 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 the 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.

29. 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:

Filter by label

There are no items with the selected labels at this time.