API обработчика платежей позволяет поставщикам платежей предоставлять продавцам доступ к своим индивидуальным способам оплаты вместе с API запроса платежей . Когда API запроса платежа инициализируется с помощью new PaymentRequest()
, он автоматически запускает событие canmakepayment
с указанием источника продавца и произвольных данных для сервисного работника, зарегистрированного для API обработчика платежей . Эта связь между источниками не требует жестов пользователя и не отображает никакого пользовательского интерфейса.
Chrome собирается удалить идентифицирующие поля из события canmakepayment
и запустить пробную версию Origin из Chrome 108.
Информация на этой странице относится только к поставщикам платежных приложений, которые используют API обработчика платежей. Если вы его не используете, вы можете пропустить эти инструкции.
Что меняется?
Когда продавец вызывает new PaymentRequest()
, зарегистрированный сервисный работник получает событие canmakepayment
( CanMakePaymentEvent
), которое содержит следующую информацию:
-
topOrigin
-
paymentRequestOrigin
-
methodData
-
modifiers
Они будут удалены, и работник службы просто получит событие canmakepayment
без какой-либо дополнительной информации.
Обнаружение функций
Чтобы определить, изменилось ли событие canmakepayment
в коде сервис-воркера, проверьте соответствующие свойства следующим образом:
self.addEventListener(e => {
if (e.paymentRequestOrigin) {...}
if (e.topOrigin) {...}
if (e.methodData && e.methodData.length > 0) {...}
if (e.modifiers && e.modifiers.length > 0) {...}
...
});
Попробуйте внести изменения локально
Чтобы включить изменение локально в целях разработки:
- Используйте Chrome 108, 109 или 110.
- Введите
chrome://flags/#clear-identity-in-can-make-payment
в строке URL. - Включите флаг.
- Перезапустите Хром.
При включении флага поля идентификации в событии canmakepayment
будут очищены (и намерение Android IS_READY_TO_PAY
).
Включить изменения в производстве
Вы также можете включить изменение в производство в целях тестирования, прежде чем оно фактически попадет в Chrome. Этот механизм называется испытанием происхождения.
Пробные версии Origin позволяют вам опробовать новые функции и оставить отзыв об их удобстве использования, практичности и эффективности сообществу веб-стандартистов. Дополнительную информацию см. в Руководстве по пробным версиям Origin для веб-разработчиков . Чтобы подписаться на ту или иную пробную версию Origin, посетите страницу регистрации .
Чтобы зарегистрировать пробную версию Origin:
- Запросите токен для вашего происхождения.
- Добавьте токен в файл JavaScript сервис-воркера, используя HTTP-заголовок
Origin-Trial
. Для настройки заголовков HTTP требуется доступ к настройке вашего сервера. Результирующий заголовок ответа должен выглядеть примерно так:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...
Чтобы увидеть пробный токен источника в файле сервисного работника, используйте DevTools или команду curl
следующим образом:
$ curl --head <Service Worker JS file URL> | grep -i origin-trial
origin-trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...
Повторно включите поля идентификации локально после Chrome 111.
Если вы используете Chrome 111 или более позднюю версию, поля идентификации в событии canmakepayment
остаются пустыми. Чтобы повторно включить поля локально, вы можете сделать следующее:
- Используйте Chrome 111 или более позднюю версию.
- Введите
chrome://flags/#add-identity-in-can-make-payment
в строке URL. - Включите флаг.
- Перезапустите Хром.
Следующие шаги
Планируется, что это изменение будет включено по умолчанию в Chrome 111. Вы можете начать тестирование сегодня, чтобы подготовиться к изменению времени запуска.