Когда мы в магазине прикладываем карту к терминалу оплаты, терминал говорит «Успешно», пробивается чек, и мы уходим с покупками. Обычно от момента оплаты до подтверждения платежа проходит пара секунд, и за это время происходит много событий.
Сегодня расскажем про то, как это работает и почему оплата иногда может зависнуть в процессе.
Что такое NFC
Бесконтактная оплата — это когда нам не нужно вставлять карту в терминал оплаты или даже касаться его: достаточно поднести карту на расстояние 1–2 см, и всё сработает. Это возможно благодаря чипу NFC — именно он отвечает за бесконтактную магию.
NFC —это аббревиатура от Near Field Communication, что можно перевести как «взаимодействие близкого поля». Это похоже на то, как работает брелок от домофона:
- В карту встроен чип NFC и антенна — магнитная проволока, смотанная кольцами.
- Когда на терминале включается оплата, терминал начинает излучать слабое магнитное поле.
- Когда мы приближаем карту к терминалу, она попадает в поле, и благодаря антеннам на чипе появляется ток. Идея такая же, как в беспроводной зарядке.
- Чип начинает работать и посылает в ответ какой-то свой импульс, тоже в виде магнитного поля. Какой именно импульс и что в нём закодировано — зависит от алгоритмов.
- Терминал оплаты улавливает этот импульс, раскодирует его и начинает процесс оплаты.
Получается, что чипу NFC на карте не нужно внешнее питание — он получает его из магнитного поля терминала и сразу начинает работать. Если магнитного поля нет — карта ничего не делает. По этой причине если просто поднести карту к неактивному терминалу, то ничего не произойдёт — потому что нет магнитного поля.
Платёжная система
Чтобы проходили платежи по картам, нужна платёжная система: это посредник, который помогает обмениваться деньгами между банками. В России это система «Мир».
Платёжная система работает так:
- К ней подключены много банков.
- Платёжная система обеспечивает обмен сообщениями между ними.
- В конце рабочего дня платёжная система готовит документы, чтобы банки заплатили друг другу, сколько нужно.
Передача данных с карты
Когда мы подносим карту к терминалу и оплачиваем покупки, то с карты отправляются на терминал не деньги, а токен. Токен — это последовательность символов, которая что-то значит для отправителя и получателя. В нашем случае в токене содержится зашифрованная информация о платёжной системе и номере карты.
Современные NFC-чипы каждый раз генерируют новый токен — в нём содержится вся та же самая информация, но зашифрованная разными ключами. Это делается для того, чтобы злоумышленники не смогли перехватить один раз сигнал с карты и использовать его для постоянной оплаты в любых магазинах.
Проверка токена
Терминал, получив токен, сразу его проверяет — соответствует ли он стандартному банковскому токену или это что-то другое. Если соответствует — токен идёт дальше по процессу, а если нет — терминал даже не пытается связаться с банком и сразу выдаёт ошибку.
Самый наглядный пример проверки токена — если убрать карту слишком быстро или поднести её на пределе возможностей магнитного поля. В этих случаях терминал не сможет получить полный токен и покажет ошибку «Карта не читается».
Отправка токена в банк
Если с токеном всё в порядке, терминал через платёжную систему связывается с банком и отправляет токен ему. Это самая долгая часть оплаты — если всё работает через мобильный интернет, то это может занять до пары минут. Всё это время терминал старается установить безопасную связь с банком, который обслуживает этот терминал.
Если за три попытки связь установить не получается или в процессе что-то пошло не так, терминал покажет ошибку «Нет связи с банком». Как только терминал получил такую ошибку, он удаляет токен из памяти — даже если связь появится сразу после ошибки, старого токена уже не будет и надо заново прикладывать карту. Поэтому не нужно бояться, что пройдёт двойная оплата — в банк отправляется последний токен.
Токен пришёл в банк продавца
Когда банк получает токен, он его расшифровывает и узнаёт такое:
- действительна ли карта и не вышел ли срок действия;
- платёжная система этой карты;
- название банка, который выдал карту;
- реквизиты карты.
Как только банк получил из токена эти данные, он отправляет запрос в платёжную систему:
— Слушай, тут клиент банка такого-то хочет купить что-то за 5700 рублей. Вот реквизиты карты. Одобряешь операцию?
Платёжная система проверяет эти сведения и связывается с банком-эмитентом — тем, кто выдал карту. Тот может отправить несколько вариантов ответа. Например:
- Всё в порядке, транзакцию одобряю.
- Транзакцию не одобряю, причина — не хватает денег (но не уточняет сколько).
- Транзакцию не одобряю, причина — превышен какой-то из лимитов.
- Транзакцию не одобряю, причина — карта заблокирована.
- Просто не одобряю, без объяснения причин.
- Карта числится как украденная.
Обратите внимание, что среди ответов нет информации о номере счёта или балансе. Дело в том, что баланс клиента — это его личное дело с банком. Банк может давать кредит или подключать овердрафт, и об этом никто не обязан знать. Для внешнего мира банк говорит либо «Да, одобряю», либо «Нет, отклоняю».
И ещё интересное: деньги блокируются, но пока что не переводятся с вашего счёта.
Печать слипа
Ответ платёжной системы записывается в память платёжного терминала, а ещё из него вылезает маленький чек — слип. На слипе пишут информацию о транзакции: её дату, время, идентификационный номер. Это нужно на случай технического сбоя, чтобы потом можно было вернуть деньги.
Слип подтверждает, что совершилась такая-то транзакция с таким-то результатом. Это ещё не подтверждение покупки, это лишь факт обмена данными с платёжной системой.
Обмен деньгами
Ночью платёжная система сверяет все расчёты и составляет ведомость: кто кому сколько задолжал. Эта информация отправляется в банки, и уже они обмениваются деньгами. Платёжная система выставляет счёт на комиссию с каждого банка.
На этом этапе платёжная система заодно может посчитать какие-нибудь бонусы, промоакции, кешбэки и что там они ещё себе придумают. В мобильном приложении эти данные будут сразу, но фактически деньги и кешбэки придут только ночью.
В этот момент деньги фактически списываются с вашего счёта.
Такой порядок полезен, чтобы ловить мошенников, выявлять массовые списания, а также чтобы было легко отменять ошибочные операции. Например, если продавец ввёл неправильную сумму и провёл транзакцию, он может сразу же её отменить и провести новую, и к концу дня у вас фактически будет один платёж, а не три.
Могут ли списать деньги с карты в толпе, если у тебя есть NFC-считыватель?
Нет, это старая страшилка из интернета.
Для снятия денег нужен не NFC-считыватель, а банковский терминал. Даже если взять его и так списывать суммы меньше тысячи рублей (чтобы не вводить пин-код), то схема быстро перестанет работать, а все украденные деньги вернутся назад.
Дело в том, что сейчас при каждой такой оплате клиенту приходит СМС-уведомление или пуш в личном кабинете банка. Если человек не совершал эту операцию, он может её заблокировать и пожаловаться в банк.
Каждая такая жалоба разбирается службой безопасности банка: они связываются с банком, который выдал терминал, и узнают, в чём дело. Если владелец терминала не сможет предоставить в банк реальные доказательства продажи, все платежи отменятся, терминал заблокируют, владельца терминала внесут в чёрный список, а то и могут возбудить какое-нибудь дело.