Обновлённое приложение «Мой проездной» в помощь москвичам 

в 15:11, , рубрики: material design, MD, Mifare Classic, NFC, беспроводная связь, беспроводные сети, Беспроводные технологии, единая платёжная платформа, информационная безопасность, мобильные приложение, платежные системы, электронный кошелек

Обновлённое приложение «Мой проездной» в помощь москвичам  / Хабрахабр

var N = 5;
var ar_duo1 = Math.floor(Math.random()*N+1);

if (typeof adriver == 'undefined')
{
var adb1 = 'yes';
}

var user_type = "guest";

var page_type = "publish_corp";

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-726094-1', 'auto');
ga('create', 'UA-726094-24', 'auto', {'name': 'HGM'});

ga('require', 'displayfeatures');
ga('set', 'dimension1', user_type); // user type - guest/readonly/habrauser

ga('set', 'dimension4', adb1);

ga('set', 'dimension5', page_type);

if(typeof removeUtms === 'undefined') {
removeUtms = function(){};
}

ga('HGM.set', 'dimension1', user_type);
ga('HGM.set', 'dimension2', "habrahabr");
ga('HGM.send', 'pageview');

ga('send', 'pageview', { 'hitCallback': removeUtms });

Обновлённое приложение «Мой проездной» в помощь москвичам 

Привет! В этой статье хотели бы рассказать о новой версии бесплатного приложения «Мой проездной».

Оно дает возможность в онлайне покупать и записывать проездные билеты на транспортные карты «Тройка», «Стрелка» и ЦППК с помощью NFC-контроллера смартфона, работающего на базе операционной системы Android. При покупке билетов через приложение комиссия не взимается.

Обновленная версия 2.0 отличается рядом изменений, многие из которых сделаны исходя из отзывов и пожеланий пользователей. В числе новинок полностью переработанный дизайн, поддержка новых транспортных карт и дополнительные удобные функции. Также надо отдельно отметить появившуюся возможность записи на социальные карты студентов и учащихся (СКС/СКУ) льготных проездных наземного городского транспорта.

Немного истории

Транспортная карта «Тройка» появилась еще в 2013 году. Тогда идеей Департамента транспорта Москвы было не только упростить оплату за проезд в общественном транспорте столицы, но и связать его в единую сеть. И хотя это значительно облегчило жизнь горожан, но для полного счастья была необходима система, позволяющая быстро и удобно пополнять баланс транспортных карт – так появилось приложение Банка Москвы под названием «Мой проездной», которое увидело свет в начале 2015 года.

В предыдущей статье мы уже рассказывали о первой версии этого сервиса.

«Мой проездной» и Единая платежная платформа

Приложение является частью экосистемы Единой платежной платформы Банка Москвы.

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

Единая платежная платформа также обслуживает и различные городские сервисы, среди них, например, сервис «Парковки Москвы» (пополнение парковочного счета).

Обновлённое приложение «Мой проездной» в помощь москвичам  - 1

«Мой проездной» и NFC

Изначально идея была такова – сделать процесс оплаты билетов на городской транспорт как можно более быстрым и простым. Так как смартфон в условиях сегодняшней реальности есть практически у каждого, то решение задачи было очевидно – технология NFC (Near Field Communication) для обмена данными между электронными устройствами на рабочей дистанции не более 10 см оказалась идеальной для данного случая.

Модулями NFC оснащены многие современные смартфоны, так что данный выбор основывался также и на доступности технологии пользователям. Как осуществляется покупка билета в приложении при помощи NFC? Проще простого: купив проездной билет через «Мой проездной», вам нужно всего лишь приложить транспортную карту к задней крышке смартфона, и билет сразу же будет записан. Бинго!

Обновлённое приложение «Мой проездной» в помощь москвичам  - 2

Если же ваш смартфон не оснащен модулем NFC, или модуль NFC на вашем телефоне несовместим с технологией Mifare Classic, не стоит расстраиваться – с помощью сервиса «Мой проездной» можно положить на Электронный кошелек транспортной карты средства, которые будут отражены на карте сразу же, как только вы приблизите карту к одному из желтых терминалов, установленных в вестибюле на всех станциях метро.

Поддерживаемые устройства

Не все модули NFC могут обеспечить взаимодействие между транспортной картой и телефоном. Список поддерживаемых смартфонов всегда можно найти на странице приложения в Google Play или на популярных технических порталах.

Функции и особенности версии 2.0

Приложение «Мой проездной» версии 2.0 имеет полностью переработанный дизайн. Теперь он отвечает стандартам популярного ныне Материального дизайна (Material Design), представленного в прошлом году и продвигаемого корпорацией Google.

Так как особое внимание при создании второй версии приложения «Мой проездной» разработчики уделяли отзывам и пожеланиям пользователей, то они просто не могли не учесть самую «популярную» просьбу: сделать доступной в приложении покупку и запись билетов на пригородные электропоезда. Банк Москвы провел переговоры с Центральной пригородной пассажирской компанией (ЦППК), результатом которых стало создание новой технологии совместно с компанией «Предприятие «МИКРОТЕХ».

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

