Описание HTTP протокола для FarCards
Введение
Требования к процессинговому серверу:
- Сервер может отдавать ответ, используя http или https
- Кодировка XML — только UTF-8
- Обязательно использование getcardinfoex и transactionsex. Остальные функции являются опциональными
Требования к ПО:
- Farcards версии 6.04 и выше
Dll состоит из 2-х модулей:
- Dll для Farcards, ExtDllHTTP.dll
- Утилита для работы с лицензированием, Http_LicGen.exe
Настройки
Описание ExtDllHttp.ini
Файл ExtDllHttp.ini используется обоими модулями.
Доступные методы
Получение информации по карте
Вызывается метод по адресу, определенному параметром getcardinfoex
Метод: POST
Пример тела запроса:
Где:
- Card — номер карты
- Restaurant — идентификатор ресторана
- Unitno — номер вызывающей кассы
- INPBUF — буфер, содержащий XML, в котором лежит расширенная информация о карте и чеке. Подробнее читайте в статье XML описание кассового документа для предоставления внешним системам.
Пример ответа:
Здесь важен Result:
- 0 — без ошибок, структура Info заполнена
- 1 — карта не существует
Пример ответа, когда карта не найдена:
Получение изображения по карте
Вызывается метод по адресу, определенному параметром getcardimageex.
Метод: POST
Пример тела запроса:
Где
- Code — номер карты
В зависимости от того, было ли найдено изображение, вариант ответа будет разным.
Если изображение было найдено, то ответ может выглядеть следующим образом:
И будет получена картинка средствами DLL.
Если изображения не было найдено или карта не найдена, то ответ может выглядеть следующим образом:
Поиск счета по e-mail
Вызывается метод по адресу, определенному параметром findemail.
Метод: POST
Пример тела запроса:
Где
- E-mail — интересующий e-mail.
Пример успешного ответа:
Пример ответа, если счет не найден:
FarCards: список команд CQXXXX - протокол связи кассового сервера с FarCards
Поиск счетов
запрос:
ответ:
Запросить значения скидок и бонусов для карты за определенный период
запрос:
ответ:
Запросить информацию о дисконтном уровне 
Этот запрос реализован с версии Cardserv 7.10
запрос:
ответ:
Запросить сумму транзакций за стандартный период
запрос:
ответ:
Передать XML информацию о чеке
запрос:
ответ:
Проверяет к какому серверу подключился и по какому максимальному протоколу работает
запрос:
ответ:
Сообщает серверу по какому протоколу касса хочет работать и с какими правами
без этого будут права ReadOnly
запрос:
ответ:
Паркинг XML для DOS кассы 
Этот запрос реализован с версии Farcards 6.03
Запрос:
ответ:
Транзакции для кассового чека
Вызывается метод по адресу, определенному параметром transactionsex.
Метод: POST
Пример тела запроса:
Где:
- Card — карта
- PersonID — идентификатор владельца карты
- Account — номер счета
- Kind — тип транзакции
- INPBUF — буфер, содержащий XML, в котором лежит расширенная информация о карте и чеке. Подробнее читайте в статье XML описание кассового документа для предоставления внешним системам.
- 0 — платеж: снятие денег со счета
- 1 — скидка
- 2 — бонус: начисление денег на счет
- 3 — затраты гостя: сколько заплатил своих денег
- Summa — сумма, в копейках:
- Для типа 0 — платеж:
- Оплата снятием денег с карты — отрицательная сумма
- Отмена оплаты — положительная сумма
- Для типа 1 — скидка:
- Скидка клиенту — отрицательная сумма
- Отмена скидки — положительная сумма
- Для типа 2 — бонус:
- Клиенту начисляется бонус — положительная сумма
- Отмена бонуса — отрицательная сумма
- Для типа 3 — затраты:
- Клиент заплатил — положительная сумма
- Отмена чека — отрицательная сумма.
- Для типа 0 — платеж:
- Restaurant — код ресторана
- RKDate — кассовая дата: 0 → 30/12/1899
- RKUni — номер кассы
- RKCheck — номер чека
- Далее информация о налогах в чеке (8 штук)
- VatSumA — сумма с налогом A
- VatPrcA — размер налога A в процентах * 100 (1500 → 15.00%)
- VatSumB — сумма с налогом B
- VatPrcB — размер налога B в процентах * 100
- VatSumC — сумма с налогом C
- VatPrcC — размер налога C в процентах * 100
- VatSumD — сумма с налогом D
- VatPrcD — размер налога D в процентах * 100
- VatSumE — сумма с налогом E
- VatPrcE — размер налога E в процентах * 100
- VatSumF — сумма с налогом F
- VatPrcF — размер налога F в процентах * 100
- VatSumG — сумма с налогом G
- VatPrcG — размер налога G в процентах * 100
- VatSumH — сумма с налогом H
- VatPrcH — размер налога H в процентах * 100
Пример успешного ответа:
Пример ответа с ошибкой:
Нотификация об ошибках лицензирования
Предназначено для того, чтобы в случае ошибки лицензирования dll, сервер мог узнать об этом, получив XML с текстом ошибки. Вызывается метод по адресу, определенному параметром LicenseInfo.
Метод: POST
Пример тела запроса:
Особенности лицензирования
Утилита Http_LicGen.exe должна лежать рядом с dll.
- Закажите мастер-лицензию R-Keeper интерфейс Farcards-HTTP ПО
- Для генерации лицензии используйте утилиту Http_LicGen.exe. Для входа в приложение используйте дилерский логин и пароль
- Выберите нужный ресторан из списка
- Нажмите на кнопку Получить лицензию
- Выберите дату окончания лицензии. Узнать максимальную дату окончания лицензии автоматически
- Нажмите на кнопку Далее…

При возникновении ошибки, появится ее текст.
Приложение Http_LicGen.exe можно закрыть. Запустите Farcards.
- Введение
- Настройки
- Доступные методы
- Поиск счета по e-mail
- FarCards: список команд CQXXXX - протокол связи кассового сервера с FarCards
- Поиск счетов
- Запросить значения скидок и бонусов для карты за определенный период
- Запросить информацию о дисконтном уровне
- Запросить сумму транзакций за стандартный период
- Передать XML информацию о чеке
- Проверяет к какому серверу подключился и по какому максимальному протоколу работает
- Сообщает серверу по какому протоколу касса хочет работать и с какими правами
- Паркинг XML для DOS кассы
- Транзакции для кассового чека
- Нотификация об ошибках лицензирования