Консорциум W3C постепенно доводит до финальной стадии новый стандарт Payment Request API, который должен упростить пользователям процесс покупок товаров в интернет-магазинах. Больше не придётся вручную вводить платёжные данные при каждой покупке, потому что реквизиты банковских карточек хранятся в браузере и вводятся в форму автоматически (кроме кода CVV).
Это очень удобно: оплата карточкой совершается буквально в несколько нажатий кнопки. Ну и схемы мошенничества изменятся. Если раньше злоумышленники искали базы с кредитками на серверах магазинов, то теперь зловреды будут добывать карточки непосредственно из браузеров на локальных машинах пользователей.
4 октября опубликован черновик Candidate Recommendation, комментарии для которого принимают до 31 октября 2017 года.
Хотя стандарт Payment Request API ещё окончательно не утверждён, он уже включен по умолчанию в следующих браузерах:
- Chrome 61 в десктопной версии
- Chrome для Android с версии 53
- Chrome для iOS с версии 62
- Opera 48
- Opera для Android с версии 48
Новые интерфейсы уже реализованы в браузере Edge, а в Firefox и Safari он находится на стадии разработки. Правда, чтобы использовать автооплату в Edge, нужно зарегистрировать аккаунт Microsoft Wallet, так что в реальности не у многих пользователей она работает. Другое дело — Chrome, который начал хранить реквизиты банковских карт самым первым среди всех браузеров. В версии для Android эта функция активирована в августе 2016 года, а в десктопной версии её включили по умолчанию в сентябре 2017-го, с выходом Chrome 61.
Когда пользователь делает заказ в интернет-магазине (нажимает кнопку «Купить»), магазин отправляет вызов API к браузеру пользователя, сообщая информацию о заказе. Браузер выводит всплывающее окно, в котором уже заполнены все поля с реквизитами платежа и адресом доставки (если они раньше уже вводились и хранятся в браузере). Если пользователь подтверждает информацию, то браузер, а не веб-сайт, связывается с платёжным оператором типа Visa и Mastercard, чтобы провести транзакцию. Когда получено подтверждение, браузер сообщает об успешном проведении платежа веб-сайту магазина, который прислал запрос — и тот может приступать к оформлению заказа, упаковке и отправке товара, зная при этом, что деньги уже перечислены на его банковский счёт.
Поддержку хранения банковских реквизитов в своих реализациях браузеров собираются внедриить Samsung и Facebook, поскольку обе компании крайне заинтересованы в упрощении платежей в интернете.
На GitHub открыт репозиторий с образцами кода, как внедрить на веб-сайте разные виды автоматических платежей через Payment Request API. Есть страница с демками. Там показан реальный процесс оплаты со стороны пользователя, примеры клиентского и серверного кода.
На первый взгляд схема с хранением платёжных реквизитов в браузере кажется опасной. Но она придумана как раз чтобы улучшить защиту конфиденциальных данных. Ведь теперь магазин не получает информации о номерах банковских карт клиентов. Соответственно, эти базы с карточками теперь не будут храниться в каждом магазине, что в прошлом неоднократно приводило к утечкам данных. Сейчас всё в руках пользователя — и он сам несёт за сохранность своих банковских карточек, которые хранятся в его личном браузере.
Исчезает необходимость в платёжных системах вроде PayPal, которые выполняли роль посредника. Теперь таким посредником будет технология Payment Request API и браузер.
Хотя во многих отношениях Payment Request API повышает общую безопасность электронной коммерции, но появляются и новые риски. Получается, что браузер знает слишком много: не только ваши сохранённые пароли, но ещё и финансовую информацию. Получив доступ к браузеру, теперь посторонний человек может совершить покупки в магазинах от вашего имени. Более того, у разработчиков браузеров есть соблазн использовать историю покупок в своих целях. Например, для точного таргетинга интернет-рекламы.
Вопрос в следующем: доверяют ли пользователи браузеру настолько, чтобы хранить в нём информацию о своих банковских карточках?
Автор: Анатолий Ализар