Картридер что это в банкомате
Под капотом ПО банкомата
Достаточного много читал на ГТ и Хабре статей про банковские карты, банкоматы, и вот решил внести свой вклад. Ниже я попробую рассказать о том, как устроен банкомат с точки зрения программного обеспечения.
Что такое банкомат?
Любой банкомат по сути представляет собой компьютер с подключенной периферией, менеджером оборудования и собственно банковским приложением, управляющим всем этим хозяйством. Все решения по выдаче денег принимает сервер. Банкомат лишь собирает информацию от клиента и передаёт её на сервер.
Железо банкомата
Кто же управляет всем этим зоопарком
Для того чтобы производители не мучились с написанием драйверов, которые потом никому не нужны, а разработчики софта не страдали от разнообразия решений по управлению той или иной железкой, было решено всё это дело унифицировать.
Так появился стандарт CEN/XFS либо просто XFS, что расшифровывается как eXtension For Financial Services.
Стандарт описывает клиент-серверную архитектуру состоящую из менеджера оборудования и сервисных провайдеров (читай драйвера устройств), которыми он управляет. В терминологии стандарта «сервисный провайдер» — это библиотека, предоставляющая определенный набор функций для получения информации об устройстве и управления им. Обычно это динамическая библиотека, содержащая определенный набор стандартных функций(Open, Close, GetInfo, Execute ) каждая из которых имеет ряд специфических для конкретного устройства аргументов.
Все взаимодействие с оборудованием происходит через API XFS менеджера. К примеру, параметр Command функции Execute может иметь значение для диспенсера купюр:
WFS_CMD_CDM_DISPENSE (набор денег из кассет)
WFS_CMD_CDM_PRESENT (выдачи пачки клиенту)
Для картридера:
WFS_CMD_IDC_RETAIN_CARD (захват карты),
WFS_CMD_IDC_READ_TRACK (чтение дорожек)
Существует несколько реализаций XFS-менеджеров (в том числе с открытым исходным кодом), написанных на c++ и теоретически библиотеки сервисных провайдеров, написанные под один менеджер, так же должны подходить ко всем остальным, но по факту иногда библиотека, написанная конкретным вендором под конкретный XFS менеджер, работает только с этим менеджером.
Также существует Java XFS со своими библиотеками, не совместимыми с классическими менеджерами.
Банковское приложение
Банковское приложение — это то, что вы видите на экране, когда подходите к устройству. Оно предназначено для сбора данных от пользователя, отправки этих данных на хост (сервер) и выполнения ответа от хоста. Как и в случае с железом (XFS) есть отраслевые протоколы (NDC/DDC), по которым приложение общается с хостом, загружает конфигурацию и интерпретируют её.
Любой крупный производитель банкоматов (Wincor, NCR, Diebold) имеет свою реализацию как XFS, так и банковского приложения.
Однако на рынке есть альтернативный софт, соответствующий всем стандартам и не привязанный к конкретному вендору.
Я буду описывать банкомат на примере NDC как наиболее распространенного в России протокола, но чуть менее популярный DDC имеет схожий принцип работы.
Как же оно работает
Первый символ этой строки — тип стейта (обозначаются буквами A..Z а так же a..z и некоторыми символами (,’.?)), он определяет совокупность. Остальные 24 символа — это 8 десятичных 3-значных чисел, каждое из которых является определенной настройкой стейта (номер экрана для показа, условия перехода на стейт, список действий). Стейтов одного типа может быть любое количество.
Режим In service
При старте режима обслуживания банкомат автоматически начинает выполнять стейт 000. Обычно это стейт A (Card read state). В этом стейте банкомат отображает экран с приглашением вставить карту и переводит картридер в режим приёма. Также стейт отвечает за чтение карты и ветвление в зависимости от результатов этой операции.
Ниже пример конфигурации типичного стейта A:
000 A001001011008004002001104
000 — номер стейта
A — тип стейта (Card read state)
001 — номер экрана (Screen number)
001 — номер стейта, на который переходить в случае успешного чтения карты
011 — номер стейта, на который переходить в случае ошибок чтения карты
008 — условие чтения 1
004 — условие чтения 2
002 — условие чтения 3
001 — условие возврата карты (сразу после чтения или по завершение операции)
104 — стейт перехода, если если карта неизвестна банку
Пройдемся по параметрам более подробно:
Тип стейта — тут всё понятно: определив тип стейта, приложение знает как интерпретировать дальнешие параметры.
Номер экрана — представляет собой ссылку на строку с текстовым описанием экрана, отображающимся во время работы данного стейта.
Не каждый стейт имеет экран.
Экран может иметь номер от 000 до 999. Экраны, отличающиеся на 100, обычно резервируют под разные языки. Таким образом экран 010 и экран 210 это скорее всего разноязычные версии одного экрана. Об экранах я расскажу чуть позже.
Номер стейта перехода в случае успешного чтения карты — то, какой стейт приложение начнет выполнять в случае, если карта распознана и данные прочитаны успешно.
Помимо стейтов и экранов в банкомате есть ещё один важный конфигурационный параметр — financial institution table. Таблица финансовых институтов содержит данные о том, какие карты принадлежат какому банку, как правильно парсить данные прочитанные с дорожек карты, и что делать в зависимости от этих данных дальше. Например если карта локальная то можно выполнить один сценарий, если карта стороннего банка то нужно запретить ветку сценария с мобильными платежами и проверкой баланса.
Номер стейта перехода в случае проблем с чтением карты — если карту не получилось прочесть ни по одному из предложенных условий — переходим на стейт, указанный в этом параметре. Как правило, это стейт J (Close state) на котором мы отдаём карту, показываем экран с предложением забрать её и активируем таймер по истечению срока которого будет запущен механизм удержания карты. Стейт J также является последним стейтом в случае успешной транзакции.
Условия чтения карты (3 параметра подряд) — это битовые маски, обозначающие номера треков, которые нужно прочесть, и взаимодействие с чипом в случае его наличия.
Например, Read Chip, Read Track 2 and Track 1, Read Track 1. Если хоть одно из условий срабатывает, то остальные условия не выполняются и карта считается прочитанной. Если ни одно из условий не выполняется, карта считается непрочитанной.
Условие возврата карты — банкомат может вернуть карты сразу после прочтения, а может сделать это в конце после завершения всех операций.
Остальные стейты устроены схожим образом:
По завершению требуемых действий приложение шлёт подтверждение на хост и переходит на указанный стейт. Как правило это уже известный нам стейт J. В случае какого-либо сбоя приложение шлёт сообщение о сбое на хост и ждёт нового Transaction Reply с переходом на новый стейт.
Теперь об экранах
Экран банкомата представляет собой поле 32х16 клеток. Экран может содержать как графическую информацию, так и текстовую, которая позиционируется относительно клеток. Шрифты могут быть двойной высоты.
Описание экрана представляет собой строку с текстом, перемежающуюся управляющимися символами, такими как очистка экрана, позиционирование курсора, размер шрифта. В большинстве современных банков сегодня текст используется только при вводе сумм, а в остальных случаях экран — это просто цельная картинка. Однако встречаются и полностью текстовые экраны.
Пример экрана, отображающего картинку из таблицы картинок (\0c\1bP2018\1b\5c)
Именно на такие экраны ссылаются параметры стейта.
Совокупность стейтов, экранов, FIT, таймеров называется сценарием банкомата. Каждый сценарий имеет свой номер. После загрузки банкомата и подключением его к сети, он шлет на хост сообщение в котором сообщает свой ID и номер конфигурации. Если конфигурацию следует обновить — хост переводит банкомат в режим «Out Of Service» и начинает грузить необходимые параметры новой конфигурации. Последним параметром идёт номер конфигурации. Схожим образом происходит загрузка ключей для шифрования пин-блока, для макирования, и мастер-ключей.
Вот, если вкратце, так устроен банкомат. Надеюсь кому-нибудь эта информация пригодится.
Считыватель кредитных карт: виды, принцип работы, область применения
Считыватель кредитных карт — это специальное устройство, которое распознает данные с различных видов пластиковых карт. Прочитав эту статью, вы узнаете, как по-другому называются считыватели банковских карт, какие виды этих устройств существуют, чем они отличаются друг от друга, по какому принципу работают, какие существуют особенности выбора и подключения?
Принцип работы считывателей банковских карт, виды и область применения
Считыватель банковских карт – это специальный модуль, предназначенный для получения информации с пластиковых кредитных, дисконтных и других карт, а также с магнитных полос.
Пластиковые карты чаще всего используются в банковской сфере для проведения безналичного расчета, а также в качестве платежных средств практически во всех объектах розничной торговли, в организациях общественного питания и обслуживания населения, на авто-, железнодорожных вокзалах и в аэропортах.
Чтобы знать, как считыватель банковских карт называется по-другому, следует иметь представление о том, с какими видами карточек он работает.
Магнитные полосы карт имеют ограниченный объём памяти и изготовлены с учетом различных напряженностей магнитного поля. По напряженности магнитного поля, применяемого в процессе намагничивания, существуют низкокоэрцитивные (LoCo) — до 300 эрстед и высококоэрцитивные (HiCo) — до 4000 эрстед магнитные полосы. Они размещены на расстоянии 4 мм от края карточки и имеют стандартный размер 12.7 мм. HiCo-карточка дороже и надёжнее, так как информация на ней реже размагничивается и лучше защищена.
По этим причинам считыватели называют ещё ридерами ID, EM-Marin, Mifare карт и картридерами (Card-reader).
Ридеры, работающие без контакта, функционируют при помощи специальной магнитной головки. Данные анализируются ридером, после чего декодируются и отправляются в специальное устройство — контроллер системы контроля управления доступом (СКУД) или в систему, где происходит дальнейшая обработка и декодирование.
1. Задай вопрос нашему специалисту в конце статьи.
2. Получи подробную консультацию и полное описание нюансов!
3. Или найди уже готовый ответ в комментариях наших читателей.
Виды картридеров
Производители предлагают три вида Card reader. Они делятся на несколько категорий, в зависимости от вариантов магнитных носителей информации, способов работы сканируемых дорожек, вариантов подключения и доступа.
Щелевой
Имеет специальный анализирующий слот, через который проводят карточку. Нужная информация сканируется после этого автоматически.
Моторизированный
Устанавливаются в мультикассах или в банковских автоматах. Захватывающая система отправляет карту внутрь аппарата. После получения информации и совершения операции карточка или возвращается владельцу, или блокируется.
Встраиваемый
Карточка вставляется внутрь модуля, который анализирует нужные сведения, после чего выдаёт их кассиру или оператору. Одни из них могут работать только с высококоэрцитивными, другие с низкокоэрцитивными носителями информации.
По способу работы с дорожками картридеры бывают:
По варианту подключения используются:
Обратите внимание! Основная часть модулей для распознавания необходимых для оператора сведений подключается к ПО при помощи PS/2 или USB-разъёмов.
Общая сфера применения
С учётом того, что пластиковые карточки сегодня используются во многих сферах жизнедеятельности человека, приспособления для их распознавания нужны для:
В зависимости от территории применения, ридеры могут быть внутренними или уличными. Если СКУД находится внутри здания, то производители пытаются улучшить его стиль и дизайн исполнения.
Уличные устройства отличаются стойкими к повреждению корпусами и широким температурным диапазоном функционирования.
Считыватель бесконтактных карт ESMART Reader STONE
Считыватель магнитных карт Bolid Proxy-3A
Считыватель магнитных карт MAG-12
Отличие контактного и бесконтактного считывателя банковских карточек
Для распознавания данных применяются два основных вида ридеров — контактные и бесконтактные. Они отличаются друг от друга по принципу работы и делятся на отдельные категории.
Универсальный бесконтактный считыватель карт
Существует несколько вариантов универсальных бесконтактных ридеров, которые используются не только в банковской, но и во многих других сферах.
Эти модули работают по следующему принципу: карточку подносят к модулю на расстояние от 30 до 250 мм. Её идентификатор попадает под генерируемое прибором электромагнитное излучение и сканирует индивидуальный код. Сведения перенаправляются на контроллер. Происходит это в течение доли секунды.
К самым распространённым видам бесконтактных ридеров относятся устройства, работающие на основании следующих стандартов:
Примером являются считыватели карт proximity smart wave. Их применяют в охранных системах, для идентификации товаров, комплектующих или животных. Они отличаются невысокой стоимостью, дальностью сканирования (от 60 мм до 14 см) и хорошей защищенностью от помех, создаваемых соседними модулями доступа.
По такому же принципу работает считыватель карт Айко (IIKO). Этот интеграционный модуль разработан для распознавания сведений с карт лояльности покупателей или с подарочных сертификатов на основе процессинга CardsPro, в котором обрабатываются все операции. При помощи устройства активируется информация о персональных данных физического лица. Тем самым он даёт согласие на дальнейшую с ним коммуникацию и открытие ему доступа к использованию предоставленных льгот. Для этого кассир выбирает соответствующий пункт в меню онлайн-ККМ, и при помощи ридера сканирует информацию.
Обратите внимание! Существуют и мультиформатные (комбинированные) ридеры. Они работают одновременно с идентификаторами разных технологий (RFID, магнитные карточки, введение цифровых закодированных данных с клавиатуры и биометрической информации). Они включают в себя бесконтактный RFID Card reader и заднюю пластину с магнитным блоком.
Все бесконтактные считыватели банковских карт отличаются от контактных:
Card reader контактного типа
В зависимости от модели и способа использования различают автоматические сканирующие приспособления с моторизированным транспондером, и контактные выносимые или встраиваемые с ручной подачей.
Автоматические отличаются более высокой стоимостью, делают в процессе работы меньше ошибок, что увеличивает их срок эксплуатации. Чтобы информация корректно считывалась с идентифицируемой поверхности, нужно правильно размещать карточку относительно сканера.
Приемлемая цена таких сканирующих устройств позволяет использовать их не только для проведения банковских операций через банкоматы или терминалы. К примеру, считыватель карт, работающий на основе языка программирования Delphi, способен функционировать в системе СКУД жилых домов для распознавания карт доступа в жилые помещения. Кроме того, с их помощью распознаются данные с бонусных и накопительных карточек, выдаваемых предприятиями розничной продажи по программам лояльности.
К наиболее надёжным относится Card reader с классической компоновкой, модуль которого залит специальным защитным компаундом и помещен в надёжный пластиковый антивандальный корпус. Они устанавливаются в местах, где существует повышенный риск разрушения. Некоторые из них имеют встроенную клавиатуру для программирования устройства или для введения пользователем пин-кода. Такие виды, в зависимости от установленных электронных компонентов, могут работать при температурных диапазонах от минус 40°С до плюс 60°С.
Особенности выбора считывателя бесконтактных и контактных карт
Перед тем как приобрести Card reader, нужно ознакомиться с моделями, определиться с целями использования и перечнем необходимых функций. Такое устройство нецелесообразно покупать в качестве дополнения к компьютеру из-за его специфики и узкой специализации.
При приобретении ридера владельцами торговых организаций и субъектами малого бизнеса, лучше отдать предпочтение покупке ПАК. В таком случае модуль будет в комплекте поставки. Воспользовавшись предложением поставщика, можно установить ПО, подходящее под конкретное направление деятельности.
Модель необходимо выбирать с учётом следующих критериев:
Щелевые настольные модули, которые через USB-порт подключаются к основному оборудованию, больше подходят для торговли, предприятий общепита и оказания услуг.
Встраиваемый Card reader можно купить отдельно для замены неисправного модуля, так как первоначально они обычно входят в полный комплект оборудования (банкомат, кассовый аппарат, платёжный терминал).
Предварительно необходимо определиться с типом считывания, используемым в аппарате. Он бывает ручным (карточка через аппарат проводится самостоятельно пользователем или продавцом) и автоматическим. Ручной удобнее использовать в общепитовских предприятиях и в торговле, а автоматический — в сфере услуг или на крупных производственных объектах.
Если предполагается подключение устройства к другому оборудованию, лучше приобретать встраиваемый модуль.
Для небольшой торговой точки или супермаркета, офиса по предложению услуг, подойдёт аппарат со сканированием первых двух дорожек, поскольку следующая значительно реже используется. Необходимо обратить внимание на поддержание устройством формата ленты Hi-Co, который отличается лучшим качеством и продолжительным сроком службы. Однако такие модули не поддерживают функцию записи, а лишь считывают нужные сведения. При наличии этой функции, Card reader стоит дороже.
При выборе считывателя бесконтактных и контактных карт необходимо учитывать следующие важные технические характеристики:
kak_eto_sdelano
Как это сделано, как это работает, как это устроено
Самое познавательное сообщество Живого Журнала
«Банкомат (от банковский автомат, иногда ATM от англ. Automated teller machine) — программно-технический комплекс, предназначенный для автоматизированных выдачи и/или приёма наличных денежных средств как с использованием платёжных карт, так и без, а также выполнения других операций, в том числе оплаты товаров и услуг, составления документов, подтверждающих соответствующие операции.»
1. Вариант установки.
1) «Офисный». Обычный банкомат, который все представляют при произнесении этого слова. Устанавливается в помещениях.
2) Межстенный или «уличный». Нифига он не уличный никакой, потому что наружу торчит только морда с пользовательской панелью. И стоять он должен в отапливаемом помещении. Ну или в шкафу, как в этом мебельном магазине 🙂
3) Реально уличный банкомат, предназначенный для установки прямо вот на улице. На открытом воздухе. Отличается от собратьев тем, что сейфовыми стенками закрыта не только нижняя часть с денежными устройствами, но и верхняя со всякой требухой. Ну и вентиляция и отопление внутреннего пространства значительно серьезнее. Больших творческих успехов и счастья в личной жизни желают сотрудники сервисных организаций конструкторам, придумавшим компоновку банкомата NCR 5871. Потому что для его нормального обслуживания надо быть долбаным осьминогом.
Несмотря на то, что банки закупали такие устройства, на улицах их по каким-то причинам не ставили. 🙂
1. Системник. Действительно, банкоматы управляются из обычного системного блока. Ну, не совсем обычного, конечно, кое-какие модификации там имеются, но в целом поставить такой дома вполне можно. Внутри системного блока крутится специальная версия старой доброй WinXP. Только в последнее время совсем уж новые банкоматы идут с семеркой.
2. Картридер. В 99% случаев в банкоматах стоит моторизованный картридер. Это такой, который сам забирает карту, гоняет ее к нужным считывателям внутри себя. Сам умеет бороться с фишингом и скиммингом, но часто ему помогают дополнительные устройства от сторонних производителей.
3. Чековый принтер. Сейчас во всех банкоматах стоят термопринтеры, но еще лет восемь-девять назад вполне себе встречались матричные. Почему он такой длинный? А чтобы умные клиенты дергали за уже отрезанный чек. Он печатается в голове (середина устройства), там же отрезается, а потом по хоботу с помощью ремней выезжает к клиенту.
4. Монитор. Бывает обычный, бывает сенсорный. Обычный прикрыт антивандальным стеклом, сенсорный нет.
5. Барахло. Кроме основных устройств, банк может использовать штатные, но редкие типа устройства выдачи монет или колхозные типа ридера для пополнения проездных, которые монтировались при помощи дрели, напильника и какой-то там матери.
1. Собственно, сейф. Железная коробка из двухсантиметровой стали. Третий класс устойчивости ко взлому. Бывают и пятого, но реже. Это когда есть дополнительные замки и утолщенные стенки с бетонной прослойкой.
2. Диспенсер. Устройство выдачи денежных купюр. Вот это ноу-хау каждого вендора. Вот тут-то они и оттопыриваются, исхитрияясь придумать какой-нибудь хитровыделанный способ доставания денег из кассет, складывания их в пачку и отправки этой пачки клиенту.
Вот у NCR, например, диспенсер вакуумный. Это значит, что купюры из кассет извлекает вал с присосками. Видите трубки? Это как раз вакуумная магистраль. Внутри каждого пикера (это штука, куда вставляется кассета), стоит вал с двумя присосками. В нужный момент, определяемый с помощью черного колеса, открывается клапан, купюра присасывается и передается дальше в транспорт. Там ее подхватывают вертикальные ремни, передают в стакер, где формируется пачка, а потом по этой длинной штуке с ремнями пачка выезжает к клиенту.
Кроме этого, в пикерах стоят контроллеры для определения типа кассеты и датчики для предупреждения ошибочного набора, например, захвата двух купюр за один раз.
3. Кассеты. Купюры для банкомата укладываются в кассеты примерно такого вида. Влезает до 2500 штук, но по факту грузят от двухсот до полутора тысяч в зависимости от номинала. С помощью планок устанавливается длина и ширина используемых купюр, чтобы пачка не расползалась.
Как банкомат понимает где какие купюры? При сборке кассеты настраивается ее тип. При установке кассет в диспенсер, банкомат определяет, где какая кассета стоит и соотносит тип кассеты с заданным в настройках номиналом. Например, «тип А» это 500 рублей. Смысл понятен, надеюсь. Бывают активные кассеты, в которых установлены устройства слистывания купюр, как у банкоматов Wincor. Но это, как я уже говорил, предмет инженерной гордости конкретного вендора. Что касается распространенного мнения о том, что в кассетах стоят емкости с краской, взрывающиеся при несанкционированном открытии. Скажем так. Я таких кассет за все время работы не видел в использовании, хотя они в принципе существуют.
Кассет в банкомате может быть четыре-пять штук, в зависимости от типа устройства. Плюс кассета для сброса отбракованных и задржанных купюр, которая выглядит немного другим образом.
4. Купюроприемник. Вот вы будете смеяться, но последний банкомат с конвертоприемником в Питере демонтировали меньше десяти лет назад. Стоял в Рольфе на Октябрьской набережной. Правда на тот момент конвертоприемник не работал уже пару лет, но тем не менее. То есть, при выборе функции «Внесение наличных» клиенту натурально выдавался конверт, в который он вкладывал деньги, запечатывал его и засовывал обратно. Сумма вводилась вручную, а потом кассир в банке пересчитывал сумму. Тоже вручную.
Сейчас это, конечно, ушло в прошлое и в банкоматах используется два типа приемников: обычные для приема пачки и рецайклинговые. Первые просто принимают пачку и раскладывают деньги по кассетам или скидывают в ящик в произвольном порядке, а вторые сортируют купюры по номиналам и в случае необходимости выдают обратно клиенту. В полном объеме их разрешили использовать буквально год назад. До этого Центробанк не разрешал.
Купюроприемники обычно разрабатываются сторонними организациями и поставляются вендорам. Бывает такое, что все там настолько наверчено и засекречено, что инженеры вендора не имеют полного доступа к диагностике купюрника. Это реально очень навороченное и сложное устройство, на которое, к тому же, накладывается повышенная отвестсвенность. Деньги на выдачу в кассеты закладывают кассиры и пересчитываются они в стенах банка. А тут надо принять и правильно распознать какие-то непонятные деньги. А если устройство рецайклинговое, так ответственность двойная. Стоимость устройства сравнима со стоимостью обычного банкомата.
4. Лайфхак для тех, кто дочитал до конца. Если хотите воспользоваться банкоматом или терминалом, наберите на клавиатуре «456». Откроется сервисное окно со статусами устройств. Хорошо расписано вот тут. Работает не только лишь у всех банкоматов.
Жми на кнопку, чтобы подписаться на «Как это сделано»!
Если у вас есть производство или сервис, о котором вы хотите рассказать нашим читателям, пишите Аслану (shauey@yandex.ru) и мы сделаем самый лучший репортаж, который увидят не только читатели сообщества, но и сайта Как это сделано
Подписывайтесь также на наши группы в фейсбуке, вконтакте, одноклассниках, в ютюбе и инстаграме, где будут выкладываться самое интересное из сообщества, плюс видео о том, как это сделано, устроено и работает.