Мой проездной, теперь и электронный

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

Те, кто пользуется только наземным транспортом, вынуждены спускаться в метро, чтобы пополнить «Тройку» – согласитесь, не очень удобно.
С новым приложением «Мой проездной» от Банка Москвы больше действительно не придётся терять время в очередях, или, в очередной раз пытаясь зайти в метро, становиться перед фактом нулевого баланса на транспортной карте «Тройка».

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

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

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

Что умеет «Мой проездной»

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

Те, кто пользуется только наземным транспортом, вынуждены спускаться в метро, чтобы пополнить «Тройку» – согласитесь, не очень удобно

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

Работает это следующим образом – если в вашем Android-смартфоне есть NFC-модуль (а здесь заранее стоит отметить тот факт, что не все смартфоны с поддержкой NFC аппаратно поддерживают бесконтактные чипы, использующиеся в «Тройке» – список проверенных устройств будет ниже), то с помощью «Моего проездного» вы сможете купить и записать на «Тройку» любой билет действующего тарифного меню: «Единый», «ТАТ» на 1-60 поездок, «90 минут» или проездной на 30, 90 и 365 дней.

Естественно – все покупки не облагаются никакой комиссией.

Помимо этого можно с банковской карты напрямую пополнить баланс Электронного кошелька, а также прочитать текущий баланс билетов ГУП «Мосгортранс» (наземный транспорт) и ГУП «Московский метрополитен» (метро), которые записаны на вашу «Тройку».

Само приложение, уже доступное в магазине Google Play, является дальнейшим развитием «Единой платежной платформы» Банка Москвы. Уже сейчас в эту экосистему входят приложения «БМmobile.Кошелёк», «Переводы» и «Квартплата», а также городское приложение «Парковки Москвы». При этом используется единая учётная запись пользователя для всех приложений, что удобно не только в том случае, если вы являетесь клиентом непосредственно банка.

Поэтому и регистрация требуется только в том случае, если у вас ещё нет учётной записи в одном из вышеупомянутых приложений. А сделав её один раз, вы сможете использовать привычные вам логин и пароль в других приложениях Банка Москвы. Согласитесь – это удобно.

При решении задач, связанных с разработкой интеграционного слоя между смартфоном и бесконтактной картой, нами использовались стандартные системные библиотеки, лицензированные владельцем технологии – компанией «NXP Semiconductors». Основной проблемой стало собственно определение типа NFC-контроллера.

Изначально предполагалось использовать стандартные функции, позволяющие при старте аппликации определять – поддерживает ли установленный NFC-контроллер взаимодействие с картами стандарта «Mifare Classic» или нет. В итоге пришлось модифицировать уже согласованный дизайн, поскольку выяснилось, что довольно большой процент бюджетных китайских смартфонов, оборудованных NFC-контроллером, всё-таки прекрасно поддерживает взаимодействие с «Тройкой», но при этом системная функция возвращала совершенно иной ответ.

Вообще, читая отзывы на маркете, начинаешь понимать несущественные на первый взгляд упущения. Так, например, многие думают, что бумажные билеты и карта «Тройка» – это одно и то же, и сильно удивляются, почему их карту приложение «Яндекс.Метро» читает, а приложение «Мой проездной» – нет. На самом деле, это совсем не так, «бумажные» билеты реализованы на носителях стандарта «Mifare Ultralight», а карта «Тройка» (на самом деле многоразовый носитель) использует стандарт «Mifare Classic», а это две большие разницы. Мы, кстати, в ближайших релизах поддержим чтение баланса «бумажных» билетов.

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

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

Покупка поездок и пополнение «Тройки»

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

Само приложение, уже доступное в магазине Google Play, является дальнейшим развитием «Единой платежной платформы» Банка Москвы

В самом приложении можно приобрести любой билет на городской транспорт требуемого номинала.

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

Данные привязанной карты сохраняются в зашифрованном виде в базе данных «Единой платежной платформы» Банка Москвы. В интерфейсе между приложением и «Платформой» данные карты не передаются ни в каком виде.

Сама «Платформа» сертифицирована по стандарту PCI DSS, а компания-оператор «Платформы» обслуживает не только Банк Москвы, но и Сбербанк России, Альфа-Банк и компанию Аэрофлот в части электронной коммерции.

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

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

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

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

