UPI Testing
AN-008 Needs the native harness

Companion Android harness — With merchant category code

No mc set, so this is the same payload as the plain control.
Why
Profile P03 is defined by mc, and neither your UPI profile nor this run supplies one — so comparing P03 against P01 would be comparing a method against itself and reading the noise as a finding. Set mc on the profile first, or run P01 and know what you measured.
pa — A payment needs a payee address. Nothing can be launched without pa.
This measures something a browser cannot observe — installed apps, an activity result, an app version. It needs the companion harness.
What would unblock it
The harness is specified in docs/NATIVE_HARNESS.md and has not been built. Until it exists this slot is planned, not runnable.
Advanced details
Launch
Scheme
upi:// (via Android Intent)
Profile
P03 — P01 + mc
Platform
Android
Browser
None — this is not a browser method.
Docs
Android Intent and PackageManager documentation; NPCI UPI Linking Specification. (vendor documented)
Reference
LABCKC4MA50SWDJ
Registry
1.0.0

THE most important comparison in the catalogue. Several apps switch from a person-to-person flow to a merchant flow when mc appears — changing limits, fees and whether the amount can be edited. P01 against P03 on the same app, same destination, same minute is the controlled experiment that shows it.

Expected

Whether the harness can see payment apps at all under the <queries> restrictions. On Android 11 and later an app that does not declare <queries> gets an empty list, which looks exactly like "nothing is installed".

Limitations

  • NOT RUNNABLE FROM A BROWSER, AND THE HARNESS DOES NOT EXIST YET. Counted in the planned 166 and excluded from the runnable count.
  • A browser cannot enumerate installed apps, read an activity result, or learn an app version. Claiming otherwise is the most common lie in this problem space.

Prerequisites

  • The companion Android harness, which is SPECIFIED BUT NOT YET BUILT (docs/NATIVE_HARNESS.md).
  • A physical Android device; an emulator has no payment apps.

Notes

  • This method has no browser launch mechanism.

How the lab runs it

Specified in docs/NATIVE_HARNESS.md. The harness posts its results to this lab's own API, so a native result lands in the same comparison matrix as a web one.