UPI Testing
Save your workspace key — shown once.

CR58-JYAG-7HB5-FF93

Why it matters
It is the only way to reach these profiles and results from another device. The lab stores a hash of it, so nobody here can recover it for you.
BH-011 Needs an import

BHIM — Imported exact QR

This profile replays an original payload byte-for-byte, and this UPI profile has none.
What would unblock it
Import a QR into this profile first (QR Decoder → Save as exact original).
Advanced details
Launch
exact replay
Scheme
intent:// (Android only)
Profile
P11 — The imported QR payload, byte-for-byte
Platform
Android
Browser
Android: Chrome or any browser that follows intent: URIs. iOS: Safari, only where the app registers a scheme.
Docs
NPCI UPI Linking Specification — BHIM is the reference implementation of the generic upi:// handling. (npci spec)
Reference
—
Registry
1.0.0

The ground truth. Your bank's own placard, unmodified, against each app — the baseline every edited copy is compared to.

Expected

BHIM opens on its payment confirmation screen showing the payee and ₹2.00. The ground truth. Your bank's own placard, unmodified, against each app — the baseline every edited copy is compared to.

Limitations

  • A browser cannot tell you whether an app is installed. "App did not open" and "app is not installed" look identical from here; AN-004 in the Android harness is what separates them.
  • Not runnable on iOS at all through this method.
  • Replays imported bytes. The parameters shown are whatever the original payload contained, not the lab's.

Prerequisites

  • A saved UPI profile with a payee address.
  • Import a QR into this profile first (QR Decoder → Save as exact original).
  • On iOS: not addressable — BHIM publishes no URI scheme the lab is willing to claim. Use the Generic UPI group (GN) on iPhone.
  • On Android: BHIM installed (in.org.npci.upiapp).

Notes

  • No imported payload is attached to this profile.

How the lab runs it

Android: an intent:// URI naming in.org.npci.upiapp, with no browser_fallback_url so a failure to open stays visible. iOS: not implemented, because no scheme exists to implement.