История покупок и операций удобно отображается в приложении.

Наконец, для вашего же удобства можно привязать неограниченное количество банковских карт любых российских банков (за небольшим исключением в виде карт «Momentum Maestro» и «MasterCard Maestro» Сбербанка России) для быстрого пополнения «Тройки» в дальнейшем.

К тому же, привязанную в одном приложении карту будет «видно» и в любом другом приложении, выпущенном в рамках «Единой платежной платформы» Банка Москвы.

Сам цикл именно покупки билета и перевода его в электронную форму следующий:
Приложение взаимодействует с «Единой платежной платформой» Банка Москвы, которая в свою очередь имеет интерфейс взаимодействия со шлюзом Мосгортранса и интерфейс взаимодействия с процессинговым центром Банка Москвы.
По отложенному пополнению Платформа взаимодействует с ПАК ЦОТТ метрополитена.
А дальше всё просто: считал сектора карты «Тройка», отдал информацию в шлюз, получил обратно список билетов, возможных к покупке для данной карты, выбрал конкретный билет, заплатил, записал билет на карту. Если запись по каким-то причинам не прошла – деньги автоматом возвращаются клиенту.

«Тройка» с социальным элементом

Наконец, две «последние» по своей значимости функции скорее косметические, нежели функциональные.

В приложении «Мой проездной» вы можете привязать к своей учётной записи аккаунты социальных сетей Facebook и ВКонтакте для авторизации с использованием данных ID-систем.

А любители прекрасного смогут установить на собственный аватар любую картинку с телефона или сделать селфи специально для «Моего проездного».

Список поддерживаемых устройств:
Sony Xperia ZR
Sony Xperia Z
Sony Xperia Z2
Sony Xperia Z3
Sony Xperia Z3 Dual
Sony Xperia М1
Sony LТ25i/Xperia V
LG Optimus 3D Max
LG Optimus G
LG Optimus G Pro
LG Optimus 4X HD
LG Optimus L5
LG Optimus L7
LG Optimus LTE
LG Optimus Vu
LG Optimus Vu 2
LG Prada 3.0
Samsung Galaxy Nexus I9250
Samsung Galaxy S5 G900
Samsung Galaxy Note II
Samsung Galaxy SIII GT-I9300
Samsung Galaxy Core
Samsung Galaxy Core DUOS
Lenovo Sisley S90
Lenovo VIBE Z2
Lenovo P780
HTC One (Android Kitkat)
HTC Desire 610
HTC One X (Android Kitkat)
ALCATEL ONETOUCH POP S9
HUAWEI ASCENT P7
Acer Liquid Express
Acer Liquid Glow
Asus Padfone 2
Motorola Droid Razr
Motorola Droid Razr HD
Motorola Droid Razr Maxx HD
Google Nexus 7 NXP PN65
Panasonic ELUGA
ZTE Grand S
ZTE PF200
ZTE Grand X
ZTE Render
ZTE Kis
ZTE Sprint Flash
                        
