Оплата метро Apple Pay

Почему нельзя просто подложить карту «тройка» под чехол

На карточке «Тройка» присутствует НФС чип и некоторые хотят обхитрить окружающих — вставляют платежное средство под чехол, но результат не радует. Почему? Тут несколько факторов, которые доказывают малую эффективность работы карты в данном случае. Это:

  1. Передача сигнала у карт «Тройка» незначительна. Работают они на очень близком расстоянии. Чтобы транзакция осуществилась, придется класть карточку к турникету вплотную. Чехлы же не позволяют это сделать. Отсюда и проблемы со считыванием данных. Прежде чем платеж пройдет, человек обратит на себя всеобщее внимание, так как специальный сигнал будет звучать и слышим окружающими.
  2. Внушительный размер карточки. Не под каждый чехол «Тройка» вместится, так как ее размер такой же как кредитка. Нередко края карты остаются снаружи и чехол не удается закрепить на гаджете так как нужно. Некоторые лица ухитряются уменьшать платежное средство, но после такой махинации оно уже не работает полноценно. Практически по всей карте идут «дорожки» НФС-чипа и задев одну из них вы рискуете испортить карту.
  3. Блокировка работы бесконтактных сервисов. Если вы пользуетесь Apple/Android/Samsung Pay, то установка «Тройки» на задней части корпуса смартфона станет причиной постоянных сбоев как при оплате проезда, так и покупок.

Также расположение карточки под чехлом может привести к некорректной работе самого телефона. Нередко на экране всплывают различные окна, становится невозможным произвести блокировку экрана, выбивает ошибку в работе приложений и пр. Подобное никому не нравится и говорит лишь о том, что нужно немедля убрать «Тройку» подальше от телефона.

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

Возможна ли оплата в метро с айфона

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

  • использовать систему для оплаты можно только в метро Санкт-Петербурга и Москвы;
  • оплату поддерживает только те турникеты, которые имеют датчики квадратной формы.

Система постоянно совершенствуется и можно отметить ряд преимуществ:

  • расчет при помощи Apple Pay возможно совершать не только на считывающих аппаратах, но и в кассах,
  • терминалах метрополитена;
  • необходимые аппараты для считывания установлены на всей станциях метро;
  • при приобретении билета данным методом распространяется скидка 20% на трансфер.

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

Возможно, создатели ждут выхода IOS 13, чтобы пользователи Iphone могли сами оцифровывать «Тройку». Известно, что с выходом обновления ОС будет возможность для модуля ближнего поля. С ним просто нужно будет отсканировать транспортную карту с помощью NFS и сохранить в приложении Wallet.

На сегодняшний день, с помощью Apple Pay можно не только оплачивать покупки без наличии пластика в кармане и совершать денежные переводы через Apple Pay Cash. Приложение Wallet работает в паре с самим платежным сервисов. Благодаря чему, в Соединенных Штатах и некоторых других странах пользователи могут использовать электронную версию проездных на метро, билетов на мероприятия и т.п. В России таких возможности на продукции с IOS не было, но и нашу страну ждут изменения.

До конца года заработает цифровая версия транспортной карты «Тройка» в Apple Pay. С помощью нее вы сможете оплачивать проезд на общественном транспорте Москвы и области — достаточно иметь при себе смартфон.

Чтобы добавить карту «Тройка» в Apple Pay, достаточно внести ее в само приложение для оплаты и подтвердить личность отпечатком пальца/Face ID, приложив телефон к турникету.

«Тройка» на IOS заработает официально до конца 2021 года, там уже и можно будет ответить на вопросы: как именно добавить карту «Тройка» в Apple Pay, как пополнить «Тройку» и когда подобные решения будут приняты не только для столицы. Разработчики не планируют ограничиваться лишь пользователями Apple.

Возможно, создатели ждут выхода IOS 13, чтобы пользователи Iphone могли сами оцифровывать «Тройку». Известно, что с выходом обновления ОС будет возможность для модуля ближнего поля. С ним просто нужно будет отсканировать транспортную карту с помощью NFS и сохранить в приложении Wallet.

Нововведения сэкономят жителям Москвы их и без того ценное время, особенно, касательно транспорта. А вам удобнее платить за проезд со смартфона/часов или вы привыкли по старинке?

Как только iPhone позволит нам положить карту «Тройку», мы это немедленно сделаем. Мало того, нам Apple обещала, что карта «Тройка» будет первой в мире транспортных карт, которой не разрешат доступ к своей платежной системе. Это политика компании, которая пока подсоединяет банки, которые крайне консервативно относятся.
— заместитель мэра Москвы по вопросам транспорта Максим Ликсутов в интервью Эхо Москвы

Дептранс Москвы сообщил, что активно работает над интеграцией цифровой версии проездных «Тройка» в Apple Pay.

