Требования.
Коротко о возможностях.
Особенности.
План инструкции.
1.1. Оплата при типе обслуживания БАНКЕТ, РЕЗЕРВ (в зале).
1.1.1. Посетитель сообщает о желании оплатить заказ.
1.1.2. Официант предоставляет Посетителю QR-код для сканирования несколькими способами: напечатанный в iikoFront пречек, экран Покупателя, Активная метка. Либо принимает оплату через mPOS-терминал.
1.1.3. Посетитель сканирует QR-код, подносит телефон к Активной метке или к mPOS-терминалу и производит оплату. Для возможности бесконтактной оплаты у Покупателя должно иметься платёжное устройство с технологией NFC: телефон с привязанной картой через приложение Mir pay или подобные, стикер с чипом NFC и привязанной картой.
1.1.3. Посетитель сканирует QR-код или подносит к Активной метке (mPOS-терминалу) платёжное устройство (смартфон, NFC-стикер, бесконтактную банковскую карту) и производит оплату.
1.1.4. В iikoFront автоматически добавляется оплата в заказ. В зависимости от настроек заказ закрывается автоматически или Оператором.
1.2. Оплата при типе обслуживания ДОСТАВКА (самовывоз, курьер).
1.2.1. Продавец создаёт заказ от Покупателя в iikoFront. При постоплате начинает готовить.
1.2.2. Оператор терминала (Курьер) предоставляет Покупателю QR-код для сканирования несколькими способами: QR-код на экране смарт-кассы, QR-код в накладной, Активная метка. Либо принимает оплату через mPOS-терминал.
1.2.3. Покупатель сканирует QR-код, подносит телефон к Активной метке или к mPOS-терминалу и производит оплату.
1.2.4. В iikoFront автоматически добавляется оплата в заказ. В зависимости от настроек заказ закрывается автоматически или Оператором.
2.1. Скачайте актуальную версию плагина в базе знаний.
2.2. Распакуйте содержимое архива. При распаковке должна появится папка «Resto.Front.Api.PayKeeperSbp.V9Preview4».
2.3. Папку «Resto.Front.Api.PayKeeperSbp.V9Preview4» перенесите в папку плагинов iikoFront. Для Windows это папка по пути «C:\Program Files\iiko\iikoRMS\Front.Net\Plugins\». При этом необходимо убедиться, что в папке плагинов не имеется других папок от PayKeeper, чтобы не было конфликта.
3. Настройка плагина PayKeeper и ЛК PayKeeper.
3.1. Перейдите в папку плагина «Resto.Front.Plugin. PayKeeperSbp.V9Preview4» и откройте файл «Resto.Front.Api.PayKeeperSbp.dll.config» в текстовом редакторе.
3.2. Найдите тег «userSettings», внутри которого в каждом теге «setting» с именем «name» укажите свое значение в теге «value» по описанию и примерам.
Параметры для настройки PayKeeper:
PAYKEEPER_LK_URL. Обязательный параметр. Ссылка на личный кабинет PayKeeper, которую вам выдали при подключении. Пример: https://mysite.server.paykeeper.ru. У вас будет своя ссылка.
PAYKEEPER_LK_USER. Обязательный параметр. Имя пользователя с правами админа из личного кабинета PayKeeper (раздел НАСТРОЙКИ, подраздел ДОСТУП В ЛИЧНЫЙ КАБИНЕТ). Пример: admin.
PAYKEEPER_LK_PASS. Обязательный параметр. Пароль указанного выше пользователя с правами админа из личного кабинета PayKeeper.
psType. Обязательный параметр. Данный параметр заполняется только в том случае, если необходимо принимать платежи по СБП. Необходимо указывать только типы платёжных систем по СБП, например, sbp_default.
transferCart. Включает (True) или отключает (False) передачу корзины. Если необходимо, чтобы в PayKeeper передавались позиции заказа, укажите True. По умолчанию True.
Параметры для настройки iikoFront:
iikoUserPin. Обязательный параметр. Пин-код для входа в iikoFront. Пример: 1111. Требуется для выполнения внутренних операций. Если его указать неверно, плагин не будет работать должным образом.
Параметры для настройки режимов работы (можно включить только один из них):
qrPrintInPrecheck. Включает (True) или отключает (False) печать QR-кода в пречеке (накладной). Если включено, то при событии печати пречека (накладной) в нём будет печататься QR-код. Система запустит ожидание оплаты. Нельзя включать совместно с activeTag, qrOnCustomerScreen и showPluginButton. По умолчанию False.
activeTag. Включает (True) или отключает (False) оплату по активной метке. Если включено, то в процессе оплаты будет активирована метка. Система запустит ожидание оплаты. Нельзя включать совместно с qrPrintInPrecheck, qrOnCustomerScreen и showPluginButton. По умолчанию False.
qrOnCustomerScreen. Включает (True) или отключает (False) показ QR-кода на экране Покупателя. Если включено, то в процессе оплаты будет показан QR-код на экране Покупателя. Нельзя включать совместно с qrPrintInPrecheck, activeTag и showPluginButton. По умолчанию True.
showPluginButton. Включает (True) или отключает (False) показ кнопки плагина на экране редактирования заказа или оплаты. Если включено, то кнопка плагина будет показана. Кнопка плагина имеет опцию отправки счёта на оплату по Email. Нельзя включать совместно с qrOnCustomerScreen, qrPrintInPrecheck и activeTag По умолчанию False.
Параметры для настройки режима qrPrintInPrecheck:
requestsTimeOut. Время периодичности запросов в секундах. С данной периодичностью происходит проверка состояния заказов. По умолчанию 30.
removePrepays. Управляет удалением существующих платежей перед добавлением нового. Работает только для опции qrPrintInPrecheck. Если указано True, система удаляет все платежи, не относящиеся к принудительным типам, и добавляет новый платёж. Если False, система либо изменяет сумму существующего платежа, либо добавляет новый, не удаляя старые. Это обеспечивает гибкость в обработке платежей и интеграции с PayKeeper. По умолчанию True.
transportApiKey. Необязательный параметр. API-ключ для интеграции IIkoCloud. Нужен для опции closeDeliveryOrder. Получите API-ключ по инструкции https://ru.iiko.help/articles/#!api-documentations/connect-to-iiko-cloud.
transportOrganisationId. Необязательный параметр. Идентификатор организации в iikoCloud. Нужен для опции closeDeliveryOrder. Пример: f718ea7f-8e0d-4adb-2fee-f6dc44d15150
closeDeliveryOrder. Управляет автоматическим закрытием заказов на доставку через интеграцию с внешним API в iikoCloud. Работает только для опции qrPrintInPrecheck. Если параметр включен (True), система инициализирует клиент API и отправляет запросы на закрытие заказов после оплаты. Если параметр отключен (False), эта функциональность не используется. Это обеспечивает гибкость в управлении заказами на доставку и интеграции с транспортными службами. По умолчанию False.
paidOrder. Управляет автоматическим проведением сохранённой оплаты в заказе. Работает только для опции qrPrintInPrecheck. При значении True делает заказ оплаченным и закрывает заказ при полном покрытии стоимости заказа суммой оплаты. Не работает для типа обслуживания БАНКЕТ. Если указано False, то при автоматическом сохранении оплаты в заказе просто всплывает уведомление об этом. По умолчанию True.
handleAllOrdersTypes. Генерировать QR-код для всех типов заказов. Работает только для опции qrPrintInPrecheck. Если указать False, то QR-код будет генерироваться только для типов доставки. Допустимые значения: True, False. По умолчанию: False.
forcedPaymentsTypesIds. Необязательный параметр. Список идентификаторов типов способов оплат, которые должны быть исключены из обработки (например, принудительные или системные способы оплаты). Работает только для опции qrPrintInPrecheck. При указании идентификаторов таких способов оплат, они не учитываются при обработке заказа. По умолчанию указано одно значение: 00000000-0000-0000-0000-000000000000. Чтобы вставить второе, нужно после закрывающего тега </string> вставить еще одно значение <string>здесь идентификатор</string>.
Параметры для настройки режима activeTag:
activeTagCheckIntervalequests. Интервал запросов статуса платежа при оплате Активной меткой в секундах. Пример: 3. По умолчанию 3.
activeTagShowPaymentResult. Включает (True) или отключает (False) показ результата успешной оплаты при оплате Активной меткой. Если включено, то при оплате Активной меткой будет дополнительно всплывать окно с информацией об успешной оплате. По умолчанию False.
qrcId. Идентификатор QR-кода. Работает только для опции ActiveTag. Укажите ID QR-кода на Активной метке. Например, AS10004V2H2HFH8B8H7RAVJ17PSTS1L1. По умолчанию AS10004V2H2HFH8B8H7RAVJ17PSTS1L1.
Параметры для настройки режима qrOnCustomerScreen:
printOnReceiptPrinter. Включает (True) или отключает (False) печать QR-кода на отдельном квиточке при способе оплаты с показом QR-кода на экране Покупателя. Работает только для опции qrOnCustomerScreen. По умолчанию False.
printOnPrecheque. Включает (True) или отключает (False) печать QR-кода на отдельном квиточке. Работает только для опции qrOnCustomerScreen. По умолчанию False.
qrDisplayType. Тип экрана, на котором следует отображать QR-код. Работает только для опции qrOnCustomerScreen. 0 – отключено, 1 – Telemetron, 2 – CustomerScreenWeb, 3 – Mertech, 4 – R-Call. По умолчанию 0.
qrDisplayCom. COM порт, к которому подключен дисплей. Например, COM6. По умолчанию пусто.
customerQrType. Тип системы оплаты. Работает только для опции qrOnCustomerScreen. В теме экрана Покупателя должен быть добавлен элемент, соответствующий способу оплаты. Необходимо убедиться в том, что они соответствуют друг другу, иначе QR-код не отобразится. По умолчанию SampleQR. В большинстве случаев менять не нужно.
customerQrUrl. Локальный адрес и порт веб-сервера, запускаемый на iikoFront и обслуживающий страницу с QR-кодом для оплаты. Работает только для опции qrOnCustomerScreen. По умолчанию http://localhost:9150. В большинстве случаев менять не нужно.
qrTimeout. Таймаут ожидания оплаты по QR-коду. Работает только для опции qrOnCustomerScreen. Указывается время в формате «чч:мм:сс», за которое Покупатель должен успеть отсканировать QR-код и оплатить. По умолчанию 00:03:00.
hideAdvertise. Скрытие промо материалов. Скрывает (True) или показывает (False) промо материалы из IIKO. По умолчанию True.
Параметры для настройки оформления (отображения) QR-кода:
qrTextBefore. Текст до QR-кода. По умолчанию «Оплата по QR-коду».
qrSizeBefore. Размер шрифта текста до QR-кода. Обычно используют f0 (обычный, стандартный) и f1 (полужирный, выделенный). По умолчанию f0.
qrTextAfter. Текст после QR-кода. По умолчанию «Спасибо!».
qrSizeAfter. Размер шрифта текста после QR-кода. Обычно используют f0 (обычный, стандартный) и f1 (полужирный, выделенный). По умолчанию f0.
qrLocation. Позиция QR-кода в пречеке (накладной). По умолчанию: BeforeHeader. Допустимые значения:
qrSize. Размер QR-кода. Допустимые значения: small, medium, large, extra-large. По умолчанию: small.
qrCorrection. Уровень коррекции ошибок QR-кода. Допустимые значения: low, medium, quartile, high. По умолчанию: high.
Пример содержимого конфигурационного файла:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > <section name="Resto.Front.Api.PayKeeperSbp.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> </sectionGroup> </configSections> <userSettings> <Resto.Front.Plugin.PayKeeper.Properties.Settings> <setting name="PAYKEEPER_LK_URL" serializeAs="String"> <value>https://*****.server.paykeeper.ru</value> </setting> <setting name="PAYKEEPER_LK_USER" serializeAs="String"> <value>admin</value> </setting> <setting name="PAYKEEPER_LK_PASS" serializeAs="String"> <value>************</value> </setting> <setting name="psType" serializeAs="String"> <value>sbp_default</value> </setting> <setting name="transferCart" serializeAs="String"> <value>True</value> </setting> <setting name="iikoUserPin" serializeAs="String"> <value>1111</value> </setting> <setting name="qrPrintInPrecheck" serializeAs="String"> <value>False</value> </setting> <setting name="activeTag" serializeAs="String"> <value>True</value> </setting> <setting name="qrOnCustomerScreen" serializeAs="String"> <value>False</value> </setting> <setting name="showPluginButton" serializeAs="String"> <value>False</value> </setting> <setting name="requestsTimeOut" serializeAs="String"> <value>30</value> </setting> <setting name="removePrepays" serializeAs="String"> <value>True</value> </setting> <setting name="transportApiKey" serializeAs="String"> <value>5f2af723-dff</value> </setting> <setting name="transportOrganisationId" serializeAs="String"> <value>f71e8af7-8ed0-d4ab-8eef-f8cd4d421550</value> </setting> <setting name="closeDeliveryOrder" serializeAs="String"> <value>False</value> </setting> <setting name="paidOrder" serializeAs="String"> <value>True</value> </setting> <setting name="handleAllOrdersTypes" serializeAs="String"> <value>True</value> </setting> <setting name="forcedPaymentsTypesIds" serializeAs="Xml"> <value> <ArrayOfString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <string>00000000-0000-0000-0000-000000000000</string> </ArrayOfString> </value> </setting> <setting name="activeTagCheckInterval" serializeAs="String"> <value>3</value> </setting> <setting name="activeTagShowPaymentResult" serializeAs="String"> <value>False</value> </setting> <setting name="qrcId" serializeAs="String"> <value>AS10004V2H2HFH8B8H7RAVJ17PSTS1L1</value> </setting> <setting name="printOnReceiptPrinter" serializeAs="String"> <value>False</value> </setting> <setting name="printOnPrecheque" serializeAs="String"> <value> False </value> </setting> <setting name="qrDisplayType" serializeAs="String"> <value>0</value> </setting> <setting name="qrDisplayCom" serializeAs="String"> <value></value> </setting> <setting name="customerQrType" serializeAs="String"> <value>SampleQR</value> </setting> <setting name="customerQrUrl" serializeAs="String"> <value>http://localhost:9150</value> </setting> <setting name="qrTimeout" serializeAs="String"> <value>00:03:00</value> </setting> <setting name="hiddeAdvertise" serializeAs="String"> <value>True</value> </setting> <setting name="qrTextBefore" serializeAs="String"> <value>Оплата по QR-коду</value> </setting> <setting name="qrSizeBefore" serializeAs="String"> <value>f0</value> </setting> <setting name="qrTextAfter" serializeAs="String"> <value>Спасибо!</value> </setting> <setting name="qrSizeAfter" serializeAs="String"> <value>f0</value> </setting> <setting name="qrLocation" serializeAs="String"> <value>BeforeHeader</value> </setting> <setting name="qrSize" serializeAs="String"> <value>small</value> </setting> <setting name="qrCorrection" serializeAs="String"> <value>high</value> </setting> </Resto.Front.Plugin.PayKeeper.Properties.Settings> </userSettings> </configuration> |
3.3. Для настройки личного кабинета PayKeeper перейдите по ссылке личного кабинета и откройте раздел «Настройки».

