How to Tell If a Transfer Receipt Is Fake Before You Hand Over the Order
A fake transfer receipt gets caught in exactly one place — your own bank's app. If the money isn't there, it never arrived, no matter how good the screenshot looks.
Mónica runs a video game shop in Tepic, and one Saturday in December the counter was packed. At 11:40 a message came in: “Just sent the transfer, here’s the receipt — can you send the controller with the delivery guy before one?” The screenshot looked perfect: her name, her bank, $1,850, the time. She sent the controller.
That night, when she balanced the till, $1,850 was missing. The money had never come in. The number that had texted her no longer received messages.
If you’re trying to figure out how to spot a fake transfer receipt, the first thing you need to know is that you can’t tell by looking at it. You tell somewhere else — and that somewhere else was in your hand the whole time.
What is a transfer receipt, and what does it not prove?
A transfer receipt is the screen your customer’s bank shows them after they order a money transfer, and it proves that someone tapped a button in their app. It does not prove the money reached yours.
That difference is the whole problem. A screenshot is an image, and an image can be edited, cropped, or borrowed from a different transaction entirely. The bank that generated it owes you nothing, because you’re not its customer.
There are three versions of the same trick, and it’s worth knowing them by sight. The edited screenshot, where the amount, the date, or the last digits of the account number have been changed. The scheduled transfer, which is real and does come with its own receipt — but dated for tomorrow, and tomorrow it gets cancelled. And the transfer to a different account, a CLABE that looks like yours and really did move money, just not to you.
How do you know if a transfer receipt is fake?
By opening your own bank’s app, not the screenshot. If the money is sitting in your account, the receipt is real; if it isn’t, it doesn’t matter how convincing it looks.
That’s the one test that never fails, and the good news is it doesn’t take any special expertise. You don’t need to hunt for weird artifacts or shifted pixels. You just need to check your balance.
If you want a second check, it exists. Any SPEI transfer can be looked up on Banxico’s CEP portal using the transaction details: the date, the tracking key (clave de rastreo), the sending bank, the receiving bank, the receiving account, and the amount. If the transaction exists and settled, it’ll show up there; if the customer won’t give you the tracking key, you already have your answer. Every real receipt carries a tracking key, and anyone who actually paid has no problem sharing it.
How long should you wait before saying it didn’t arrive?
Minutes, not hours. SPEI runs twenty-four hours a day, every day, and a normal transfer shows up within seconds or a few minutes at most.
When someone tells you “my bank can take up to 24 hours,” that can be true in rare cases — but it’s also the favorite line of someone who never sent anything. The way to settle it without arguing is the same as above: ask for the tracking key and look it up. A real transfer that’s “on its way” has one; one that doesn’t exist has nothing.
Watch for urgency. “The delivery guy is already here,” “it’s for a surprise,” “I’ll confirm as soon as the app updates” — urgency is a tool people use to rush you past checking. A customer who actually paid is in no hurry for you to look at your balance, because they know exactly what you’re going to find.
How do you tell the customer without offending them?
With a rule written down before anyone asks, applied to everyone the same way. Mónica put hers on her profile and her page, in these words: “We hand over orders once payment shows up in our account.”
That changes the whole conversation. You’re no longer singling anyone out — you’re applying the same rule you’d apply to your own mother if she asked you for a game. And honest customers don’t mind: it makes sense to them, because it’s the same thing they run into everywhere else.
What does offend people is a rule that shows up out of nowhere, only for certain customers, after the package has already gone out. Write it down today, put it somewhere visible, and stop making it up on the spot.
How do you avoid this from your page in the first place?
By keeping the order and the payment in the same place — not scattered across a chat. Mónica described it like this in Proyecta: “a page for my video game shop in Tepic, with a catalog of consoles, games, and controllers, home delivery, and payment by card or bank transfer.” Out came a published site, with its own link, plus a console for managing orders.
There, bank-transfer payments run on rules you’ve already written. In the Payments section, you write the instructions the buyer sees when they pick that option: bank, CLABE, account holder, and reference. Every order placed by transfer lands in your Orders list as “Payment pending” and stays on hold for up to three days. If you haven’t logged the payment by then, the order cancels itself and the customer gets notified. With one exception that matters here: if the customer has uploaded a receipt, the order doesn’t auto-cancel, because they’re telling you they already paid. You’re the one who confirms it — or cancels it.
Once you see the money in your own app, you open the order and use “Register payment,” entering the amount you actually received and how it came in. Until you do that, the order stays pending, even if the customer uploaded their screenshot. The receipt they uploaded sits right there with the order, under “View receipt,” so you have it on hand — but the one who confirms the money arrived is still you, looking at your own balance.
And if the customer pays by card straight from the page, the problem disappears at the root. There’s no screenshot involved: the charge gets approved or declined right there, and the order is marked as paid without anyone having to send you anything.
What still comes down to you
The page can’t check your bank for you. Nobody can — and that’s exactly the part you can’t hand off. The only person who can say “it’s in” is you, with your app open.
Next time you get a transfer, reply to the customer with the exact time it showed up in your account. Not “got it,” but “it landed at 4:12.” It’s a small habit, and it does two things: it forces you to open your app every single time, and it tells everyone who messages you that you actually check.
And if you’d rather stop orders from starting in a chat at all, describe your business on Proyecta, with your payment methods and your rules already written in, and publish it. It’s at proyecta.dev.