Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The PaymentRequestEvent interface of the Payment Request API is the object passed to a payment handler when a PaymentRequest is made.

Event ExtendableEvent PaymentRequestEvent


PaymentRequestEvent() Experimental

Creates a new PaymentRequestEvent object.


instrumentKeyRead only Experimental

Returns a PaymentInstrument object reflecting the payment instrument selected by the user or an empty string if the user has not registered or chosen a payment instrument.

methodDataRead only Experimental

Returns an array of PaymentMethodData objects containing payment method identifiers for the payment methods that the web site accepts and any associated payment method specific data.

modifiersRead only Experimental

Returns an array of objects containing changes to payment details.

paymentRequestIdRead only Experimental

Returns the ID of the PaymentRequest object.

paymentRequestOriginRead only Experimental

Returns the origin where the PaymentRequest object was initialized.

topOriginRead only Experimental

Returns the top-level origin where the PaymentRequest object was initialized.

totalRead only Experimental

Returns the total amount being requested for payment.


openWindow() Experimental

Opens the specified URL in a new window, if and only if the given URL is on the same origin as the calling page. It returns a Promise that resolves with a reference to a WindowClient.

respondWith() Experimental

Prevents the default event handling and allows you to provide a Promise for a PaymentResponse object yourself.


Payment Handler API
# the-paymentrequestevent

Browser compatibility

BCD tables only load in the browser