Комментарии 71
    0
    К сожалению до сих пор не работает считывание карты тройка по nfc для телефона Samsung Galaxy SIII GT-I9300. Версия андроид 4.3
      +2
      Интересно, когда можно будет проходить через турникеты при помощи непосредственно телефона
        0
        Вот вопрос, на который я надеялся найти тут ответ. А так — приложение не более чем удобный навес на то, что уже существует.

        Сделайте проход через турникеты по телефону, это действительно востребовано.
          0
          Сейчас, насколько я понял, приложение берет что-то секрет из сети, потом пишет карту, а потом вы уже этой защищенной картой идете через турникет. Тройку вроде до сих пор не взломали, на нее и надежда Метрополитена.
          Если через турникет пойдет обычный телефон, то либо нужен будет интернет с ключами (не на каждой станции), либо ключи в секретном разделе телефона (как для бесконтактной оплаты телефоном с секретом внутри), не очень удобно на текущем этапе развития технологий.
            0
            А смысл взламывать?
            Насколько я понимаю идею, то карта не более чем уникальный ID, используемый для авторизации для определения электронного кошелька/аккаунта. Т.е. «взломать» можно не более чем просто номер, а изменить баланс уже нельзя, так как он хранится удаленно.
            Это все моё ИМХО конечно, но если у кого есть больше информации прошу поделится.
              +6
              Если бы это был просто идентификатор, непонятно, как бы оно работало в автобусах. Там устойчивого канала связи не добиться, а хранить базу всех проездных в каждом валидаторе нереально. Думаю, какая-то информация о балансе счета все же лежит в самой тройке.
                0
                И тройку, и подорожник, уже давно взломали, на ней хранится баланс и идентификатор (ну и всякие другие данные). Синхронизация выполняется уже после прохода, поэтому вы можете после каждого прохода перезаписывать ID карты и возвращать баланс, ездя бесплатно.
                  +1
                  Да? Пруфы?
                  Подозреваю, что через пару проходов серийный номер карты занесут в черный список и она перестанет работать, не?
                      0
                      Не через пару проходов, а после ресинхронизации данных турникетов с общей базой. Она обычно раз в сутки проводится для каждого турникета, для автобусов в автопарках, а турникеты метро хоть и подключены постоянно, но работают в офлайн режиме. Именно из-за этого нельзя просто положить денег на карту и пройти через турникет даже в метро. Прежде чем карта заработает надо на ней обновлять данные в специальном аппарате.
                  0
                  На сколько я знаю, операторы работают над внедрением Тройки в свои SIM карты — уже год проходит пилотный проект.
                0
                В Питере можно проходить в метро по банковской карте с PayPass.
                  0
                  В Москве с картой Банка Москвы тоже. Судя по тому, что это их приложение, то и по NFC телефона пускать не хотят, чтобы пользовались их картой (мне, как человеку, живущему в 5 минутах от работы, метро нужно пару раз в месяц — очень удобно, что можно оплатить прям с карты. Жаль, на электричку так не катит).
                    +1
                    Это не PayPass, это отдельное приложение на банковской карте. У Русского стандарта такая карта (транспортная и проездной) были ещё 3 года назад в Москве.
                      +1
                      Я на 98% уверен, что Вы не правы. Именно что PayPass в турникете. Без привязки к банку, выпустившему карту.
                        0
                        Это у вас в Москве не PayPass. У в Питерском метро самый пейпассный пейпасс.
                      0
                      Уже сегодня можно. Достаточно жить в Питере и выпустить MasterCard для телефона, пользуясь одним уже известным приложением. Правда для этого вам необходимо иметь счёт в банке, который в этом участвует. А на всех станциях метро теперь есть хотя бы один турникет с paypass.
                      0
                      Samsung Galaxy S5 SM-G900F — рутован (версия Android'a 4.4.2) и приложение не работает, закрывается с ошибкой «Приложение не может быть выполнено в данном окружении (root)» :(
                        0
                        Да, почему-то root приложению не нравится. Аналогичная ошибка для Nexus I9250.
                          0
                          Когда включён «usb debugging» в настройках, приложение тоже закрывается с ошибкой «Приложение не может быть выполнено в данном окружении — Разрешена отладка».
                            +2
                            На 4pda уже выложена исправленная версия )
                            0
                            Nexus 5 есть в планах поддержать?
                            • НЛО прилетело и опубликовало эту надпись здесь
                              +7
                              глупая шутка
                              Почему «Василий» девушка?
                                +3
                                Хорошая годна идея, но разбивается о том, что тройка в этой схеме вообще не нужна, почему нельзя сделать вход сразу с телефона, минус целое звено в цепочке.
                                  0
                                  Прошу прощения за глупый вопрос. Сейчас покупаю карту на 60 поездок по 90 минут. Я смогу заменить их картой «тройка»? Т.е. чтоб эти 90-минутки были на «тройке» и я бы их так же раз в месяц пополнял на 60 поездок с телефона и по той же цене.
                                    0
                                    Проверил — можно.
                                    Здорово! :-)

                                    P.S. Могли бы где-нибудь указать, что регистрация в программе происходит в системе Банка Москвы. А то долго не мог понять почему при регистрации пишет «такой логин уже существует». Логин там — телефонный номер. Кое-как вспомнил, что когда-то у меня была карта Банка Москвы и был логин/пароль к мобильному приложению, вбил их — залогинилось.
                                    +2
                                    Те, кто пользуется только наземным транспортом, вынуждены спускаться в метро, чтобы пополнить «Тройку» – согласитесь, не очень удобно
                                    Зря вы этот момент так выделяете. Я предпочитаю записывать на «Тройку» «жёлтые» билеты — получается намного дешевле и в метро спускаться не надо: это делается в киосках, где такие билеты продают. Правда, возникает проблема: терминалы в метро остаток по таким билетам не показывают.

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

                                    Ещё было бы неплохо добавить запись билетов на электрички.
                                      0
                                      А как вы хотите записать на «тройку» проездной, если не будете прикладывать ее к телефону или к считывателю в метро?
                                        0
                                        Ну, для записи через сайт придётся спуститься в метро, чтобы приложить к терминалу. Второй абзац не связан с первым. Впрочем, я не уверен, что какая-то информация о поездках дублируется в БД, поэтому просмотр остатка билета может быть и невозможен без самой карты.
                                        0
                                        Я записываю одновременно и жёлтые «ТАТ» и голубые «Единые» — выходит суперэкономно.
                                        +4
                                        Ура, наконец-то появилось приложение, которое может читать «Тройки», это восхитительно! Я джва года ждал! Большой вам респект!
                                          0
                                          Blackberry Q10/Z10/etc проверьте.
                                            0
                                            Blackberry Z30 10.3.1.1784 — через snap v3 вот такая ошибка: «Эта метка пустая или не распознаётся».
                                            0
                                            В настройках экрана в Android выставлен «Большой» размер шрифта (даже не «Очень большой») — во многих местах надписи не влезают и обрезаются. Пожалуйста, исправьте такой момент. Ещё было бы неплохо научить приложение альбомной ориентации…

                                              +1
                                              Какие ужасные хроматические аберрации на превью-фото.
                                                0
                                                У меня карта Тройка и телефон Sony Xperia Z1 Compact, с самой свежей версией Андроида.
                                                Включаю NFC, подношу карту — пишет ошибка чтения. И так уже давно — много раз пыталась проверить. С картой «Единый» работает.

                                                У вас в заголовке написано «NFC + Тройка», а на скриншотах, да и фактически, работает с другими видами проездных, а не с Тройкой.

                                                Много громких слов, а работать не работает. Я чувствую себя обманутой и обделенной.
                                                  +1
                                                  У меня точно такой же телефон. Андройд 5.0. Карту «тройку» пока не покупал, но одолжил у коллеги на протестировать. Поднёс — всё прекрасно считалось, показало какой билет сейчас записан на карту. Записывать новые билеты, пока, не пробовал.
                                                    0
                                                    Обнадеживает!

                                                    Выходит, у меня какой-то косяк или на стороне телефона, или на стороне карты. В какой техсап обращаться за помощью?
                                                      0
                                                      Сложно сказать. :-) Можно сначала телефон перезагрузить. Аппарат в чехле? Попробуйте снять, мало ли. У знакомых можно попросить другую «тройку», может они отличаются по времени выпуска и старые не годятся.
                                                        0
                                                        Пробовала все вышеперечисленное.
                                                        Чужая и новенькая Тройка тоже не читается. Проверила на разных.

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

                                                        Я серьезно, техсап есть какой у этого сервиса?
                                                    0
                                                    SGS5 тоже читает тройку с единым и ТАТом на 5. писать пока не пробовал, но тут NFC уже наверное не при чем, т.к. запись по факту осуществляет терминал в метро.
                                                      +1
                                                      т.к. запись по факту осуществляет терминал в метро.

                                                      Я так понял, что в случае приложения, терминал в метро не нужен…
                                                        0
                                                        Боюсь, что таки нужен. «Записывать» проездные NFC врядли сможет.
                                                          0
                                                          Самое главное в статье как раз и не указано.
                                                            +1
                                                            Вообще-то там сказано:
                                                            Android-приложение для держателей карт любого российского банка позволяет получить полный цикл услуги по пополнению баланса карты «Тройка»: от проверки баланса до записи на карту информации о купленном билете.
                                                            0
                                                            Почему-то был уверен, что в этой статье было написано, что походить к терминалу не нужно, но перечитав не увидел конкретики.
                                                        +1
                                                        Sony Xperia Z1 Compact, Android 4.4 — всё читается ОК. «Тройке» года полтора.
                                                          +1
                                                          Xperia Z. Все читается и пишется.

                                                          Не отходя от кассы, автору: не Джек Воробей, а капитан Джек Воробей ГУП «Московский метрополитен», а Государственное унитарное предприятие города Москвы «Московский ордена Ленина и ордена Трудового Красного Знамени метрополитен имени В. И. Ленина»
                                                          +3
                                                          Хорошее у вас фото «Василия Твердоцветова»
                                                          +2
                                                          1. Не работает ни на телефоне ни на планшете
                                                          2. Почему бы не сделать дизайн в стиле целевой платформы (matrial design для андроид в частности)?
                                                          3. Если вы поддерживаете только тройку, зачем у вас в фоне большая картинка «транспортная карта»? Поэтому люди и путаются. Нарисуйте там тройку и все будут понимать то прикладывать.
                                                          4. От метафор обычных карт лучше отказаться. Вы записываете 60 поездок на тройку, и почему-то при этом рисуете на экране обычный картонный билет. Как жто сообщает человеку что нужно прикладывать тройку? Никак, приложат картонный билет.
                                                            0
                                                            troika.payler.com :) тоже принимает оплату и скоро приложения появятся!
                                                              +1
                                                              В отличие от приложения «Мой проездной», там можно только пополнить «электронный кошелёк» Тройки, а не записать на неё билеты «Единый», ТАТ и «90 минут».
                                                                0
                                                                Это первый наш релиз :) дальше больше.
                                                              +8
                                                              позволяющие при старте аппликации

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

                                                              Зачем этот ужасный жаргонизм?
                                                                +1
                                                                или программы ;)
                                                                0
                                                                Хм, а как в тройке реализована защита от несанкционированной записи? Иными словами, если хитрый человек каким-либо образом разберет алгоритм пополнения (реверс, утечка информации, etc), то он теоретически сможет ездить бесплатно, ведь карта-то оффлайновая?
                                                                  0
                                                                  на практике есть много примеров обхода, особенно в первых версиях. Специальные службы тестируют каждую модель, а технологи устраняют… Порочный круг…

                                                                  Хорошо что обнал в кассах не ввели! Это радует)
                                                                    0
                                                                    Я так понимаю, под «моделью» имеется ввиду ревизия внутреннего железа? Что тогда мешает злоумышленнику и дальше сидеть на «старой» версии?
                                                                      0
                                                                      Заплатки лепят на софт ЦОДа, которые могут ограничить определенные серии железа ну и на железо соответственно.
                                                                    0
                                                                    Выше писали.
                                                                      0
                                                                      Спасибо, как-то проглядел.
                                                                    0
                                                                    До сих пор не работает на Android Lollipop. Ждём не дождемся!
                                                                      0
                                                                      А почему же оно не работает на LG G2 хотя на куче других LG устройств работает?
                                                                        0
                                                                        Для обычных ПК продаются nfc reader. Интересно если приложение в эмуляторе запустить, да попробовать скрестить ежа и ужа, да «заряжаться» на обычном ПК получится ли.
                                                                          0
                                                                          А почему только через NFC? У каждой карты же есть уникальный номер, почему нельзя сделать запись проездных по нему7
                                                                            0
                                                                            Я плохо понимаю, как вы собираетесь записывать информацию на NFC-чип без использования NFC? И причём тут вообще номер карты?
                                                                              0
                                                                              По номеру карты внести запись в БД о купленном билете, а при синхронизации (через желтый терминал в метро) записать его на карту
                                                                                0
                                                                                Можно, но зачем, если можно проездной записать сразу на карточку? Я не хочу ездить к метро только для того, чтобы записать абонемент на электричку или автобус (кстати, их приложение научилось записывать абонементы на электрички).

                                                                                Это имеет смысл для телефонов без NFC или с неподходящим NFC-модулем. Напишите им на почту или в отзыве на Google Play — они оперативно отвечают и реагируют.
                                                                              0
                                                                              Вы из Питера? Тут именно так и работает и это дико неудобно, если не пользуешься метро.

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