PaymentRequestEvent
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из самых широко используемых браузеров.
Экспериментальная: Это экспериментальная технология
Внимательно проверьте таблицу совместимости с браузерами перед использованием в рабочей среде.
Примечание: Эта функция доступна только в Service Workers.
Интерфейс PaymentRequestEvent API Payment Handler — это объект, передаваемый обработчику платежей при выполнении PaymentRequest.
Конструктор
-
PaymentRequestEvent()Экспериментальная -
Создает новый экземпляр объекта
PaymentRequestEvent.
Свойства экземпляра
-
instrumentKeyТолько для чтения Устаревший Нестандартный -
Возвращает объект, отражающий выбранный пользователем инструмент платежа, или пустую строку, если пользователь не зарегистрировал или не выбрал инструмент платежа.
-
methodDataТолько для чтения Экспериментальная -
Возвращает массив объектов, содержащих идентификаторы способов оплаты, которые принимает сайт, а также любые связанные данные, специфичные для способа оплаты.
-
modifiersТолько для чтения Экспериментальная -
Возвращает массив объектов, содержащих изменения в платежных данных.
-
paymentRequestIdТолько для чтения Экспериментальная -
Возвращает идентификатор объекта
PaymentRequest. -
paymentRequestOriginТолько для чтения Экспериментальная -
Возвращает происхождение, где был инициализирован объект
PaymentRequest. -
topOriginТолько для чтения Экспериментальная -
Возвращает основное происхождение, где был инициализирован объект
PaymentRequest. -
totalТолько для чтения Экспериментальная -
Возвращает общую сумму, запрашиваемую для оплаты.
Методы экземпляра
-
changePaymentMethod()Экспериментальная -
Получает обновлённую сумму, учитывая подробности способа оплаты.
-
openWindow()Экспериментальная -
Открывает указанный URL в новом окне, если и только если данный URL находится в том же происхождении, что и вызывающая страница. Возвращает
Promise, который разрешается ссылкой наWindowClient. -
respondWith()Экспериментальная -
Предотвращает обработку события по умолчанию и позволяет указать
Promiseдля объектаPaymentResponseсамостоятельно.
Примеры
При вызове метода 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() для возврата результата платежа на веб-сайт продавца.
См. Получение события запроса платежа от продавца для получения более подробной информации об этой стадии.
Спецификации
| Спецификация |
|---|
| Payment Handler API # the-paymentrequestevent |
Совместимость с браузерами
| Настольный | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
PaymentRequestEvent |
70 | 79 | Нет | 57 | Нет | 70 | Нет | 49 | Нет | 10.0 | Нет |
PaymentRequestEvent |
70 | 79 | Нет | 57 | Нет | 70 | Нет | 49 | Нет | 10.0 | Нет |
changePaymentMethod |
76 | 79 | Нет | 63 | Нет | 76 | Нет | 54 | Нет | 12.0 | Нет |
changeShippingAddress |
80 | 80 | Нет | 67 | Нет | 80 | Нет | 57 | Нет | 13.0 | Нет |
changeShippingOption |
80 | 80 | Нет | 67 | Нет | 80 | Нет | 57 | Нет | 13.0 | Нет |
instrumentKey |
70–111 | 79–111 | Нет | 57–97 | Нет | 70–111 | Нет | 49–75 | Нет | 10.0–22.0 | Нет |
methodData |
70 | 79 | Нет | 57 | Нет | 70 | Нет | 49 | Нет | 10.0 | Нет |
modifiers |
70 | 79 | Нет | 57 | Нет | 70 | Нет | 49 | Нет | 10.0 | Нет |
openWindow |
70 | 79 | Нет | 57 | Нет | 70 | Нет | 49 | Нет | 10.0 | Нет |
paymentOptions |
80 | 80 | Нет | 67 | Нет | 80 | Нет | 57 | Нет | 13.0 | Нет |
paymentRequestId |
70 | 79 | Нет | 57 | Нет | 70 | Нет | 49 | Нет | 10.0 | Нет |
paymentRequestOrigin |
70 | 79 | Нет | 57 | Нет | 70 | Нет | 49 | Нет | 10.0 | Нет |
respondWith |
70 | 79 | Нет | 57 | Нет | 70 | Нет | 49 | Нет | 10.0 | Нет |
shippingOptions |
80 | 80 | Нет | 67 | Нет | 80 | Нет | 57 | Нет | 13.0 | Нет |
topOrigin |
70 | 79 | Нет | 57 | Нет | 70 | Нет | 49 | Нет | 10.0 | Нет |
total |
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/PaymentRequestEvent