Расширенные NDC-стейты общего назначения

Включение поддержки расширенных NDC-стейтов общего назначения

  1. Установите в реестре значения следующих параметров:

    [HKEY_LOCAL_MACHINE\SOFTWARE\FS365\NDC\STATE_MAP\STATE_FUNCS]
    "STATE_TYPE_44" = "VISTA_HTML_EXIT"
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\FS365\NDC\STATE_MAP\STATE_TYPES]
    "DOWNLOAD_STATE_44" = "f"
    
  2. Загрузите конфигурацию УС, содержащую расширенный набор NDC-стейтов общего назначения.

f-008 (шаг ввода форматированных данных)

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

Table Entry

Number of characters

Comments

Description

1

1

State Type

«f»

2

3

Screen Number

Номер экрана, показываемого при вводе информации

3

3

TimeOut Next State Number

Номер стейта, на который переходит терминал после истечения таймаута ввода данных

4

3

Cancel Next State Number

Номер стейта, на который переходит терминал после нажатия кнопки CANCEL

5

3

Document Amount Buffer

Буфер для сохранения введенной информации: 000 – Amount Buffer, 001 – Buffer B, 002 – Buffer C

6

3

Amount Display Screen

Номер экрана, содержащего шаблон ввода информации

7

3

Extension State Number 1

Номер стейта, содержащего дополнительные параметры контроля. Если значение равно 000 или 255, то дополнительные параметры контроля не используются

8

3

Extension State Number 2

Номер стейта, содержащего соответствующие нажатым FDK клавишам номера стейтов

9

3

Exit State Subtype 008

Вместе с п. 1 определяет назначение данного стейта

Если значение параметра Extension State Number 1 не равно 000 или 255, то список активных клавиш и номер показываемого экрана могут быть скорректированы в зависимости от разных условий, в противном случае, список активных кнопок задается в стейте Extension State Number 2.

Примечание

Расширенный стейт №3 для стейта f-008 в ПроАТМ не поддерживается.

f-008. Расширенный стейт №1

Данный стейт содержит дополнительную информацию для стейта f-008.

Table Entry

Number of characters

Comments

Description

1

1

State Type

«Z» — может быть изменен на другое значение в конфигурации банкомата

2

3

Extension State Number3

Номер стейта, содержащего дополнительные параметры контроля доступных номиналов диспенсера. Если значение равно 000 или 255, то дополнительные параметры контроля не используются

3

3

Reserved

4

3

Reserved

5

3

Reserved

6

3

Reserved

7

3

Reserved

8

3

Reserved

9

3

Reserved

Если значение параметра Extension State Number 3 не равно 000 или 255, то список активных клавиш и номер показываемого экрана могут быть скорректированы в зависимости от доступности кассет диспенсера для выдачи наличных, в противном случае, список активных кнопок задается в стейте Extension State Number 2 и используется экран Screen Number из основных настроек стейта.

f-008. Расширенный стейт №2

Данный стейт содержит дополнительную информацию для стейта f-008.

Table Entry

Number of characters

Comments

Description

1

1

State Type

«Z»

2

3

FDK A Next State

Номер стейта, на который переходит терминал в случае нажатия FDK A (0 или 255 – клавиша не активна)

3

3

FDK B Next State

Номер стейта, на который переходит терминал в случае нажатия FDK B (0 или 255 – клавиша не активна)

4

3

FDK C Next State

Номер стейта, на который переходит терминал в случае нажатия FDK C (0 или 255 – клавиша не активна)

5

3

FDK D Next State

Номер стейта, на который переходит терминал в случае нажатия FDK D (0 или 255 – клавиша не активна)

6

3

FDK F Next State

Номер стейта, на который переходит терминал в случае нажатия FDK F (0 или 255 – клавиша не активна)

7

3

FDK G Next State

Номер стейта, на который переходит терминал в случае нажатия FDK G (0 или 255 – клавиша не активна)

8

3

FDK H Next State

Номер стейта, на который переходит терминал в случае нажатия FDK H (0 или 255 – клавиша не активна)

9

3

FDK I Next State

Номер стейта, на который переходит терминал в случае нажатия FDK I (0 или 255 – клавиша не активна)

f-015 (шаг отображения html-страниц)

Данный стейт должен вызываться для показа html-страниц и обработки результатов этого показа в рамках выполнения NDC-сценария.

Table Entry

Number of characters

Comments

Description

1

1

State Type

«f»

2

3

Screen Number

Номер экрана, содержащего команду (ESC XE) для показа html-страницы

3

3

Timeout/Error Next State

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

4

3

Cancel Next State

Номер стейта, на который переходит терминал в случае, если пользователь отказался от операции

5

3

Good Next State

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

6

3

Data Position Mask 1

Битовая маска, определяющая буфера транзакции, которые могут быть изменены в этом стейте: Bit Buffer, 1 Amount Buffer, 2 Buffer B, 3 Buffer C, 4 Buffer W, 5 Buffer X, 6 Buffer Y, 7 Buffer Z, 8 OPCODE Buffer

7

3

Wait Screen Number

Номер экрана, показываемого в процессе инициализации html-страницы

8

3

Extension State

Номер расширенного стейта, содержащего дополнительную конфигурацию

9

3

Exit State Subtype

015 Вместе с п. 1 определяет назначение данного стейта

f-015. Расширенный стейт

Данный стейт содержит дополнительные данные для стейта f-015.

Table Entry

Number of characters

Comments

Description

1

1

State Type

«Z»

2

3

Timeout Value

Значение таймаута для показа html-страницы: 000 (по умолчанию, 10 мин), 001-900 (в секундах), 901-999 (в минутах минус 900, например, значение 954 = 54 минуты). Если время показа html-страницы превысит данный таймаут, терминал перейдет на Timeout/Error Next State

3

3

Save Transaction Data Mask1

Битовая маска, определяющая буфера транзакции, которые должны быть сохранены в качестве входных параметров для html-страницы: Bit Buffer, 1 Track1/2/3, 2 PAN & ExpDate, 3 FDK Buffer, 4 OPCODE Buffer, 5 Amount Buffer, 6 Buffer A 7 Buffer B 8 Buffer C

4

3

Save Transaction Data Mask2

Битовая маска, определяющая буфера транзакции, которые должны быть сохранены в качестве входных параметров для html-страницы: Bit Buffer, 1 Buffer w (BNA), 2 Buffer e (Barcode reader), 3 Buffer W, 4 Buffer X, 5 Buffer Y, 6 Buffer Z, 7 reserved, 8 reserved

5

3

Data Position Mask 2

Битовая маска, определяющая буфера транзакции, которые могут быть изменены в этом стейте: Bit Buffer, 1 FDK Buffer, 2 Next State Number, 3 Buffer e (Barcode reader), 4 Track1/2/3, 5-8 reserved

6

3

Save Response Data Mask

Битовая маска, определяющая буфера ответа хоста (Transaction Reply), которые должны быть сохранены в качестве входных параметров для html-страницы. Bit Buffer, 1 Print Buffer

7

3

Reserved

8

3

Reserved

9

3

Reserved

Формат команды ESC XE, используемой для показа html из стандартного NDC-экрана, аналогичен формату команды ESC PE, только вместо полного имени файла должен быть указан url.

Помимо изменения собственно буферов транзакции, существует возможность изменить FDK buffer (аналогично стейтам X и Y), который затем, стандартным образом может быть проанализирован в стейте W. Для этого в качестве значения буфера должно быть сохранено значение аналогичное коду нажатой FDK-кнопки в стейтах X и Y (в диапазоне ‘A’-‘D’ или ‘F’- ‘I’).

Существует дополнительная возможность принудительно установить номер следующего стейта, в случае успешного завершения работы html-страницы. Для этого в качестве значения Next State Number должен быть сохранен 3-х символьный код следующего стейта. Если в этот буфер будет сохранено значение «255», то номер следующего стейта будет взят из стейта

f-099 (шаг отображения html-страниц DORS)

Данный стейт должен вызываться для показа html-страниц и обработки результатов этого показа в рамках выполнения NDC-сценария.

Table Entry

Number of characters

Comments

Description

1

1

State Type

«f»

2

3

Screen Number

Номер экрана, содержащего команду (ESC XE) для показа html-страницы

3

3

Load Error State

Номер стейта, на который переходит терминал в случае, если возникли какие-либо проблемы при загрузке html-страницы

4

3

Script Error State

Номер стейта, на который переходит терминал в случае, если на html-странице возникает необработанное исключение скрипта javascript

5

3

Data Read Mask 1

Битовая маска, определяющая буферы NDC, которые html-страница будет способна считывать в этом стейте: 1 Track 1, 2 Track 2, 3 Amount, 4 Chip Data, 5 PIN Buffer / Buffer A, 6 Buffer B, 7 Buffer C, 8 OPCODE Buffer (FDK)

6

3

Data Read Mask 2

Битовая маска, определяющая буферы NDC, которые html-страница будет способна считывать в этом стейте (продолжение): 1 Buffer w (BNA), 2 Buffer e (Barcode Reader), 3 Buffer W, 4 Buffer X, 5 Buffer Y, 6 Buffer Z, 7 Printer Data Field, 8 Printer Data Field (Journal)

