IDTech Unimag Card Reader Plugin


Hey there!

Just wanted to put it that there for anyone interested in using a physical reader/swiper to capture credit card data (name, number, expiration), I just finished writing the first reliable plugin for both Android and iOS!

Unfortunately, it won’t work with just any card reader. Only the IDTech Unimag Swipers (original, pro, II, and shuttle) are supported. However unlike the other half-finished or undocumented IDTech plugins floating around, this one actually works and is easy to use.

Hope it helps you!


Hey Elizabeth,

Thank you very much for doing this! it’s a great help as it is very hard to find a working plugin out there.

I was wondering, did you every test it with IDTech UniPay device?

I’m new to ionic and I’m trying to create one and was wondering if there is any way you can help me with creating one?

thanks Again!


Hi there,

Unfortunately, to my knowledge, although the UniMag II does share an SDK with the original UniMag, UniMag Pro, and Shuttle readers, the UniPay reader has its own SDK. If you can obtain both the UniMag II and the UniPay documentation (available on the ID Tech website), you may be able to spot the differences and add support for it quite easily.



Hi Eli,

Thanks for responding!
I do have the UniPay doc and SDK (i bought a device from IDTech), but not sure where and how it will be best to add them in your project (quite sure i’m not good enough to spot :wink: )
Any help you can provide will be highly appreciated!!
Thanks in any case,



Hi Ram,

Sorry, it’s a little hard to advise you on where to add things when I don’t know what you will need to add. Just compare your documentation to what you see implemented and adjust as necessary. If you want to fork the plugin on GitHub, I can take a look at what you’ve done and see if I can be of any real help.


Hi Elli,

I’m getting an 'undefined is not an object(evaluating ‘cordova.plugins.unimag.swiper’) in the console and when I debug I can see that in the cordova.plugins.unimag.swiper.activate(); function, that unimag is undefined. I have downloaded the plugin to my project using the command line and it lives in the same folder with the rest of my cordova plugins. Normally, I need to call the dependency of the plugin into my controller, but for some reason, I’m not seeing any documentation on what the dependency would be named. I’m not sure if this is the issue, but just trying to debug. Any ideas? Thanks for the plugin.


Hi, I’ve got the plugin working nicely, but I"m wondering about the unimag reader staying connected. I can run the function and take card information, but it seems pretty sporadic as to how is stays connected. Sometimes it does and others (when i run a subsequent order), the reader needs to be removed and reinserted. Is there a function that I can run to check to see if the device is activated and if not, then activate the reader so the user does not have to unplug and then replug the device?

I have the cordova.plugins.unimag.swiper.activate(); as part of my $ionicPlatform.ready() function, but still seems the device has to be replugged. Other than this issue, plugin works great.




have you had any experience with magtek sdk?



I am on the latest version of ionic (3.4.2), is this plugin suppose to work with it?
I am getting errors when running “cordova plugin add…”.
I have the iMag Pro II, is it possible to make it work with ionic3?

any direction will be greatly appreciated.




did you find something?


Nope. I found a device I can talk with using tcp packets.


can you share what you did ? i want to make a reader using another device that is not IDTech , and i dont have good luck