demo · v135

UPI / Pix-style push payment, end to end

The motivating use case from the Chrome blog post: in markets dominated by push-payment systems (UPI in India, Pix in Brazil) the merchant page emits a payment URL and a registered payment app needs to be notified to handle it — without the merchant linking to or knowing the app. <link rel="facilitated-payment"> announces the URL; the browser routes it to any installed payment client that registered for the scheme.

facilitated-payment link rel: ?

step 1

merchant.example/checkout
<link rel="facilitated-payment"
      href="upi://pay?pa=merchant@upi&am=420.00">

step 2

Chrome
// browser sees the link rel,
// looks up registered handlers
// for the upi:// scheme

step 3

YourBank PWA
self.addEventListener("paymentrequest",
  (e) => e.respondWith(showSheet()));

see also