7

3

Wait Screen Number

Номер экрана, показываемого в процессе инициализации html-страницы

8

3

Extension State

Номер расширенного стейта, содержащего дополнительную конфигурацию

9

3

Exit State Subtype

015 Вместе с п. 1 определяет назначение данного стейта

f-099. Расширенный стейт

Данный стейт содержит дополнительные данные для стейта f-099.

Table Entry

Number of characters

Comment

Description

1

1

State Type

«Z»

2

3

Data Write Mask 1

Битовая маска, определяющая буферы NDC, которые html-страница будет способна изменять в этом стейте: 1 Track 1, 2 Track 2, 3 Amount, 4 Chip Data, 5 PIN Buffer / Buffer A, 6 Buffer B, 7 Buffer C, 8 OPCODE Buffer (FDK)

3

3

Data Write Mask 2

Битовая маска, определяющая буферы NDC, которые html-страница будет способна изменять в этом стейте (продолжение): 1 Buffer w (BNA), 2 Buffer e (Barcode Reader), 3 Buffer W, 4 Buffer X, 5 Buffer Y, 6 Buffer Z, 7 <reserved>, 8 <reserved>

4

3

User Exit State 1

Переход в пользовательский стейт 1

5

3

User Exit State 2

Переход в пользовательский стейт 2

6

3

User Exit State 3

Переход в пользовательский стейт 3

7

3

User Exit State 4

Переход в пользовательский стейт 4

8

3

Extension State

Номер стейта-расширения, содержащего дополнительную конфигурацию

9

3

Reserved

f-099. Расширенный стейт

Данный стейт содержит дополнительные данные для стейта z-099.

Table Entry

Number of characters

Comment

Description

1

1

State Type

«Z»

2

3

User Exit State 5

Переход в пользовательский стейт 5

3

3

User Exit State 6

Переход в пользовательский стейт 6

4

3

User Exit State 7

Переход в пользовательский стейт 7

5

3

User Exit State 8

Переход в пользовательский стейт 8

6

3

Reserved

7

3

Reserved

8

3

Reserved

9

3

Reserved

Навигация

Для перехода по URL используются обычные ссылки. В случае недоступности URL будет осуществлен переход в стейт, номер которого указан как Load Error State.

Generic Буферы NDC

Доступ к generic буферам NDC посредством JavaScript осуществляется через вызов интерфейсных методов window.external.ndc.get_buffer(<аргумент>) и window.external.ndc.put_buffer(<аргумент>). Идентификатор буфера является регистр независимым.

Таблица 15. Соответствие входных аргументов и буферов NDC

Аргумент

Буфер NDC

track1

Track 1

track2

Track 2

track3

Track 3

Amount

Amount buffer

Chip data

Chip Data

Pin

Pin data /generic A

B

generic B

C

generic C

Operation code

Operation code

BNA

BNA

E

generic E

W

generic W

X

generic X

Y

generic Y

Z

generic Z

screen_data

SCREEN_DATA_FIELD

В случае если операция чтения/записи не допускается для конкретного буфера, то JavaScript сгенерирует исключение.

Буферы Printer Data Field

Доступ к буферам Printer Data Field посредством JavaScript осуществляется через вызов метода window.external.ndc.printer_data(<аргумент>). Где в качестве аргумента указывается буфер с данными для журнала либо с данными для чека ( «journal» и «receipt» соответственно ). Так же как и в случае буферов NDC, если операция чтения не допускается для конкретного буфера, то JavaScript сгенерирует исключение.

Переходы к другим стейтам

Для перехода к одному из 8 пользовательских выходных стейтов используется URL-команда следующего вида:

<номер пользовательского выхода от 1 до 8>.dorsexit

После чего будет осуществлен перевод стейт-машины NDC в один из 8 описанных стейтов.

f-022 (шаг контроля состояния основных устройств)

Данный стейт может вызываться для изменения алгоритма обслуживания (transaction flow) в зависимости от состояния основных устройств терминала.

Table Entry

Number of characters

Comment

Description

1

1

State Type

«f»

2

3

Next State Extension State Number

Номер стейта, содержащего перечень номеров стейтов на которые терминал должен перейти в зависимости от состояния основных устройств

3

3

Reserved

4

3

Reserved

5

3

Reserved

6

3

Reserved

7

3

Reserved

8

3

Reserved

9

3

Exit State Subtype

022 Вместе с п. 1 определяет назначение данного стейта

f-022. Расширенный стейт

Данный стейт содержит дополнительные данные для стейта f-022.

