UPI Testing
IO-001 Needs the native harness

Companion iOS harness — Standard merchant intent

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:// and app-specific schemes
Profile
P01 — pa + pn + tr + am + cu
Platform
Ios
Browser
None — this is not a browser method.
Docs
Apple UIApplication and Universal Links documentation. (vendor documented)
Reference
LAB6TAG9EYM0E5Q
Registry
1.0.0

The control. Every other profile is this one plus something, so a failure here is a failure of the destination or the app, never of an optional field.

Expected

Whether any installed app claims the upi:// scheme. Requires the scheme to be listed in LSApplicationQueriesSchemes; an undeclared scheme always answers false, which is indistinguishable from "not 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.
  • iOS restricts scheme queries far more tightly than Android; several questions that are answerable on Android are not answerable at all here.

Prerequisites

  • The companion iOS harness, which is SPECIFIED BUT NOT YET BUILT (docs/NATIVE_HARNESS.md).
  • A physical iPhone with the payment apps installed.
  • An Apple developer account to sideload it.

Notes

  • This method has no browser launch mechanism.

How the lab runs it

Specified in docs/NATIVE_HARNESS.md.