Google Pay: Whoever scans, pays

One in five Indian families with a UPI user has been defrauded. A fifth of them scanned a QR code that took money instead of sending it. The direction is never in doubt on the screen where that happens. It is just one word on it.

What this is

An independent teardown. Self-directed and unpaid. Payments, india.

Tested on

Google Pay 0.346, iOS 26.6 · 24–27 August 2026. Paytm 10.83.10 is quoted once, in section 3

Method

Both flows walked by hand, with real money and a consenting third party's UPI ID

Independent. Not affiliated with, commissioned by or reviewed by Google, Paytm or NPCI. Screens are native captures except the UPI PIN screen, which is NPCI's Common Library and sets the secure flag. Every screen and every design here is Google Pay. Paytm is quoted, not shown.

Someone you do not know sends you a QR code or a payment link with a story attached: a refund, a deposit, the buyer for the sofa you listed. You are told to scan it to receive the money. You do. The amount is either already in the field or you type the one you were promised. You enter your PIN, and the money leaves your account.

There is no QR code that receives money. There is no payment link that receives money. Scanning is always paying. The screen that opens does say so, in exactly one word: "Paying", in front of the name.

Google Pay is not silent about this. A line on the UPI PIN screen tells you never to enter a UPI PIN to receive money. People lose money this way anyway.

This is a teardown of that screen, and of three ways the direction could be put back on it.

I counted every tappable target on the home screen by hand before writing any of this, to check whether the problem below was a symptom of a busy screen. It is not. The problem is not how much is on the screen.

What Google Pay was built against

Google Pay arrived in September 2017 as Tez, and the thing it had to beat was not a competitor. It was cash, which needs no signup, no battery, no network and no instructions. The clearest result is that it read your address book instead of asking you to build a beneficiary list, which is what sending money through a bank meant then: a name, an account number, an IFSC code, registered before the first transfer would clear.

1. What the screen spends its size on

The QR code scam happens often enough that somebody has measured it. A LocalCircles survey run across 365 districts between March and June 2025 found that one in five families with a UPI user had been defrauded, from 16,312 responses. Among the 4,894 who said they had been defrauded, 20% said a QR code had debited their account instead of crediting it and 40% said the same of a payment link. Respondents could pick several answers, so the two overlap.

Two answers rank higher, both at 50%: settings or PIN compromised, and a plain "other". And the survey ran four months before NPCI abolished the flow that most plausibly accounts for part of that 40%. (See section 4.)

The survey records the QR and the link as two answers. They are one mechanism, arriving through two doors.

LocalCircles survey results. One in five families with a UPI user report fraud in the last three years, from 16,312 responses. Among the 4,894 who were defrauded, 50% say someone hacked their UPI settings or PIN, 50% say the fraud happened in a way not listed, 40% clicked a UPI payment link that debited their account instead of crediting it, 20% clicked a QR code that did the same, 20% revealed an OTP or PIN to someone posing as a bank official, and 10% could not say. Respondents could pick more than one answer.
LocalCircles, June 2025. The two answers ranking above the QR and link options are both at 50%: settings or PIN compromised, and a plain "other". Respondents could pick more than one answer, which is why the bars do not total 100%.

A UPI QR code and a UPI payment link are not similar mechanisms. They are the same instruction.

The example payment URL as printed in the specification: upi://pay?pa=nadeem@npci&pn=nadeem%20chinna and a further two hundred characters of parameters.

The example URL printed under "Hyperlink" in clause 2.1. The identical 299 characters appear under "QR Code" in clause 2.2.

The same payment instruction as a QR code, with one corner finder pattern covered by a solid block so it cannot be scanned.

The same instruction as a picture. One corner is covered on purpose: a scanner finds a code by its three corner squares, and this one encodes a real payment. NPCI UPI Linking Specifications 1.6, November 2017. NPCI does not publish this document publicly, so this is from a mirrored copy.

