Identity & Payments

Payment Request

Probing…

Payment Request is a web platform capability in the Identity & Payments category. Native payment sheets — Apple Pay, Google Pay and cards. Supported in Chromium 60+ and Safari 11.1+; not available in Firefox. Requires a secure context (HTTPS or localhost) and a user gesture such as a click or tap.

Secure contextUser gesture

Permission payment-handler: unknown

Try it

Loading demo…

Code

const pr = new PaymentRequest(
  [{ supportedMethods: 'basic-card' }],
  { total: { label: 'Demo (not charged)', amount: { currency: 'USD', value: '1.00' } } },
)
if (await pr.canMakePayment()) {
  const response = await pr.show()
  await response.complete('fail') // never 'success' — nothing is charged
}

Browser support

Chromium
60
Firefox
No
Safari
11.1

Frequently asked questions

Which browsers support Payment Request?

Supported in Chromium 60+ and Safari 11.1+; not available in Firefox.

Does Payment Request require HTTPS?

Yes. Payment Request needs a secure context, so it only works over HTTPS (or on localhost during development).

What is Payment Request used for?

Native payment sheets — Apple Pay, Google Pay and cards.

Can I try Payment Request in my browser?

Yes. shwcs.net runs a live Payment Request demo that probes your current browser and lets you try the API. Everything runs locally — nothing is sent anywhere.

MDN reference ↗ Specification ↗