Особенности реализации стейтов

H – Information Entry State (шаг ввода данных пользователем)

На шаге типа H пользователю предоставляется возможность ввода данных с последующим помещением в NDC-буфер.

Изменена обработка восьмого параметра Entry Mode, Buffer and Display Parameters:

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

  • Допускается использование не предусмотренных стандартом значений:

    • по умолчанию, длина вводимых данных 32 символа;

    • по умолчанию, отображение вводимых символов отключено;

    • по умолчанию, какой-либо буфер не заполняются.

Предусмотрена возможность расширенного заполнения буферов, параметр State_H_UseExtendedBuffer. Добавляется возможность изменения данных для «Buffer A», «Buffer B», «Buffer C», «Amount Buffer», «Track 1», «Track 2» и «Track 3» в части дозаписи в начало или с конца текущего значения буфера, перезаписи данных или записи поверх существующих. Добавляется возможность предустановки значения изменяемого буфера.

Расширяется обработка восьмого параметра Entry Mode, Buffer and Display Parameters:

  • Максимальная длина вводимых данных 128 символов.

  • Значение параметра представлено в формате XYZ, где X,Y,Z - шестнадцатиричные символы.

Битовая маска шестнадцатиричного символа Z, четыре бита xxxy, где

  • xxx - заполняемый буфер:

    • 000 - Buffer A

    • 001 - Buffer B

    • 010 - Buffer C

    • 011 - Amount Buffer

    • 100 - Track 1

    • 101 - Track 2

    • 110 - Track 3

  • y - бит отображение данных на экране.

Битовая маска шестнадцатиричных символов XY, четыре бита xxyyyyyy, где

  • xx - метод изменения:

    • 00 - запись поверх текущего значения

    • 01 - запись в начало буфера

    • 10 - запись с конца буфера

    • 11 - перезапись текущего значения

  • yyyyyy - смещение записи (кол-во символов, не применимо для yy = 11).

Таблица 13. Примеры и значения битов

Символ

X

Y

Z

Бит

3

2

1

0

3

2

1

0

3

2

1

0

Значение

Xyz

0

0

x

x

x

x

x

x

x

x

x

x

Запись поверх текущего значения.

Xyz

0

1

x

x

x

x

x

x

x

x

x

x

Запись в начало буфера.

Xyz

1

0

x

x

x

x

x

x

x

x

x

x

Запись с конца буфера.

Xyz

1

1

x

x

x

x

x

x

x

x

x

x

Перезапись текущего значения.

XYz

0

0

0

0

0

0

1

1

x

x

x

x

Перезапись данных, начиная с позиции “000011” (пропуск трех символов).

XYz

1

0

0

0

0

0

1

1

x

x

x

x

Запись данных, в конец буфера с позиции “000011” (пропуск трех символов с конца).

xyZ

x

x

x

x

x

x

x

x

x

x

x

0

Вводимые данные маскируются на экране.

xyZ

x

x

x

x

x

x

x

x

x

x

x

1

Вводимые данные отображаются на экране.

xyZ

x

x

x

x

x

x

x

x

0

0

0

x

Данные записываются в “Buffer A”.

xyZ

x

x

x

x

x

x

x

x

0

0

1

x

Данные записываются в “Buffer B”.

xyZ

x

x

x

x

x

x

x

x

0

1

0

x

Данные записываются в “Buffer C”.

xyZ

x

x

x

x

x

x

x

x

0

1

1

x

Данные записываются в “Amount Buffer”.

xyZ

x

x

x

x

x

x

x

x

1

0

0

x

Данные записываются в “Track 1”.

xyZ

x

x

x

x

x

x

x

x

1

0

1

x

Данные записываются в “Track 2”.

xyZ

x

x

x

x

x

x

x

x

1

1

0

x

Данные записываются в “Track 3”.

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

Предустановленное значение изменяемого буфера определяется в словаре [HKEY_LOCAL_MACHINE\SOFTWARE\FS365\NDC\Vocabulary] при помощи параметра с наименованием в формате H<номер_шага>.

Например, параметр H365 со значением 31536000:

[HKEY_LOCAL_MACHINE\SOFTWARE\FS365\NDC\Vocabulary]
"H365"="31536000"

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

I - Transaction Request State (шаг транзакционного запроса)

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

В случае активации режима отложенной авторизации (см. параметр CASHIN_OFFLINE_MODE), при отсутсвии связи или ответа хоста, перед переходом на шаг таймаута, указанный в третьем параметре (Central Response Timeout Next State Number), выполняется печать чека, определенного шаблоном «CashInOfflineModeTemplate.txt».

J - Close State (шаг завершения клиентской сессии)

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

Для УС с покупюрным приемом в зависимости от значения параметра BNA Notes Return/Retain/Leave Flag печатаются следующие чеки на возврат:

  • «000» (Return) – шаблон чека на возврат CashInReturnWithCardTemplate/CashInReturnNoCardTemplate;

  • «001» (Retain) – шаблон чека на возврат CashAcceptRetractedTemplate;

  • «002» (Leave notes in the escrow) – шаблон чека на возврат CashInReturnWithCardTemplate/CashInReturnNoCardTemplate.