Сервис работает с транспортными картами «Тройка» и ЦППК, которые являются бесконтактными смарт-картами Mifare Plus в режиме эмуляции Mifare Classic, а также дуальными картами с транспортным апплетом для записи проездных (карта «Стрелка). Кроме того, «Мой проездной» умеет работать с социальными картами москвича СКМ, СКУ и СКС, которые можно использовать для проезда в общественном транспорте г.Москвы. Возможность работы с социальными картами студентов для записи льготных проездных на наземный транспорт очень актуальна и востребована.

Приложение умеет работать с Google Calendar, что стало приятным и удобным дополнением. В календаре можно создавать напоминания, которые предупредят вас об окончании срока действия купленного билета. В разделе «Расписание» вы сможете просматривать расписание пригородных электропоездов, а также сразу же из этого раздела приобретать билеты, не переходя не другие экраны приложения. Кроме этого приложение позволяет осуществлять так называемые рекуррентные (регулярные) платежи: разработчики решили еще больше упростить покупку билетов, сделав доступной функцию покупки «в один клик». Теперь достаточно выбрать нужный вам билет, затем нажать на кнопку покупки в один клик, приложить транспортную карту – и дело сделано.

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

Интервью с разработчиками

Нам удалось связаться с командой Банка Москвы, которая создала приложение «Мой проездной», а в настоящее время работает над его развитием.
Представляем вашему вниманию небольшое интервью, где собраны ответы на актуальные вопросы пользователей сервиса.

Habrahabr:
Каким образом происходил сбор требований и пожеланий к новой версии приложения?

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

Habrahabr:
В каких подсистемах и насколько значительные изменения произошли?

Банк Москвы:
На стороне платформы «Банка Москвы» существенных изменений не потребовалось, тщательно проработанная на момент проектирования SOA архитектура Платформа и объектная модель позволяют органично добавлять новый функционал и рационально использовать уже реализованные технологические решения. Основные доработки затронули только билетный шлюз ЦППК. Здесь стоит отметить высокий профессионализм основного подрядчика ЦППК – компанию «Микротех», обеспечившую все необходимые доработки и принявшую самое активное участие в проекте.

Habrahabr:
Проводилось ли улучшение взаимодействия с NFC-модулем смартфона?

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

Habrahabr:
Расскажите, пожалуйста, о стеке используемых технологий.

Банк Москвы:
Технологии, на самом деле, не новы. Для нас было некоторым удивлением, что функционал приложения не был никем реализован ранее: идея, как говорится, «лежала на поверхности» с 2011 года.

Habrahabr:
Экспериментируете ли вы с новыми технологиями или предпочитаете старое, но проверенное?

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

Habrahabr:
Какие изменения интерфейса произошли в новой версии?

Банк Москвы:
Дизайн приложения полностью переработан и приведен к стандартам, предлагаемым Google (Material Design). Мы постарались уделить максимальное внимание юзабилити приложения, сделать его «дружелюбным» к пользователю (user friendly). Это, конечно же, существенно повлияло на размер приложения (оно выросло боле чем в три раза), но мы об этом не жалеем. Для каждой бизнес-операции отрисованы отдельные демонстрационные экраны, рассказывающие доступным языком об основных действиях пользователях в приложении.

Habrahabr:
Расскажите, пожалуйста, о защите всей системы и шифровании платежных данных.

Банк Москвы:
Рассказывать о методологии информационной безопасности не принято. Можно рассказать только отдельные моменты. Так, например, при проведении платежей по банковским картам в общем случае данные карты не используются, приложение оперирует уникальным идентификатором банковской карты клиента, привязанной к его профилю. Данные появляются только непосредственно в момент авторизационного запроса в информационном обмене между платформой и процессингом банка. Данный канал закрыт не только в рамках аппаратного VPN-соединения, но и каждое сообщение макируется с использованием промышленных HSM-модулей. Они уже участвуют в шифрации карточных данных, хранящихся в базе данных платформы. Между приложением и платформой также используется закрытый канал связи с поддержкой протокола TLS 1.2 с применением технологии SSL Pinning.

Habrahabr:
Каковы дальнейшие перспективы развития платформы и приложений «Мой проездной»?

Банк Москвы:
Перспективы радужные! Платформа также обслуживает, помимо мобильных приложений Банка Москвы, городские приложения и сервисы, такие как «Парковки Москвы», «Госуслуги Москвы», портал Московского социального регистра, портал «Активный гражданин». Мы планируем и дальше активно сотрудничать с различными департаментами Правительства Москвы и оказывать всестороннюю помощь городу.

Habrahabr:
Планируется ли добавить функцию оплаты проезда городского транспорта с помощью данного приложения?

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

Habrahabr:
Прошлая версия не поддерживала такие популярные устройства, как Sony Xperia Z1 Compact, Blackberry Z30, Blackberry Q10/Z10, Nexus 5, Samsung Galaxy S5 SM-G900F, Samsung Galaxy SIII GT-I9300, будут ли поддерживаться с новой версией?

