company_banner
13 августа 2014 в 13:12

Предложение от Яндекс.Денег в новом стандарте платежей W3C

Привет! Меня зовут Евгений Виноградов. Я работаю в Яндекс.Деньгах и участвую в работе группы W3C, посвященной стандартам интернет-платежей. Помимо нас и ещё нескольких платёжных сервисов, в неё вошли международные IT-компании, банки, регуляторы, организации, работающие с Bitcoin. На самом деле, группа существует уже больше трех лет. Всё это время она обсуждает содержание будущего стандарта для интернет-платежей, но только недавно — после очной встречи участников — дело заметно продвинулось вперед.



Мы в Яндекс.Деньгах не понаслышке знаем, с какими сложностями приходится сталкиваться разработчикам, например, интернет-магазинов. Сейчас для использования разных платёжных систем им приходится разбираться с документацией и особенностями каждой из них, а процесс подключения платёжных решений к мелкому магазину может растягиваться на месяцы. Если же подключение будет выполняться практически идентично, достаточно будет изучить процедуру один раз — и вы будете способны работать со всеми платежными системами.

Одним из наших предложений в рамках работы над стандартом стал способ инициализации платежа с условным названием «payto:» — по аналогии со всем известным сценарием отправки сообщений электронной почты через URI-схему «mailto:».

В этом посте мы хотим рассказать о том, почему так сложилось, что единого стандарта до сих пор нет, почему он очень нужен и каким он может, на наш взгляд, быть.

Стандарты, с которыми сегодня работает платёжный бизнес, создавались десятилетия назад — большими компаниями для больших компаний. Появившийся и разросшийся с тех пор сегмент интернет-платежей вовлёк в процесс новых игроков. Участников рынка стало больше и перед ними встали новые задачи, для которых находились разношёрстные решения — и полезные, и граблеобразные. А существующие в интернете стандарты до них пока не дотянулись. Сходясь в архитектуре каждого ecommerce-проекта, все эти «грабли» и «костыли» оказываются головной болью для разработчиков, для владельцев бизнеса и, в конечном счёте, для пользователей. Чем быстрее и проще получить результат — тем эффективнее бизнес, так что предприниматели, безусловно, выиграют от стандартизации не меньше разработчиков.

История стандартов: от чековых книжек к payto


Платежи как способ обмена ценностями уже много тысячелетий вполне успешно работают, но лишь в конце прошлого века массовые платежи стали нематериальными.

Начиналось это в США конца 50-х — начала 60-х. Покупатель приходил в магазин с наличными или с чековыми книжками, и был ограничен в покупках размером наличности при себе или остатком на счете, к которому были привязаны чеки. Розничный бизнес понял, что прибыли станут заметно больше, если человек не будет ограничиваться содержимым карманов — так появились частные кредитные счета в крупных розничных сетях (Sears, Montgomery Ward, JCPenney), а потом и карты этих сетей.

Тут банки обратили внимание, что ритейлеры хорошо зарабатывают на их поле, и вступили в игру: появились финансовые ассоциации, призванные создать единое универсальное решение — Visa и MasterCard. Клиент получал одну карту для разных торговых точек, а продавец всякий раз звонил в кредитную организацию для подтверждения платежа.

Вскоре владельцев банковских карт стало очень много, и одобрение транзакций по телефону стало неудобным для покупателей и затратным для бизнеса. Для решения проблемы придумали магнитные ленты на картах и POS-терминалы, которые передавали данные по dial-up и одобряли транзакции автоматически. Это был большой рывок вперёд.

Бизнес начал обрастать инфраструктурой, и в борьбе за минимизацию издержек произошло эволюционное разделение функций системы: появились банки-эмитенты, банки-эквайеры, процессинговые центры, платёжные шлюзы, организации по поддержке POS-инфраструктуры и другие. Поскольку в каждом сегменте участников было немного, договориться о стандартах им было гораздо проще: например, использующийся сейчас ISO 20022 был разработан под управлением организации SWIFT в интересах банков и описывает межбанковские переводы, разные виды OFX были предложены IT-компаниями для обмена финансовыми сообщениями, стандарт ISO 8583, на котором работает передача данных при платежах банковскими картами, появился усилиями Visa и Mastercard.


Интернету нужны другие стандарты платежей, учитывающие потребности важных микроигроков: продавцов и разработчиков. Опыт Яндекс.Денег, суммирующий опыт интернет-сервиса, опыт платёжного решения для других интернет-сервисов и опыт «большой», наравне с банками, финансовой организации как раз и дал нам понимание того, каким может быть универсальный сценарий инициализации платежа. На первой встрече рабочей группы W3C весной этого года мы убедились, что это понимание совпадает с ожиданиями других крупнейших представителей финансово-технологической отрасли.

