ServiceWorkerGlobalScope: событие paymentrequest
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает во всех широко используемых браузерах.
Экспериментальная: Это экспериментальная технология.
Внимательно проверьте таблицу совместимости браузеров перед использованием в производстве.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или во всех поддерживающих браузерах.
Примечание: Эта функция доступна только в сервис-воркерах.
Событие paymentrequest интерфейса ServiceWorkerGlobalScope срабатывает в приложении для обработки платежей, когда процесс оплаты был инициирован на веб-сайте продавца с помощью метода PaymentRequest.show().
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или задайте обработчик события.
addEventListener("paymentrequest", (event) => {});
onpaymentrequest = (event) => {};
Тип события
Объект PaymentRequestEvent. Наследуется от ExtendableEvent.
Примеры
Когда вызывается метод PaymentRequest.show(), событие paymentrequest срабатывает в сервис-воркере приложения для обработки платежей. Это событие обрабатывается внутри сервис-воркера приложения для обработки платежей, чтобы начать следующий этап процесса оплаты.
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().
Для получения более подробной информации об этой стадии см. Получение события запроса платежа от продавца.
Спецификации
| Спецификация |
|---|
| API обработчика платежей # the-paymentrequestevent |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
paymentrequest_event |
70 | 79 | Нет | 57 | Нет | 70 | Нет | 49 | Нет | 10.0 | Нет |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope/paymentrequest_event