Предположительно, она будет совместима с режимом Транспортной экспресс-карты. Это значит, что не нужно будет использовать Face ID или код-пароль для оплаты проезда.

Точные сроки не называются, но отмечается, что ведётся «большая и сложная работа».

Мы работаем над тем, чтобы виртуальная «Тройка» работала и в кошелке Apple Pay, что даст возможность покупать билеты онлайн без подхода к жёлтому терминалу. Планируем запустить этот сервис одними из первых в мире. Это действительно большая и сложная работа, в которую вовлечено множество сторон и большое количество самых разных специалистов по всему миру.

Как только iPhone позволит нам положить карту «Тройку», мы это немедленно сделаем. Мало того, нам Apple обещала, что карта «Тройка» будет первой в мире транспортных карт, которой не разрешат доступ к своей платежной системе. Это политика компании, которая пока подсоединяет банки, которые крайне консервативно относятся. — заместитель мэра Москвы по вопросам транспорта Максим Ликсутов в интервью Эхо Москвы

Кроме того, в этом месяце пройдёт закрытое тестирование Тройки для Android Pay и Samsung Pay.

@Mice , Возможно это(замена всех терминалов) и является локомотивом всей этой истории! На этом ведь можно озолотиться!;)

Инструкция по установке

Перед тем как заняться привязкой «Тройки» к мобильному телефону, рекомендуется проверить факт наличия у него модуля для бесконтактной оплаты, а также убедиться в том, что установленная в смартфон СИМ-карта имеет активированное платежное приложение. Приобрести симку с уже активированным платежным приложением можно в салонах сотовой связи или же можно обменять свою действующую СИМ-карту на новую с сохранением своего номера телефона.

Чтобы подключить услугу бесконтактных платежей, для начала нужно пройти процедуру активации новой симки. Для этого потребуется отправить бесплатное СМС-сообщение на короткий номер 3210. После этого останется следовать инструкциям от оператора мобильной связи.

Также для того, чтобы добавить эту услугу, можно воспользоваться способом, заключающимся в подключении этой функции через меню SIM-карточки путем перехода в графу под названием «Мобильный билет».

Стоит отметить, что при обмене СИМ-карты пользователь сохранит не только свой старый мобильный номер, но и средства, которые он раньше внес на баланс своего мобильного телефона.

Также при подключении этой услуги нужно держать на балансе своего мобильного номера минимум 160 рублей. Это связано с тем, что сразу после прохождения процедуры активации сервиса система спишет с пользователя 150 рублей для перевода денег на счет мобильного цифрового билета.

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

Как добавить платежную карту на apple watch

Добавление карты на часы от американской компании позволит использовать Эпл вотч вместо телефона. Для оплаты нужно будет поднести руку с часами к терминалу.

Чтобы привязать «Тройку» к Apple Watch, выполните следующие шаги:

  1. Войдите в Apple Watch на телефоне.
  2. Откройте «Мои часы».
  3. Выберите пальцем «Wallet и Apple Pay».
  4. Проделайте алгоритм, описанный в прошлом подзаголовке («Как добавить Тройку к мобильному телефону айфон»).
  5. Подтвердите окончание регистрации кодом из СМС.
  6. Примите условия банка и Apple Pay.
  7. Нажмите «Далее». Компания проверит данные и в секунды привяжет вашу карту к часам.

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

Купить билет с помощьюApplePayможно на всех станциях метро и МЦК.

Apple Pay с Mastercard или Visa: простой и удобный способ оплаты. Оплатить проезд в метро, МЦК и на МЦД с помощью Apple Pay можно в кассах, автоматах по продаже билетов, а также прямо на турникетах.

Оплата с iPhone:

Убедитесь, что вы подключили свою карту Mastercard или Visa к Apple Pay (c помощью приложения Wallet на вашем iPhone).

1. Чтобы быстро оплатить поездку метро с Apple Pay, достаньте ваш iPhone до того, как подойдете к турникету. Разблокируйте телефон, дважды нажав на кнопку «Домой».

2. Появится интерфейс Apple Pay. Теперь еще раз прикоснитесь к кнопке «Домой» для сканирования отпечатка пальца.

3. Поднесите телефон к турникету для оплаты. Вы услышите звуковой сигнал, подтверждающий, что информация о вашем платеже была отправлена.

Оплата с Apple Watch:

Убедитесь, что вы подключили свою карту Mastercard или Visa к Apple Pay на ваших Apple Watch (c помощью приложения Wallet на вашем iPhone).

Читайте ещё про NFC:  Как открыть домофон Метаком без ключа - все способы Тарифкин.ру

1. Дважды нажмите боковую кнопку и поверните Apple Watch дисплеем к турникету.

2. Вы услышите звуковой сигнал подтверждающий, что информация о вашем платеже была отправлена.