Payto: как mailto, но с деньгами


В схеме mailto всё, что можно автоматизировать, уже автоматизировано: почтовые клиенты, браузеры, приложения понимают, что такое mailto: надо создать письмо на указанный адрес, просто добавьте содержательную часть и подтвердите, что готовы отправить, всё стальное сделает техника.

Когда в прошлом году мы запустили «денежные письма» (возможность «прикрепить» деньги к сообщению Яндекс.Почты, введя только сумму и пароль), это воспринималось как магия — настолько простым вдруг оказался процесс, обычно требующий гораздо больше действий. Единый платёжный протокол позволит добавить похожей бесшовности в любом месте, например, на сайте магазина, одной короткой строчкой:

payto:example.com/payto.xml?item=BigBook&sum=10.0&account=111223344&someparams=params


Аналогично mailto, браузеры и почтовые клиенты, приложения и т.д., реализующие стандарт, смогут распознавать эту разметку на страницах и автоматически проводить плательщика через процедуру отправки денег — если он захочет воспользоваться предложением.

Вокруг этой простой с виду структуры, конечно, есть много вопросов. А если браузер не понимает стандарта? Если в разметке указан URI PSP, он может отправить пользователя просто по ссылке. А если есть попытка фишинга/мошенничества? PSP может проследить за тем, чтобы пользователь был предупрежден о такой опасности. Процесс выработки стандарта как раз подразумевает поиск ответов на такие сопуствующие вопросы.

При этом надо отметить, что идея использования URI для платежа уже имеет свои реализации. API многих PSP позволяют инициировать платеж запросом по определенному URL с параметрами.

А, к примеру, для Bitcoin есть BIP 0021 (0020) — способ описания платежа через URI, который включает в себя параметры amountparam, labelparam, messageparam, и ряд других. При этом, любой биткойн-клиент легко может разобрать эти параметры и использовать их для проведения платежа. Более того, URI-схема биткоина в принципе позволяет не только запросить деньги, но и отправить, если есть соответствующий приватный ключ.

Кто заплатит за прогресс?


Конечно, decrease friction (пресловутая «бесшовность») применительно к платежам будет означать усложнение инфраструктуры, требуемой для обеспечения этого самого decrease на стороне платёжного оператора. Но уже сейчас роль платёжных провайдеров в производственной цепочке сводится к «упрощению жизни для всех остальных», так что это самое разумное место для применения нововведений.

Отдельный большой вопрос, который нам задают в этой связи со стороны: как потребность в стандартизации соотносится с конкуренцией. Тут нет противоречия: платёж как таковой начинается гораздо раньше, чем непосредственно транзакция по переводу суммы в N денег. Он начинается, когда человек задумывается о том, куда сложить свои материальные ресурсы. В каждой стране есть свои особенности этого процесса, но в целом взаимодействие между конкретными компаниями и конкретными людьми всё равно происходит похожим образом.

Для некоторых компаний важнее доход от конкретной операции, для других — от группы операций, для кого-то перевод денег — просто дополнительная, непрофильная услуга. Именно тут начинается разница в уровне сервиса и его стоимости, в специфике добавочных услуг.

Ещё одно важное поле околоплатежной активности — безопасность на самом разном уровне: от доверия между продавцом и покупателем до борьбы с фальшивыми деньгами и уверенности, что в операции участвуют именно те, за кого участники себя выдают. И тут стандарт де-факто может стать рычагом, продвигающем безопасные методы проведения операций в массы.

Понятно, что требования и запросы у всех разные. Регуляторам хочется регулировать, то есть держать под контролем денежные потоки; банкам хочется безопасности и доходов; IT-компаниям хочется прозрачности технологий — этот список можно продолжить, и во многих этих задачах стандарт станет хорошим подспорьем.

Выиграют ли пользователи? Определённо. По сути, платеж – это инфраструктурный вопрос, который сам по себе никому из них особо не интересен. Никто не просыпается с мыслью «а не провести ли мне транзакцию?», просыпаются с мыслью «Хочу новый телефон» или «Шампанского в номер 25!». И стандарт, описывающий процессы перевода денег, позволяет сделать действия, связанные с платежами, рутинными, привычными, а значит – как можно более незаметными для человека.
Автор: @dmJonny
Яндекс
рейтинг 752,10
Как мы делаем Яндекс
Похожие публикации

