Slow payments (both chip and pin + contactless)


(Alex) #1

Just an observation but over the past fortnight or so I’ve noticed transactions on my Mondo card going through quite slowly relative to using my other cards.

With contactless payments I believe this is because the chip states that the terminal should go online to verify the transaction (?) but even with chip and pin I’ve noticed this taking upwards of 15+ seconds in some shops (including supermarkets and large retailers).

Is this a Mondo problem or just sheer volume of transactions going through the payment networks over the Christmas period?


(James Billingham) #2

I have noticed this also - but I would also assume that it’s since all transactions are online, and personally I’m fine with this compromise


(tom) #3

That’s strange. You’re right that contactless transactions will be slower than other bank cards because the Mondo card authorises “online” every time, allowing us to show you a notification in-app immediately.

But chip & pin should be more-or-less the same. The payment schemes have a 5 second timeout built in, so it’s odd that transactions are taking much longer.


(James Billingham) #4

5 seconds sounds about the length of time I’m waiting for most Mondo chip + pin transactions. It does seem notably slower than other cards - just enough time that my attention stops being on the card machine and I start thinking about something else.


(Sam) #5

I was about to write a thread about the same thing. I’ve always felt that my NatWest debit card was faster than the Mondo card, but in the last couple of weeks, the Mondo card can easily take about 20 seconds to complete a transaction.

I feel it vibrate in my pocket just a moment before their till resumes; when it’s finally ready.

It routinely does that very awkward thing where you’re waiting with the sales assistant for the machine to tick over.

Noticeable most at the tube barriers. With my debit, I can sale through without stopping. With my Mondo, I slam in to the barrier while it seems to take a moment or two longer.

Although it was a lot faster, I assumed this was something to do with the fact it’s a prepaid card vs a debit card which I think has some guarantee thing built into the chip.


(Oliver Beattie) #6

We’ve been thinking some more about this and we think the lag is caused when using our cards with dial-up card terminals. As Tom mentions, all Mondo transactions are online. When a dial-up terminal connects, this can take a while – as those of you who remember dial-up internet will remember!

I just went to a merchant where we’d seen slow transactions before and tested with Apple Pay – which is also online-only, and that took nearly 10 seconds. So that appears to confirm our suspicion.

We’ll be looking into making cards that have better offline capability in the future, but for the moment we’re focussing on online-only: we want transactions to show up in your apps straight away, not the next business day. It’s possible we can strike a balance of both but the chip settings are rather complicated.

All this has made me nostalgic…


(James Billingham) #7

There is a noticeable pause for all card machines though - it isn’t just dial-up. By “noticeable”, I’m talking ~2-3 seconds though.

I’d say online transactions are probably important enough to the point that it’s a worthwhile trade-off. (Unless maybe we could have some BLE magic in the card, eh?)


(James Billingham) #9

Things like notifications shouldn’t have any performance impact as they can just be queued, but I assume you’re already doing as much as possible in a non-blocking fashion anyway.


(Oliver Beattie) #10

MasterCard don’t inform us of offline transactions until the next business day, which is why I’m saying we’d prefer if they stayed online. Sorry if I confused things a bit.

We’re doing all the notifications etc asynchronously. In fact, much of the transaction processing on our end happens asynchronously so we can still accept payments even if part of our system is down. :innocent:


(Alex) #11

I really enjoyed Matt’s talk from Golang Conf which revealed more about your backend :smile:


(simon) #12

Its worth noting for anyone reading down to here in the thread, that upstream from us, we are only given 400ms (0.4 seconds) to respond. The party upstream from us also initiates a new TLS connection for each transaction.
We actually had a day 0 issue where TLS round trip negotiation was waiting 240ms because linux likes to buffer up packets, which pushed us over our (then) 200ms timeout.
We’ve since fixed it so we have 400ms and our TLS is taking 50-80 (if i remember rightly).
In any case, tiny numbers compared to the 9-10 seconds it takes a terminal in the shop to “go online” and send the payment to the merchants bank.


(James Billingham) #13

Hopefully once you can dump the upstream provider and handle messages from the card network directly, this might improve a bit.


(Matt Heath) #14

Thanks @alexbilbie! As @oliver mentioned we do as much as we possibly can do asynchronously so that our response time is within the extremely short timeout our upstream providers give us.

For anyone interested I talked a little about this at a more recent talk at Yow! and gave a slightly fictitious example of how we can move a lot of things (including notifications, merchant enrichment, webhook delivery) out of the synchronous response to the card networks as shown in this web sequence diagram:

The reality is of course a little more complex, but is still sub 100ms for the synchronous part :wink:


(simon) #15

I just timed Silvios (our fave sandwich shop next to mondo towers.) It took 8 seconds for the terminal to get to “Transmitting”. Hopefully as more of the worlds cards switch to online, the chance that the terminal is offline will decrease (terminals stay connected for a few minutes incase the next customer is an online txn as well.)


(Sam) #16

Yes merchants who use the dial up machine (why they still exist!?!) are slow whatever the card.

But merchants using online systems like supermarkets, high street retailers, get a long wait to get the transaction on Mondo cards only.

I don’t think this is Mondos tech, but the upstream card issuer perhaps.

The delay doesn’t exist on my normal NatWest debit card.

The delay is making me reconsider using Mondo. I don’t like the awkward wait at the till when everyone else is just touch and go. The sales associate scrutinises the card on many occasion because it takes an unusual amount of time.


(Tristan Thomas) #17

Hey @_sam, is this contactless or chip and PIN?


(Sam) #18

I use contactless nearly always. I can’t recall if PIN transactions are affected, I’ll try next time and let you know.

In Itsu the sales associate next to me served and completed the payment of another customer in the entire time it took just to process my Mondo card.


(Tristan Thomas) #19

Ah OK. So with contactless, as @billinghamj and others noted above, this is because all of our transactions go ‘online’ (which allows you to get things like immediate purchase notifications). There’s not much we can do about this without giving up on instant payment notifications etc. :slight_smile: It also really depends on the speed of the retailers’ internet connection as you mentioned. Hopefully over time this will get faster as retailers get faster connections and more transactions are online (for example, Apple Pay do the same thing we do). Hope that makes it clearer! With chip & PIN, most cards tend to go online so there shouldn’t be any difference between us and them normally.


(sanjaypoyzer) #20

Been seeing this issue quite a lot recently, but reading through this thread that’s probably just a coincidence of using a lot of dial-up using merchants.

I don’t have an Apple Pay device, but I’m surprised to hear that they have the same issue (especially as most shop people seem quite weirded out by the delay of my Mondo card). Has anyone compared the response times of Apple Pay vs Mondo yet?


(James Billingham) #21

One thing worth considering when comparing the two:

Apple Pay is very obviously different, so when something is unusual (e.g. slow) or doesn’t work, people aren’t particularly surprised.

Whereas Mondo looks like a normal card, but acts noticeably differently, which is not expected - thus drawing more attention to it.