Банк Москвы:
На самом деле Sony Xperia Z1 Compact, Samsung Galaxy SIII, S5 всегда прекрасно работали с транспортными картами. Что касается остальных моделей, то, как говорится, не все NFC-контроллеры одинаково полезны. Технология Mifare Classic/Plus (компания NXP Semiconductors), используемая в транспортных картах, лицензируемая, поэтому далеко не все производители чипсетов для NFC-контроллеров ее поддерживают (это стоит денег). Так, известная всем компания BROADCOM только недавно подписала с NXP Semiconductors лицензионное соглашение об официальной поддержке технологии Mifare Classic/Plus. В то же время некоторые китайские производители смартфонов самостоятельно модифицируют firmware контроллеров BROADCOM в части поддержки Mifare Classic. У кого-то это получается, у кого-то — нет… Собственно, мы это видим через отзывы пользователей нашего приложения на Google Play.

Еще немного о безопасности

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

Послесловие

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

function blocksdisplay(){
var window_width = $(window).width();
var recs = $('div.r[data-screen-max], div.r[data-screen-min]');
var max,min;
var disp;
recs.each(function(i) {
disp = $(this).css("display");
max = $(this).attr("data-screen-max");
if( max === undefined)max=10000;
max = parseInt(max);

min = $(this).attr("data-screen-min");
if( min === undefined)min=0;
min = parseInt(min);
console.log(min+"-"+max);
if(min<=max){
if (window_width min) {
if(disp!="block")$(this).css("display","block");
}else{
if(disp!="none")$(this).css("display","none");
}
}
});
}
$(document).ready(function(){
blocksdisplay();
});
$(window).resize(function() {
blocksdisplay();
});
//blocksdisplay();

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




bromzh
22 января 2016 в 18:34



0

Скажите, а дата изготовления самой «Тройки» влияет на считываемость? У меня Samsung Galaxy S5 mini, при попытке считать карту выдаёт «Тип метки NFC не поддерживается». А саму «Тройку» покупал лет 5 назад.


Обновлённое приложение «Мой проездной» в помощь москвичам  - 5

vshemarov
22 января 2016 в 19:16



0

В: Планируется ли добавить функцию оплаты проезда городского транспорта с помощью данного приложения?

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

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

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

Обновлённое приложение «Мой проездной» в помощь москвичам  - 6

$(document).ready( function(){
window.tmidLogin = function(){ return false; };
if( $.cookie('tmid_no_check') === undefined ) {
var expire = new Date();
expire.setMinutes(expire.getMinutes() + 10 );
$.cookie('tmid_no_check', 1, { expires: expire } );
$.getScript("https://id.tmtm.ru/checklogin/", function(){
if( window.tmidLogin() ) {
var href = $('#login').attr('href');
if( href !== undefined ) {
window.location.href = href;
}
}
});
}
});

// global vars
var g_base_url = 'habrahabr.ru';
var g_show_xpanel = false;
var g_base_fullurl = 'https://habrahabr.ru/';
var g_is_guest = false;

(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
if (typeof (_yaparams) != 'undefined') {
w.yaCounter24049213 = new Ya.Metrika({id:24049213,
webvisor:true,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
params:_yaparams});
} else {
w.yaCounter24049213 = new Ya.Metrika({id:24049213,
webvisor:true,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true});
}

} catch(e) { }
});

var n = d.getElementsByTagName("script")[0],
s = d.createElement("script"),
f = function () { n.parentNode.insertBefore(s, n); };
s.type = "text/javascript";
s.async = true;
s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js";

if (w.opera == "[object Opera]") {
d.addEventListener("DOMContentLoaded", f, false);
} else { f(); }
})(document, window, "yandex_metrika_callbacks");

Обновлённое приложение «Мой проездной» в помощь москвичам  - 7

function checkHeaderPos(){
var topToHubs = $('.megapost section.header').offset().top + $('.megapost section.header').outerHeight();
var sT = $(this).scrollTop();
if (sT > topToHubs) {
$('.t199_header').fadeIn();
} else {
$('.t199_header').fadeOut();
}
}

$(window).on('scroll', function() { checkHeaderPos(); });
checkHeaderPos();

function drawguides(){
if($("#guides").length)$("#guides").remove();

$("body").append('

');

var g=$('#guides');
var ww=$(window).width();

var offset_left=parseInt((ww-1200)/2);
var col_space=20;
var col_width=100;

if(ww=960){
for(i=0;i<13;i++){
var x1=(i*col_width)+offset_left-col_space;
var x2=(i*col_width)+offset_left+col_space;
var n=i+1;
if(i!=0)g.append('

');
if(i!=12)g.append('

');
if(i!=12)g.append('

'+n+'

');
}
}

if(ww<960){
var x=parseInt(ww/2);
g.append('

');
}

var doit;
$(window).resize(function() {
if($("#guides").length){
clearTimeout(doit);
doit = setTimeout(drawguides, 300);
}
});
}

function showguides(){
if($("#guides").length){
$("#guides").remove();
$("#guidesmenubutton").css("display","none");
}else{
drawguides();
$("#guidesmenubutton").css("display","block");
}
}

Автор:

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js