/
Service Code and L2 common Kernel

Service Code and L2 common Kernel

What matters is that first digit of that service code. The "2" means there is an ICC chip. Also a "6" means there is an icc chip.

When you are doing an emv transaction, and swipe a card, the kernel will check this, and if it sees a "2" or "6" on the service code, it will "MSG_USE_CHIP_READER".

The only way the kernel will allow you to capture track data is if it could not read the ICC chip as a first attempt, then it will tell you to USE_MAGSTRIP, but this time it won't check the service code.

If you start your transaction as MSR swipe, and you want to know the service code, if your unit is unencrypted, you can evaluate track 2. But if your unit is encrypted, that data may be masked. In both cases, we expose a flag in the data that is being returned "ICC PRESENT", which is our firmware telling you it found a "2" or "6" on the service code before it masked it.

For EMV transaction, if you want to know the service code, you evaluate tag 5F30



See also:

Fall back flow with L2 common Kernel

Credit Card Service Code Chart

80000502-001 ID TECH Encrypted Data Output Formats

EMV Transactions with Universal SDK

Related content

EMV transaction, how was the card presented (Swiped, Tapped or Dipped...MSD, Fallback)?
EMV transaction, how was the card presented (Swiped, Tapped or Dipped...MSD, Fallback)?
More like this
Cryptogram and EMV Transaction Flow
Cryptogram and EMV Transaction Flow
More like this
Contact EMV Transaction, Phase 3 of 3: Complete Transaction
Contact EMV Transaction, Phase 3 of 3: Complete Transaction
More like this
Fall back flow with L2 common Kernel
Fall back flow with L2 common Kernel
More like this
What are all the possible EMV "result codes"?
What are all the possible EMV "result codes"?
More like this