Первая спецификация протокола HTTP, на котором базируется весь современный веб, появилась в далеком 1991-ом году, т.е. 24 года назад. И практически с тех же пор существует статус код 402 Payment Required, обозначенный в спецификации как “Reserved for future use”, т.е. он задуман, но никто пока не предложил единый стандарт его реализации. Однако, уже известно что он должен делать — когда пользовательский браузер запрашивает какой-нибудь URL, содержащий платный контент, веб-сервер может ответить кодом 402, а браузер после получения ответа должен иннициировать процедуру покупки доступа к URL. Забудьте все эти нудные регистрации и логины, нарушающие вашу анонимность: просто по требованию сервера оплатите доступ к статье и тут же сможете наслаждаться ее прочтением. Применений масса: от онлайн-кинотеатров до пейволов сайтов со свежими новостями и финансовой аналитикой.
Работа по стандартизации 402-ого статуса и других смежных проблем началась под эгидой W3C, огранизации, стандартизирующей веб. В рамках этой иннициативы в 2011-ом году была создана рабочая группа под названием W3C Payments. Сейчас ее возглавляет Ману Спорны (Manu Sporny), чья компания Digital Bazaar в 2001-ом году разработала решение для веб-микроплатежей под названием PaySwarm, которое в данный момент может стать ядром стандарта. В рабочей группе также присутствуют и наши люди, например, Евгений Виноградов из Яндекс.Деньги, который, выступая на августовской конференции #CryptoForum в Санкт-Петербурге, рассказал, что пока-что воз уехал недалеко: удалось лишь договориться о взаимной терминологии.
Однако, может статься, если долго тянуть с принятием стандарта, так сказать, de jure, пользователи de facto массово полюбят какое-нибудь работающее решение и тогда возникнут сложности. Например, подобным решением может стать ZeroClick, разработанный Бенедиктом Чаном во время одного из хакатонов YCombinator.
В ролике вы можете увидеть на сколько легко и просто происходит оплата при переходе по платным ссылкам и в основе, конечно же Биткоин. Конечно, проект пока что на стадии прототипа, работающего в виде плагина к браузеру Chrome, поэтому он полон недостатков, но он работает. Разработчики получили много хороших отзывов и полезных предложений от reddit-сообщества, а мы в свою очередь, попросили прокомментировать этот проект Евгения Виноградова, начальника отдела аналитических сервисов Яндекс.Денег, участника группы разработки платежного стандарта в W3C:
На первый взгляд, выглядит здорово – мы видим реализацию стандарта HTTP/1.1 (действительно, в некоторых разделах он пересекается с новым платежным стандартом, который сейчас обсуждается в W3C – в частности, в нем уже предусмотрен код ответа 402 Payment Required), совмещенную с возможностью платежа «в ноль кликов».
С другой стороны, такой платеж хоть и удобен с точки зрения интерфейса, имеет ряд существенных ограничений, в основном связанных с безопасностью – начиная с того, что существенно усложняется проверка, не выполняется ли платеж злоумышленником, и вплоть до проблем, связанных с отсутствием у пользователя явной точки подтверждения, что он действительно хочет заплатить. Поэтому такой подход может быть хорош, скажем, для микроплатежей за виртуальные товары, но он не особо применим, например, для покупки авиабилетов или дорогой техники.
Стандарт, который W3C сейчас разрабатывает, ни в коем случае не имеет задачи конкурировать с хорошими современными решениями, а наоборот – ставит задачу взять лучшее, что в них есть, и использовать эти наработки в качестве рекомендаций для тех, у кого реализация менее удобна или безопасна.