3.4. Далее откройте вкладку «Получение информации о платежах» и в поле «Способ получения уведомления о платежах» выберите «На электронную почту». В поле «Электронные адреса для уведомлений» укажите электронные адреса почт, куда будут приходить уведомления об успешной оплате. Нажмите кнопку «Сохранить».

4. Добавление внешней оплаты в iikoOffice.
4.1. Запустите программу iikoOffice.
4.2. В разделе меню РОЗНИЧНЫЕ ПРОДАЖИ выберите пункт ТИПЫ ОПЛАТ.
4.3. Нажмите кнопку ДОБАВИТЬ и заполните поля (рисунок 4.3):
Наименование. Укажите, например, PayKeeperSbp.
Тип. Выберите ВНЕШНИЙ ТИП ОПЛАТЫ.
Название в чеке. Укажите, например, PayKeeperSbp.
Запрещать вводить вручную. Уберите галочку, чтобы сумма оплаты формировалась автоматически.
Можно комбинировать с другими типами оплаты. При необходимости принимать оплату частично (например, часть наличными, часть по карте) поставьте галочку. В иных случаях галочку необходимо убрать.
Применять для всех категорий блюд. Выберите нужную категорию, либо оставьте пустым, чтобы применять ко всем.
Печатать товарный чек. Поставьте галочку при необходимости.
Открывать денежный ящик. Можно убрать галочку, поскольку при таком способе оплаты данное действие не требуется.
Устанавливать точную сумму. Поставьте галочку, если необходимо автоматически вносить сумму заказа при оплате. Полезно, например, для оплаты заказа одним или несколькими ваучерами.
Может приниматься извне. Данная опция не будет доступна.
Безналичный тип. Выберите из списка PayKeeperSbp.
Счет выручки. Выберите нужное.
Счет поступления денег. Выберите нужное.
Является фискальным. Поставьте галочку при необходимости.
Нажмите кнопку «Сохранить» для завершения.

