PaymentRequestEvent: метод respondWith()
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Экспериментально: Это экспериментальная технология. Подробнее
Перед использованием в продакшене внимательно изучите таблицу совместимости браузеров.
Примечание: Эта функция доступна только в Service Workers.
Метод respondWith() интерфейса PaymentRequestEvent предотвращает обработку события по умолчанию и позволяет вам предоставить Promise для объекта ответа обработчика платежа самостоятельно.
Синтаксис
respondWith(promise)
Параметры
promise-
Объект ответа обработчика платежа или
Promise, который разрешается в такой объект. Этот объект должен содержать следующие свойства:methodName-
Идентификатор метода платежа выбранного пользователем для выполнения транзакции.
details-
Объект, сериализуемый в JSON, содержащий сообщение, специфичное для метода платежа, используемое продавцом для обработки транзакции и определения успешного перевода средств. Подробнее см. 7.1.2 атрибут details.
Возвращаемое значение
Ничего (undefined).
Примеры
Следующий пример взят из Открыть окно обработчика платежей для отображения веб-приложения для обработки платежей. Прочитайте статью, чтобы понять контекст кода.
self.addEventListener("paymentrequest", async (e) => {
// Retain a promise for future resolution
resolver = new PromiseResolver();
// Pass a promise that resolves when payment is done.
e.respondWith(resolver.promise);
// Open the checkout page.
try {
// Open the window and preserve the client
client = await e.openWindow(checkoutURL);
if (!client) {
// Reject if the window fails to open
throw "Failed to open window";
}
} catch (err) {
// Reject the promise on failure
resolver.reject(err);
}
});
Спецификации
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
respondWith |
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/respondWith