ServiceWorkerGlobalScope: paymentrequest 事件
注意:此功能僅在 Service Workers 中可用。
ServiceWorkerGlobalScope 介面的 paymentrequest 事件在支付應用程式上觸發,當用戶在商家網站上透過 PaymentRequest.show() 方法啟動支付流程時。
語法
在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。
js
addEventListener("paymentrequest", (event) => { })
onpaymentrequest = (event) => { }
事件型別
一個 PaymentRequestEvent。繼承自 ExtendableEvent。
示例
當呼叫 PaymentRequest.show() 方法時,會在支付應用程式的服務工作執行緒上觸發一個 paymentrequest 事件。此事件在支付應用程式的服務工作執行緒內部被監聽,以開始支付流程的下一階段。
js
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;
// …
});
當收到 paymentrequest 事件時,支付應用程式可以透過呼叫 PaymentRequestEvent.openWindow() 來開啟一個支付處理視窗。支付處理視窗將向客戶展示一個支付應用程式介面,他們可以在其中進行身份驗證、選擇配送地址和選項,以及授權支付。
支付處理完成後,使用 PaymentRequestEvent.respondWith() 將支付結果傳回商家網站。
有關此階段的更多詳細資訊,請參閱 Receive a payment request event from the merchant。
規範
| 規範 |
|---|
| Payment Handler API # the-paymentrequestevent |
瀏覽器相容性
載入中…