Iiko (Айко) 7.x-8.x
Инструкция по установке и использованию плагина PayKeeper для iiko (Айко) 7.x-8.x
Сценарий работы
Оплата при типе обслуживания РЕСТОРАН (в зале).
- Покупатель сообщает о желании оплатить заказ.
- Продавец печатает в iiko пречек. Пречек печатается с QR-кодом для оплаты через СБП. Для печати используются принтеры пречеков или кассовые принтеры (фискальные регистраторы).
- Покупатель сканирует код и производит оплату.
- В iiko приходит подтверждение об успешной оплате заказа. Заказ закрывается. Если для типа оплаты установлен признак фискальной операции, то печатается фискальный чек.
Оплата при типе обслуживания ДОСТАВКА (на вынос).
- Покупатель делает заказ. Продавец начинает готовить заказ.
- После того как заказ приготовлен, инициируется печать накладной с QR-кодом.
- Покупатель сканирует код и производит оплату.
- В IIKO приходит подтверждение об успешной оплате заказа. Заказ закрывается. Если для типа оплаты установлен признак фискальной операции, то печатается фискальный чек.
Установка и настройка
Содержимое архива плагина перенесите в папку плагинов iiko. Для Windows это папка по пути C:\Program Files\iiko\iikoRMS\Front.Net\Plugins\
.
Перейдите в папку плагина Resto.Front.Plugin.PayKeeper
и откройте файл Resto.Front.Plugin.PayKeeper.dll.config
в текстовом редакторе. В каждом теге setting с именем name укажите свое значение в теге value по следующему описанию и примерам:
PAYKEEPER_LK_URL. Обязательный параметр. Ссылка на личный кабинет PayKeeper. Пример https://mysite.server.paykeeper.ru.
PAYKEEPER_LK_SECRET. Обязательный параметр. Секретное слово из личного кабинета PayKeeper. Раздел НАСТРОЙКИ. Подраздел ПОЛУЧЕНИЕ ИНФОРМАЦИИ О ПЛАТЕЖАХ.
PAYKEEPER_LK_USER. Обязательный параметр. Имя пользователя с правами админа из личного кабинета PayKeeper. Раздел НАСТРОЙКИ. Подраздел ДОСТУП В ЛИЧНЫЙ КАБИНЕТ. Пример: admin.
PAYKEEPER_LK_PASS. Обязательный параметр. Пароль пользователя с правами админа из личного кабинета PayKeeper.
psType. Обязательный параметр. Тип оплаты. Предполагается указывать только типы оплаты по СБП.
transportApiKey. Необязательный параметр. API-ключ для интеграции iikoCloud. Получите API-ключ по инструкции https://ru.iiko.help/articles/#!api-documentations/connect-to-iiko-cloud.
transportOrganisationId. Необязательный параметр. Идентификатор организации в iikoCloud. Пример: f718ea7f-8e0d-4adb-2fee-f6dc44d15150
iikoUserPin. Обязательный параметр. Пин-код для входа в iikoFront. Пример: 1111.
requestsTimeOut. Время периодичности запросов в секундах. С данной периодичностью происходит проверка состояния заказов. Пример: 30.
removePrepays. Учитывать предоплаченные платежи. Данная опция будет учитывать предоплаты в заказах при создании QR-кода. Принимаемые значения True, False. По умолчанию True.
closeDeliveryOrder. Закрывать заказ на доставку по API в iikoCloud.
qrLocation. Позиция QR-кода в чеке. Допустимые значения:
- AfterFooter — в конце чека.
- AfterHeader — после заголовка (включая данные, имя официанта и прочее) и перед данными чека.
- BeforeFooter — после данных чека (после суммирования результатов).
- BeforeHeader — перед заголовком (в самом начале чека).
qrCaption. Подпись над QR-кодом. Пример: Просканируй QR-код для оплаты.
qrSize. Размер QR-кода. Допустимые значения: small, medium, large, extra-large. По умолчанию: small.
qrCorrection. Уровень коррекции ошибок QR-кода. Допустимые значения: low, medium, quartile, high. По умолчанию: high
handleAllOrdersTypes. Генерировать QR-код для всех типов заказов. Если указать False, то QR-код будет генерироваться только для типов доставки. Допустимые значения: True, False. По умолчанию: False.
forcedPaymentsTypesIds. Необязательный параметр. Принудительная установка активного типа оплаты. При указании идентификаторов способа оплаты данные способы будут учитываться при расчете предоплаты заказа. По умолчанию: 00000000-0000-0000-0000-000000000000
Пример содержимого конфигурационного файла:
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 |
<?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.Plugin.PayKeeper.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> </sectionGroup> </configSections> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="4.0.4.1" /> </dependentAssembly> </assemblyBinding> </runtime> <userSettings> <Resto.Front.Plugin.PayKeeper.Properties.Settings> <setting name="PAYKEEPER_LK_URL" serializeAs="String"> <value>https://mysite.server.paykeeper.ru</value> </setting> <setting name="PAYKEEPER_LK_SECRET" serializeAs="String"> <value>***********</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="transportApiKey" serializeAs="String"> <value>5f2af723-dff</value> </setting> <setting name="transportOrganisationId" serializeAs="String"> <value>f71e8af7-8ed0-d4ab-8eef-f8cd4d421550</value> </setting> <setting name="iikoUserPin" serializeAs="String"> <value>1111</value> </setting> <setting name="requestsTimeOut" serializeAs="String"> <value>30</value> </setting> <setting name="removePrepays" serializeAs="String"> <value>True</value> </setting> <setting name="closeDeliveryOrder" serializeAs="String"> <value>False</value> </setting> <setting name="qrLocation" serializeAs="String"> <value>BeforeHeader</value> </setting> <setting name="qrCaption" serializeAs="String"> <value>Просканируйте QR-код для оплаты</value> </setting> <setting name="qrSize" serializeAs="String"> <value>small</value> </setting> <setting name="qrCorrection" serializeAs="String"> <value>high</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> </Resto.Front.Plugin.PayKeeper.Properties.Settings> </userSettings> </configuration> |
Добавление внешней оплаты
Запустите программу iikoOffice. В разделе меню РОЗНИЧНЫЕ ПРОДАЖИ выберите пункт ТИПЫ ОПЛАТ. Нажмите кнопку ДОБАВИТЬ. Заполните поля (рисунок 1):
- Наименование. Укажите, например, PayKeeper.
- Тип. Выберите ВНЕШНИЙ ТИП ОПЛАТЫ.
- Название в чеке. Укажите, например, PayKeeper.
- Запрещать вводить вручную. Уберите галочку, чтобы сумма оплаты формировалась автоматически.
- Можно комбинировать с другими типами оплаты. Галочку необходимо убрать, поскольку на данный момент модуль не поддерживает комбинированную оплату.
- Применять для всех категорий блюд. Выберите нужную категорию, либо оставьте пустым, чтобы применять ко всем.
- Печатать товарный чек. Поставьте галочку, поскольку при такой операции печатается QR-код для доставки.
- Открывать денежный ящик. Уберите галочку, поскольку при таком способе оплаты данное действие не требуется.
- Устанавливать точную сумму. Поставьте галочку, поскольку недопустимо различие общей суммы корзины и общей суммы к оплате.
- Может приниматься извне. Уберите галочку, поскольку данная опция не требуется.
- Безналичный тип. Выберите из списка PayKeeper.
- Счет выручки. Выберите нужное.
- Счет поступления денег. Выберите нужное.
- Является фискальным. Поставьте галочку при необходимости.
Работа с QR-кодом
При запуске iikoFront появится сообщение об успешном запуске плагина PayKeeper.
При типе обслуживания РЕСТОРАН. Переходим в заказ. Выбираем тип заказа (рисунок 1. п.1). Нажимаем ПРЕЧЕК (рисунок 1. п.2). Пречек печатается с QR-кодом. В этот момент создается платеж в кабинете PayKeeper. Инициируется периодическая проверка статуса платежа до момента оплаты по QR-коду. После успешной оплаты в заказ будет добавлена оплата PayKeeper. Заказ будет закрыт.
При типе обслуживания ДОСТАВКА. Переходим в заказ. Нажимаем ПРИГОТОВЛЕН. После этого печатается накладная с QR-кодом. В этот момент создается платеж в кабинете PayKeeper. Инициируется периодическая проверка статуса платежа до момента оплаты по QR-коду. После успешной оплаты в заказ будет добавлена оплата PayKeeper. Заказ будет закрыт.