Skip to content
Aashna Jain

Why do payments fail?

3 min readFor everyoneTrust and risk

The message on the screen is deliberately useless, and that is a security decision rather than laziness.

Where it actually broke
checkoutgatewaynetworkyour bankapprovedmost of them, right here

Almost every failure happens at the far end of the chain, and the message you see was written to tell you nothing about which one.

The five real reasons

Insufficient funds or limit reached. The most common, and the most honest.

The issuer's risk model said no. Your bank scored this transaction and declined it. Nothing is wrong with the card. This is the one that produces the most confusion, because a payment that failed at 9pm succeeds at 9.05pm and nobody can explain why.

Authentication was not completed. The OTP was not entered, or expired, or the authentication page failed to load. In India this is a large share of failures and is often invisible to the merchant.

Bad or stale data. Expired card, mistyped number, a card reissued and the merchant still holding the old one on file.

Technical failure somewhere in the chain. Gateway timeout, bank downtime, network issue. Genuinely the smallest category, despite being everyone's first assumption.

Why the message is useless on purpose

"Transaction declined, please contact your bank" is not laziness. Card networks restrict how much detail can be passed back to the merchant, because a card tester with a list of stolen numbers would love to know precisely why each one failed. Precise decline reasons would turn a checkout page into a diagnostic tool for fraud.

So the merchant genuinely does not know, and the customer service agent telling you they cannot see why is usually telling the truth.

The most honest thing a checkout could say is "your bank declined this and will not tell either of us why", and no legal team on earth would approve it.

Soft and hard, which is the distinction that matters

A soft decline is temporary: a risk score, a missed OTP, a timeout. Retrying can work, and retry logic is a real engineering discipline.

A hard decline is permanent: closed account, reported stolen, card expired. Retrying accomplishes nothing except accumulating fees and, if repeated, attracting attention from the network.

A merchant that treats every failure as retryable is burning money. This distinction is a meaningful part of why two providers with identical fees deliver different revenue.

A door that will not open. It might be locked, it might be bolted from inside, or the person in there might simply not want to see you today. From your side of the door, all three feel identical.

Where you meet it

Every checkout that failed and then worked on the second attempt, and every subscription that lapsed without either side intending it.

Get the next one in your inbox.

New fundamentals and one memo every two weeks.

Or subscribe on Substack ↗