There is no receive anywhere in the upi://pay URI. The payee address is mandatory; there is no payer parameter and no field that sets a direction. The only direction in the instruction is the verb in its name. Whoever scans, pays.

Scanning a person's code takes two steps, and the first is where the amount is typed. The biggest thing on it is the amount, at roughly three times the size of anything else, and it is a bare quantity. Direction gets one word: "Paying", in front of the name, borrowing its size from the name it is attached to. The control that commits the amount is an arrow with nothing written on it.

Step 1A, amount entry. The Google Pay screen that opens on scanning a person's QR code, with the payee's photo, name and UPI ID blurred. Three annotations: "Paying", in front of the name, is labelled the one word of direction on this screen, borrowing its size from the name it is attached to; the amount, set far larger than anything else, is labelled the largest element on the screen, a bare quantity saying nothing about which way it is going; and the blue arrow button is labelled the control that commits the amount, with no words on it. A number keypad fills the lower half.
Step one, where the amount is typed. Direction gets one word, and the control that commits the amount has none.

The word "Pay" does exist in this flow. It arrives in the second step, on a panel that slides up over the keypad once the amount is entered, inside the button carrying the figure. The heading above the account on that panel reads "Select payment method": the instrument, not the direction. Scanning a merchant's code, the app puts all of this on one screen. Scanning a person's, the one worded button is held back until the amount is already committed.

Step 2A, pick a method and pay. The same Google Pay screen with ₹2 entered and a panel slid up over the keypad. Three annotations: "Paying" above the name is labelled direction stated again, the same caption carried over from the first screen; the panel's heading, "Select payment method", is labelled the instrument, not the direction; and the blue "Pay ₹2" button is labelled the flow's only worded button, appearing after the amount is committed. The bank account row between them is blurred.
Step two, after the amount. The account and the only worded button in the flow arrive here, once the figure is already set.

A scammer's name is real and their bank is real. Since April 2025 that name is pulled from bank records, so it is verified as well. Everything the screen shows you in large type can be true and still not protect you. The one thing that cannot be faked, that this is money going out, gets a single word while the amount is being typed.

Google's fraud systems cannot reach this. They look for an outsider: another person on the call, another app on the phone, a payment that does not fit the pattern. The version that arrives as a WhatsApp message about a marketplace listing has none of those. The code is validly formed, the account often belongs to a real person, the amount is unremarkable, the PIN is correct. On every signal collected the transaction is normal, because it is normal. A model can find a strange payment. It cannot see a belief.

2. The ₹2,000 ceiling, and what it admits

Try to pay more than ₹2,000 from a QR code saved in your gallery and Google Pay stops you, with an inline error on the amount screen, in red:

"For amounts over ₹2000, scan QR instead of uploading"

It appears and it disappears. It does not say whose rule it is. And it names a way around itself.

The Google Pay payment screen, annotated. ₹2,001 is entered and, directly beneath it in red, "For amounts over ₹2000, scan QR instead of uploading". Two callouts: the red line is labelled the flow’s only red text, triggered at ₹2,001, a rule about how the QR arrived rather than about the payee or the money; and the blue "Pay ₹2,001" button on the panel below is labelled as still enabled and still repeating the figure, the warning not locking or disabling it.
The gallery ceiling, one rupee over the limit.

In one test, on one device, on 24 August 2026: the same code and the same payee, refused above the ceiling through the gallery picker, went through when the app's own camera was used instead. The limit checks how you opened the code, not who sent it. You can change how you open it. You cannot change who sent it.

The rule behind it has a name worth reading. NPCI's circular of 8 April 2025 caps "QR Share & Pay" at ₹2,000, meaning a QR that arrives as an image rather than one scanned live. The name says share. The definition says image. Those are the same thing right up until someone opens the image on a second screen, and then the code is still shared and the cap is gone.

A cap is an admission. It prices the misunderstanding instead of correcting it.

3. The sentence is in the product. It arrives last.

Google Pay does say it, and so does every other UPI app, because the screen it is printed on is the same one. On the UPI PIN screen, directly above the keypad:

