When I was working on an EMV terminal integration project for a merchant acquiring platform, one of the most confusing things for me at first was this: why do some EMV card transactions go through even if the terminal is not connected to the host? And why do others require host approval every time?
It’s what they call offline vs online EMV transactions, two paths that look very similar on the surface but work quite differently under the hood.
If you’re like me back then, scratching your head trying to understand the difference so you can explain it to your team or your client, this post is for you. Let me share what I’ve learned based on my own hands-on experience and a lot of late-night reading.
Quick Recap: What’s EMV Again?
Before diving into offline and online processing, let’s make sure we’re on the same page.
EMV stands for Europay, Mastercard, and Visa, it’s the global standard for chip card payments. Unlike magnetic stripe cards, which store static data, EMV cards have chips that perform cryptographic checks with each transaction. This makes it much harder to clone a card or tamper with it.
I already wrote before about how EMV transactions flow step by step (you can check it here: Step-by-Step Breakdown of an EMV Transaction).
In that post, I also mentioned how the terminal communicates with the card, then to the host. But what if the terminal cannot reach the host? That’s where the difference between offline and online comes into play.
What Does “Online” Mean in EMV?
Let’s start with the easier one.
An online EMV transaction is when the terminal always contacts the issuer (through the acquirer/host) to request approval for the transaction.
The steps usually look like this:

Why do we need online approval?
Because the issuer is the only one who really knows the current status of the card and the cardholder account. For example: does the card have enough funds? Has it been reported stolen? Is the cardholder over their credit limit?
In our project, this was the default mode we configured in the acquiring platform. Every purchase request was sent to the bank host for decision-making.
What About “Offline” Transactions?
Now here’s where it gets interesting.
In an offline EMV transaction, the terminal and the card decide together whether to approve or decline the transaction without asking the host.
Yes, really.
The EMV chip can actually evaluate some rules (like offline limits, usage counters, risk checks) and generate a cryptogram called TC (Transaction Certificate) which essentially means: “this transaction is good, you can settle it later.”
Why allow offline transactions?
When we rolled out terminals in areas with poor connectivity (like rural locations), some merchants were frustrated because their machines kept failing due to lack of signal. So we configured some cards and terminals to allow offline approvals within certain limits.
For example:
- If the amount is below 1,000 pesos.
- If the card offline counter is not exceeded.
- If the risk management checks pass.
This way, the merchant doesn’t lose the sale even if the host is unreachable at the moment.
How Do Cards and Terminals Decide Which Path to Take?
Here’s the part that was confusing to me at first.
It’s not only the terminal deciding, and not only the card deciding. Both have some say.
The EMV standard defines a process called Terminal Risk Management and Cardholder Risk Management. The terminal checks if the conditions are okay for offline approval. The card has limits and counters written in its chip memory that can say: “No, sorry, I refuse offline approval, force online.”
If either side says online is required, then the terminal has to try to go online. If it cannot connect, the transaction is declined.
In our project, we had to coordinate with the issuing banks to configure their card profiles (on the chip) to allow offline approvals up to certain amounts. Otherwise, the terminal would always have to go online.
Comparison Table: Offline vs Online EMV
Feature | Offline EMV | Online EMV |
---|---|---|
Host Contact | No | Yes |
Speed | Faster (no host delay) | Slower |
Risk Level | Higher (issuer finds out later) | Lower |
Connectivity Required | No | Yes |
Use Case | Poor coverage areas, low-value purchases | High-value, fraud-sensitive transactions |
Real-Life Examples
- Buying bread at a corner store: offline approval is fine because the amount is small, and the merchant trusts the risk is low.
- Booking an expensive flight ticket: online is mandatory because the risk is higher.
In one project I worked on, we had to support both modes and make sure the terminal could automatically decide based on the card’s application control flags and the merchant’s configuration.
I remember one merchant calling me saying: “Why my machine still asks for online even though our area has bad signal?” Turns out the issuer had set the card to “always online” in the chip profile. So we couldn’t override it on the terminal side alone.
Offline vs Online Decision Flow

This simple flow helps visualize how the terminal and card negotiate the decision.
Which One Is Better?
Honestly, neither is “better.” Both have their place.
- Online EMV is safer for the issuer and merchant, because the risk is checked in real-time.
- Offline EMV is convenient for the merchant and cardholder, but comes with slightly higher risk if the card is bad.
As a developer or system integrator, you’ll have to support both in your terminals or acquiring platform, depending on your merchant needs and issuer configurations.
Sources & Further Reading
Here are some references that helped me when I was studying this topic:
- EMVCo, EMV 4.3 Specifications, www.emvco.com
- Visa, Visa Smart Debit/Credit Card Specifications, https://usa.visa.com
- Mastercard, M/Chip Requirements, www.mastercard.com
- ResearchGate, EMV Transaction Flow, https://www.researchgate.net/publication/343566721
- CashlessNomad Blog Article: Step-by-Step Breakdown of an EMV Transaction, https://cashlessnomad.com/step-by-step-breakdown-of-an-emv-transaction/
Final Thoughts
I hope this clears up the difference between offline and online EMV transactions for you. I know how confusing it can be at first when you’re looking at cryptograms, counters, and risk flags.
For me, working on that project gave me a new appreciation for how much thought goes into even the smallest card purchase. It’s not magic, it’s just very good engineering.
If you have questions about implementing this in your own system or how to configure your terminals, feel free to reach out. Always happy to share what I’ve learned.