В случае активации режима отложенной авторизации (см. параметр CASHIN_OFFLINE_MODE), после всех требуемых шагом действий и до перехода к следующему шагу, в течении некоторого времени повторно формируются и отправляются запросы на NDC-хост согласно реквизитам запомненных транзакций. В это время на монитор выводится экран с номером «C03».

Описанные действия выполняются при условии:

  • наличия сохраненных в защищенной базе незавершенных транзакций приема наличных;

  • предварительного успешного ответа NDC-хоста на последнем шаге взаимодействия (State I) одной из команд «5», «-» и «\“».

В случае успешного хостового ответа на повторный запрос авторизации транзакции печатается чек, определенный шаблоном «ndc_deposit_deffered_success_receipt.txt».

В случае неуспешного хостового ответа на повторный запрос авторизации транзакции печатается чек, определенный шаблоном «ndc_deposit_deffered_failure_receipt.txt».

U – Device Fitness Flow Select State (шаг проверки оборудования)

На шаге типа U проверяется работоспособность оборудования. Согласно NDC-стандарту, идентификатор (номер) оборудования определяется вторым параметром Device Number.

Поддерживается проверка следующих устройств:

  • 003 — картридер;

  • 004 — диспенсер;

  • 006 — чековый принтер;

  • 007 — журнальный принтер;

  • 015 — кассета (тип 1);

  • 016 — кассета (тип 2);

  • 017 — кассета (тип 3);

  • 034 — депозитный модуль;

  • 094 — сканер штрихкодов.

Если оборудование работает нормально, то выполняется переход на шаг, указанный в третьем параметре Device Available Next State Number. Если оборудование недоступно, выполняется переход на шаг, указанный в пятом параметре Device Unavailable Next State Number.

Оборудование, для которого проверка не поддерживается, считается работоспособным.

X - FDK Information Entry State (шаг выбора данных пользователем)

На шаге типа X пользователю предоставляется возможность выбора FDK и последующем помещением в NDC-буфер значения, прикремпленного к выбранному FDK.

Изменена обработка шестого параметра Buffer ID и добавлена возможность предустановки значения изменяемого буфера (формат см. Особенности реализации NDC, H - Information Entry State). Значение изменяемого буфера получается из значений параметров шага расширения Extension to State X. Допускается использование словаря значений [HKEY_LOCAL_MACHINE\SOFTWARE\FS365\NDC\Vocabulary].

Например, значение 365 в параметрах шага расширения, приведет к помещению в выбранный буфер значения количество дней в году, при использовании следующей настройки:

[HKEY_LOCAL_MACHINE\SOFTWARE\FS365\NDC\Vocabulary]
"365"="количество дней в году"

Отстусвие значения 365 в словаре, приведет к помещению в буфер значения 365.

Шаги без описания

Базовые шаги:

  • A - Card Read State

  • B - PIN Entry State

  • C - Envelope Dispenser State

  • D - Pre-Set Operation Code Buffer State

  • E - Four FDK Selection Function State

  • F - Amount Entry State

  • G - Amount Check State

  • K - FIT Switch State

  • _ - Expanded FIT Switch State

  • L - Card Write State (не поддерживается)

  • M - Enhanced PIN Entry State

  • N - Camera Control State (не поддерживается)

  • R - Enhanced Amount Entry State

  • S - Language Code Switch State (не поддерживается)

  • T - Card Read - PIN Entry Initiation State (не поддерживается)

  • V - Language Select From Card State (не поддерживается)

  • W - FDK Switch State

  • Y - Eight FDK Selection Function State

  • b - Customer-Selectable PIN State

  • d … g and z - Exit States (не поддерживается)

  • k - Smart FIT Check State

  • m - PIN & Language Select State

  • > - Cash Accept State

  • w - Cheque Accept State (не поддерживается)

  • z - Master Expansion State (не поддерживается)

  • z001 - Bunch Cheque Accept State (не поддерживается)

  • z002 - Bunch Cheque Handling State (не поддерживается)

  • z003 - Cheque Detail Display State (не поддерживается)

  • z004 - Display Cheque Summary State (не поддерживается)

  • z008 - Insert Card State

  • z009 - Buffer Validation State (не поддерживается)

  • z010 - Local Cash Dispense State (не поддерживается)

  • z013 - Data Copy and Compare State (не поддерживается)

  • z014 - Cash Deposit Handling State (не поддерживается)

  • z017 - Note Mix Selection State (не поддерживается)

  • z020 - FIT Search State (не поддерживается)

  • z021 - CRM Flowpoint State (не поддерживается)

  • z024 - Prepare Dispense State (не поддерживается)

  • & - Barcode Read State

EMV-расширение, шаги:

  • + - Begin ICC Initialisation State

  • , - Complete ICC Initialisation State

  • - - Automatic Language Selection State

  • . - Begin ICC Application Selection & Initialisation State

  • / - Complete ICC Application Selection & Initialisation State

  • ? - Set ICC Transaction Data State

  • ; - ICC Re‐initialise State

  • z007 - EMV Smart DIP Take Card State (не поддерживается)

  • z012 - EMV Application Switch State (не поддерживается)