Ребят, привет.
Пишу эмулятор банкомата. Есть мануал по NDC протоколу.
Но в связи с тем, что мало знаком с банкоматами, есть пару вопросов.
Очень подзастрял на отправке сообщения для транзакции. Именно на поле Operation code buffer (иногда operation code data). Там восемь символов. Вроде как - коды нажатых клавиш. Однако попробовал на банкомате снять деньги и взял после этого логи.
Там буфер выглядит так (звездочками отмечены пробелы):
"CD***CBC" - просмотр баланса;
"AD***CBC" - снятие денег;
"AD***BBB"- снятие денег с печатью чека.
В общем, мне непонятно. На коды клавиш не сильно похоже (если брать FDK раскладку банкомата). Нажимались клавиши и с левой стороны монитора и с правой. Не могу понять - что это за буквы. И что за пробелы между ними? Может, знает кто? Как правильно формировать этот буфер?
И вторая непонятная мне тема - это FIT-таблица, которая мне приходит. Вернее, первые ее поля:
PIDDX (Institution ID Index) и PFIID (Institution ID).
В общем, таблица разбита сепараторами на 3 части. Везде данные одинаковые, кроме этих первых двух полей.
Описание для меня непонятно.
PIDDX (Institution ID Index) 8
Each card contains an ID number to identify the financial institution it belongs to. This field gives the offset for the FIID on the card. The range is 00-7F hex.
"каждая карта содержит ID.." что это дает, для чего эти данные?
Спасибо всем, кто ответит.
Operation Code buffer и FIT таблицы
Модератор: central
Re: Operation Code buffer и FIT таблицы
Там же ясно написан ответ: "This field gives the offset for the FIID on the card."DimaZP писал(а):И вторая непонятная мне тема - это FIT-таблица, которая мне приходит. Вернее, первые ее поля
То есть, PIDDX содержит смещение в PAN карты, где начинается БИН (FIID). Обычно PIDDX=000.
PFIID - это БИН (или его часть), которая определяет финансовый институт (платежная система, банк etc).
- Shoroh
- Администратор
- Сообщения: 5439
- Зарегистрирован: 12 май 2010, 19:55
- Благодарил (а): 121 раз
- Поблагодарили: 116 раз
Re: Operation Code buffer и FIT таблицы
Ну зачем так сразу, для курсовой. Может это просто для тестирования картридера ))
Test
Re: Operation Code buffer и FIT таблицы
А мне кажется, что вы загоняетесь. Хотя "эмулятор банкомата" - звучит ооочень сомнительно, да...
Не издевайтесь над русским языком, пожалуйста! Ему и так несладко.
-
- Специалист
- Сообщения: 412
- Зарегистрирован: 21 апр 2011, 00:32
- Откуда: Грузия, Тбилиси
- Благодарил (а): 14 раз
- Поблагодарили: 8 раз
Re: Operation Code buffer и FIT таблицы
Для того, чтобы сформировался буфер, есть D - Pre-Set Operation Code Buffer State. В него можно жёстко прописать буквы, а можно их передавать из selection стейта(E или Y). В selection стейте указываем позицию буфера(0-7). И тогда при нажатии FDK клавиши в эту позицию прописывается соответствующая нажатой клавише буква(от A до I). Это удобно, например, для выбора печати чека или для выбора платежа.DimaZP писал(а):Там буфер выглядит так (звездочками отмечены пробелы):
"CD***CBC" - просмотр баланса;
"AD***CBC" - снятие денег;
"AD***BBB"- снятие денег с печатью чека.
В общем, мне непонятно. На коды клавиш не сильно похоже (если брать FDK раскладку банкомата). Нажимались клавиши и с левой стороны монитора и с правой. Не могу понять - что это за буквы. И что за пробелы между ними? Может, знает кто? Как правильно формировать этот буфер?
Re: Operation Code buffer и FIT таблицы
Имхо, самый лучший и 100% работающий эмулятор банкомата - это программная эмуляция XFS с мультивендорным софтом сверху (прокэш винкоровский к примеру) - гораздо проще реализовать имитацию поведения устройств, чем ваять тот же сборщик-разборщик NDC сообщений...
А человек, по его словам, обладающий документацией по NDC и не понимающий, как формируется opcode buffer, - как минимум эту документацию не читал. И ответчать ему "RTFM" как минимум глупо, ибо не в коня корм.
А человек, по его словам, обладающий документацией по NDC и не понимающий, как формируется opcode buffer, - как минимум эту документацию не читал. И ответчать ему "RTFM" как минимум глупо, ибо не в коня корм.
Re: Operation Code buffer и FIT таблицы
Я так понимаю, ТС пишет эмулятор именно со стороны сети хост-терминал.magarila писал(а):Имхо, самый лучший и 100% работающий эмулятор банкомата - это программная эмуляция XFS с мультивендорным софтом сверху (прокэш винкоровский к примеру) - гораздо проще реализовать имитацию поведения устройств, чем ваять тот же сборщик-разборщик NDC сообщений...
Re: Operation Code buffer и FIT таблицы
Ну не скажите, я уже имею PEG-грамматику для разбора сообщений от NDC (а также грамматики для DDC и Triton Legacy) -- ничего особо сложного. Фактически, единственная сложность в том, чтобы навесить на парсер действия для сохранения результата разбора во что-то удобное для работы, например, в XML-подобную структуру.magarila писал(а):гораздо проще реализовать имитацию поведения устройств, чем ваять тот же сборщик-разборщик NDC сообщений...
Вот обратная сборка сообщения из такой структуры в бинарное сообщение -- более интересная задача, но тоже в принципе ничего сложного -- у меня на работе используется подобный инструмент. К сожалению, его возможностей недостаточно для разбора NDC/DDC протокола, так что приходится по-старинке, врукопашную Хотя я уже думал над идейным продолжением такого инструмента, который будет способен разобрать (и собрать) эти протоколы.