Купить билет с помощьюApplePayможно на всех станциях метро и МЦК.

Безопасность и конфиденциальность лежат в основе Apple Pay. Когда вы добавляете кредитную или дебетовую карту в Apple Pay, сам номер карты не хранится ни на устройстве, ни на серверах Apple. Вместо этого присваивается уникальный номер учётной записи устройства, который шифруется и безопасно хранится в чипе «Безопасный Элемент» вашего устройства. Каждая транзакция авторизуется благодаря уникальному одноразовому секретному коду, который генерируется динамически.

Apple Pay позволяет очень просто совершать оплату поездки: больше нет необходимости покупать билеты или пополнять транспортные карты. Apple Pay позволяет оплатить поездку, задействуя iPhone 6 и более новые модели, а также Apple Watch. Для работы Apple Pay не требуется интернет-соединения на вашем iPhone или Apple Watch, а значит, транзакции можно осуществлять даже там, где 3G соединение нестабильно или отсутствует.

Оплата поездки на специально оборудованном турникете в метро, монорельсе, МЦК и МЦД зона «Центральная» или наземном транспорте — 44 ₽

Оплата поездки на специально оборудованном турникете в метро, монорельсе, МЦК и МЦД зоны «Центральная» и «Пригород» — 51₽

https://www.youtube.com/watch?v=6a0WrxghwLw

*Расплачиваться с помощью ApplePay можно с iPhone SE, iPhone 6 и более новых моделей, а также с AppleWatch.

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

Как зарегистрировать карту «тройка» в программе лояльности «город»

Эта система создана в 2020 году и предназначена для накопления скидок и бонусов. Их впоследствии можно потратить на оплату услуг в кафе и ресторанах, магазинах, театрах и даже на стойках велопроката. На данный момент программа «Город» насчитывает более 300 онлайн-партнеров и 5000 магазинов в Москве и МО.

Пройти регистрацию в системе можно через ее официальный портал или приложение, доступное в AppStore и Google Play Market.

Последний вариант удобнее: здесь сразу отображается баланс карты, количество баллов, уровень пользователя, свежие акции, доступные предложения со скидкой.

Технические требования к приложению:

  • Apple – iOS старше 10.0. Возможна установка на iPhone, iPad, iPod Touch.
  • Android – версия системы выше 5.0.

Принцип взаимодействия с приложением «Город»:

  1. После запуска и представления основных возможностей (предъявление в магазинах, соотношение бонусов и рублей) появится кнопка «Регистрация» – нажимайте на нее.
  2. Для проведения процедуры потребуется ввести 10-значный номер «Тройки». Также внизу доступен вариант входа через имеющийся аккаунт.
  3. Для проведения привязки (подтверждения законного использования карты) на следующем шаге появится окно с просьбой указать 2 станции метро, посещенных в последнем месяце. После их введения внизу появится кнопка «Далее».Как привязать карту «Тройка» к телефону
  4. Для привязки карты также потребуется номер телефона – на него придет проверочный код. Сюда же будет приходить пароль во время обмена бонусов на скидку при покупке или оплате услуги.
  5. Дальше заполняются обычные персональные данные: ФИО, дата рождения, пол. Обязательно указывается и актуальная электронная почта. Как привязать карту «Тройка» к телефону
  6. После этого программа предложит создать 4-значный пароль. Он же будет использоваться для входа в личный кабинет на официальном портале «Города».

Колхоз одобряет. как подружить брелок «тройка» с айфоном

Прежде, чем начнем. Я понимаю, что владельцам айфонов якобы не комильфо делать что-то своими руками. Тем более так грубо. Еще в метро якобы ездить стыдно. Так что жду классных комментариев к этой статье, не подведите.

И еще кое-что. Дальнейшие действия – на свой страх и риск. Для айфона опасности никакой, но можно (правда, это сложно) повредить сам брелок. Тогда придётся покупать новый.

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

  • фен
  • крепкий твердый пинцет
  • острый канцелярский нож
  • 5 минут.

1. Берем канцелярский нож и брелок «Тройка».

2. Отрезаем ножом четверть круга в месте, где пробито отверстие брелока. Не режьте глубже внутренней стороны отверстия, иначе заденете NFC-чип.

3. 20-30 секунд нагревайте феном одну сторону брелока.

4. Ножом подцепите оболочку брелока с нагретой стороны – она должна с трудом, но отходить. Поддевайте именно с отрезанного ранее угла.

5. Крепким пинцетом или руками тяните на себя оболочку: уверенно, с силой, но медленно.

6. Если оболочка дальше не поддается, повторите нагрев феном.

7. Как только снимете одну сторону оболочки, повторите всё заново с п.3, но с другой стороной брелока.

Всё. Брелок готов. Теперь положите его под чехол айфона – вертикально и в нижнюю его часть, чтобы точно не мешал работе Apple Pay.

