This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The PaymentRequestEvent constructor creates a new PaymentRequestEvent object which is a constructor for a PaymentRequestEvent which is the object passed to a payment handler when a PaymentRequest is made..


var paymentRequestEvent = new PaymentRequestEventy(type, options)


Must always be 'PaymentRequest'.
options Optional
Options are as follows:
  • instrumentKey: 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.
  • methodData: 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.
  • modifiers: An array of objects containing changes to payment details.
  • paymentRequestId: The ID of the PaymentRequest object.
  • paymentRequestOrigin: The origin where the PaymentRequest object was initialized.
  • topLeveOrigin: The top-level origin where the PaymentRequest object was initialized.
  • total: The total amount being requested for payment.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
PaymentRequestEvent() constructor
Chrome Full support 70Edge Full support 79Firefox No support NoIE No support NoOpera Full support 57Safari No support NoWebView Android No support NoChrome Android Full support 70Firefox Android No support NoOpera Android Full support 49Safari iOS No support NoSamsung Internet Android Full support Yes


Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.