Интеграция с ПО UPOS через библиотеку GATE. 1.0 Платформа Win32.

- Титульная страница
- Группы
- Структуры данных

Определения типов | Перечисления | Функции
Операции ядра sb_kernel
Примеры работы с библиотекой

## Определения типов

typedef DWORD(GATE_CDECL * | Gate_Call_Sb_Kernel) (DWORD func, void *in_arg, void *out_arg)

## Перечисления

enum | KernelOperation { ___WITHOUT_REQUEST_ID = 0, KO_INITIALIZATION = 0, KO_FINALIZATION = 1, KO_FUNCTIONS_COUNT = 2,
KO_FUNCTIONS_LIST = 3,
KO_SIZE_OF_CHEQUE = 4,
KO_GET_LAST_CHEQUE = 5,
KO_GET_DEPARTMENTS_COUNT = 6,
KO_GET_DEPARTMENTS_LIST = 7,
KO_SET_USER_INTERFACE = 8,
KO_SET_USER_NAME = 9,
KO_GET_TERMINAL_TECH_MENU = 10,
KO_ENABLE_READER = 11,
KO_DISABLE_READER = 12,
KO_TEST_READER = 13,
KO_GET_ERROR_TEXT = 14,
KO_GET_TERMINAL_ID = 15,
KO_ABORT_OPERATION = 16,
KO_CALL_PILOT_COMMAND = 17,
KO_CALL_STANDALONE_APP = 18,
KO_GET_MONITORING_STATE = 22,
KO_GET_VAS_SIZE = 25,
KO_GET_VAS_STRING = 26,
KO_GET_LLT_LIST = 27,
KO_SB_SALE = 1000,
KO_SB_CASH = 1001,
KO_SB_REFUND = 1002,
KO_SB_PETROL_FOR_PETROL = 1003,
KO_SB_CHECK_AMOUNT = 1004,
KO_SB_GET_CARD_HOLDER_INFO = 1005,
KO_SB_CARD_BALANCE = 2000,
KO_SB_OPERATION_INFO = 2001,
KO_SB_TRANSFER = 2002,
KO_SB_CHANGE_PIN = 2003,
KO_SB_LOAD = 2004,
KO_SB_CHECK_ACCOUNT = 2005,
KO_SB_AUTHORIZATION = 2006,
KO_SB_GET_CARD_ID = 2007,
KO_SB_MERCHANT_INFO = 3000,
KO_SB_SETTLMENT = 3001,
KO_SB_CLOSE_DAY = 3002,
KO_MIN_PAYMENT_OPERATION = 4000,
KO_SALE = 4000,
KO_CASH = 4001,
KO_REFUND = 4002,
KO_CANCEL = 4003,
KO_TRANSFER = 4004,
KO_TRANSFER_NO_CARD = 4005,
KO_ENTER_AMEX_SLIP = 4006,
KO_ENTER_SALE_SLIP = 4007,
KO_ENTER_CASH_SLIP = 4008,
KO_PREAUTH = 4009,
KO_COMPLETE_AUTH = 4010,
KO_CASH_IN_BEGIN = 4011,
KO_CASH_IN_COMPLETE = 4012,
KO_CREDIT_PAYMENT = 4013,
KO_CARD_TO_CARD_TRANSFER = 4014,
KO_COMMUNAL_PAYMENT = 4015,
KO_AREST = 4016,
KO_AREST_COMPLETION = 4017,
KO_AREST_CANCEL = 4018,
KO_CASH_NO_CARD = 4019,
KO_TRANSFER_NO_CLIENT = 4020,
KO_SET_PIN = 4021,
KO_CHANGE_PIN = 4022,
KO_FUNDS_TRANSFER = 4023,
KO_CAPTURE_BIO_DATA = 4024,
KO_SET_OFFLINE_LIMIT = 4025,
KO_PRINT_HISTORY = 4026,
KO_CASHBACK = 4027,
KO_CASH_ON_TRADE = 4028,
KO_RFU_U2_1 = 4029,
KO_RFU_U2_2 = 4030,
KO_RFU_U2_3 = 4031,
KO_OPEN_CARD_READER = 4040,
KO_TEST_CARD_READ = 4041,
KO_CLOSE_CARD_READER = 4042,
KO_OT_ADD_TICKETS = 4060,
KO_PULLING = 4043,
KO_MAX_PAYMENT_OPERATION = 4999,
KO_CARD_BALANCE = 5000,
KO_UNBLOCK_CARD = 5001,
KO_GET_CARD_ID = 5002,
KO_BLOCK_CARD = 5003,
KO_CHECK_PIN = 5004,
KO_GET_TOOCH_SIGNATURE = 5005,
KO_SHOW_LONG_TEXT = 5006,
KO_SHOW_LONG_TEXT_INPUT = 5007,
KO_SHOW_XML_FORM = 5008,
KO_GET_REAL_CARD_ID = 5009,
KO_PAY_QR = 5010,
KO_EJECT_CARD = 5020,
KO_CAPTURE_CARD = 5021,
KO_TEST_CARD = 5022,
KO_GET_REAL_CARD_ID_NO_ERR = 5099,
KO_TOTALS = 6000,
KO_COMMIT_TRANSACTION = 6001,
KO_X_TOTALS = 6002,
KO_SUSPEND_TRANSACTION = 6003,
KO_ROLLBACK_TRANSACTION = 6004,
KO_ADD_MERCHANT_CHEQUE = 6005,
KO_GET_STATUS_REQ_ID = 6006,
KO_FULL_REPORT = 7000,
KO_LAST_CHEQUE = 7001,
KO_SHOW_REPORT_MENU = 7002,
KO_TEST_PINPAD = 7003,
KO_SHORT_REPORT = 7004,
KO_GET_OPERATION_INFO = 7006,
KO_GET_TERMINAL_AND_MERCHENT_ID = 7007,
KO_SMARTPOS_FIRST_COMMAND = 8000,
KO_SMARTPOS_LAST_COMMAND = 8999
}
enum | GateOutFlags { F_HAVE_DOCUMENT = 0x00000001, F_CRITICAL = 0x00000002, F_HAVE_MONMSG = 0x00000004 }