"Never enter a UPI PIN to receive money"

Read where that lands. The PIN screen is the last screen: the code scanned, the payee accepted, the amount typed or already filled, the thumb on the keypad. It is correct, and delivered after the moment it corrects.

The UPI PIN screen, redrawn because the Common Library blocks screen capture, and annotated. Four callouts: the bank name at the top is labelled the handover, where Google Pay’s chrome is gone and the screen belongs to the bank and to UPI; the tinted band reading "Pay ₹2.00" and "To" a blurred name, carrying a rupee-and-arrow glyph pointing at a person icon, is labelled the last description of the transaction before the PIN and the only place in the flow where direction is drawn rather than written; the line "Never enter your UPI PIN to receive money", above the keypad, is labelled the flow’s one plain statement of direction, placed as advice about the PIN rather than as a description of this payment; and the blue PAY key is labelled "Pay" again, again as the name of the action rather than a statement about the money.
The UPI PIN screen, redrawn, because the Common Library blocks capture.

That screen is NPCI's Common Library, a component every UPI app embeds so that no app ever sees your PIN. Which produces an odd result. The only place in the flow where direction is stated plainly is the one screen competition cannot touch, and it is the last one you see.

The same rule produced different words elsewhere. Paytm, on the same ₹2,000 ceiling, writes: "You can pay up to ₹2,000 for QR selected from your photo gallery as per UPI guidelines. Please enter a lower amount to proceed." Same constraint, same moment, a different string. That is the only thing I want from the comparison: the wording was a choice, not something the rule handed down.

4. What the regulator did instead

There was a second flow with the same confusion in it, and it is gone. A UPI collect request let one person ask another for money: a screen arrives unprompted, asks for a PIN, and entering the PIN sends money away. NPCI discontinued person-to-person collect requests from 1 October 2025.

A Google Pay contact screen for a person called John Doe, photograph and UPI ID blurred, showing a verified banking name and "Joined November 2021". Three callouts: the card reading "Payment to you", ₹2,000, "Paid · 12 May" is labelled direction finally stated, the words carrying it in the smallest type on the card; the figure ₹2,000 is labelled still bare, with no sign and no colour, so the same amount would read identically on the paying side; and the Pay and Request buttons at the bottom are labelled as sitting side by side at equal weight, direction being a choice here rather than a state.
A contact screen in Google Pay, where the history says in three words what the payment screen never says at all.

So the regulator's answer to a direction problem was to delete the flow, not to redesign the screen. Scanning cannot be deleted: merchant payments are now the majority of UPI, 12.71 billion of 20.01 billion transactions in August 2025.

5. Three ways to put direction on the screen

After the scan and before the PIN: the screen where the amount is typed, and the panel where the payment is committed. Three places the same fact could live.

Option 1. Draw it: an arrow, with the payer named

Put the payer and the payee side by side at the top with an arrow between them. Direction you see rather than read, before any words. Google Pay has drawn this before: on an older checkout panel, a circle with my initial sat beside a circle with the payee's, a chevron between them. It is not there now. What survived is one circle, for the payee.

I would not restore it as it stood, because it was ambiguous. Two initials and a chevron, with nothing to say which circle is you, and this is a scam that works by fitting evidence to a belief. So name the payer end.

Option 1, proposed. The Google Pay amount screen with a payer-to-payee row added at the top: a grey circle reading "You", an arrow, and a purple circle reading "JD". Below it "Paying JANE DOE", the verified banking name, a blurred UPI ID, then the amount at ₹0, an Add note button, and a blue arrow key above the number keypad.
Option 1, proposed. Not a screen Google Pay ships. The payer end carries the word rather than an initial, so the arrow reads without the caption underneath it.

