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

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

Передача номеров билетов Аэрофлота на терминал для дальнейшей отправки на банковский хост
Расширенный функционал

Для отправки номеров билетов Аэрофлота на терминал для дальнейшей отправки на банковский хост, необходимо в настройках терминала в секции "Дополнительные настройки платежей" в элементе "Доп.параметры(DF37)" включить значение "Внешний реквизит".

Для передачи в терминал номеров билетов создана специальная операция 60 "Отправка билетов", которая выполняется отдельно от операции "Оплата", после успешного завершения операции "Оплата", чтобы использовать RRN. В параметрах функции оплаты обязательно использовать RRN операции, по которой была совершена покупка билетов, номерами которых должны быть переданы на терминал. Номера билетов должны быть переданы в параметрах в теге 0xDF0D. Значением тега должна быть строка, содержащая номер билета (список номеров билетов). Список билетов может содержать билеты или диапазоны билетов, разделенные запятыми. Билеты в строке для передачи на терминал могут быть следующего вида:

- состоящий из одних десятичных цифр (например, 5551234567890)
- состоящий из одной латинской буквы и десятичных цифр (например, L1234567890)

- состоящий из одной кириллической буквы и десятичных цифр (например, Ж1234567890)

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

  Пример передачи номеров билетов на терминал:

  typedef int (*dynamic_card_auth6_ext)(char *track2, auth_answer6 *auth_answer, payment_info_item *payinfo);
  dynamic_card_auth6_ext card_auth;
  payment_info_item infoItem;
  auth_answer6 argument;
  memset(&infoItem, 0, sizeof(infoItem));
  memset(&argument, 0, sizeof(argument));
  // fill argument
  argument.auth_answ.TType = OP_SEND_TICKETS;
  if (rrn)
  {
  strcpy(argument.RRN, rrn);
  }
  // fill payment info item
  infoItem.dwTag = paymentTag;
  if (tagValue)
  {
  strcpy(infoItem.Value, tagValue);
  }
  infoItem.pNextItem = NULL;
  DWORD result = card_auth(NULL, &argument, &infoItem);

  Например:

  См. также
    Docs\Для разработчиков ПО ККМ\examples\pilot_nt.dll\cpp\payment-aero