Рисунок 4.3. Добавление внешней оплаты
5.1. При запуске iikoFront появится сообщение об успешном запуске плагина PayKeeperSbp.

Дальнейшие действия в зависимости от режима работы плагина.
5.2. Режим qrPrintInPrecheck (при работе с кнопками ПРЕЧЕК или НАКЛАДНАЯ).
5.2.1. При обслуживании официантом в зале. Создаём заказ и переходим в него. Выбираем тип заказа, если он не указывается автоматически (рисунок 5.2.1. п.1). Добавляем гостя и позиции заказа. Нажимаем ПРЕЧЕК (рисунок 5.2.1. п.2). Пречек печатается с QR-кодом. В этот момент создается счёт на оплату в кабинете PayKeeper. Инициируется периодическая проверка статуса платежа до момента оплаты по QR-коду. После успешной оплаты в заказе будет автоматически сохранена оплата PayKeeper.

Рисунок 5.2.1. Заказ с типом БАНКЕТ, РЕЗЕРВ.
5.2.2. При обслуживании заказа на доставку или самовывоз. Создаём заказ и переходим в него. Добавляем гостя и позиции заказа. Начинаем готовить заказ. После завершения готовки нажимаем ПРИГОТОВЛЕН (рисунок 5.2.2. п.1). После этого автоматически или при нажатии на кнопку «Накладная» (рисунок 5.2.2. п.2) печатается накладная с QR-кодом. В этот момент создается счёт на оплату в кабинете PayKeeper. Инициируется периодическая проверка статуса платежа до момента оплаты по QR-коду. После успешной оплаты в заказ будет добавлена оплата PayKeeper. Заказ будет закрыт автоматически при определённых настройках.