This is the one I would recommend, and the reason is reach. UPI was built so that somebody who reads poorly can still take part: a code, a phone number, no forms. But every indication of direction on the payment screen is text, and text is the one thing this literature is clear about: it fails first-time low-literacy users outright (Medhi Thies et al., ACM Transactions on Computer-Human Interaction, 2011). An arrow is the only option here that reaches somebody who cannot read the sentence at all. The same work is a warning about the fix, because abstract symbols are read unreliably too. That is why the arrow alone is not the proposal, and why the payer end is named.

Trade-off. Reaches the reader who cannot read at all. Costs vertical space at the top, sits away from the amount where the eyes actually go, and still asks for a symbol to be interpreted.

Option 2. Say it: name the account the money leaves

The account is the only thing in this flow that is directional and not a person. It lives on the panel that slides up over the keypad once the amount is entered, so the line goes there too. Bind it to the picker: change the account and the line changes with it.

That is late. The panel opens only after the amount is committed. But it is the last surface before the PIN, and it sits beside the one button in the flow that has a word on it. "Paying" can be read as the screen's title. A sentence cannot.

Option 2, proposed. The Google Pay payment panel with a line added beneath the bank row: an amber information icon and the words "Money leaves your SBI ••••2449 account", with the bank name and masked digits blurred. Above the panel sit "Paying JANE DOE", the verified banking name, a blurred UPI ID and the amount at ₹2. The panel is headed "Select payment method" and holds the blurred bank row with a balance link, the added line, and a blue "Pay ₹2" button.
Option 2, proposed. Not a screen Google Pay ships. The added line sits under the account, so changing the account changes the line.

It has to be true on every payment route. Mostly that is a change of noun, and the table below carries the line for each.

What is payingThe line
A bank accountMoney leaves your SBI ••••2449 account
UPI LiteMoney leaves your Lite balance on this phone
UPI Circle, paying from somebody else's accountMoney leaves Anita's SBI ••••2449 account
A mandate, or funds blocked for an IPO₹3,000 is blocked in your SBI ••••2449 account
A RuPay credit card on UPIYour RuPay card is charged

The last row is the one that breaks the pattern. Nothing leaves a credit line, so "leaving" is the wrong verb and the sentence has to change rather than the noun.

Trade-off. The only option that says it in words, and the only one whose wording changes with what is paying. It is also the last to arrive, on a panel the reader reaches only after committing the amount.

Option 3. Sign it: the minus on the amount

Direction goes where the eyes already are. The amount is the one element that says nothing about which way it is going. Typed, the sign arrives with the first digit. Pre-filled from a code, it is already there.

Google Pay already signs amounts, just not here and not both ways. In transaction history, money arriving carries a plus and money leaving carries nothing at all. Paytm signs both. The convention is not foreign to the product or to the market, and Google Pay has kept the half that is good news. So Option 3 asks for two things. Mark money leaving as well as money arriving. And show the mark while the payment is being made, not only in the history afterwards.

Option 3, proposed. Not a screen Google Pay ships. The sign arrives with the first digit, set at the weight of the digits rather than as a prefix, and the line beneath the amount is what teaches it.

The sign is still new at this point in the flow, so the first time it appears it needs a legend: Money will leave your account, set beneath the amount. The sentence teaches the sign, and the sign is what survives once nobody reads the sentence.

Trade-off. Puts direction where the eyes already are, on the largest element on the screen. It is the most ambitious of the three, it touches every amount in the app, and it is untested. What I would expect to go wrong:

  • A leading minus reads as a refund, a decline, or an error.
  • The minus would sit in a field the user can edit. Backspace to fix the amount and the sign goes too, unless it is drawn as part of the field rather than as a character in it.
  • Every other place an amount is rendered would have to agree, or the app contradicts itself.
  • Some UPI screens show an amount that is not going anywhere yet. An autopay mandate agrees to a payment later; a block holds money aside for an IPO or a trade without taking it. A minus on those would say the money had left when it has not.

It is a change that has to clear an experiment before it touches every payment in the country, and the metric it would be judged on is payment success rate, not comprehension.

What I would ship first

