Limited availability
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Note: This feature is only available in Service Workers.
The PaymentRequestEvent
interface of the Payment Handler API is the object passed to a payment handler when a PaymentRequest
is made.
PaymentRequestEvent()
Experimental
Creates a new PaymentRequestEvent
object instance.
methodData
Read only Experimental
Returns an array of objects containing payment method identifiers for the payment methods that the website accepts and any associated payment method specific data.
modifiers
Read only Experimental
Returns an array of objects containing changes to payment details.
paymentRequestId
Read only Experimental
Returns the ID of the PaymentRequest
object.
paymentRequestOrigin
Read only Experimental
Returns the origin where the PaymentRequest
object was initialized.
topOrigin
Read only Experimental
Returns the top-level origin where the PaymentRequest
object was initialized.
total
Read only Experimental
Returns the total amount being requested for payment.
changePaymentMethod()
Experimental
Gets an updated total, given payment method details.
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.
When the PaymentRequest.show()
method is invoked, a paymentrequest
event is fired on the service worker of the payment app. This event is listened for inside the payment app's service worker to begin the next stage of the payment process.
let payment_request_event;
let resolver;
let client;
// `self` is the global object in service worker
self.addEventListener("paymentrequest", async (e) => {
if (payment_request_event) {
// If there's an ongoing payment transaction, reject it.
resolver.reject();
}
// Preserve the event for future use
payment_request_event = e;
// â¦
});
When a paymentrequest
event is received, the payment app can open a payment handler window by calling PaymentRequestEvent.openWindow()
. The payment handler window will present the customers with a payment app interface where they can authenticate, choose shipping address and options, and authorize the payment.
When the payment has been handled, PaymentRequestEvent.respondWith()
is used to pass the payment result back to the merchant website.
See Receive a payment request event from the merchant for more details of this stage.
Specifications Browser compatibility See alsoRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4