EMV tags

82 Application Interchange Profile (AIP)

Tag82
NameApplication Interchange Profile (AIP)
Format and lengthb 2
SourceCard
Where you see itReturned in the GET PROCESSING OPTIONS response; covered by the cryptogram

The Application Interchange Profile is two bytes the card returns in its GET PROCESSING OPTIONS response, together with the AFL. It tells the terminal which functions the card supports, and so which steps of the transaction the terminal should run.

Byte 1

  • b8: reserved
  • b7: SDA supported
  • b6: DDA supported
  • b5: cardholder verification is supported
  • b4: terminal risk management is to be performed
  • b3: issuer authentication is supported
  • b2: reserved in the contact specification; used by some contactless kernels
  • b1: CDA supported

Byte 2 is reserved for contact transactions. Contactless kernels use some of its bits; for example Kernel 2 uses them to signal EMV mode and relay resistance protocol support. Check the kernel specification for the exact meaning.

How the terminal uses it

The terminal reads the AIP before doing anything risky. If the card supports CDA and the terminal does too, it performs CDA; otherwise DDA, then SDA. If bit 5 is clear, the terminal skips cardholder verification. If bit 4 is set, it must run terminal risk management even for amounts under the floor limit. The AIP is also included in the data covered by the Application Cryptogram, so the issuer can detect if it was altered in transit.

Example

82 02 3C 00: the card supports DDA, cardholder verification and issuer authentication, and asks for terminal risk management. It does not support SDA or CDA.

Common mistakes

  • Choosing the authentication method from the AIP alone. The terminal's own capabilities in 9F33 matter too.
  • Applying contact meanings to byte 2 of a contactless AIP.
  • Expecting the same AIP from the contact and contactless interfaces of one card. They are often different.

Decode a value

Open in the TLV parser

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.