A failed payment and an abandoned checkout are not the same thing — and treating them as the same thing is a mistake that costs subscription businesses real recovered revenue.
What's the difference between an abandoned checkout and a failed payment?
A failed payment is one where the customer tried to pay and the transaction was declined — an expired card, insufficient funds, a bank-side block. An abandoned checkout is one where the customer started the payment process but never completed it — no decline, no attempt that ran to completion, just an unfinished session. Paystack tracks these as two distinct transaction statuses, failed and abandoned, and conflating them costs subscription businesses real recovered revenue.
Why do businesses usually miss this distinction?
Most recovery tools and manual follow-up processes are built around the word “failed,” because it's the more visible, more obviously actionable status — a decline feels like an event worth responding to. Abandoned checkouts don't carry the same urgency signal, so they're easy to overlook entirely, even though the customer's underlying intent (finish paying you) may be identical in both cases.
| Failed payment | Abandoned checkout | |
|---|---|---|
| What happened | Payment attempted, declined | Checkout started, never completed |
| Common cause | Expired card, insufficient funds, bank block | Interrupted session, hesitation, distraction |
| Customer's likely state of mind | “I want to pay, something stopped me” | Uncertain — could be either intent or a change of mind |
| Right message | Explain what happened, offer a fix | Reassure no charge was made, offer to continue |
Why does the right message matter this much?
Because the two situations aren't emotionally or informationally the same, and treating them identically can actually damage trust rather than recover revenue. Telling someone their payment “failed” when they simply closed the tab halfway through checkout is not just imprecise — it can read as a false claim, and a customer who never saw a decline has no reason to trust that framing. The recovery message has to match what actually happened, or it risks confusing the exact person you're trying to win back.
We learned this gap the hard way
While testing Reclaim against our own connected Paystack account, we ran into two things worth being honest about.
First, our own audit initially showed zero results despite having several real abandoned test transactions sitting in the account — because the underlying query was only checking for status=failed, and abandoned is a separate status Paystack doesn't automatically fold into that filter. The fix wasn't just widening the filter; it also meant writing separate recovery messaging for each case, since the old “your payment failed” copy would have been actively wrong for an abandoned checkout.
Second, testing surfaced something else worth knowing if you're evaluating any recovery tool, not just ours: most Paystack checkouts don't capture a phone number by default. Paystack requires an email to initialize any transaction, but phone number capture is optional and typically only happens through certain channels like mobile money or USSD, or if a merchant explicitly adds a phone field to checkout. That means an SMS-only recovery tool — including an earlier version of Reclaim — structurally can't reach a meaningful share of failed and abandoned transactions, not because the channel doesn't work, but because there's often no phone number to send to.
How should a recovery system actually handle this?
Two things, together:
- Detect and message the two statuses separately. Failed payments get messaging that explains the decline and offers a fix. Abandoned checkouts get messaging that reassures no charge was made and offers to pick up where the customer left off — never claiming a failure that didn't happen.
- Use SMS as the primary channel where a phone number exists, with email as a genuine fallback, not an afterthought. SMS still gets read faster and more reliably in Nigeria than email — that hasn't changed. But a recovery system that only works when a phone number happens to be on file will silently miss a large share of what it's supposed to recover. Email, which Paystack requires on every transaction, closes that gap without displacing SMS as the better-performing channel when it's available.
The takeaway
If you're evaluating a failed-payment recovery tool for your Paystack-powered business, it's worth asking directly: does it distinguish between failed and abandoned transactions, and does it have a way to reach customers who don't have a phone number on file? If the answer to either is no, it's likely missing a real share of the revenue it claims to recover.
Reclaim automatically detects both failed and abandoned Paystack transactions and recovers them through SMS-first, email-fallback follow-up — built specifically for how Nigerian subscription businesses actually collect and lose payments. See how it works →