Лучше всего подойдут оригинальные чехлы Apple, они мягкие и полностью скрывают брелок под ними. Хуже всего подойдут очень тугие пластиковые кейсы, особенно с AliExpress. Ну и в прозрачных чехлах будет так себе выглядеть.

Если кто-то боится, что брелок поцарапает заднюю панель iPhone, положите его в тонкий полиэтиленовый пакет или наклейте защитную пленку на корпус (ужас).

Контроллер борей

Контроллер — это устройство, на которое передается идентификатор карты от считывателя. Оно хранит базу данных идентификаторов карт и решает, кого пропускать, а кого нет, управляя замком двери.

Часто контроллеры СКУД состоят из нескольких блоков управления и компьютера с базой данных. Мы принципиально не хотели держать отдельный компьютер и искали компактное решение в виде одного устройства, которым можно управлять через API для интеграции с Telegram-ботом.

Поиск такого устройства занял больше месяца, пока я не наткнулся на старую статью на хабре «Обзор СКУД с бесплатным программным обеспечением». В комментариях пользователь rgmih упомянул, что их компания производит именно такой контроллер.

Так мы нашли контроллер БОРЕЙ от компании ИТРИУМ.

Плата контроллера БОРЕЙ в настенном корпусе

Устройство работает под управлением Linux на базе ARM-процессора.

Основные достоинства устройства, которые редко можно встретить у других контроллеров:

  • Полностью автономный — все функции выполняет одно устройство. Для управления не нужно дополнительных программ или отдельного компьютера. База данных хранится на SD-карте. При отключении интернета контроллер продолжит работать.
  • Web интерфейс и REST API — возможность управлять контроллером через браузер и интегрировать с Telegram-ботом через API. Позволяет управлять пропусками удаленно.
  • Подключение по Ethernet — устройство подключается в IP-сеть. Имеет встроенный коммутатор на 2 порта.
  • Идентификаторы произвольной длины до 64 бит — возможность интегрировать контроллер с нестандартными идентификаторами разной длины. Позволяет иметь гибридную систему с идентификаторами разной длины.

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

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

Если доступ запрещен, контроллер посылает сигнал индикации на считыватель, и тот горит красным цветом и пищит о том, что доступ не разрешен.

Контроллер подключается в сеть c помощью Ethernet-кабеля. Начальная настройка требует только задать IP-адрес устройства. Никакого программного обеспечения, помимо браузера, не требуется.

Учетные записи заводятся в меню «Бюро пропусков». Чтобы не вводить идентификатор карты вручную, его можно поднести к считывателю в момент создания учетной записи.

Создание нового пропуска в веб-интерфейсе контроллера БОРЕЙ

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

Настройка карты в приложении wallet для использования в качестве транспортной экспресс-карты

Подходящую карту можно настроить в приложении Wallet для использования в качестве транспортной экспресс-карты.3 Узнайте, какие карты можно использовать в качестве транспортной экспресс-карты в приложении Wallet, в местном транспортном агентстве.

Настройка новой транспортной карты в приложении wallet

Новую транспортную карту можно настроить для использования в качестве транспортной экспресс-карты с оплатой через Apple Pay в приложении Wallet:

  1. Убедитесь, что на устройстве выбран верный регион.
    • На устройстве iPhone: перейдите в меню «Настройки» > «Основные» > «Язык и регион», затем прокрутите вниз до пункта «Регион».
    • На часах Apple Watch: откройте приложение Watch на iPhone и перейдите на вкладку «Мои часы». Затем выберите раздел «Основные» > «Язык и регион» и проверьте регион.
  2. Откройте приложение Wallet на iPhone.
  3. Нажмите кнопку «Добавить» кнопка «Добавить», затем — «Продолжить».
  4. Выберите транспортную карту вашего города, затем сумму, которую необходимо перевести на карту, и нажмите «Добавить»4.
  5. Следуйте инструкциям по созданию транспортной карты на iPhone.
  6. Включите режим транспортной экспресс-карты для вашей новой транспортной карты.

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

Обработка pdol (processing options data object list)

В ответ на запуск платежного приложения карта может затребовать от считывателя PDOL (Processing Options Data Object List). Это набор параметров POS-терминала — поддерживаемые протоколы и стандарты, валюта, в которой будет производиться расчет, дата, случайное число для криптографии, и так далее.

Список PDOL может различаться у разных карт. Общее число параметров PDOL — несколько десятков. Полный список параметров PDOL можно посмотреть здесь: eftlab.co.uk/index.php/site-map/knowledge-base/145-emv-nfc-tags.Сложность состоит в том, что список PDOL у разных карт, даже выпущенных одним банком в разное время, может существенно различаться. Некоторые карты запрашивают два-три параметра, другие — десяток.

