9F27 Cryptogram Information Data (CID)
| Tag | 9F27 |
|---|---|
| Name | Cryptogram Information Data (CID) |
| Format and length | b 1 |
| Source | Card |
| Where you see it | Returned in the GENERATE AC response; sent online in field 55 |
The Cryptogram Information Data is a single byte the card returns with every GENERATE AC response. It tells the terminal which type of cryptogram the card produced, and so what the card decided: decline, approve offline or go online.
Reading the byte
- Bits 8–7, cryptogram type:
00AAC (decline),01TC (approve offline),10ARQC (go online),11reserved. - Bits 6–5: payment system specific.
- Bit 4: advice required.
- Bits 3–1, reason or advice code:
000no information,001service not allowed,010PIN try limit exceeded,011issuer authentication failed, others reserved.
So 00 is an AAC, 40 a TC and 80 an ARQC.
Where it fits
The terminal requests a cryptogram type in the GENERATE AC command, based on terminal action analysis. The card may return the same type or a more conservative one: it can answer an ARQC request with an AAC, but never answer an AAC request with a TC. The CID is how the terminal learns what the card actually did. In a format 1 response (template 80), the CID is the first byte of the response data rather than a separate TLV object.
Example
9F27 01 80: the card returned an ARQC. The terminal must send the transaction online, with the Application Cryptogram in 9F26, for the issuer to decide.
Common mistakes
- Testing the whole byte against
80instead of masking bits 8–7. A value of88is still an ARQC, with the advice bit set. - Assuming the card returned what the terminal asked for.
- Missing the CID in format 1 responses because it has no tag there.
Decode a value
Related
Bit definitions follow EMV Book 3 for the contact kernel unless stated otherwise. Always check the EMVCo and payment scheme specifications that apply to your project.