## Функции

GATE_API DWORD GATE_CDECL | call_sb_kernel (DWORD func, void *in_arg, void *out_arg)
| Запуск операции UPOS. Подробнее...
GATE_API DWORD GATE_STDCALL | call_sb_kernel_std (DWORD func, void *in_arg, void *out_arg)
GATE_API DWORD GATE_CDECL | get_version ()
| Возвращает версию ядра sb_kernel.dll. Подробнее...

## Подробное описание

## Перечисления

enum GateOutFlags

Поясняющие флаги для обработки выходных параметров

Элементы перечислений
F_HAVE_DOCUMENT | Вызывающая программа должна выполнить печать документа с помощью специальных функций KO_SIZE_OF_SLIP и KO_GET_SLIPS_LIST.
F_CRITICAL | Вызывающая программа после печати документа должна убедиться, что он напечатан успешно. При необходимости запросив подтверждение у пользователя. Устанавливается только совместно с F_HAVE_DOCUMENT.
F_HAVE_MONMSG | Вызывающая программа должна выполнить чтение сообщения системы мониторинга с помощью специальной функций 22.

enum KernelOperation

Типы операций ядра sb_kernel

Элементы перечислений
KO_INITIALIZATION | Подготовка библиотеки к работе
KO_FINALIZATION | Завершение работы библиотеки
KO_FUNCTIONS_COUNT | Получение числа поддерживаемых функций начиная с KO_SB_SALE.
KO_FUNCTIONS_LIST | Получение списка поддерживаемых функций начиная с KO_SB_SALE.
KO_SIZE_OF_CHEQUE | Получение размера документа для печати
KO_GET_LAST_CHEQUE | Получение образа документа для печати
KO_GET_DEPARTMENTS_COUNT | Получение числа настроенных терминалов (валют)
KO_GET_DEPARTMENTS_LIST | Получение списка настроенных терминалов (валют)
KO_SET_USER_INTERFACE | Настройка пользовательского интерфейса
KO_SET_USER_NAME | Установка имени пользователя
KO_GET_TERMINAL_TECH_MENU | Вызов меню тех. обслуживания с ожиданием завершения операции
KO_ENABLE_READER | Подготовить гибридный считыватель к работе
KO_DISABLE_READER | Завершить работу с гибридным считывателем
KO_TEST_READER | Проверить наличие карты в гибридном считывателе
KO_GET_ERROR_TEXT | Преобразовать кода ошибки в текст
KO_GET_TERMINAL_ID | Получить номер терминала (не поддерживается при настроенных отделах)
KO_ABORT_OPERATION | Прервать операцию аварийно
KO_CALL_PILOT_COMMAND | Запуск команды с аргументами sb_pilot.
KO_CALL_STANDALONE_APP | Запуск как отдельное приложение
KO_GET_MONITORING_STATE | Получение состояния ГПЦ банка или сообщения системы мониторинга
KO_GET_VAS_SIZE | Получение длины строки ранее считанных данных VAS в формате XML.
KO_GET_VAS_STRING | Получение ранее считанной XML строки данных VAS.
KO_GET_LLT_LIST | Получение списка программ лояльности в виде разделенной запятыми строки из настроек терминала
KO_SB_SALE | Оплата СБЕРКАРТ
KO_SB_CASH | Выдача наличных СБЕРКАРТ
KO_SB_REFUND | Возврат СБЕРКАРТ
KO_SB_PETROL_FOR_PETROL | Оплата ГСМ СБЕРКАРТ
KO_SB_CHECK_AMOUNT | Проверить наличие суммы СБЕРКАРТ
KO_SB_GET_CARD_HOLDER_INFO | Прочитать ФИО клиента и номер карты СБЕРКАРТ
KO_SB_CARD_BALANCE | Баланс карты СБЕРКАРТ
KO_SB_OPERATION_INFO | Справка об операциях СБЕРКАРТ
KO_SB_TRANSFER | Перевод средств на ОТОК СБЕРКАРТ
KO_SB_CHANGE_PIN | Изменение ПИНа СБЕРКАРТ
KO_SB_LOAD | Баланс счета СБЕРКАРТ
KO_SB_CHECK_ACCOUNT | Загрузка средств СБЕРКАРТ
KO_SB_AUTHORIZATION | Авторизация СБЕРКАРТ
KO_SB_GET_CARD_ID | Получить идентификатор карты СБЕРКАРТ
KO_SB_MERCHANT_INFO | Справка о карте терминала СБЕРКАРТ
KO_SB_SETTLMENT | Инкассация карты терминала СБЕРКАРТ
KO_SB_CLOSE_DAY | Закрытие дня СБЕРКАРТ
KO_MIN_PAYMENT_OPERATION | Минимальный номер операции, для которой доступно применение RequestID.
KO_SALE | Оплата покупки
KO_CASH | Выдача наличных
KO_REFUND | Возврат покупки
KO_CANCEL | Отмена операции
KO_TRANSFER | Безналичный перевод при наличии карты клиента
KO_TRANSFER_NO_CARD | Безналичный перевод при отсутствии карты клиента
KO_ENTER_AMEX_SLIP | Слип по картам American Express.
KO_ENTER_SALE_SLIP | Слип оплаты
KO_ENTER_CASH_SLIP | Слип выдачи наличных
KO_PREAUTH | Предавторизация
KO_COMPLETE_AUTH | Завершение расчета
KO_CASH_IN_BEGIN | Взнос наличных. Предварительное зачисление
KO_CASH_IN_COMPLETE | Взнос наличных. Подтверждение
KO_CREDIT_PAYMENT | Погашение кредита
KO_CARD_TO_CARD_TRANSFER | Перевод с карты на карту
KO_COMMUNAL_PAYMENT | Коммунальные платежи
KO_AREST | Арест средств по решению суда
KO_AREST_COMPLETION | Списание средств по аресту
KO_AREST_CANCEL | Снятие ареста
KO_CASH_NO_CARD | Выдача наличных по заявлению клиента без карты
KO_TRANSFER_NO_CLIENT | Списание по требованию
KO_SET_PIN | Установка ПИН-кода
KO_CHANGE_PIN | Смена ПИН-кода
KO_FUNDS_TRANSFER | Списание средств в оплату услуг Банка
KO_CAPTURE_BIO_DATA | Устаревшая операция, не используется
KO_SET_OFFLINE_LIMIT | Устаревшая операция, не используется
KO_PRINT_HISTORY | Устаревшая операция, не используется
KO_CASHBACK | Оплата с выдачей наличных в торговле
KO_CASH_ON_TRADE | Выдача наличных в торговле
KO_RFU_U2_1 | Зарезервировать для кредитов на ИКР U2.
KO_RFU_U2_2 | Зарезервировать для кредитов на ИКР U2.
KO_RFU_U2_3 | Зарезервировать для кредитов на ИКР U2.
KO_OPEN_CARD_READER | Только PCI DSS. Начать ожидание ввода карты.
KO_TEST_CARD_READ | Только PCI DSS. Проверить наличие карты при ожидании ввода карты.
KO_CLOSE_CARD_READER | Только PCI DSS. Закончить ожидание ввода карты.
KO_PULLING | Только PC3(ВСП, вендинг). Ожидание ввода карты.
KO_MAX_PAYMENT_OPERATION | Максимальный номер операции, для которой доступно применение RequestID.
KO_CARD_BALANCE | Запрос баланса
KO_UNBLOCK_CARD | Разблокировка карт с чипом
KO_GET_CARD_ID | Получить идентификатор карты
KO_BLOCK_CARD | Блокировка карты
KO_CHECK_PIN | Проверка ПИНа
KO_GET_TOOCH_SIGNATURE | Получение подписи клиента на экране терминала
KO_SHOW_LONG_TEXT | Вывод текста на экран терминала/пинпада для подтверждения
KO_SHOW_LONG_TEXT_INPUT | Вывод текста на экран терминала/пинпада для подтверждения с поле ввода текста
KO_SHOW_XML_FORM | Вывод экрана с текстом и картинкой
KO_GET_REAL_CARD_ID | Чтение и при необходимости детокенизация номера карты. Команда используется только для решений на базе полнофункциональной версии sb_kernel (pc2/pc3).
KO_PAY_QR | Показать на дисплее терминала URL в виде QR-CODE.
KO_EJECT_CARD | Извлечь карту
KO_CAPTURE_CARD | Захватить карту
KO_TEST_CARD | Извлечь карту
KO_GET_REAL_CARD_ID_NO_ERR | Чтение и при необходимости детокенизация номера карты. Ошибки хоста игнорируются. Команда используется только для решений на базе полнофункциональной версии sb_kernel (pc2/pc3).
KO_TOTALS | Сверка итогов. Итоги дня.
KO_COMMIT_TRANSACTION | Подтверждение операции по карте
KO_X_TOTALS | Х-отчет. Сверка итогов всегда с полным отчетом.
KO_SUSPEND_TRANSACTION | Приостановить операцию (для подтверждения или отмены)
KO_ROLLBACK_TRANSACTION | Аварийная отмена операции
KO_ADD_MERCHANT_CHEQUE | Отправка торгового чека в терминал или банк. Только PCI DSS.
KO_GET_STATUS_REQ_ID | Запрос статуса операции по RequestID исходной операции
KO_FULL_REPORT | Формирование полного отчета. Контрольная лента.
KO_LAST_CHEQUE | Формирование последнего чека.
KO_SHOW_REPORT_MENU | Печать старой контрольной ленты
KO_TEST_PINPAD | Проверка наличия пинпада
KO_SHORT_REPORT | Формирование краткого отчета. Сводный чек.
KO_GET_OPERATION_INFO | Получить операцию из контрольной ленты
KO_GET_TERMINAL_AND_MERCHENT_ID | Получить номер терминала и мерчанта (не поддерживается при настроенных отделах)

## Функции

GATE_API DWORD GATE_CDECL call_sb_kernel | ( | DWORD | func,
|  | void * | in_arg,
|  | void * | out_arg
| ) |  |

Запуск операции UPOS.

Заметки
  Основная функция вызова всех операций

Аргументы

  [in] | functionNumber | Тип/номер операции. См. KernelOperation.
  [in] | in_arg | Указатель на входной аргумент. См. ::InArg

GATE_API DWORD GATE_CDECL get_version | ( |  | ) |

Возвращает версию ядра sb_kernel.dll.

Возвращает
  DWORD Версия как целое число в формате 0x00VVRRBB. VV - версия, RR - релиз, BB - сборка