Читайте ещё про NFC:  Как разблокировать Samsung Galaxy, если забыт графический ключ, пин или пароль | Samsung RU

Это очень важный момент, так как некоторые карты могут отказаться работать без корректного ответа PDOL. Поэтому, для получения PAN-номера от всех карт, нам придется прикинуться настоящим POS-терминалом. Напомню, что единственной нашей целью является получения PAN-номера. Поэтому попытаемся сформировать максимально простой, но при этом корректный ответ PDOL.

Ответ карты на старт платежного приложения. Содержит запрос PDOL.

'6F 31 84 07 A0 00 00 00 03 10 10 A5 26 9F 38 18 9F 66 04 9F 02 06 9F 03 06 9F 1A 02 95 05 5F 2A 02 9A 03 9C 01 9F 37 04 BF 0C 08 9F 5A 05 60 08 40 06 43 90 00'

Пропустим этот ответ через

парсер

Видно, что значение PDOL начинается с маркера 9F38 и равно 9F66049F02069F03069F1A0295055F2A029A039C019F3704. Парсер emvlab.org не умеет парсить значения PDOL, поэтому воспользуемся программой для Android-смартфонов Credit Card Reader.

Вот тот же ответ, обработанный более умным парсером. Видно каждый параметр PDOL:

Данный парсер не скрывает байт длины после маркера, как это делает emvlab.org. Поэтому последний байт каждого маркера следует читать как длину.

Разберем запрос PDOL подробнее

9F 38 18 // Маркер начала PDOL. Длина 18 (24 байта) 
 9F 66 (длина 04) // Terminal Transaction Qualifiers (TTQ). Параметры платежного терминала 
  9F 02 (длина 06) // Сумма списания
   9F 03 (длина 06) // вторая сумма
   9F 1A (длина 02) // Код странцы в формате ISO3166-1
   95 (длина 05) // Terminal Verification Results
    5F 2A (длина 02) // Код валюты, в которой работает терминал, в формате ISO4217
     9A (длина 03) // Дата в формате YYMMDD
      9C (длина 01) // Тип транзакции 
       9F 37 (длина 04) // Случайное число для криптографии

Подробное описание всех возможных параметров PDOL можно найти в

EMV Contactless Specifications Book C-1/2/3 Kernel 1/2/3 Specification.

Карта ожидает ответ на PDOL в том же порядке, в котором следуют запросы, и ровно той длины, которая указана после каждого параметра PDOL. Если сложить длину всех параметров (последний байт каждого параметра), получится 33 байта. Значит карта ожидает от считывателя PDOL длиной в 33 байта.

Так как мы не собираемся списывать с карты деньги, наша задача — сформировать самый простой из возможных ответ PDOL, который удовлетворит карту. Если наш ответ не понравится карте, она ответит кодом 6985 Conditions of use not satisfied.

Экспериментальным путем я выяснил, что почти на все запросы PDOL можно ответить нолями, кроме Terminal Transaction Qualifiers (TTQ). В случае с VISA, нам нужно убедить карту в том, что терминал соответствует спецификации VCPS 2.1.1. Для этого ответ на TTQ должен выглядеть так:

'F0 00 00 00'

Подробнее про формат TTQ

здесь

Карты MasterCard, которые мне довелось испытать, позволяли игнорировать PDOL и отдавали PAN-номер без корректного ответа на PDOL.

Вот как будет выглядеть минимальный рабочий ответ на запрошенный выше PDOL:

'80A80000238321F0000000000000000000000000000000000000000000000000000000000000000000'
 80 A8 00 00 // Команда GET PROCESSING OPTIONS (GPO)
  23 // длина всего запроса (35 байт)
   83 // маркер PDOL-ответ
    21 // длина PDOL-ответа (33 байта)
     F0 00 00 00 // Terminal Transaction Qualifiers (TTQ)
      00 00 00 00 00 00 // Сумма списания
       00 00 00 00 00 00 // Вторая сумма
        00 00 // Код страны считывателя
         00 00 00 00 00 // Terminal Verification Results (TVR)
          00 00 // Валюта
           00 00 00 // дата 
            00 // тип транзакции
             00 00 00 00 // Случайное число 

Если наш ответ удовлетворил карту, мы получим сообщение, начинающееся с маркера

с кодом SW2=9000. Этот ответ может содержать нужный нам PAN-номер, а может и не содержать. (офигеть)

Преимущества и возможности сервиса

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

После появления «Тройки» в 2021 этот сервис сумел в кратчайшие сроки завоевать популярность среди многих людей, вынужденных часто пользоваться услугами общественного транспорта. С помощью «Мобильного билета» можно оплатить не только проезд в наземном муниципальном транспорте, но и также заплатить за проход через турникеты Московского метрополитена.

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

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

