Update 09/16/2017: Please see here for the most current information in an easy to read, FAQ format. Though this blog post still has great information for users who like the technical explanations.
I wanted to give you a long overdue update on chip card (EMV) support in REV23 Desktop. It’s kind of long, so buckle in.
It turns out, this support is way more complex than I imagined; and the short story is this: I can’t integrate chip card support the way I originally planned. BUT DON’T PANIC! This is a good thing, and I'll explain why.
Let’s briefly review how credit cards currently work in REV23 Desktop. This integration was done about seven years ago, in a much different credit card landscape. REV23 uses a direct integration, meaning we talk directly to the processor, without a middle man or gateway. So as long as your processor used one of the two platforms we supported, you could process credit cards from the software. REV23 Desktop handles the authorization of credit cards, as well as batch settlement and acts as a credit card terminal. As a result, there are details stored in each user’s REV23 Desktop database about these transactions, including credit card numbers, although they are encrypted in there.
To be honest with you, I’ve never loved this integration. Actually, it’s given me quite a bit of gray hairs over the years. Being responsible for credit card data and transactions is a big responsibility, and while I was happy to do it to make REV23 users happy, I always kind of hoped I could remove that burden from REV23 software. However, the reality was, there was no path for me to remove this integration. Too many users depended on it, and functionally, makes a lot of sense to be in the software. So, this integration would just have to stay, unchanged, until one day, some disruption large enough would happen that required a shift in how the software behaved. Enter EMV.
My original understanding, and plan to support was incredibly basic. Simply find a compatible USB device that supported chip cards, add support for it, and send that transaction over to the processor like I always had, with just some minor changes necessary to the code to read the chip data. Well, this plan simply can’t happen. The main reason is that REV23 itself would have to become EMV certified, a process that could take up to a year and cost us a lot of time and even more money. Additionally, it’s not as simple as just each of you buying a new compatible device. These EMV devices need an encryption key pre-loaded onto them by the processor before they're even sent to you.
Once I wrapped my head around all of this, it became clear… REV23 needed to move to Plan B. Luckily, plans exist for those just like us, in what is known as a semi-integrated solution. And truth be told, I like Plan B even more than I liked Plan A.
Basically, REV23 Desktop itself will no longer be in charge of credit card transactions. Instead, when you click the button to process the credit card, it will kick over to your new EMV compatible terminal, which will process and store the transaction, then send the result back to REV23. So, from the integration point of view, not much will change. But from the technical point of view, we no longer have to be responsible for these transactions or worry about PCI compliance, and for us, that’s great news.
This also has the potential to open up more functionality that you’ve wanted from REV23 but we couldn’t or didn’t want to support. Things like Apple Pay, paperless credit card receipts, auto-batching, and more, all become possible because you’re just dealing with this terminal instead of REV23 Desktop. We just initialize it, then get data back from it, very similar to how we deal with the signature pad and document scanners.
So that’s the good news! EMV support is coming, and is planned to be as soon as possible. It will work cleanly, and give you capabilities you’ve been asking for.
The catch here is support for the old transactions. REV23 Desktop v17.x will be the last version to support credit card transactions as you know them before we make the switch over. Mostly due to licensing as well as reducing complexities in our code, the plan is to just make the shift with no backwards compatibility. This means a couple of things:
Before you upgrade to the version that will support EMV, you will need to settle your credit card transactions. Because once you update, you won’t be able to do anything with those old ones.
If you don’t care about processing with EMV and want to stick with the old way (a bad idea), you will not want to upgrade at all and will just be stuck on your existing version.
Refunds become somewhat of a gray area. Theoretically, you should be able to use the new terminal to just add money to any card, so we shouldn’t need to refund it the same way you took it. But, in all honesty… I don’t know. You may need to be prepared to refund cash or in-store credit for previous credit card transactions.
You will need to acquire a compatible device from a company that is not REV23. As soon as we have more details on exactly what device that is and where to get it, we’ll let you know so you can start getting prepared. Please do not buy anything yet. This will be a very specific device and solution that is supported on our end, just like the signature pad.
So, there you go. I’m excited about this and I think you will be, too. There is still some work to do, and things to shift around, but I wanted to give you this update so you know where things stand. We’ll update you with more info soon!