demo · v134
rel="facilitated-payment"
A merchant page declares a push-payment endpoint with <link rel="facilitated-payment" href="upi://...">. Chrome surfaces it for UPI / PIX-style flows. Pick a scheme, build a deeplink, and inject the <link> into the page — your DevTools "Elements" panel will show the live tag and on supporting Android Chrome the browser pre-fetches the payment app data.
Heads up
Behaviour is primarily Android with a configured push-payment app (e.g. an Indian UPI app for upi://, Brazilian PIX app for pix://). To exercise the full flow enable
chrome://flags/#enable-payment-link-detection. On desktop, the link tag is parsed but no payment UI is surfaced.
probing rel="facilitated-payment" support...
Try it
no link injected yet
The code
<link rel="facilitated-payment"
href="upi://pay?pa=merchant@bank&am=120.50&cu=INR">
// or dynamically:
const l = document.createElement('link');
l.rel = 'facilitated-payment';
l.href = 'upi://pay?pa=merchant@bank&am=120.50&cu=INR';
document.head.appendChild(l);
see also
- Link rel=facilitated-payment — feature index
- ChromeStatus entry
- WICG explainer