All Tools
Tools/POS Terminal EMV Config
🖥️
EMV & ChipBeta

POS Terminal EMV Config

Reference for EMV tags and parameters required in POS terminal configuration, organised by payment scheme (Visa, Mastercard, Amex, JCB, Discover, UnionPay) and contactless kernel.

Payment Scheme
Interface
AID(s)
A0000000031010A0000000032010A0000000033010
App Version (9F09)
008C
TagNameStatusFormatLengthExample ValueNotes
9F1ATerminal Country CodeMandatoryn20840ISO 3166-1 numeric code. 0840=USA, 0826=GBR, 0276=DEU, 0036=AUS.
5F2ATransaction Currency CodeMandatoryn20840ISO 4217 numeric code. 0840=USD, 0978=EUR, 0826=GBP, 0036=AUD.
9F35Terminal TypeMandatoryn122First digit: 1=attended, 2=unattended. Second: 1=offline only, 2=online+offline, 3=online only. 22=attended POS, online capable.
9F33Terminal CapabilitiesMandatoryb3E068C8Byte 1: card data input (IC=0x20, MSR=0x40, keyboard=0x80). Byte 2: CVMCardholder Verification MethodHow the cardholder is verified — for example offline PIN, online PIN, signature, or no CVM required.View in glossary → (Sig=0x40, offline PIN=0x08, online PIN=0x20). Byte 3: security (CDACombined DDA / Application Cryptogram generationThe strongest offline authentication: the card signs the dynamic data and the transaction cryptogram together in one step, preventing tamper (“wedge”) attacks.View in glossary →=0x08, DDADynamic Data AuthenticationOffline check where the card signs unique, per-transaction data with its own private key — proving the chip is genuine and not a clone.View in glossary →=0x40, SDAStatic Data AuthenticationOffline check where the terminal verifies a fixed issuer signature over static card data. It cannot prove the card is live, so it is vulnerable to cloning and replay.View in glossary →=0x80).
9F40Additional Terminal CapabilitiesMandatoryb56000F0A001Byte 1: transaction types supported (cash, goods, services, cashback, inquiry). Bytes 2–5: terminal I/O capabilities.
9F15Merchant Category CodeMandatoryn25411ISO 18245 MCC per merchant. 5411=Grocery, 5812=Restaurant, 4111=Transit, 5541=Auto Fuel.
9F1CTerminal IdentificationMandatoryans812345678Acquirer-assigned terminal ID. Exactly 8 bytes, right-padded with ASCII spaces (0x20).
9F1EIFD Serial NumberMandatoryans8TERM0001Hardware serial assigned by manufacturer. Right-padded with spaces to 8 bytes.
9F41Transaction Sequence CounterMandatoryn400000001BCD counter incremented per transaction. Resets to 00000001 on rollover. Contributes to transaction unpredictability.
9F09Application Version Number — TerminalMandatoryb2008CMust match the scheme-certified contact version. Scheme-specific value shown in the panel above.
9F1BTerminal Floor LimitMandatoryb400000000Amount (minor currency units) above which the terminal must seek online authorisation. 00000000=always online. 00001388=50.00 USD.
9F6EForm Factor IndicatorOptionalb4D0000000Terminal form factor. Byte 1: 80=standard POS, C0=ATM, A0=self-service. Only required by certain scheme certifications.
TAC — DefaultMandatoryb5DC4004F800Visa Terminal Action Code Default. Controls offline decline conditions. Always verify the current value in the Visa Terminal Integration Guide (TIG).
TAC — DenialMandatoryb50010000000Visa Terminal Action Code Denial. Hard offline decline rules. Visa published default: 0010000000.
TAC — OnlineMandatoryb5DC4000A800Visa Terminal Action Code Online. Forces online authorisation. Visa published default: DC4000A800.
Threshold for Biased Random SelectionMandatoryn400001388Amount (minor units) for velocity random check. 00001388=50.00 USD. Transactions below threshold subject to random online selection.
Target Percentage for Random SelectionOptionaln10APercentage of transactions sent online randomly below the threshold. Visa default: 10% (0x0A).
Max Target Percentage for Random SelectionOptionaln119Max percentage for biased random selection above the threshold. Visa default: 25% (0x19).
Key
MandatoryMust be configured for EMV certification
OptionalConfigurable if supported by the terminal
ConditionalRequired only in specific scenarios (e.g. transit)
TAC values (rows with tag ) are non-TLV terminal parameters stored in the terminal's AID configuration file, not in a standard BER-TLV record. Example values are commonly cited scheme defaults — always verify against the current scheme Terminal Integration Guide before certification.
DF8xxx tags are proprietary contactless kernel tags. DF8117–DF811F are formally defined in EMVCo Book C-2 (Mastercard Kernel 2). Other kernels define the same logical parameters (floor limit, CVM required limit, transaction limit) but may assign different proprietary tag IDs in specific terminal SDK implementations — consult your terminal vendor's kernel integration guide.
Limit amounts in DF8xxx tags are 6-digit BCD in minor currency units. Example: 000000002500 = 25.00 USD.