UPI Testing
PH-006 Not applicable here

PhonePe — Category code and reference URL

No mc and url set, so this is the same payload as the plain control.
Why
Profile P06 is defined by mc and url, and neither your UPI profile nor this run supplies one — so comparing P06 against P01 would be comparing a method against itself and reading the noise as a finding. Set mc and url 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.
You are on a desktop browser, which has no UPI app to open. The URI is still shown and can be copied.
What would unblock it
Open this page on the phone you want to test, or use a QR-scan method (QR group) which is designed for exactly this situation.
Test PH-006

Scan with the phone you want to test.

Advanced details
phonepe://pay?pa=&tr=LABCXAF95SA3P2V&am=2.00&cu=INR
Launch
app scheme
Scheme
intent:// (Android) · phonepe://pay (iOS)
Profile
P06 — P01 + mc + url
Platform
Android + iOS
Browser
Android: Chrome or any browser that follows intent: URIs. iOS: Safari, only where the app registers a scheme.
Docs
No public third-party deep-link specification. PhonePe publishes a merchant SDK/PG integration instead. (observed)
Reference
LABCXAF95SA3P2V
Registry
1.0.0

The combination a real invoice-with-QR produces. Isolates interactions between the merchant flow and the invoice link.

Expected

PhonePe opens on its payment confirmation screen showing the payee and ₹2.00. The combination a real invoice-with-QR produces. Isolates interactions between the merchant flow and the invoice link.

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.
  • The iOS scheme used here is observed, not vendor-documented. A working result is evidence, not a supported integration.

Prerequisites

  • A saved UPI profile with a payee address.
  • On iOS: PhonePe installed and registered for phonepe://pay
  • On Android: PhonePe installed (com.phonepe.app).

Notes

  • This scheme is observed, not vendor-documented. A result either way is evidence about today, not a supported integration.

How the lab runs it

Android: an intent:// URI naming com.phonepe.app, with no browser_fallback_url so a failure to open stays visible. iOS: the phonepe://pay scheme carrying the same query.