Главным достоинством «Тройки», привязанной к смартфону, является то, что при ее использовании для оплаты проезда в муниципальном транспорте стоимость проездного билета будет несколько дешевле, чем бумажного аналога. Оплата происходит в течение нескольких секунд, что позволяет экономить время на получении сдачи.

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

Преимущества и недостатки приложения

Подключение Тройки в Apple Wallet — наилучшее решение. Плюсов приложение имеет предостаточно, к примеру:

  1. Apple Pay является достаточно безопасным сервисом. Никто не может забрать средства с привязанных карт. Во время транзакций никто не видит платежного средства, так как его не приходится доставать. Реальные номера карт также не отображаются. Также стоит учитывать, что перед проведением платежа для активации сервиса нужно проходить аутентификацию при помощи прикладывания пальца. Сделать это постороннему не под силу, так как идентичных папиллярных рисунков нет.
  2. Исключается потеря платежного инструмента. Не нужно носить все карты в кошельке, их можно положить дома в надежном месте.
  3. Можно объединить все карты в одно приложение. В Эпл Пей загружается до 8 карт.
  4. Экономия времени. Платежи через смартфон происходят за считанные секунды. Пользователю нужно всего лишь произвести разблокировку гаджета и поднести его к терминалу. На задний план уходит необходимость искать карту, получать сдачу и пр.

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

К минусам относят:

  1. Полная зависимость от смартфона и его зарядки. Если гаджет плохо работает или разряжен, то воспользоваться Apple Pay не получится. Тройка на Iphone в данном случае будет недоступна. Многих пугают такие ситуации, особенно, когда под рукой нет наличных. Приходится следить за состоянием телефона, носить с собой зарядное устройство, что не всем нравится.
  2. Не во всех местах в городе могут стоять терминалы с NFC. Отсутствие таких считывающих устройств говорит о невозможности использовать бесконтактный сервис. Тут ничего не поделаешь, придется расплачиваться карточкой или наличными.

Каждый сам решает для себя, удобно ли ему пользоваться тройкой через NFC и iPhone. Предварительно стоит взвесить все за и против.

Старт платежного приложения — select aid

В ответ на SELECT PPSE карта должна вернуть FCI (File Control Information) со списком приложений, существующих на карте. Помимо платежных приложений (VISA, MasterCard, AmericanExpress) карта может содержать неплатежные приложения, используемые для других нужд.

Ответ карты VISA на SELECT PPSE

'6F 23 84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 11 BF 0C 0E 61 0C 4F 07 A0 00 00 00 03 10 10 87 01 01 90 00'

Для удобства проанализируем ответ с помощью онлайн-парсера формата TVL

emvlab.org/tlvutils/

. Тот же ответ карты VISA, обработанный парсером:

Из всего этого нас интересует только идентификатор платежного приложения (AID). В данном случае, это значение A0000000031010, означающее Visa International.

AID помечается маркером 4F. Вторым битом после маркера следует длина данных, в нем содержащихся. Несмотря на то, что длина AID может варьироваться от 5 до 16 байт, в большинстве случаев она равна 7 байтам. Поэтому для простоты поиска AID в ответе, мы будем искать маркер 4F 07 и считать 7 байт после него как AID.

Такой подход очень примитивный и может не работать в случаях, если длина AID будет другой, но для нашей задачи это не важно, так мы скорее всего никогда не столкнемся с картами, отличными от Visa и MasterCard. Поэтому наш самодельный парсер PPSE-ответа можно упростить до такой логики: если ответ начинается с 6F, заканчивается на 90 00 и содержит внутри последовательность 4F 07, ответ считается корректным.

Полный список AID: eftlab.co.uk/knowledge-base/211-emv-aid-rid-pix

Некоторые популярные AID

A0000000031010 Visa International
A0000000032020 Visa International
A0000000041010 Mastercard International
A0000000043060 Mastercard International United States Maestro (Debit)

Получив значение AID, его нужно запустить командой SELECT. В данном случае мы запускаем приложение Visa International, полученное из ответа на PPSE SELECT

APDU-команда SELECT AID

'00 A4 04 00 07 A0 00 00 00 03 10 10'
  00 A4 04 00 // команда select 
   07 // длина command data (7 байт)
    A0 00 00 00 03 10 10 // AID Visa International

Читаем emv-карты на коленке

Читать EMV-карты можно любым NFC-ридером, поддерживающим передачу произвольных APDU-команд. Для этого не требуются промышленные сертифицированные ридеры, подойдет любой модуль для Arduino за $3

Читайте ещё про NFC:  Какие российские банки работают с Apple Pay

Чтобы изготовить прототип считывателя, мне потребовалось бегло изучить протокол EMV. Под спойлером — краткий разбор протокола EMV с примерами чтения на Arduino и компьютере.

Читаем банковские карты на коленке с примерами. (Много текста)

Для чтения EMV карт подойдут такие устройства:

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