Комментарии (32)

  • +5
    У вас односторонний USB-порт на картинке, суперпозиция, все такое, опять костыли с третьего раза получатся?
    • +2
      Это сильно схематичная иллюстрация. Для меня справа вообще зарядка старого лампового айфона :) Но, спасибо, что обратили внимание — будем приглядываться к таким вещам педантичнее.
    • 0
      У USB-штекера не суперпозиция. На верхней части знак USB. Значит все верно расположено.
      • 0
        Все равно не влезет с первого раза :)

        image
        • 0
          Шутки шутками, а втыкается оно рукой. На расстоянии вытянутой оной рассмотреть можно сразу.
          Другое дело — китайские некоторые штекеры. Там разметки нет — только спереди на штекер смотреть, если знаешь, где верх.
          • +1
            Даже если на флешке есть верх/низ, то как втыкать его на боковину телика понять не так просто.
  • +7
    Ребята, введите у себя лучше двухфакторную авторизацию, только вчера мошенники перевыпустили мою симку по поддельным документам (передаю привет МТС) и только с симкой сняли все деньги со счёта.
    Оказывается при включённых подтверждениях по СМС и привязанном номере телефона достаточно только обладать номером телефона чтобы получить доступ к кошельку, сбросить пароль и совершать платежи.
    Если бы вы использовали двухфакторную аутентификацию — такого бы не случилось, а пока я отнёс заявление в полицию и несу заявление в ваш офис, посмотрим что дальше будет
    • +2
      Добрый день! Нам очень жаль, что с Вами приключилась такая неприятная история. К сожалению, если у мошенника на руках Ваш номер телефона, двухфакторная авторизация Вас не спасёт, ведь именно на этот номер, который Вы указали в настройках двухфакторной авторизации, мошенник будет получать одноразовые коды по SMS.
      Более того, в Яндекс.Деньгах уже давно можно пользоваться одноразовыми паролями money.yandex.ru/doc.xml?id=523438

      В этом случае и правда нужно как можно скорее разбираться в происшествии с полицией, чтобы поймать мошенника по горячим следам.
      • +7
        В афльвабанке сделали умнее — там при смене симки нужно авторизовываться оп телефону так как у них зашит в системе симайди. Вроде как его пока не подделывали…
        • 0
          Кстати, у себра такая же защита. Сам недавно столкнулся.
      • +1
        А от токенов (реальных, виртуальных) вы совсем отказались? TOTP вроде стал почти стандартом де-факто (gmail,evernote,github,aws,facebook,digitalocean,...)
        • 0
          Токены в Яндекс.Деньгах тоже есть money.yandex.ru/doc.xml?id=524854
          В большом Яндекс.Паспорте пока что нет ни токенов, ни второго фактора в виде SMS, но мы думаем об этом в рамках задачи по повышению безопасности сервисов.
        • 0
          Ох, простите, у меня устаревшая информация. Токены и правда можно использовать, только если они были приобретены до 18 июня 2013 года
      • +1
        Мне больше нравится что-нибудь вроде Рутокен PINPad. Именно тем, что достоверно видно кому и сколько платишь.
      • +2
        Это, кстати, интересная мысль — если по телефону можно сбросить пароль, система, получается однофакторная — нужен только телефон.
      • 0
        У Гугла вон есть альтернатива с приложением, которое генерирует OTP. Хотелось бы такого и от Яндекса.
        • +1
          Там можно получить код по смс, при дубликате симки не спасет тоже.
  • +1
    Картинка как бы говорит: замените силовую электрическую розетку 220В на USB?
    • 0
      Я все пытаюсь припомнить, розетка №2 на картинке — это что?
      • +1
        Похож на тип D.
        • 0
          Ага. Британский вариант. В Гонконге такие раньше точно были, ну и Великобритании очевидно. Сейчас уже практически и не встретить.
  • 0
    Начиналось это в США конца 50-х — начала 60-х. Покупатель приходил в магазин с наличными или с чековыми книжками, и был ограничен в покупках размером наличности при себе.

    Это как это?
    • +1
      Да, спасибо, вы правы — потеряли в тексте про ограничение остатком на счете, к которому были привязаны чеки. Поправим.
    • 0
      Пароход нельзя было купить, ибо объем наличных равный стоимости парохода среднестатистический американец физически не мог унести.
      • +1
        От парохода зависит. Титаник в свое время обошелся меньше, чем в 8 миллионов. Что есть всего 80кг наличкой. Но это на 50 лет раньше. И это Титаник. А пароходик поменьше, мне думается, вполне можно было за наличку прикупить.
      • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Ожидал более подробного описания как общей схемы работы, так и протокола, ну ткнул человек payto, а дальше кто и что?
    • +1
      Подробное описание протокола и схемы работы появится в процессе разработки стандарта.

      Но сценарии взаимодействия могут выглядеть, например, так: после того, как человек ткнул в payto, приложения, обрабатывающие это действие, способствуют в силу своих возможностей тому, чтобы процесс оплаты прошел как можно проще, быстрее и безопаснее для пользователя.

      Скажем, если это ссылка на странице интернет-магазина, браузер, знающий про разметку типа payto, может, не уводя пользователя с сайта магазина, открыть отдельное окошко для проведения оплаты, узнать у платежного сервиса (PSP), поддерживающего стандарт (попутно убедившись в том, что он является доверенным), какие данные требуются для проведения операции (и нужна ли доп. информация), по мере необходимости подставить их самостоятельно в нужные поля, предоставив пользователю только нажать «Оплатить».

      Браузер, знающий про разметку, но не столь продвинутый, как в предыдущем примере — может просто открыть отдельное окошко для проведения оплаты и убедиться, что взаимодействие с PSP осуществляется по безопасному протоколу.

      Совсем не продвинутый клиент — например, почтовая программа, встретив такого рода ссылку в письме, может просто отправить пользователя по ней через браузер, и тогда процесс платежа пойдет дальше примерно по тому же сценарию, по которому сейчас работает большая часть платежных сервисов.

      • 0
        браузер, знающий про разметку типа payto, может, не уводя пользователя с сайта магазина, открыть отдельное окошко для проведения оплаты, узнать у платежного сервиса (PSP)

        думаю он сначала должен спросить каким способом оплаты изволит платить человек, потом вывести список платёжных систем поддерживающих такой способ оплаты, а потом уже параметры от платёжной системы
        Совсем не продвинутый клиент — например, почтовая программа, встретив такого рода ссылку в письме, может просто отправить пользователя по ней через браузер

        значит должен быть некий нейтральный сайт, который делает то что я написал выше

        Вроде как звучит неплохо, но непонятно откуда список платёжных систем брать.
        По идее, магазин размещающий ссылку payto должен иметь возможность указать от кого он готов принимать деньги, а значит урл payto будет очень длинным, ну и пользователь может его изменить и вписать другую платёжную систему. Может приложение умеющее payto должно стягивать с магазина список поддерживаемых платёжных систем? (либо по явно указанной ссылки, либо с того сайта по стандартному адресу)
        • 0
          думаю он сначала должен спросить каким способом оплаты изволит платить человек, потом вывести список платёжных систем поддерживающих такой способ оплаты, а потом уже параметры от платёжной системы

          Да, это один из возможных способов использования предлагаемой разметки — узнать, чего надо добиться (куда платеж должен попасть для совершения сделки) и предложить наиболее подходящий способ это сделать. Причем понятие «подходящий» у каждого пользователя может быть свое — кому-то надо чтобы было удобнее, кому-то — быстрее, кому-то — дешевле, а кому-то — комбинация из этих факторов.

          Но надо помнить, что помимо возможностей и желаний пользователя есть еще возможности и желания продавца (куда он может принять деньги и во что ему это обойдется). Выбор оптимального решения в этой ситуации, скорее всего, потребует взаимодействия браузера, пользователя, PSP, и т.д.

          значит должен быть некий нейтральный сайт, который делает то что я написал выше

          Он не обязательно должен быть нейтральным. Например, сейчас роль таких сервисов исполняют PSP. Грубо говоря, PSP знают, как передать деньги магазину, и предлагают пользователю выбор, из какого источника их для этого взять (с карты, счета, путем конвертации из других платежных сервисов, и т.д.). Разметка просто позволит унифицировать этот процесс.

          Вроде как звучит неплохо, но непонятно откуда список платёжных систем брать.

          Магазин знает, где у него есть счета и куда есть возможность получать деньги, и может на это напрямую влиять. По сути, это список платежных систем, которого достаточно для начала операции, и именно его магазин должен указать в payto.

          урл payto будет очень длинным, ну и пользователь может его изменить и вписать другую платёжную систему.

          Поменять — да, может. Но чтобы сделка состоялась, необходимо, чтобы деньги попали на реквизиты, указанные в payto, поэтому самому пользователю их менять на другие особого смысла нет.

          • 0
            Он не обязательно должен быть нейтральным. Например, сейчас роль таких сервисов исполняют PSP.

            тот кто предлагает список платёжных систем на выбор недолжен от них зависеть

            теперь в целом схема понятна, благодарю за пояснения, надеюсь когда стандарт будет принят сделаете howto для платёжных систем и магазинов
  • 0
    Немножео lmgtfy страниц
    www.w3.org/community/webpayments/wiki/Main_Page
    www.w3.org/wiki/Payments_Task_Force
    и собственно описываемая встреча
    www.w3.org/2013/10/payments/minutes/

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка