PaymentRequestEvent: changePaymentMethod() метод
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Экспериментально: Это экспериментальная технология.
Перед использованием в производстве внимательно проверьте таблицу совместимости браузеров.
Примечание: Эта функция доступна только в Service Workers.
Метод changePaymentMethod() интерфейса PaymentRequestEvent используется обработчиком платежей для получения обновлённой суммы, учитывая такие детали способа платежа, как адрес для выставления счёта.
При вызове этого метода срабатывает событие PaymentMethodChangeEvent.
Синтаксис
changePaymentMethod(methodName) changePaymentMethod(methodName, methodDetails)
Параметры
methodName-
Имя способа платежа, который будет использован.
methodDetailsНеобязательно-
Объект, содержащий специфичные для метода детали, которые обновляются.
Возвращаемое значение
Обещание Promise, которое выполняется с объектом PaymentRequestDetailsUpdate. Этот объект содержит следующие свойства:
error-
Строка, объясняющая, почему выбранный пользователем способ платежа не может быть использован.
total-
Обновлённая сумма, основанная на изменённом способе платежа. Сумма может измениться, например, потому что адрес для выставления счёта выбранного пользователем способа платежа меняет применимую налоговую ставку с продаж.
modifiers-
Массив
ArrayобъектовPaymentDetailsModifier, свойства которых описаны вPaymentRequestEvent.modifiers. paymentMethodErrors-
Объект, содержащий ошибки валидации для способа платежа, если они есть.
Примеры
Ниже представлен фрагмент кода, который можно использовать в service worker для отправки уведомления о смене способа платежа в окно основного обработчика платежей. Полный пример теста см. на странице Обработчик платежей для тестирования события изменения способа платежа.
function notifyPaymentMethodChanged(e) {
e.changePaymentMethod("someMethod")
.then((paymentMethodChangeResponse) => {
paymentHandlerWindow.postMessage(paymentMethodChangeResponse);
})
.catch((error) => {
sendMessage({ error: error.message });
});
}
Спецификации
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
changePaymentMethod |
76 | 79 | Нет | 63 | Нет | 76 | Нет | 54 | Нет | 12.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/changePaymentMethod