Для изучения протокола EMV рекомендуется читать официальную документацию, которую я, к своему стыду, почти не читал.

Приведенные APDU-команды будут одинаковыми не зависимо от выбранного оборудования. Однако в случае с PC/SC ридером не нужно заботиться о низкоуровневых командах, настраивать модуляцию и т.д.

Я буду использовать программу SmartCard Scripter, в связке с PC/SC-ридером HiD Omnikey. Программа SmartCard Scripter имеет наиболее компактный pascal-подобный синтаксис из всего что я видел. Краткое описание синтаксиса infintuary.org/scs_tut.php

Для того чтобы послать произвольную APDU команду на карту, достаточно такого когда:

// Программа для чтения UID карты
begin
  APDU('FF CA 00 00 00');
end.

Начало коммуникации — команда select (ppse)

Официальное описание: EMV Contactless Specifications — PPSE and Application Management for Secure Element

Начало общения с EMV-картой всегда происходит с чтения файла PPSE (Payment System Environment) командой SELECT.

APDU-команда SELECT PPSE

'00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00'
  00 A4 04 00 // команда select 
   0E // длина command data (14 байт)
    32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 // command data 2PAY.SYS.DDF01
    00 // завершающий маркер

Старт платежного приложения — select aid

В ответ на SELECT PPSE карта должна вернуть FCI (File Control Information) со списком приложений, существующих на карте. Помимо платежных приложений (VISA, MasterCard, AmericanExpress) карта может содержать неплатежные приложения, используемые для других нужд.

Ответ карты VISA на SELECT PPSE

'6F 23 84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 11 BF 0C 0E 61 0C 4F 07 A0 00 00 00 03 10 10 87 01 01 90 00'

Для удобства проанализируем ответ с помощью онлайн-парсера формата TVL

emvlab.org/tlvutils/

. Тот же ответ карты VISA, обработанный парсером:

Как добавить карту Тройка в Apple Pay. Инструкция.

Из всего этого нас интересует только идентификатор платежного приложения (AID). В данном случае, это значение A0000000031010, означающее Visa International.

AID помечается маркером 4F. Вторым битом после маркера следует длина данных, в нем содержащихся. Несмотря на то, что длина AID может варьироваться от 5 до 16 байт, в большинстве случаев она равна 7 байтам. Поэтому для простоты поиска AID в ответе, мы будем искать маркер 4F 07 и считать 7 байт после него как AID. Такой подход очень примитивный и может не работать в случаях, если длина AID будет другой, но для нашей задачи это не важно, так мы скорее всего никогда не столкнемся с картами, отличными от Visa и MasterCard. Поэтому наш самодельный парсер PPSE-ответа можно упростить до такой логики: если ответ начинается с 6F, заканчивается на 90 00 и содержит внутри последовательность 4F 07, ответ считается корректным.

Полный список AID: eftlab.co.uk/knowledge-base/211-emv-aid-rid-pix

Некоторые популярные AID

A0000000031010 Visa International
A0000000032020 Visa International
A0000000041010 Mastercard International
A0000000043060 Mastercard International United States Maestro (Debit)

Получив значение AID, его нужно запустить командой SELECT. В данном случае мы запускаем приложение Visa International, полученное из ответа на PPSE SELECT

APDU-команда SELECT AID

'00 A4 04 00 07 A0 00 00 00 03 10 10'
  00 A4 04 00 // команда select 
   07 // длина command data (7 байт)
    A0 00 00 00 03 10 10 // AID Visa International

Обработка pdol (processing options data object list)

В ответ на запуск платежного приложения карта может затребовать от считывателя PDOL (Processing Options Data Object List). Это набор параметров POS-терминала — поддерживаемые протоколы и стандарты, валюта, в которой будет производиться расчет, дата, случайное число для криптографии, и так далее.

Список PDOL может различаться у разных карт. Общее число параметров PDOL — несколько десятков. Полный список параметров PDOL можно посмотреть здесь: eftlab.co.uk/index.php/site-map/knowledge-base/145-emv-nfc-tags.
Сложность состоит в том, что список PDOL у разных карт, даже выпущенных одним банком в разное время, может существенно различаться. Некоторые карты запрашивают два-три параметра, другие — десяток.

Это очень важный момент, так как некоторые карты могут отказаться работать без корректного ответа PDOL. Поэтому, для получения PAN-номера от всех карт, нам придется прикинуться настоящим POS-терминалом. Напомню, что единственной нашей целью является получения PAN-номера. Поэтому попытаемся сформировать максимально простой, но при этом корректный ответ PDOL.

Ответ карты на старт платежного приложения. Содержит запрос PDOL.

'6F 31 84 07 A0 00 00 00 03 10 10 A5 26 9F 38 18 9F 66 04 9F 02 06 9F 03 06 9F 1A 02 95 05 5F 2A 02 9A 03 9C 01 9F 37 04 BF 0C 08 9F 5A 05 60 08 40 06 43 90 00'

