-FAQ: QuickChip Keyboard (QCKB) - Implementation & Integration
Premise:
This is a FAQ for what QuickChip Keyboard is, how the implementation typically goes, and several certification related scenarios.
This is intended for more technical related folks.
For more information, please consult our support team at support@idtechproducts.com
What is QC KB?
QC KB = Quickchip keyboard emulation. This allows a traditional POS that uses keyboard input to be compatibale with some of IDTECH's newer device offerings that can output both magstripe and EMV compliant data as keyboard strokes.
This is typically used in conjunction with a VPOS - virtual POS. These types of POS usually exist in the form of a web page served from a web browser.
Why QC KB?
This reduces the amount of complexity required for integration, and also reduces the time needed for cert. The solution complexity and time complexity drop, and the user experience / setup is easier.
What products support QC KB today?
As of , the Augusta and VP 3300 devices support QC KB - quickchip keyboard emulation.
How do we deal with the scenario that an ICC card is swiped?
How is the user going to be able to make a choice / select the appropriate application to handle the card?
How will a terminal deal with combo cards (containing credit AID + debit pair)? How does the data coming from the reader trigger this type of user interaction (to select credit/debit)?
The terminal setting 5C that we use for the KB QC will defer to the card's highest priority. As the Augusta and VP 3300 doesn't support PIN entry, if the card's highest priority is Debit, the kernel will instead select the next possible priority, which would be Credit, and proceed onward with that. So to fully answer that question: When the Augusta is in Keyboard Quick Chip mode, there won't need to be a trigger for user interaction as the choice is made by the Augusta's kernel before the data is output to, for example, a Virtual Terminal Application. Bottom line, there is no easy, built-in way to support PIN debit with Augusta. We have other products that can handle PIN debit more conveniently.
What are the supported AIDs for the device? What is actually going on in the background, then?
There is no concept of “supported AIDs” as far as the device kernel is concerned. An AID file is just a configuration file, or a data file, with a file name representing an AID name (either partial or full match), and data that will override terminal data or add to terminal data for that transaction. Our kernel as of supports up to 16 of these files (future rev’s will support more slots).
The kernel doesn’t review or make decision on any AID file nor have any mechanism to know if an AID file is meant for debit, credit or some other function.
Once the device loads the highest priority AID, it will then have the CVM list for that application. After CVM is complete, the TVR (Terminal Verification Results) will have the outcome, if CMV passed/failed and which CVM this happened on. These results are compared to the Terminal Action Codes to determine if the terminal should decline/approve offline (assuming an offline capable terminal) or go online for host approval. In the overwhelming majority of cases, the card will provide "go online" advice.
What if the card requires cardholder confirmation?
Any card that requires cardholder confirmation will be terminated by the device kernel while the Augusta is in QC KB mode.
This means that Quick Chip KB cannot support cards under Durbin requirements, and the user will need to use another card that does not require cardholder confirmation.
However, Quick Chip (the specification) can allow for card holder confirmation. In that case, it’s not as quick, as you need to wait for the confirmation, but it is not prevented. It is similar to CVMs. You can have Quick Chip and support offline PIN. Many of these "alternative scenarios" will need to be implemented yourself, with Augusta in USB HID mode. Out of the box, Augusta in keyboard mode does not support any interruption in the Quick Chip EMV sequence. The entire sequence, from ATR to Gen AC, runs uninterrupted. There is no way to pause it, then start up again.
Our implementation of Quick Chip with Augusta in KB mode is a "No CVM" configuration.
To support Quick Chip WITH card holder confirmation, our customers can use Augusta in HID mode, with configuration 2C. This allows cardholder interaction (Language, what application to pick [Credit or Debit, Common AID or Card brand AID for Debit], …) when there is a need for it.
At a high level - if you require cardholder confirmation, you will need to instead do your own implementation of Quick Chip from the application layer, which all of ID Tech's devices with our L2 Common Kernel do support, in configuration 2C.
Contributors:
Randy Palermo, Eric Lecesne (Deactivated), Kas Thomas (Deactivated), Jason C (Deactivated)