If you want to reject a card with no ODA capabilities.
you can get ODA capabilities from the tag DFEF7F.
DFEF7F: 88 or 82: ODA performed and success
DFEF7F: not presnet or other value: Card not request ODA or ODA failed
Please refer to the definition for DFEF7F in details.
Bit 7 – ODA/Online performed: 1 performed, 0 Not performed
Bit 6 – RFU
Bit 5 – RFU
Bit 4 – RFU
Bit 3 – fDDA performed: 1 performed, 0 Not performed
Bit 2 – fDDA failed: 1 Failed, 0 Succeed
Bit 1 – SDA performed: 1 performed, 0 Not performed
Bit 0 – SDA failed: 1 Failed, 0 Succeed
The VISA kernel in our reader is VCPS(Online + offline) + Online ODA function.
For Transit transaction, if you want to get Online request + Online ODA.
Here is the recommendation config if do Visa transit transaction using the current Visa kenel:
TTQ: 27 00 40 00 (Online ODA support)
9F1B: 00 00 00 00 (Can go online)
For the transaction result:
Online request + DFEF7F(88 0r 82): Online ODA performed and success
Any result + DFEF7F(00) or DFEF7F not present: Card doesn't request Online ODA, this kind of card do not meed the requirment for transit transaction.
Declined + DFEF7F (Present and Not 88 or 82 or 00): ODA performed and failed.
For TTQ in transaction result, because our reader will go online, we will set Byte 2 bit 8=1 always whatever the setting is.
In Transit Spec, this bit can be 0 or 1. In VCPS TTQ byte 2 bit 7-8 is dynamically not static.