Банкомат в стене дома

Обновлено: 20.05.2024

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

Что такое банкомат?

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

Железо банкомата

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

Кто же управляет всем этим зоопарком

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

Так появился стандарт 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 имеет схожий принцип работы.

Как же оно работает

  • Power Up — Загрузка
  • Offline — Нет связи с сервером, коннектимся
  • Supervisor — работает инкассатор или сервис-инженер
  • Out of service — банкомат не работает, потому что неисправен, кончились деньги, или просто кто-то в банке перевел его в этот режим.
  • In service — основной режим работы, знакомый всем тем, у кого есть банковские карты.

Первый символ этой строки — тип стейта (обозначаются буквами 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. Если хоть одно из условий срабатывает, то остальные условия не выполняются и карта считается прочитанной. Если ни одно из условий не выполняется, карта считается непрочитанной.

Условие возврата карты — банкомат может вернуть карты сразу после прочтения, а может сделать это в конце после завершения всех операций.

Остальные стейты устроены схожим образом:

Теперь об экранах

Экран банкомата представляет собой поле 32х16 клеток. Экран может содержать как графическую информацию, так и текстовую, которая позиционируется относительно клеток. Шрифты могут быть двойной высоты.

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

Пример экрана, отображающего картинку из таблицы картинок (\0c\1bP2018\1b\5c)

Именно на такие экраны ссылаются параметры стейта.

Вот, если вкратце, так устроен банкомат. Надеюсь кому-нибудь эта информация пригодится.

Работа кредитной карты используется в банкомате

Банкомат с картридером. экран дисплея, кнопки, банкомат, принтер чеков. безопасность пин-кода, автоматический банкинг, электронное снятие наличных, концепция доступа к банковскому счету. 3d иллюстрации

Банкомат бизнес-технологии с пастельно-синим и зеленым фоном 3d визуализации

Банкомат бизнес-технологии с пастельно-синим и зеленым фоном 3d визуализации

Tiviland

Tiviland

Закройте вверх по выстрелу молодой взрослой женщины. он набирает пин-код на клавиатуре банкомата при использовании смартфона.

Закройте вверх по выстрелу молодой взрослой женщины. он набирает пин-код на клавиатуре банкомата при использовании смартфона.

Лицо вставляет карточку в банкомат.

Лицо вставляет карточку в банкомат.

Женщина, вставляющая кредитную карту в банкомат, крупным планом

Женщина, вставляющая кредитную карту в банкомат, крупным планом

Пожилая женщина среднего возраста берет наличные из банкомата на улице

Пожилая женщина среднего возраста берет наличные из банкомата на улице

user28553442

user28553442

Женщина вводит личный идентификационный номер на банкомате atmxa

Женщина вводит личный идентификационный номер на банкомате atmxa

Клавиатура банкомата со 100-долларовыми банкнотами в денежном слоте безопасность пароля онлайн-платеж снятие наличных депозит перевод средств выдача денег возврат банковского долга концепция 3d иллюстрация

Клавиатура банкомата со 100-долларовыми банкнотами в денежном слоте безопасность пароля онлайн-платеж снятие наличных депозит перевод средств выдача денег возврат банковского долга концепция 3d иллюстрация

«Игрок NBA установил у себя на кухне банкомат», — прочитала я в очередной сводке новостей, и позавидовала чернокожему спортсмену белой завистью. Вот бы и мне такое чудо техники — в очереди не стоять, крюк по дороге домой не делать, и никакая редиска не уведет у тебя из-под носа последнюю тыщу. Как раз между раковиной и стиральной машинкой влезет, прикинула я, и стала обзванивать банки с просьбой доставить и установить банкомат прямо в квартире.

Вслед за американским баскетболистом корреспондент

Звезде американского баскетбола Дешону Стивенсону установка денежной машины, по его словам, обошлась в три с половиной тысячи долларов. За эти деньги многочисленные друзья спортсмена могут снять наличные в любое время дня и ночи, уплатив комиссию в 4,5 у.е. Немало, прямо скажем — зато как удобно: сунул ужин в микроволновку, снял деньги, помыл посуду. Мечта домоседа, короче говоря. Даешь банкоматы в народные кухни!

Первым делом я позвонила в офис крупного банка с красной буквой на логотипе. Оператор (ох, немало у них звонков от ненормальных, наверно!) выслушала мою просьбу без единого смешка.

— Здрасьте. Я хочу установить банкомат у себя дома. В квартире, точнее, — сбивчиво объяснила я. — А то до ближайшего идти далеко.

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

Видимо, не я первая обратиласась в этот банк с такой инициативной. В другом столичном банке операторы не были столь спокойны. Первые двое, сдавленно хихикая в трубку, перебрасывали мой звонок на других, менее смешливых коллег, и наконец, молодой человек по имени Андрей ответил мне на все вопросы.

— Насчет квартиры я не уверен, — бодро сообщил он. — А вот в подъезде — запросто. Но нам будут необходимы документы о посещаемости вашего подъезда. Плюс, разрешение от ТСЖ, какая-либо статистика зарплат жильцов, гарантия, что вы будете платить за аренду банкомата. Вы, кстати, не желаете оформить у нас кредит на это дело?

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


— На каком этаже вы живете? — этот вопрос оператор Татьяна задала, видимо, автоматически.

— А вы знаете, что банкомат весит 900 килограммов?

— Эээ, ну. Грузчиков наймем! — не растерялась я. — Я его уже померила, линейкой, как раз между раковиной и стиралкой должен войти!

— Тогда уточните, приспособлен ли ваш пол для таких нагрузок. А вам обязательно в квартире? Давайте, вы мне скажете свой адрес, и я посмотрю ближайшие отделения банка?

— Да нет, спасибо, мне тяжело по банкам мотаться. Ребенок, знаете ли. Точнее, двое, грудных, — нервно болтала я. — А снимать деньги на кухне было бы так удобно.

— Теоретически это возможно, но на практике зависит от решения банка, — вынесла вердикт Татьяна после краткого совещания с коллегами. — Некоторые орагнизации заинтересованы в развитии инфраструктуры (чем больше банкоматов тем лучше- Авт.), они могут согласиться. Других волнует число посетителей, эти откажут. Вообще, это дорогое удовольствие, от 50 тысяч рублей. Платить аренду за площадь под банкомат вам не придется, а вот страховать от взлома нужно в любом случае. Также отдельный счет будет за его обслуживание и заправку денежных средств. Идея у вас оригинальная, конечно.

Получается, были бы деньги и желание, а банкомат приложится. Хотя, конечно, американской звезде баскетбола исполнить это самое желание значительно проще. Вряд ли любопытные соседки будут интересоваться, почему это к нему каждую неделю приходят парни в бронежилетах, с автоматами и полными сумками денег. Но заявку на сайте первого банка я все-таки оставила — а вдруг повезет, и арсенал бытовой техники пополнится еще и новеньким банкоматом.

Вопрос: Банкомат встроен в наружную стену здания УЗ «ЦРБ». Какие расходы можно выставить арендатору к возмещению кроме электроэнергии и охраны недвижимого имущества?

Ответ: При размещении банкомата в наружной стене здания арендодатель предъявляет к возмещению арендатору помимо электроэнергии и охраны ряд расходов, указанных в п. 5 Положения о порядке определения размера арендной платы № 150.

Обоснование: Арендатор помимо арендной платы возмещает арендодателю :

по содержанию и эксплуатации недвижимого имущества;

на санитарное содержание, горячее и холодное водоснабжение;

техническое обслуживание лифта;

обращение с твердыми коммунальными отходами;

Порядок расчета размера вышеуказанных расходов, предъявляемых к возмещению арендаторам, установлен Положением № 433.

В нем приведены определения (расшифровано содержание) некоторых видов расходов, в частности :

другие услуги — услуги, связанные с охраной недвижимого имущества, обслуживанием систем охранно-пожарной сигнализации, видеонаблюдения, и иные услуги, связанные с обеспечением сохранности и безопасности эксплуатации такого имущества;

коммунальные услуги — горячее и холодное водоснабжение, водоотведение (канализация), газо-, электро- и теплоснабжение, техническое обслуживание лифта, обращение с твердыми коммунальными отходами;

санитарное содержание — комплекс услуг по санитарной обработке (уборке) мест общего пользования, в том числе мойка или иная обработка мест общего пользования, включая дезинфекцию, дезинсекцию, дератизацию, для соответствия их установленным санитарным требованиям;

содержание, эксплуатация недвижимого имущества — техническое обслуживание недвижимого имущества, включающее работы по поддержанию в исправном и работоспособном состоянии его конструктивных элементов и инженерных систем, за исключением лифтов, обеспечению установленных параметров и режимов работы инженерных систем, за исключением лифтов;

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

В том случае, если арендатор не является потребителем определенных видов услуг и (или) у него отсутствует установленный Положением № 433 критерий распределения определенных видов затрат арендодателя (например, численность, площадь и т.п.), то такие затраты арендатору могут не предъявляться в соответствии с Положениями № 150 и № 433, т.к. критерий распределения затрат в отношении такого арендатора будет равным нулю.

В рассматриваемой ситуации у арендатора, например, могут отсутствовать расходы:

— по горячему и холодному водоснабжению, водоотведению (канализации);

— техническому обслуживанию лифта;

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

Таким образом, в нашем случае арендодатель вправе предъявить к возмещению арендатору:

— расходы по содержанию и эксплуатации недвижимого имущества;

— расходы по текущему ремонту;

— затраты на санитарное содержание;

— затраты на обращение с твердыми коммунальными отходами;

— другие услуги (виды и порядок возмещения которых определяются с учетом условий договора аренды).

Порядок расчета каждого из данных видов затрат, а также используемые при их распределении критерии (численность, площадь, иные критерии, установленные договором аренды) определены Положением № 433.

27 июня 1967 года был установлен первый банкомат. Как устроен АТМ изнутри?

atm-job

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

Как устроен банкомат изнутри: схемы и фото

Банкомат можно условно разделить на три части – пользовательский интерфейс, компьютер и сейф. Пользовательский интерфейс не вызывает вопросов — его элементы всем знакомы. Это слот для карт и считывающее устройство за ним, клавиатура для набора PIN-кода, экран, отверстие для чека, за которым скрывается принтер, и скрытая видеокамера.

Остальные два элемента банкомата — сейф и компьютер — скрыты от глаз обычного пользователя.

Компьютер

Находится в верхней задней части банкомата. Он работает под управлением специальной операционной системы и позволяет инженерам корректировать работу АТМ.

atm-computer

Как устроен банкомат изнутри на примере устройства Wincor Nixdorf

Как устроен банкомат изнутри

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

atm-inside

Кассеты для банкнот

Как устроен банкомат изнутри

Внутри сейфа обычно находятся четыре кассеты для банкнот. В каждую из них можно класть купюры только одного номинала. То есть всего в банкомат помещается 4 номинала банкнот. Например, 10, 50, 100 и 200 гривен. Каждая кассета отдельно настраивается под определенный размер купюр. Поэтому случай, когда вместо 10 гривен банкомат выдаст вам 200, маловероятен. Купюры попадают в кассеты еще в банке после тщательной проверки. Затем кассеты опечатывают и передают инкассаторам для загрузки в банкомат. Банкомат способен определить, сколько денег находится в каждом отсеке в любой момент времени. Поэтому если клиент запросит сумму, превышающую остаток в сейфе, в проведении транзакции будет отказано.

Диспенсер

Чтобы отсчитать клиенту нужную сумму банкнот, рядом с кассетами установлен диспенсер. С помощью специальных присосок он захватывает нужное количество купюр одного или разных номиналов и отправляет их на проверку специальными датчиками. Они еще раз проверяют подлинность банкнот, а также следят, чтобы несколько купюр не склеились вместе. Именно это устройство издает характерный звук шуршания банкнот, который знаком каждому пользователю банкомата.

atm-dispenser

Кассета для бракованных банкнот

Если диспенсер обнаружил бракованную банкноту, он не выдаст ее пользователю. Также он не отправит в окошко для выдачи купюр слипшиеся банкноты. Для таких случаев в сейфовом отделе установлена пятая кассета. Все банкноты, которые вызывают сомнение, диспенсер направляет в этот блок. Все они будут проходить дополнительную проверку в банке. Также в эту кассету сбрасывают банкноты, которые клиент забыл забрать из банкомата.

atm-fake

Возможно в будущем банкомат изнутри будет выглядеть совсем по-дргому. Ведь уже сегодня ведущие производители ATM — Diebold Nixdorf и NCR разрабатывают банкоматы без слота для карт и экрана.

Читайте также: