PaymentRequestEvent

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

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

Constructor

PaymentRequestEvent()
Creates a new PaymentRequestEvent object.

Properties

instrumentKeyRead only
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
Returns an array of PaymentMethodData objects containing payment method identifers for the payment methods that the web site accepts and any associated payment method specific data.
modifiersRead only
Returns an array of objects containing changes to payment details.
paymentRequestIdRead only
Returns the ID of the PaymentRequest object.
paymentRequestOriginRead only
Returns the origin where the PaymentRequest object was initialized.
topOriginRead only
Returns the top-level origin where the PaymentRequest object was initialized.
totalRead only
Returns the total amount being requested for payment.

Methods

openWindow()
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()
Prevents the default event handling and allows you to provide a Promise for a PaymentResponse object yourself.

Specifications

Specification Status Comment
Payment Handler API
The definition of 'PaymentRequestEvent' in that specification.
Working Draft Initial definition.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
PaymentRequestEvent
Experimental
Chrome Full support 57
Disabled
Full support 57
Disabled
Disabled From version 57: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support ≤79
Disabled
Full support ≤79
Disabled
Disabled From version ≤79: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled).
Firefox No support NoIE ? Opera No support NoSafari ? WebView Android No support NoChrome Android Full support 57
Disabled
Full support 57
Disabled
Disabled From version 57: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android No support NoOpera Android No support NoSafari iOS ? Samsung Internet Android No support No
PaymentRequestEvent() constructor
Experimental
Chrome Full support 57
Disabled
Full support 57
Disabled
Disabled From version 57: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support ≤79
Disabled
Full support ≤79
Disabled
Disabled From version ≤79: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled).
Firefox No support NoIE ? Opera No support NoSafari ? WebView Android No support NoChrome Android Full support 57
Disabled
Full support 57
Disabled
Disabled From version 57: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android No support NoOpera Android No support NoSafari iOS ? Samsung Internet Android No support No
instrumentKey
Experimental
Chrome Full support 60
Disabled
Full support 60
Disabled
Disabled From version 60: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support ≤79
Disabled
Full support ≤79
Disabled
Disabled From version ≤79: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled).
Firefox No support NoIE ? Opera No support NoSafari ? WebView Android No support NoChrome Android Full support 60
Disabled
Full support 60
Disabled
Disabled From version 60: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android No support NoOpera Android No support NoSafari iOS ? Samsung Internet Android No support No
methodData
Experimental
Chrome Full support 60
Disabled
Full support 60
Disabled
Disabled From version 60: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support ≤79
Disabled
Full support ≤79
Disabled
Disabled From version ≤79: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled).
Firefox No support NoIE ? Opera No support NoSafari ? WebView Android No support NoChrome Android Full support 60
Disabled
Full support 60
Disabled
Disabled From version 60: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android No support NoOpera Android No support NoSafari iOS ? Samsung Internet Android No support No
modifiers
Experimental
Chrome Full support 60
Disabled
Full support 60
Disabled
Disabled From version 60: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support ≤79
Disabled
Full support ≤79
Disabled
Disabled From version ≤79: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled).
Firefox No support NoIE ? Opera No support NoSafari ? WebView Android No support NoChrome Android Full support 60
Disabled
Full support 60
Disabled
Disabled From version 60: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android No support NoOpera Android No support NoSafari iOS ? Samsung Internet Android No support No
openWindow()
Experimental
Chrome Full support 61
Disabled
Full support 61
Disabled
Disabled From version 61: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support ≤79
Disabled
Full support ≤79
Disabled
Disabled From version ≤79: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled).
Firefox No support NoIE ? Opera No support NoSafari ? WebView Android No support NoChrome Android Full support 61
Disabled
Full support 61
Disabled
Disabled From version 61: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android No support NoOpera Android No support NoSafari iOS ? Samsung Internet Android No support No
paymentRequestId
Experimental
Chrome Full support 60
Disabled
Full support 60
Disabled
Disabled From version 60: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support ≤79
Disabled
Full support ≤79
Disabled
Disabled From version ≤79: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled).
Firefox No support NoIE ? Opera No support NoSafari ? WebView Android No support NoChrome Android Full support 60
Disabled
Full support 60
Disabled
Disabled From version 60: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android No support NoOpera Android No support NoSafari iOS ? Samsung Internet Android No support No
paymentRequestOrigin
Experimental
Chrome Full support 60
Disabled
Full support 60
Disabled
Disabled From version 60: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support ≤79
Disabled
Full support ≤79
Disabled
Disabled From version ≤79: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled).
Firefox No support NoIE ? Opera No support NoSafari ? WebView Android No support NoChrome Android Full support 60
Disabled
Full support 60
Disabled
Disabled From version 60: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android No support NoOpera Android No support NoSafari iOS ? Samsung Internet Android No support No
respondWith()</code</a>
Experimental
Chrome Full support 59
Disabled
Full support 59
Disabled
Disabled From version 59: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support ≤79
Disabled
Full support ≤79
Disabled
Disabled From version ≤79: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled).
Firefox No support NoIE ? Opera No support NoSafari ? WebView Android No support NoChrome Android Full support 59
Disabled
Full support 59
Disabled
Disabled From version 59: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android No support NoOpera Android No support NoSafari iOS ? Samsung Internet Android No support No
topOrigin
Experimental
Chrome Full support 68
Disabled
Full support 68
Disabled
Disabled From version 68: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
No support 61 — 67
Alternate Name
Alternate Name Uses the non-standard name: topLevelOrigin
Edge Full support ≤79
Disabled
Full support ≤79
Disabled
Disabled From version ≤79: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled).
Firefox No support NoIE ? Opera No support NoSafari ? WebView Android No support NoChrome Android Full support 68
Disabled
Full support 68
Disabled
Disabled From version 68: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
No support 61 — 67
Alternate Name
Alternate Name Uses the non-standard name: topLevelOrigin
Firefox Android No support NoOpera Android No support NoSafari iOS ? Samsung Internet Android No support No
total
Experimental
Chrome Full support 60
Disabled
Full support 60
Disabled
Disabled From version 60: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Full support ≤79
Disabled
Full support ≤79
Disabled
Disabled From version ≤79: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled).
Firefox No support NoIE ? Opera No support NoSafari ? WebView Android No support NoChrome Android Full support 60
Disabled
Full support 60
Disabled
Disabled From version 60: this feature is behind the #service-worker-payment-apps preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android No support NoOpera Android No support NoSafari iOS ? Samsung Internet Android No support No

Legend

Full support
Full support
No support
No support
Compatibility unknown
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
User must explicitly enable this feature.
User must explicitly enable this feature.
Uses a non-standard name.
Uses a non-standard name.