Пропустим этот ответ через

парсер

:

Как добавить карту Тройка в Apple Pay. Инструкция.

Видно, что значение PDOL начинается с маркера 9F38 и равно 9F66049F02069F03069F1A0295055F2A029A039C019F3704. Парсер emvlab.org не умеет парсить значения PDOL, поэтому воспользуемся программой для Android-смартфонов Credit Card Reader.

Вот тот же ответ, обработанный более умным парсером. Видно каждый параметр PDOL:

Как добавить карту Тройка в Apple Pay. Инструкция.

Данный парсер не скрывает байт длины после маркера, как это делает emvlab.org. Поэтому последний байт каждого маркера следует читать как длину.

Разберем запрос PDOL подробнее

9F 38 18 // Маркер начала PDOL. Длина 18 (24 байта) 
 9F 66 (длина 04) // Terminal Transaction Qualifiers (TTQ). Параметры платежного терминала 
  9F 02 (длина 06) // Сумма списания
   9F 03 (длина 06) // вторая сумма
   9F 1A (длина 02) // Код странцы в формате ISO3166-1
   95 (длина 05) // Terminal Verification Results
    5F 2A (длина 02) // Код валюты, в которой работает терминал, в формате ISO4217
     9A (длина 03) // Дата в формате YYMMDD
      9C (длина 01) // Тип транзакции 
       9F 37 (длина 04) // Случайное число для криптографии

Подробное описание всех возможных параметров PDOL можно найти в

EMV Contactless Specifications Book C-1/2/3 Kernel 1/2/3 Specification.

Карта ожидает ответ на PDOL в том же порядке, в котором следуют запросы, и ровно той длины, которая указана после каждого параметра PDOL. Если сложить длину всех параметров (последний байт каждого параметра), получится 33 байта. Значит карта ожидает от считывателя PDOL длиной в 33 байта.

Так как мы не собираемся списывать с карты деньги, наша задача — сформировать самый простой из возможных ответ PDOL, который удовлетворит карту. Если наш ответ не понравится карте, она ответит кодом 6985 Conditions of use not satisfied.

Экспериментальным путем я выяснил, что почти на все запросы PDOL можно ответить нолями, кроме Terminal Transaction Qualifiers (TTQ). В случае с VISA, нам нужно убедить карту в том, что терминал соответствует спецификации VCPS 2.1.1. Для этого ответ на TTQ должен выглядеть так:

'F0 00 00 00'

Подробнее про формат TTQ

здесь

.

Карты MasterCard, которые мне довелось испытать, позволяли игнорировать PDOL и отдавали PAN-номер без корректного ответа на PDOL.

Вот как будет выглядеть минимальный рабочий ответ на запрошенный выше PDOL:

'80A80000238321F0000000000000000000000000000000000000000000000000000000000000000000'
 80 A8 00 00 // Команда GET PROCESSING OPTIONS (GPO)
  23 // длина всего запроса (35 байт)
   83 // маркер PDOL-ответ
    21 // длина PDOL-ответа (33 байта)
     F0 00 00 00 // Terminal Transaction Qualifiers (TTQ)
      00 00 00 00 00 00 // Сумма списания
       00 00 00 00 00 00 // Вторая сумма
        00 00 // Код страны считывателя
         00 00 00 00 00 // Terminal Verification Results (TVR)
          00 00 // Валюта
           00 00 00 // дата 
            00 // тип транзакции
             00 00 00 00 // Случайное число 

Если наш ответ удовлетворил карту, мы получим сообщение, начинающееся с маркера

77

с кодом SW2=9000. Этот ответ может содержать нужный нам PAN-номер, а может и не содержать. (офигеть)

Поиск pan-номера

Так как нам лень писать полную имплементацию протокола EMV, разбирать все структуры ответов и формировать корректные запросы, мы поступим глупым способом, а именно пошлем все возможные запросы и будем просто искать в ответах нужный маркер, содержащий PAN-номер.

PAN-номер может содержаться в трех местах:

APDU-команды (что они значат вообще? Хз, нужно прочитать)

'00 b2 01 1c 00'
'00 b2 01 0c 00'
'00 b2 02 0c 00'
'00 b2 01 14 00'
'00 b2 02 14 00'
'00 b2 04 14 00'

И парсим все ответы на предмет маркеров

57 13

либо

5A 08

. Найденные 8 байт карты можно дополнительно чекнуть на контрольную сумму с помощью

Алгоритма Луна

.

Если номер валидный, берем его последние десять цифр.

В итоге наш примитивный алгоритм чтения PAN-номера можно изобразить в виде блок-схемы

Как добавить карту Тройка в Apple Pay. Инструкция.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector