PaymentRequestEvent: respondWith() method
The respondWith()
method of the PaymentRequestEvent
interface prevents the default event handling and allows you to provide a Promise
for a PaymentResponse
object yourself.
Syntax
Parameters
-
promise
-
A Promise
that resolves with a PaymentHandlerResponse
object.
Return value
A PaymentHandlerResponse
object. This contains the following properties:
-
methodName
-
The payment method identifier for the payment method that the user selected to fulfill the transaction.
-
details
-
A JSON-serializable object that provides a payment method-specific message used by the merchant to process the transaction and determine a successful fund transfer. See 7.1.2 details attribute for more details.
Examples
…
self.addEventListener('paymentrequest', async e => {
…
resolver = new PromiseResolver();
e.respondWith(resolver.promise);
try {
client = await e.openWindow(checkoutURL);
if (!client) {
throw 'Failed to open window';
}
} catch (err) {
resolver.reject(err);
};
});
…
See Open the payment handler window to display the web-based payment app frontend for more details about how this would be used.
Specifications
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
respondWith |
70 |
79 |
No |
No |
57 |
No |
No |
70 |
No |
49 |
No |
10.0 |
See also