Dmitry Alexeenko

On Payments

May 18, 2025 (1y ago)273 views

"How hard can payments be?"

This was the question a colleague of mine asked as we grabbed coffee last week. You enter your credit card, hit "Purchase", and the money is either there or it's not. Right?

I smiled remembering the past decade building payments systems at Airbnb and Stripe where I'd seen firsthand how complex the seemingly simple act of buying a pastel de nata or booking an Airbnb could be. Behind every purchase there's a lot more going on than you'd think.

Banks handshake with payment networks. Fraud defenses kick in. Algorithms decide which payment rails to use. Even tiny details matter — like whether you format a Canadian postal code as "V6H3S7" or "V6H 3S7". Get it wrong? Your transaction fails.

Here's what that world looks like under the hood. Payment messages follow an international standard for financial transaction interchange messaging, called ISO 8583. Think of it as TCP/IP for money:

MTI: 0100 (Authorization Request)
002 Primary Account Number: 4242424242424242
003 Processing Code: 0
004 Amount of Transaction: 1000
007 Transmission Date/Time: 0518123456
010 Conversion Rate, Cardholder Billing: 61000000
014 Card Expiration Date: 2512
018 Merchant Category Code: 5734
019 Acquiring Institution Country Code: 840
022 POS Entry Mode+ Pin Capability: 010
025 Point of Service (POS) Condition Code: 59
037 Retrieval Reference Number: 1234567890
041 Terminal ID: 1234567890
042 Card Acceptor ID: 4242424242424242
043 Alternative Merchant Name/Location : {
043 "card_acceptor_name": "DMITRYS DONUTS",
043 "zip": "V6H3S7",
043 "country_code": "CAD"
043 }
049 Transaction Currency Code: 840
051 Currency Code, Cardholder Billing: 840
060 Additional POS Information

See that zip code? Format it wrong and your transaction gets declined. Each bank has different rules. As a merchant, you control your payment success rate through these details. A few payment attributes like the card type, card country, Merchant Category Code are outside of your control. But several others like the authentication method, transaction size, data submitted in the transaction, data formatting, fraud rates are all in your control.

Issuer                    V6H 3S7   v6h 3s7   V6H3S7   v6h3s7   V6h 3s7
American Express           98.3%*    95.7%    96.9%    92.1%    90.4%
Wells Fargo Bank, N.A.     96.1%     94.2%    97.8%*   91.5%    90.8%
Goldman Sachs & Co. LLC    91.2%     93.9%    95.4%    98.6%*   90.7%
Revolut Bank UAB           94.8%     97.5%*   95.2%    92.6%    90.9%
Evolve Bank & Trust        94.3%     91.8%    93.6%    90.7%    98.1%*
 
* best-performing ZIP format for that issuer

But when I moved to Portugal, I found something more intriguing. Multibanco. MB WAY. Open Banking. What are these systems? Why are they everywhere here but nowhere in the US? First, let's understand how payments actually work.

POS with MB WAYPOS with MB WAY

Beyond Cards

Is the money there or not? It's not that simple. Hundreds of payment methods exist worldwide. In the US payments are fairly standard and somewhat boring: cash, checks, cards, ACH and wire transfers. Fun fact: 90% of dollars move through wires, but wires are only 1% of transactions by count.

Once you travel outside of the US, it gets more interesting. Konbini in Japan, Boleto and Pix in Brazil, Paytm in India, iDEAL in Netherlands, Alipay in China. Vouchers, QR codes, voice confirmation, facial recognition. All of these work completely differently.

Behind the Scenes of Card Payments

You punch in your card at a merchant's website. The merchant sends it to a payment processor, which routes it through an acquiring bank to a card network (Visa, Mastercard) and then to your issuing bank. The issuing bank checks your funds, approves or declines, and if approved, the money eventually makes its way back through the chain to the merchant. "Success! Your pastel de nata from Manteigaria is on its way."

The reality is more complicated. The issuing bank doesn't immediately move funds. It updates your balance and waits for a capture request (you might have heard about the two steps of a credit card transaction: authorization and capture). Interchange fees get calculated. Only then does money actually move — from issuing bank to card network to acquiring bank to merchant, with fees subtracted at each step. Add subscriptions and usage-based billing on top of this and it gets gnarly fast.

Here's something most people get wrong: the popular myth that card networks (Visa, Mastercard) and payment processors (Stripe, Adyen, Worldpay) take the lion's share of the interchange fee. They don't.

ACH: America’s Workhorse

ACH (Automated Clearing House) is how America moves money between bank accounts. It handles both push and pull transfers and it’s cheap — around 0.8% of the transaction, usually capped at $5.

The verification process is charmingly old-school. To prove you own a bank account, two tiny deposits (a few cents each) get sent and then reversed. You then type those amounts back into the merchant’s website. It works because anyone can look at a checkbook and copy the routing and account numbers — the micro-deposits prove you actually control the account.

How Europe Does It: SEPA

As soon as we landed in Portugal, everybody started asking us for IBAN payments. Before we even left Humberto Delgado Airport, we had to send an IBAN payment to pay for our dog's documentation.

SEPA (Single Euro Payments Area) is Europe's answer to moving money across borders. Send rent to my landlady in Lisbon, pay a vendor in Malaga, split a dinner bill with friends in Madrid — it all works through IBANs, a standardized bank account identifier used across all SEPA countries. Transfers settle in 1-2 business days. Instant SEPA, available at many banks, settles in seconds, 24/7.

This is one area where European regulation has genuinely made things better for everyone. Unfortunately the end user experience is still controlled by the issuing bank, so while the rails are fantastic, the experience can still be clunky. It's still easier for me to send a Venmo than an ActivoBank SEPA transfer.

Multibanco and MB WAY

Multibanco is a Portuguese interbank network that links the ATMs of >30 banks in Portugal. But it isn't just an ATM network — it's deeply woven into Portuguese e-commerce, bill payments, ticket purchases and pretty much every aspect of financial life here. For online payments, Multibanco uses a voucher-based system. At checkout you see:

You then complete the transaction through online banking or any ATM. Why did Portugal embrace this while the US stuck with cards? While credit card interchange fee is capped, it's still substantial. Most Portuguese carry debit cards, not credit cards, missing out on rewards and consumer protections that drive American card usage. Cards simply never achieved critical mass.

MB WAY is Multibanco on your phone. It enables instant peer-to-peer transfers, mobile payments via NFC and QR codes, even cardless ATM withdrawals. Walk up to any Multibanco ATM, enter a code from your phone, and withdraw cash, no card needed.

But here's where it gets interesting — or at least, where the ambition is. MB WAY has already connected with Spain's Bizum and Italy's Bancomat Pay. Portuguese users can send money instantly to Spanish and Italian phone numbers, no IBANs needed. The plan is to connect with Vipps MobilePay in Scandinavia and Poland's Blik — a network spanning 10+ countries with over 70 million users. Europe's answer to Venmo.

Will it actually happen? Not sure. I've seen how quickly ambition gets bogged down in coordination problems, regulatory fragmentation and the sheer difficulty of getting 27 countries to agree on anything. The rails are there, but the will to ship fast usually isn't.

Still, what Portugal built with Multibanco and MB WAY is genuinely impressive. It works better for Portuguese consumers than anything Silicon Valley has offered them. Whether Europe can scale that kind of thing across borders is a different question entirely. Revolut might actually pull it off.

Thanks to Dasha Cherepennikova, Jason Katz-Brown, and Sam Rhea for reading drafts of this.