Why did it decline? TVR vs Issuer Action Codes
Compare a TVR against the Issuer Action Codes to see exactly which bit forced the decline or the go-online.
Runs entirely in your browser. Nothing you paste is uploaded, logged or stored.
The terminal ANDs the TVR against each Issuer Action Code. Any overlapping bit triggers that action. IAC-Denial wins outright; otherwise IAC-Online applies if the terminal can reach the issuer, and IAC-Default applies if it cannot.
How the decision actually gets made
Terminal risk management produces a TVR — a five-byte record of everything that looked wrong. On its own that changes nothing. The decision comes from comparing the TVR against three five-byte masks the issuer personalised onto the card:
IAC-Denial (9F0E) — any overlapping bit means decline offline immediately, with no attempt to reach the issuer. This is the issuer saying "never approve this, do not even ask me".
IAC-Online (9F0F) — any overlapping bit means go online and let the issuer decide. Most IAC-Online values are permissive, which is why the overwhelming majority of chip transactions go online.
IAC-Default (9F0D) — used only when the terminal cannot go online, either because it has no connectivity or because it is an offline-only device. Any overlapping bit means decline.
The order matters: Denial is checked first and is absolute. Only if no Denial bit matches does the terminal consider Online (if it can go online) or Default (if it cannot).
Terminal Action Codes
Terminals carry their own equivalent masks — TAC-Denial, TAC-Online and TAC-Default — configured by the acquirer per AID. In real processing the terminal ORs the IAC and TAC together before comparing. So if a transaction went online and you cannot see why from the IACs alone, the TAC is the missing piece. It lives in terminal configuration, not on the card, so you will need the acquirer's parameter download to see it.
Typical values
A common IAC-Denial is all zeros — the issuer declines nothing outright and wants to see
everything. A common IAC-Online is something like F870ACF800, which catches
offline data authentication failures, expiry problems, CVM failures and the floor limit. When
you see an IAC-Denial with bits set, it is usually SDA/DDA/CDA failure or PIN try limit
exceeded.
If the verdict says online but you saw a decline
Then the decline came from the issuer, not the terminal, and the reason is in ISO 8583 DE 39 — not in the TVR at all. The chip data tells you why the transaction went online; the response code tells you why the issuer said no. Two different questions with two different answers.
More EMV chip tools
TLV parser
Paste BER-TLV hex and get a decoded tag tree with EMV names, formats and nested templates.
Bit fields
Decode TVR, TSI, AIP, AUC, CID, CVM Results, Terminal Capabilities and the contactless qualifiers.
CVM list
Break tag 8E into its X and Y amounts and the cardholder verification rules, in priority order.
Status words
What 9000, 6A82, 6985 and the rest of SW1SW2 actually mean.
AID lookup
Application identifiers to scheme and product — A0000000031010 and friends.
EMVCo QR
Decode a merchant-presented QR payload and verify its CRC.