Рисунок 5.2.2. Заказ с типом ДОСТАВКА.
5.3. Режим activeTag (при работе с Активной меткой).
5.3.1. При обслуживании официантом в зале или самовывоз. Оформляем заказ со всеми необходимыми манипуляциями с ним и переходим в него. В зависимости от обслуживания переходим в оплату заказа по кнопке «КАССА» или «ППЛАТЕЖИ». На экране оплаты заказа нажмите «БАНКОВСКИЕ КАРТЫ» и выберите «PayKeeperSbp» (рисунок 5.3.1.).

Рисунок 5.3.1.
5.3.2. Нажимаем кнопку «ОПЛАТИТЬ». Появится окно ожидания оплаты с обратным отсчётом времени (рисунок 5.3.2). За это время метка будет активна. В случае окончания времени ожидания метка будет деактивирована и при необходимости нужно снова нажать кнопку «ОПЛАТИТЬ».

Рисунок 5.3.2.
5.3.3. После оплаты Покупателем по Активной метке заказ будет зачислен в заказ автоматически. Если опция настройки плагина activeTagShowPaymentResult выключена, то после успешной оплаты окно закроется автоматически. В ином случае появится окно с уведомлением об успешной оплате, в котором нужно будет нажать кнопку закрытия для продолжения.
5.4. Режим qrOnCustomerScreen (при работе с QR-кодом на экране Покупателя).
5.4.1. При обслуживании официантом в зале или самовывоз. Оформляем заказ со всеми необходимыми манипуляциями с ним и переходим в него. В зависимости от обслуживания переходим в оплату заказа по кнопке «КАССА» или «ППЛАТЕЖИ». На экране оплаты заказа нажмите «БАНКОВСКИЕ КАРТЫ» и выберите «PayKeeperSbp» и нажмите кнопку «ОПЛАТИТЬ». Готовый для сканирования QR-код появится на экране Покупателя. После успешной оплаты в заказ будет добавлен платёж.
5.5. Режим showPluginButton (при работе с кнопкой плагина).
5.5.1. При работе с удалённым Покупателем в онлайне оформляем заказ со всеми необходимыми манипуляциями с ним и переходим в него. Нажимаем внизу кнопку «PAYKEEPERSBP» (рисунок 5.5.1 пункт 1). Появится окно с опциями, в котором выбираем опцию «Отправить счёт по Email» (рисунок 5.5.1 пункт 2).

Рисунок 5.5.1.
5.5.2. После выбора опции будет создан счёт на оплату в личном кабинете PayKeeper. В случае если у добавленного в заказ Покупателя указана почта, то на неё будет проведена попытка отправки счёта на оплату. На экране появится окно со ссылкой на оплату и с результатом отправки её по Email (рисунок 5.5.2).

Рисунок 5.5.2.
Менеджер перезвонит вам и расскажет про детали подключения