Как работает бесконтактная оплата картой

Как работает бесконтактная оплата картой

Сложнее, чем кажется

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

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

Что такое NFC

Бесконтактная оплата — это когда нам не нужно вставлять карту в терминал оплаты или даже касаться его: достаточно поднести карту на расстояние 1–2 см, и всё сработает. Это возможно благодаря чипу NFC — именно он отвечает за бесконтактную магию.

NFC —это аббревиатура от Near Field Communication, что можно перевести как «взаимодействие близкого поля». Это похоже на то, как работает брелок от домофона:

  1. В карту встроен чип NFC и антенна — магнитная проволока, смотанная кольцами.
  2. Когда на терминале включается оплата, терминал начинает излучать слабое магнитное поле.
  3. Когда мы приближаем карту к терминалу, она попадает в поле, и благодаря антеннам на чипе появляется ток. Идея такая же, как в беспроводной зарядке.
  4. Чип начинает работать и посылает в ответ какой-то свой импульс, тоже в виде магнитного поля. Какой именно импульс и что в нём закодировано — зависит от алгоритмов.
  5. Терминал оплаты улавливает этот импульс, раскодирует его и начинает процесс оплаты.

Получается, что чипу NFC на карте не нужно внешнее питание — он получает его из магнитного поля терминала и сразу начинает работать. Если магнитного поля нет — карта ничего не делает. По этой причине если просто поднести карту к неактивному терминалу, то ничего не произойдёт — потому что нет магнитного поля.

Как работает бесконтактная оплата картой

Платёжная система

Чтобы проходили платежи по картам, нужна платёжная система: это посредник, который помогает обмениваться деньгами между банками. В России это система «Мир». 

Платёжная система работает так: 

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

Как работает бесконтактная оплата картой

Передача данных с карты

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

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

Проверка токена

Терминал, получив токен, сразу его проверяет — соответствует ли он стандартному банковскому токену или это что-то другое. Если соответствует — токен идёт дальше по процессу, а если нет — терминал даже не пытается связаться с банком и сразу выдаёт ошибку.

Самый наглядный пример проверки токена — если убрать карту слишком быстро или поднести её на пределе возможностей магнитного поля. В этих случаях терминал не сможет получить полный токен и покажет ошибку «Карта не читается».

Отправка токена в банк

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

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

Токен пришёл в банк продавца

Когда банк получает токен, он его расшифровывает и узнаёт такое:

  • действительна ли карта и не вышел ли срок действия;
  • платёжная система этой карты;
  • название банка, который выдал карту;
  • реквизиты карты.

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

— Слушай, тут клиент банка такого-то хочет купить что-то за 5700 рублей. Вот реквизиты карты. Одобряешь операцию? 

Платёжная система проверяет эти сведения и связывается с банком-эмитентом — тем, кто выдал карту. Тот может отправить несколько вариантов ответа. Например: 

  • Всё в порядке, транзакцию одобряю.
  • Транзакцию не одобряю, причина — не хватает денег (но не уточняет сколько).
  • Транзакцию не одобряю, причина — превышен какой-то из лимитов.
  • Транзакцию не одобряю, причина — карта заблокирована.
  • Просто не одобряю, без объяснения причин.
  • Карта числится как украденная. 

Обратите внимание, что среди ответов нет информации о номере счёта или балансе. Дело в том, что баланс клиента — это его личное дело с банком. Банк может давать кредит или подключать овердрафт, и об этом никто не обязан знать. Для внешнего мира банк говорит либо «Да, одобряю», либо «Нет, отклоняю».

И ещё интересное: деньги блокируются, но пока что не переводятся с вашего счёта.

Печать слипа

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

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

Обмен деньгами

Ночью платёжная система сверяет все расчёты и составляет ведомость: кто кому сколько задолжал. Эта информация отправляется в банки, и уже они обмениваются деньгами. Платёжная система выставляет счёт на комиссию с каждого банка. 

На этом этапе платёжная система заодно может посчитать какие-нибудь бонусы, промоакции, кешбэки и что там они ещё себе придумают. В мобильном приложении эти данные будут сразу, но фактически деньги и кешбэки придут только ночью. 

В этот момент деньги фактически списываются с вашего счёта. 

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

Могут ли списать деньги с карты в толпе, если у тебя есть NFC-считыватель?

Нет, это старая страшилка из интернета. 

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

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

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

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Виталий Вебер

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

Краткий конспект подкаста

easy
Вчера мы показали на сайте простую игрульку — тест по выбору языка программирования.
Как устроен тест по выбору языка программирования

Добавляем вопросы на страницу прямо во время теста

medium
Прохладная история про погодный зонд, НАСА и невнимательных менеджеров
Прохладная история про погодный зонд, НАСА и невнимательных менеджеров

Золотой фонд менеджерских косяков

easy
Что такое свободные, открытые и бесплатные программы
Что такое свободные, открытые и бесплатные программы

Резко начинаем разбираться в лицензиях на софт

easy
Языку C уже почти 50 лет, но он всё равно крут
Языку C уже почти 50 лет, но он всё равно крут

Почему на нём программируют до сих пор.

easy
Домены для вашего сайта
Домены для вашего сайта

Где брать, сколько стоят, какие классные и как там с персданными обстоит вопрос

easy
Как пользователь случайно взломал систему безопасности Android
Как пользователь случайно взломал систему безопасности Android

И получил за это 70 000 долларов

medium
7 неочевидных свойств файла, которые могут многое рассказать
7 неочевидных свойств файла, которые могут многое рассказать

Открывать файл необязательно 🙂

easy
Словарь тестировщика: автотесты, юнит-тесты и другие важные слова
Словарь тестировщика: автотесты, юнит-тесты и другие важные слова

Основные подходы и понятия инженеров по тестированию

easy
Процессоры x86 и ARM — в чём разница?
Процессоры x86 и ARM — в чём разница?

Правда ли, что процессор в вашем мобильнике мощнее, чем в вашем компьютере?

easy
easy