Spec-Zone.ru › Web APIs

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 });
    });
}

Спецификации

Спецификация
API обработчика платежей
# changepaymentmethod-method

Совместимость браузеров

Рабочие столы Мобильные устройства
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 Нет

См. также

  • Обзор приложений для веб-платежей
  • Настройка способа платежа
  • Жизненный цикл платежной транзакции
  • Использование API запроса платежа
  • Понятия обработки платежей

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API