Three redesigns, and the one I would ship first is none of them. Every option above changes a screen that every UPI payment in the country passes through, so each one means an experiment and a long argument about conversion before a single user sees it. The cheapest change in this piece is to a string that already exists.

The ₹2,000 message in section 2 fires rarely, on one condition, on a screen no conversion target depends on, and it is the only place in either app where a refusal could explain itself. One clause:

Proposed

"UPI limits payments from a shared QR code to ₹2,000. If someone sent you this code, check what you are paying for before you continue."

It does not tell the user why NPCI wrote the rule, because I do not know why NPCI wrote the rule and no compliance team would sign off on a string that speaks for a regulator. It states the limit and names the risk.

6. This is untested, and here is what it rests on

Nothing here has been tested. No comprehension study, no A/B, no users. What follows is a design argument built on the measurements above, and it should be read as that rather than as a finding.

The numbers, honestly. UPI fraud reported to Parliament: ₹242 crore in FY22, ₹573 crore in FY23, ₹1,087 crore in FY24, ₹981 crore in FY25, and ₹805 crore across the first eight months of FY26. That last figure covers eight months, not twelve, so the FY25 dip may not be a dip: at the same rate the year lands near ₹1,200 crore, above both FY24 and FY25. Transaction volume grew faster still, so the fraud rate can be falling while the total climbs.

Where the principles fight each other. Attention to a repeated warning drops sharply within the first few exposures (Vance et al., MIS Quarterly, 2018), and the proposed remedy is varying how it looks. All three options do the opposite.

The strongest argument against all of this is in section 4: the regulator deleted the flow rather than redesign the screen. The second is that Never enter a UPI PIN to receive money already sits on every UPI payment screen in India at the moment the money moves, and the fraud continues. Section 3 blames the timing.

A rival explanation. Perhaps the warning is read, understood, and folded into the story the victim was told: the screen says paying, and they think yes, that is the step that releases my money. Then none of the three works, because a word that gets explained away is not fixed by arriving earlier or set larger.

The test that would settle it. Prime people with the scam, show them the screen, and ask what happens when they enter their PIN: current screen against each redesign, separate groups. If people on the current screen say they know it is a payment and would go ahead anyway, the belief was never the problem and I would drop all three.

Resources

Everything not listed here is first-party observation, dated where it appears in the text.

Links
LocalCircles, UPI fraud survey, June 2025 Over 32,000 responses across 365 districts, fieldwork March to June 2025. Each question drew its own base: 16,312 for whether a family had been defrauded, 4,894 for how. UPI fraud totals reported to Parliament, December 2025 FY22 to the first eight months of FY26. NPCI circular of 8 April 2025, QR Share & Pay Caps shared-QR payments at ₹2,000 for domestic non-verified offline merchants and bars them for international merchant payments. NPCI circular of 29 July 2025, person-to-person collect requests Discontinued from 1 October 2025. NPCI, addendum to circular OC-101, 24 April 2025 Requires the displayed payee name to come from the Validate Address API, and prohibits names taken from QR codes, contact lists or user labels. Google India, December 2025 The 41 million scam warnings figure, cumulative since October 2024. On-device scam detection in calls Pixel 9 and later, off by default, unknown callers only. Vance, Jenkins, Anderson, Bjornn and Kirwan, MIS Quarterly 42(2), 2018 "Tuning Out Security Warnings: A Longitudinal Examination of Habituation Through fMRI, Eye Tracking, and Field Experiments." NPCI, UPI Linking Specifications 1.6, November 2017 Sections 2.1 and 2.2 print the same 299-character example URL under "Hyperlink" and "QR Code", character for character. NPCI does not publish this document on its own site, so this is a mirrored copy; a later version may exist that I could not obtain. Floran Knezevic, "How UX design can prevent scammers from stealing money" The Qonto Way, 28 October 2024. The closest prior art to option 2, gated on a risk signal where this is not.
Research behind this The preference I couldn't explain The hand count this piece draws its measurements from: every payment flow in Google Pay and Paytm, tap by tap, and what I excluded from the totals.