Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Edit: this is not entirely correct; transactions may go online or stay offline, depending on amount and connection speed. See comments below.

It might depend on where you are. Where I am, in the UK, chip card transactions are quite fast. Fast enough to use contactless (tap and go a.k.a. "pay by bonk") where you literally just tap your card on the pinpad and go on your merry way [1].

The difference is that in the UK, transactions are not immediately sent online. I repeat: they're not immediately sent online. So you don't have to wait for the merchant to contact the acquirer, for the acquirer to respond and so on and so forth.

Instead what happens is that you dip, or swipe, or tap your card; the pinpad and the card figure it out between themselves whether you are the rightful owner of the card; the pinpad makes a record of the transaction; and you're told the transaction is "approved", then pick up your goods and go home. Later in the day, the merchant (i.e. an automated process at the store) sends an overnight "batch" of transactions to the acquirer, (i.e. the bank or credit network etc) and the acquirer either transfers the funds directly to the merchant, or blocks out the funds so you can't use them again and they can be transferred to the merchant later.

That's the EMV standard in a nutshell and entirely from memory, with a distance of a good few years from the time I worked for an EMV vendor (we sold a bit of EMV software that went on the Point-Of-Sale machine and handled all of the above). I might be misremembering a few things but I believe the above is mostly accurate.

tl;dr: having to go online for each and every transaction takes forever.

___________

[1] Or of course sometimes do a double take, realise the transaction hasn't gone through, tap again, eyball the pinpad, then possibly insert or swipe etc. Sometimes it doesn't work.



I'm still a little unsure about all the details in the UK, but I know that in at least some cases the process you describe isn't entirely accurate. I mostly use a card from Monzo (https://monzo.com) and I get a mobile push notification on every use – almost always within seconds of the transaction. This would seem to be a requirement for prepaid cards, at least, because otherwise overspends would be possible.

I seem to remember that there is a whole class of cards which are coded as 'online only', meaning that transactions will fail unless they're taken online. The only place I've frequently seen this happen is on trains, where the mobile equipment is sometimes not capable of online transactions, or doesn't have a signal.

Anyway, the point was that these transactions don't appear to be any slower than with any other card I've used, so I'm not totally sure that the speed really is down to not being online.


Uhmmm I'm fairly certain that's not entirely correct. There may be terminals which batch transactions and send them later, but in most cases you can even see the terminal going "connecting to <bank> servers" and only after it obtains the connection it authorizes the transaction. Larger stores have a constant connection open so the transaction goes through straight away, in smaller shops the terminal actually has to connect with the bank first.

But I guess the best proof is that if you have zero money in your account you can't actually buy anything with your card, the transaction will get declined immediately(unless you have overdraft, obviously), so the terminal has to check with the bank if you have funds to pay or not.


Alright, I got a bit of a memory refresher (thanks wikipedia https://en.wikipedia.org/wiki/EMV#Terminal_action_analysis). I didn't entirely misremember this, but I'm not entirely correct either, like you say.

In short, whether a transaction will go online, stay offline or be denied, depends on the settings on the card (configured by the issuer) and the settings on the pinpad (configured by the acquirer). The two of them together decide what happens.

So in some cases the combined settings on the card may allow offline processing, which is the batch process in my previous comment. Others, like ATMs (according to the article) will always go online, and yet others may set a "floor limit" - a transaction amount above which the transaction should always go online.

Another factor is the "terminal capabilities", so basically connection speed- if that's too slow transactions may default to offline only.

So what I remember must be that if the transaction is under a certain floor limit, or terminal speed, it can stay offline, maximising some speed-vs-risk tradeoff. And what you note, that the card will deny your transaction when you don't have enough money in the bank, is basically the flip side of that.

What would be harder to notice is the cases when a transaction goes through even when you don't have enough money in the bank, e.g. because the amount you spent is below the floor limit for your issuer and acquirer. But I'm not sure what happens after that- is the transaction declined later? Does the bank charge your account as if it's overdrawn?

It's been a while and I don't remember those things very well I'm afraid :0


I agree with this - offlining transactions are a possibility for some instances, but in most cases, there is a significant difference in speed - I'm in Russia at the moment and when I have a transaction go through the terminal, my bank sends a notification of the transaction usually before the pay terminal is done with it's processing; so there must be some rapid communication happening to authorize the transaction within a short period, even if the actual transfer of funds transaction takes longer (which is expected). When I briefly returned to the US last year after the chip terminals were implemented, I was a bit frustrated to see that it did indeed take significantly longer than I was used to, neverminding how inconvenient it was to not have the ability to use the NFC or the card slot on the majority of terminals.


The card can and will remember your latest balance, so it's quite possible to have transactions accepted/denied based on your balance without checking with the bank.

It does add some risks since the balance is "stale" i.e. may have old info, so it'd be configured that way only if the terminal physically can't connect online all the time, but it's certainly possible.


To be honest, I don't remember how that works so you're right I might not be entirely correct.

The point is though, when the pin pad says it's connecting, that usually means the transaction is taking longer than usual. It might also depend on the vendor, for instance, in the Waitrose I never see the connection message whereas in the news agent I always do.


This might be the case sometimes, but not always. Sometimes the transaction is sent immediately (which means a longer wait).

Edit: Typo.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: