Настройка связи с PayOrder
Введение
Для установки PayOrder необходима служба PayBillAgent: файлы PayBillAgent.exe, Settings.exe, а также драйвер терминала веб-авторизации для RK7, cvauhttp.udb.
Файлы PayBillAgent.exe, Settings.exe можно положить в любую папку, файл cvauhttp.udb перенесите в папку \RK7\base\workmods.
Дистрибутив
Дистрибутив PayBill находится на FTP ftp://ftp.ucs.ru/rk7/INSTALL/RK7_PayOrder/
Логин и пароль — ID и пароль дилера.
Настройка в RK7
Настройка RK7 различается в зависимости от типа ресторана — в ресторанах быстрого обслуживания может быть задействован второй экран для отображение QR-кода и дальнейшего сканирования гостем.
Важно!
Для взаимодействия с системой Оплати счетНастройка менеджерской станции для ресторанов фаст-фуд
Преднастройки:
Дистрибутивы SecondScreen скачайте из папки на FTP ftp://ftp.ucs.ru/rk7/INSTALL/RK7_XMLSecondScreen/. Необходимы только ядро SSXMLAIR_core_1.0.0.143.rar и один из дизайнов для печати QR-кода ftp://ftp.ucs.ru/rk7/INSTALL/RK7_XMLSecondScreen/SSXMLAIR_Designs/.
Содержимое архивов SSXMLAIR_core_1.0.0.143.rar и universal_vertical_design_QRCode.rar перепишите в ..\RK7\bin\win. Перезапустите сервер справочников.
В настройках кассы добавьте в устройства интерфейс Second Screen with XML interface, в свойствах интерфейса задайте имя лога и уровень логирования:
Этого достаточно для запуска, в случае необходимости дополнительной настройки Second Screen читайте в статье Настройка второго экрана.
В случае использования одного монитора с низким разрешением и для кассы, и для Second Screen, в RK7\bin\win\SecondScreen.ini настройте в секции [SCREENPOSITION] параметр MainLeft таким образом, чтобы QR-код был полностью виден на экране:
- Для экранов 1920х1080 оставьте значение по умолчанию — 1024
- Для экранов 1440х900 значение должно быть от 400 до 500.
Настройте положение окна кассы RK7 — перенесите окно из центра экрана в левый верхний угол:
Далее необходимо создать валюту для использования веб-терминалом: 
Обязательно включите в свойствах валюты чек-бокс Использовать терминал, и выберите интерфейс 101 Кредитные карты. Для удобства можете настроить автозаполнение суммы.
Далее нужно добавить кассовому серверу стандартный XML интерфейс:
Настройки XML можно оставить стандартные.
Добавьте кассу в устройства HTTPs auth terminal:
В настройках драйвера задайте адрес и порт, по которому касса будет обращаться к терминалу авторизации.
Далее добавьте кассе новый принтер и свяжите его с HTTPs auth terminal:
И укажите его в свойствах кассы для печати на терминале авторизации:
Настройка сервера PayBill для ресторанов фаст-фуд
Далее необходимо настроить сервер PayBill.
Для этого запустите файл settings.exe и укажите следующие настройки:
В блоке Схема работы выберите вариант Фастфуд.
В блоке Веб-терминал укажите порт, указанный на кассе в устройстве HTTPs auth terminal.
В блоке Связь с сервером «Оплати счет»:
- Полный URL для связи с сервером оплаты — http://dev.intervale.ru:48080/payuprouter/packet. Если данный URL будет недоступен — запросите актуальный URL у представителя PayUp.
- Полный URL для сверки с сервером оплаты — http://sag-entry-preprod.intervale.ru/payup-router/reconcile. Если данный URL будет недоступен — запросите актуальный URL у представителя PayUp.
Параметр Authorization заполняется после получения его от сотрудников PayOrder.
Для получения значения Authorization необходимо предоставить код ресторана из RK7 и GUID кассового сервера.
Нажмите на кнопку Валюты и настройте сопоставление валют — валюте Рубли в RK7 сопоставить валюту, в которой будут производится операции на сервере оплат. Для добавления нового сопоставления нажмите правой кнопкой мыши на поле с валютами на выберите пункт Добавить. Согласно международному стандарту ISO 4217 рублям соответствует код 810.
По окончанию всех настроек нажмите на кнопку Сохранить и выйти. На диске должен сформироваться файл settings.dat.
После этого запустите PayBillAgent.exe /install, он установится службой, которую нужно запустить:
Выберите службу и нажмите на нее правой кнопкой мыши, чтобы вызвать контекстное меню. Выберите Запустить.
На этом настройка завершена, система готова к работе.
При расчете заказа на кассе при выборе валюты необходимо выбрать созданную ранее валюту, связанную с веб-терминалом. Тогда касса, показав на втором экране QR-код заказа, будет ожидать, пока гость отсканирует QR-код и оплатит счет в мобильном приложении. Затем будет напечатан чек.
Ссылку на мобильное приложение для оплаты нужно получить у представителей PayUp. Тестовое мобильное приложение для препродакшн стенда PayUp доступно на http://goo.gl/lgNgFr
Настройка для классического ресторана
Так же доступен другой режим работы PayOrder. В этом режиме не используется модуль второго экрана, его файлы можно не устанавливать в каталог RK7 и драйвер на кассу можно не добавлять — то есть пропустить пункт 1 инструкции. В этом режиме вместо отображения QR-кода на экране покупателя, распечатывается пречек c QR-кодом и передается гостю для оплаты. После оплаты гостя счета через мобильное приложение автоматически распечатывается чек.
Настройка сервера PayBill для классического ресторана
Ззапустите файл settings.exe и укажите следующие настройки:
- В блоке Схема работы выберите значение Классический ресторан
- В блоке Связь с кассой RK7 внесите адрес кассового сервера и порт XML интерфейса, ранее добавленного на кассовый сервер:

Настройте пользователя, от имени которого будут проходить оплаты из мобильного приложения.
Рекомендуем создать нового сотрудника, наделить его необходимыми правами, и настроить соответствие:
Далее настройте станцию, на которой будет происходить печать чека при оплате через PayUp:
Настройте новую валюту в RK7. Обратите внимание, что настройка Использовать терминал у валюты выключена: оплата через библиотеку веб-терминала используется только в режиме фастфуда.
Нажмите на кнопку Валюты, чтобы настроить сопоставление валют. Валюте, в которой будут учитываться операции по оплате через PayUp в RK7, необходимо сопоставить валюту, в которой будут производится операции на сервере оплат. Для добавления нового сопоставления нажмите правой кнопкой мыши на поле с валютами на выберите пункт Добавить. Согласно международному стандарту ISO 4217 рублям соответствует код 810:
Настройки в РК7 для классического ресторана
Настройте печать пречека с QR-кодом в RK7. Для этого в настройках RK7 в справочнике Документы и макеты необходимо создать новый макет пречека копированием существующего. Пречеки находятся в группе макетов Расчеты с покупателем. Добавьте к подвалу нового макета memo поле со строкой <qrcode [Заказы.OrderURL]>:
Печать QR-кодов поддерживается драйвером принтеров Epson из версии RK 7.05.04.
Драйвер — файл CASHSTAT.UDB — возьмите из дистрибутива RK 7.05.04 из папки \base\workmods и переместите в такую же папку текущей инсталляции RK7, заменив уже существующий файл. Для выполнения этой операции необходимо закрыть все приложения RK7 и остановить кассовый сервер и сервер справочников.
После замены файла добавьте порт печати и принтер Epson к кассе RK7. В свойствах порта печати настройте способ связи с принтером, настройки принтера оставьте по умолчанию. На примере ниже — настройка сетевого принтера:
Сделайте новый принтер активным:
И настройте печать пречека на этот принтер:
При некачественной печати QR-кода принтерами EPSON и TM-200 рекомендуем в настройках драйвера принтера включить параметр Send by lines:
Настройка режима Классический ресторан закончена.
Мобильное приложение используется то же самое, что и для режима Фастфуд, но интерфейс кассы теперь не ожидает действий гостя. Кассир после печати пречека может продолжить работу с другими заказами.
Как только счет будет оплачен покупателем, касса RK7 автоматически печатает чек.
Коды ошибок
Ошибки системы r_keeper 7
Для ошибок на стороне r_keeper зарезервирован диапазон кодов ошибок от 100 до 199:
Код ошибки | Описание |
100 | Ошибка парсинга JSON. |
101 | Некорректный тип запроса |
102 | Неверный формат qr кода (передается только в getbill, в параметре id) |
103 | Неверный код объекта (сопоставление идет в qr коде и нашем сервере) |
104 | Неверный кассовый сервер (сопоставление идет в qr коде и нашем сервере) |
105 | Не удалось найти заказ |
106 | Заказ был завершен |
107 | Неизвестная валюта (Предварительно нужно настроить сопоставление) |
108 | Не совпали суммы на этапе checkpayment |
109 | Не удалось заблокировать заказ (checkpayment) |
110 | Не удалось разблокировать заказ (cancelpayment) |
111 | Ошибка оплаты (registerpayment) |
112 | Частный случай ошибки оплаты (не хватило средств на оплату) |
113 | Ошибка связи с кассовым сервером |
114 | Другие виды ошибок, которые вернул r_keeper |
151 | внутренняя ошибка связи с лок.бд |
199 | другие типы ошибок, см лог на точке |
Ошибки системы «Оплати счет»
Код ошибки | Краткое описание | Комментарий |
0 | OK | Передается при регистрации успешного платежа. |
1 | AUTHORIZATION_REJECTED | Передается при отмене платежа по причине неуспешного взаимодействия с Банком – операция авторизации отклонена банком (ResponseCode<>0) |
2 | AUTHORIZATION_FAILED | Передается при отмене платежа по причине неуспешного взаимодействия с Банком – операция авторизации не выполнена (например, не удалось установить соединение с процессингом) |
3 | PREAUTHORIZATION_REJECTED | Передается при отмене платежа по причине неуспешного взаимодействия с Банком – операция преавторизации отклонена банком (ResponseCode<>0). Для платежной схемы Банка Москвы |
4 | PREAUTHORIZATION_FAILED | Передается при отмене платежа по причине неуспешного взаимодействия с Банком – операция преавторизации не выполнена (например, не удалось установить соединение с процессингом). Для платежной схемы Банка Москвы |
5 | CREDIT_REJECTED | Передается при отмене платежа по причине неуспешного взаимодействия с Банком – операция кредитования отклонена банком (ResponseCode<>0) |
6 | CREDIT_FAILED | Передается при отмене платежа по причине неуспешного взаимодействия с Банком – операция кредитования не выполнена (например, не удалось установить соединение с процессингом) |
7 | ESPP_REJECTED | Передается при отмене платежа по причине неуспешного взаимодействия с билингом оператора – отказ ЕСПП на списание средств |
8 | ESPP_FAILED | Предается при отмене платежа при возникновении ошибки при взаимодействии с биллингом |
9 | ESPP_SEND_FAILED | Передается при отмене платежа по причине неуспешного взаимодействия с билингом оператора – ошибка отправки сообщения в ЕСПП |
10 | ESPP_TIME_OUT | Передается при отмене платежа по причине неуспешного взаимодействия с билингом оператора – таймаут ожидания ответа от ЕСПП |
11 | CARD_POOL_EMPTY | Передается при отмене платежа по причине ошибки работы с пулом предоплаченных карт – пул предоплаченных карт пуст |
12 | PAYMENT_TERMINAL_NOT_FOUND | Передается при отмене платежа по причине ошибки работы с платежным терминалом – платежный терминал не найден. (например не настроен платежный терминал) |
13 | CREDIT_TERMINAL_NOT_FOUND | Передается при отмене платежа по причине ошибки работы с кредитным терминалом – кредитный терминал не найден. (например, не настроен кредитный терминал) |
14 | CPA_FAILED | Передается при отмене платежа при ошибке взаимодействия с Провайдером на фазе проверки возможности выполнения платежа |
15 | CLIENT_LOST | Передается при отмене платежа при возникновении таймаута ожидания подтверждения платежа от пользователя |
16 | USER_CANCEL | Передается при отмене платежа по причине отказа пользователя от подтверждения платежа |
17 | PAYMENT_FAILED | Передается при отмене платежа при возникновении ошибки в платежной схеме |
18 | LIMIT_EXCEED | Передается при отмене платежа по причине отклонения из-за лимита на проведение платежа |
19 | OPERATOR_CANCEL | Передается при отмене платежа по причине отмены платежа оператором |
-1 | SYSTEM_ERROR | Передается при отмене платежа по причине возникновения системной ошибки в ПМК |