Table Entry

Number of characters

Comment

Description

1

1

State Type

«Z»

2

3

CDM, BNA, PRR Good Next State

Номер стейта, на который переходит терминал, если диспенсер, купюроприемник и чековый принтер находятся в рабочем состоянии

3

3

CDM, BNA Good Next State

Номер стейта, на который переходит терминал, если диспенсер и купюроприемник находятся в рабочем состоянии

4

3

CDM, PRR Good Next State

Номер стейта, на который переходит терминал, если диспесер и чековый принтер находятся в рабочем состоянии

5

3

BNA, PRR Good Next State

Номер стейта, на который переходит терминал, если купюроприемник и чековый принтер находятся в рабочем состоянии

6

3

CDM Good Next State

Номер стейта, на который переходит терминал, если диспенсер находится в рабочем состоянии

7

3

BNA Good Next State

Номер стейта, на который переходит терминал, если купюроприемник находится в рабочем состоянии

8

3

PRR Good Next State

Номер стейта, на который переходит терминал, если чековый принтер находится в рабочем состоянии

9

3

Nothing Good Next State

Номер стейта, на который переходит терминал, если ни диспенсер, ни купюроприемник ни чековый принтер не находятся в рабочем состоянии

f-025 (шаг перехода в РОП терминала)

Существует возможность перейти в РОП терминала непосредственно из NDC-сценария. Может применяться при использовании Банком карт оператора с авторизацией в процессинговой системе. Данный стейт делает возврат карты (если она присутствует в ридере), устанавливает права оператора и переходит в локальный режим оператора терминала.

Table Entry

Number of characters

Comment

Description

1

1

State Type

«f»

2

3

Take Card Screen Number

Номер экрана с приглашением забрать карту.

3

3

Card Captured Screen Number

Номер экрана, который будет показан, если карта захвачена по таймауту или застряла в ридере.

4

3

Operator rights Byte 1 ( Reserved )

4-й (верхний) байт значения устанавливаемых прав оператора( не используется в ПроАТМ )

5

3

Operator rights Byte 2 ( Reserved )

3-й байт значения устанавливаемых прав оператора ( не используется в ПроАТМ )

6

3

Operator rights Byte 3

2-й байт значения устанавливаемых прав оператора В ПроАТМ для входа в РОП под ролью «Администратор» используются значения 001-127

7

3

Operator rights Byte 4

1-й (нижний) байт значения устанавливаемых прав оператора В ПроАТМ для входа в РОП под ролью «Инкассатор» используются значения 001-007

8

3

Reserved

9

3

Exit State Subtype

025 вместе с п. 1 определяет назначение данного стейта

f-033 (шаг ввода фиксированных сумм)

Данный стейт задает фиксированные суммы в зависимости от ранее нажатой FDK-клавиши.

Table Entry

Number of characters

Comment

Description

1

1

State Type

«f»

2

3

Next State

Номер стейта, на который нужно перейти после окончания выполнения стейта

3

3

Amount Buffer Mask

000 – сохранить сумму в Amount Buffer, 001 – сохранить сумму в Buffer B, 002 – сохранить сумму в Buffer C

4

3

Extension State Number

Номер расширенного стейта, содержащего дополнительную информацию по суммам FAST CASH

5

3

Reserved

6

3

Reserved

7

3

Reserved

8

3

Reserved

9

3

Exit State Subtype

033 вместе с п. 1 определяет назначение данного стейта

f-033. Расширенный стейт

Данный стейт содержит дополнительные данные для стейта f-033.

Table Entry

Number of characters

Comment

Description

1

1

State Type

«Z»

2

3

FDK A «Fast Cash» Amount

Первые 2 цифры определяют мантиссу «быстрой суммы», последняя – экспоненту. Например, значение 253 задает сумму 25000. Значение 000 означает, что модифицировать буфер при данной нажатой кнопке не следует. Чтобы задать сумму 0 нужно установить значение 00X, где X 1..9

3

3

FDK B «Fast Cash» Amount

См. FDK A «Fast Cash» Amount

4

3

FDK C «Fast Cash» Amount

См. FDK A «Fast Cash» Amount

5

3

FDK D «Fast Cash» Amount

См. FDK A «Fast Cash» Amount

6

3

FDK F «Fast Cash» Amount

См. FDK A «Fast Cash» Amount

7

3

FDK G «Fast Cash» Amount

См. FDK A «Fast Cash» Amount

8

3

FDK H «Fast Cash» Amount

См. FDK A «Fast Cash» Amount

9

3

FDK I «Fast Cash» Amount

См. FDK A «Fast Cash» Amount