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

PaymentRequestEvent.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.
PaymentRequestEvent.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.
PaymentRequestEvent.modifiersRead only
Returns an array of objects containing changes to payment details.
PaymentRequestEvent.paymentRequestIdRead only
Returns the ID of the PaymentRequest object.
PaymentRequestEvent.paymentRequestOriginRead only
Returns the origin where the PaymentRequest object was initialized.
PaymentRequestEvent.topLevelOriginRead only
Returns the top-level origin where the PaymentRequest object was initialized.
PaymentRequestEvent.totalRead only
Returns the total amount being requested for payment.

Methods

PaymentRequestEvent.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.
PaymentRequestEvent.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

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic support
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 ? Firefox ? IE ? 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.
Edge Mobile ? Firefox Android ? Opera Android No support NoSafari iOS ? Samsung Internet Android Full support 7.0
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 ? Firefox ? IE ? 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.
Edge Mobile ? Firefox Android ? Opera 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 ? Firefox ? IE ? 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.
Edge Mobile ? Firefox Android ? Opera 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 ? Firefox ? IE ? 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.
Edge Mobile ? Firefox Android ? Opera 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 ? Firefox ? IE ? 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.
Edge Mobile ? Firefox Android ? Opera 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 ? Firefox ? IE ? 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.
Edge Mobile ? Firefox Android ? Opera 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 ? Firefox ? IE ? 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.
Edge Mobile ? Firefox Android ? Opera 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 ? Firefox ? IE ? 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.
Edge Mobile ? Firefox Android ? Opera Android No support NoSafari iOS ? Samsung Internet Android No support No
respondWith
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 ? Firefox ? IE ? 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.
Edge Mobile ? Firefox Android ? Opera Android No support NoSafari iOS ? Samsung Internet Android Full support 7.0
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 ? Firefox ? IE ? 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
Edge Mobile ? Firefox Android ? Opera 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 ? Firefox ? IE ? 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.
Edge Mobile ? Firefox Android ? Opera 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.

Document Tags and Contributors

Contributors to this page: SterileSummer, jpmedley
Last updated by: SterileSummer,