PM case study · PhonePe · Wrong-UPI payment recovery

Sent money to the wrong UPI ID?
Get it back, step by step.

A product concept that lets a PhonePe user start recovery in one tap, lets the recipient return the money in one tap, and shows both of them exactly where the case stands.

"One wrong digit and the money's gone. Now what?"

The problem

What happens today

When a user sends money to the wrong UPI ID, there is no undo. They have to deal with the recipient, their bank, the recipient's bank, NPCI and sometimes the RBI Ombudsman, with little idea who owns the case or what comes next.

Money can only come back if the recipient agrees, so every day of delay makes recovery less likely.

Goals

  • Faster recovery initiation
  • A transparent, trackable process
  • More wrong payments actually recovered

Non-goals

  • Guaranteeing every reversal
  • Reversing payments directly
  • Preventing every accidental payment
North Star
% of eligible wrong-UPI cases recovered
recovered ÷ eligible × 100
L1 metrics
Recovery success rate · successful recoveries · median recovery time
Counter metrics
Abandonment rate · recovery complaints · % needing manual help

Who it's for

Two personas with the same problem: Ritika, a metro salaried user, and Sunita, a tier-2 shop owner who needs Hindi, a person to call and a flow that works on slow internet.

User persona poster: Ritika Sharma and Sunita Yadav
Tap to open full size.

What competitors do

15 features benchmarked across Google Pay, Paytm, BHIM, NPCI and payment systems in the UK, EU, Australia, Brazil and the US. Full research with sources →

India today

Every app shows the payee's bank name before paying, and routes complaints through NPCI's UDIR. But the dispute is a generic form, sometimes locked for 2 days, and the recipient returning the money stays voluntary.

Brazil (Pix)

The recipient gets a "Return payment" button, a one-tap full or partial return within 90 days. A contest button makes the receiving bank freeze the funds.

Australia

Report a mistaken payment within 10 business days and the money comes back, even without the recipient agreeing, if it's still there. Speed is everything.

The gap: no Indian app has a recovery flow built for wrong-payee mistakes, with an owner, a deadline and an easy way for the recipient to return the money.

The solution

1

One-tap Recover

A "Recover payment" button on every UPI receipt that sends a pre-filled recovery request in seconds, so users report while the money can still be traced.

2

Easy Return

The recipient gets a clear request with a one-tap "Return payment" button, so returning a wrong payment is easier than ignoring it.

3

Live Tracker

A plain-language timeline showing who has the case, what happens next and by when, so users can see progress instead of chasing support.

RICE-inspired prioritisation

OpportunityReachImpactConfidenceEffortPriority
One-tap RecoverHighHighHighLowP0
Easy ReturnHighMedHighMedP1
Live TrackerMedHighMedHighP2

Requirements

Functional

Users can raise a recovery request in one tap from any UPI receipt, with the payment details filled in automatically. The recipient gets a one-tap option to return the money, and both sides can follow the case on a live tracker from start to close.

P

Performance: request sent within 10 seconds; tracker updates within 1 minute of a bank update; works on 3G.

Q

Quality: requests auto-filled and eligibility-checked; under 2% sent back for errors.

R

Reliability: one case per payment; no request lost if the app or network drops.

S

Secure: encrypted, stored in India, DPDP-compliant; returns need a UPI PIN and a real payment.

T

Transparency: every case shows owner, next step, deadline and final outcome.

U

Usability: 3 taps or fewer, no jargon, available in 5+ Indian languages.

Screens

Mock-ups of the core flow. Open the clickable prototype →

Transaction receipt with a Recover payment button
1 · Receipt with one-tap Recover
Pre-filled recovery request submission
2 · Pre-filled request
Recipient easy return screen
3 · Recipient Easy Return
Live recovery tracker timeline
4 · Live Tracker

From PRD to sprint plan

The PRD's P0 and P1 solutions turned into a backlog the team could start on Monday: user stories that pass INVEST, measurable acceptance criteria, sizing, and a week-by-week plan, all tracked in Jira and Trello. Live Tracker (P2) is held for a later release.

9user stories, all passing INVEST
48acceptance criteria in Given / When / Then
9 wks4 two-week sprints + a pilot week
16story points across 2 epics

Backlog and sizing

#User storySizeRiskImpactSprint
US1Sender sees a "Recover payment" button on an eligible receiptS351
US2aPrefilled, locked request: no typing, no jargonM351
US2bCase ID in 10 seconds, no duplicates on a network drop or double tapL552
US3Told which eligibility rule failed, and where to go insteadM222
US4"This was a scam" goes to the 1930 helpline, never to the recipientM352
US5Recipient gets a safe request: amount, first name and date onlyS223
US6Recipient returns the full amount with their UPI PIN, sender maskedS443
US8Recipient taps "This isn't a mistake" and the case goes to bank reviewM424
US7Partial return: send what you have, the case stays open for the restM434

Size: S = 1 week, M = 2 weeks, L = 1 month. Risk and Impact are scored 1–5. Each story carries six acceptance criteria, one per quality lens: Performance, Quality, Reliability, Security, Transparency, Usability.

Week-by-week timeline

StoryW1W2W3W4W5W6W7W8W9
US1 Recover button✔
US2a Prefilled request✔
US2b Case ID (critical path)✔
US3 Why it doesn't qualify✔
US4 Scam route✔
US5 Safe request✔
US6 Full return✔
US8 Dispute✔
US7 Partial return✔
Pilot readiness✔

Sprints 1–2 build One-tap Recover; Sprints 3–4 build Easy Return. Easy Return can't start until US2b creates cases, so US2b sets the length of the whole plan.

What the review caught before any code

A privacy leak

A return payment would have shown the sender's UPI ID, which often contains a phone number. Fixed by showing a masked name ("Ritika S."), with a spike planned to prove it can be built.

Two stories that contradicted each other

One story hid the Recover button on ineligible payments, while another needed users to tap it. Fixed with a "Help → I paid the wrong person" entry.

A quarter-long story

"Prefilled request + case ID" was sized XL. Splitting it into a screen (M) and a case service (L) exposed the critical path, and the plan went from 5 to 9 weeks.

The scam path

A scam report must never contact the recipient. It goes straight to the 1930 helpline and cybercrime.gov.in, so scammers can't use the flow to pressure people.

Stories, acceptance criteria, sizing and learnings on GitHub →