PaymentRequest: событие merchantvalidation
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или во всех поддерживающих браузерах.
Устаревшее: Эта функция больше не рекомендуется. Хотя некоторые браузеры могут её по-прежнему поддерживать, она может быть удалена из соответствующих веб-стандартов, может быть в процессе удаления или оставаться только для совместимости. Избегайте её использования и, если возможно, обновите существующий код; см. таблицу совместимости внизу этой страницы, чтобы принять решение. Имейте в виду, что эта функция может перестать работать в любое время.
события merchantvalidation доставляются через API запроса оплаты объекту PaymentRequest, когда обработчик платежа требует, чтобы продавец, запрашивающий покупку, подтвердил свои права использовать обработчик платежей.
Узнайте, как работает процесс валидации продавца.
Это событие не может быть отменено и не распространяется.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или установите свойство обработчика события.
addEventListener("merchantvalidation", (event) => {});
onmerchantvalidation = (event) => {};
Тип события
Объект MerchantValidationEvent. Наследуется от Event.
Свойства события
MerchantValidationEvent.methodName-
Строка, предоставляющая уникальный идентификатор метода платежа для обработчика платежа, требующего проверки. Это может быть один из стандартных идентификаторов метода платежа или URL, который одновременно идентифицирует и обрабатывает запросы для обработчика платежей, например
https://apple.com/apple-pay. MerchantValidationEvent.validationURL-
Строка, определяющая URL, с помощью которого сайт или приложение могут извлечь информацию о валидации, специфичную для обработчика платежей. После получения этих данных данные (или обещание, разрешающее данные валидации) должны быть переданы в
complete(), чтобы проверить, поступает ли запрос на оплату от авторизованного продавца.
Примеры
В этом примере устанавливается обработчик событий для события merchantvalidation. Он использует fetch() для отправки запроса на собственный сервер с аргументом URL валидации метода платежа, полученного из свойства события validationURL. Сервер продавца должен получить доступ к URL валидации в соответствии с документацией метода платежа. Как правило, клиент не должен получать доступ к URL валидации.
request.addEventListener("merchantvalidation", (event) => {
event.complete(async () => {
const merchantServerUrl = `${
window.location.origin
}/validate?url=${encodeURIComponent(event.validationURL)}`;
// get validation data, and complete validation;
return await fetch(merchantServerUrl).then((response) => response.text());
}, false);
});
const response = await request.show();
Обработка валидации сервером продавца зависит от реализации сервера и документации метода платежа. Содержимое, предоставленное сервером валидации, передается на сервер продавца, а затем возвращается из обработчика выполнения вызова fetch() в метод complete() события. Этот ответ позволяет обработчику платежа узнать, подтвержден ли продавец.
Вы также можете использовать свойство обработчика событий onmerchantvalidation для настройки обработчика для этого события:
request.onmerchantvalidation = (event) => {
event.complete(async () => {
const merchantServerUrl = `${
window.location.origin
}/validate?url=${encodeURIComponent(event.validationURL)}`;
// get validation data, and complete validation;
return await fetch(merchantServerUrl).then((response) => response.text());
});
};
const response = await request.show();
Для получения дополнительной информации см. Валидация продавца.
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
merchantvalidation_event |
Нет | Нет | 55 | Нет | 11.1 | Нет | Нет | Нет | 11.3 | Нет | Нет |
См. также
- API запроса оплаты
- Использование API запроса оплаты
-
onmerchantvalidationсвойство обработчика событий - Валидация продавца
-
paymentmethodchangeсобытие -
shippingaddresschangeсобытие -
shippingoptionchangeсобытие
© 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/PaymentRequest/merchantvalidation_event