Інтеграції POS
Сторінка налаштувань Інтеграції підключає придатний сервер HandyCafe до термінала Ödeal D2D. Доступність перевіряється через хмару HandyCafe. Пункт меню й сама сторінка повністю приховані, якщо кафе не має дозволу користуватися Ödeal.
Перед початком
Вам потрібні активна хмарна підписка HandyCafe, ключ продавця Ödeal та секретний ключ Ödeal. Також потрібно створити термінал у розділі Cihazlarım в Ödeal. Точна назва, призначена цьому терміналу, і є його externalDeviceKey. Почніть із середовища Stage. Переходьте на Production лише після того, як Ödeal затвердить робочі облікові дані та налаштування зворотного виклику.
Налаштування Ödeal
- Відкрийте Налаштування та виберіть Інтеграції.
- У блоці Обліковий запис Ödeal введіть ключ продавця та секретний ключ, надані Ödeal. HandyCafe надсилає ці значення напряму в хмару HandyCafe. Там вони шифруються, не зберігаються в локальній базі даних і більше не показуються.
- Натисніть Перевірка з'єднання. Якщо введено нові ключі, HandyCafe спершу безпечно збереже їх, а потім перевірить з'єднання з API Ödeal. Ця перевірка стосується лише облікового запису Ödeal. Вона не підтверджує, що термінал спарований або онлайн.
- Додайте термінал. Введіть зрозумілу локальну назву пристрою. У полі Назва пристрою Ödeal (externalDeviceKey) введіть точну назву пристрою, створеного в Ödeal. Далі вкажіть необов'язковий PaxID, середовище, час очікування оплати, місто клієнта, район клієнта, ставку ПДВ для сеансів та ставку ПДВ для замовлень.
- Увімкніть параметр Інтеграція POS активна та натисніть Зберегти.
- Проведіть у середовищі Stage готівковий чек і карткову оплату, щоб перевірити спарування термінала та обидва шляхи розрахунку.
У цьому випуску на один сервер підтримується лише один активний термінал Ödeal. Це не дає спрямувати платіж на не той термінал, доки не з'явиться засіб вибору термінала для касира.
HandyCafe зберігає перелік терміналів локально ще до того, як хмара перевірить нову пару облікових даних. Відхилення облікових даних з боку Ödeal не стирає назву термінала та поля спарування. Термінал, якому потрібні нові облікові дані, зберігається як неактивний, доки ці дані не буде перевірено для вибраного середовища.
Сторінка Інтеграції читає перелік терміналів безпосередньо з локальної бази даних SQLite та показує його, не чекаючи на хмару. Запиту до хмари потребують лише стан зашифрованих облікових даних і віддалений дозвіл провайдера.
Якщо Ödeal відхиляє конфігурацію, HandyCafe показує пояснення, яке повернув Ödeal. Відповідь про те, що профіль організації не знайдено, означає, що пара з ключа продавця та секретного ключа не належить жодній організації у вибраному середовищі Stage чи Production.
Поведінка під час оплати
Коли активний спосіб оплати - готівка або картка, закриття сеансу на ПК, закриття сеансу на консолі та закриття окремого замовлення надсилають в Ödeal ідемпотентний кошик. Готівка надсилається як задокументований в Ödeal варіант оплати CASH. Термінал фіксує готівковий платіж і друкує фіскальний чек або документ e-Archive, не відкриваючи екран приймання картки. Картка надсилається як CREDITCARD, і HandyCafe чекає на результат зворотного виклику, поки клієнт завершує оплату на терміналі. Якщо в одному розрахунку є і готівка, і картка, надсилаються обидва варіанти оплати з відповідними сумами.
Клієнт може вибрати оплату частинами на терміналі, якщо це підтримують картка та договір із продавцем. HandyCafe зберігає повідомлену кількість частин оплати разом із локальним продажем. Локальний продаж фіксується лише після того, як Ödeal підтвердить транзакцію. Якщо після підтвердження локальний запис зберегти не вдається, HandyCafe надсилає запит на скасування того самого дня. Невдале скасування створює помилку ручної звірки, яку потрібно перевірити у звіті транзакцій Ödeal. Інші способи оплати, крім готівки та картки, і далі проходять наявним шляхом розрахунку HandyCafe.
Перевірки та операції на терміналі
Перевірка з'єднання підтверджує лише облікові дані продавця Ödeal та доступ до API. Вона не друкує чек, не списує кошти з картки й не доводить, що externalDeviceKey спарований із терміналом.
Надана документація API D2D не описує окремих кінцевих точок Друк тестового чека чи Тестове списання. Приймальні випробування виконуються звичайними кошиками в середовищі Stage: надішліть готівковий кошик і перевірте надрукований чек, потім надішліть картковий кошик і завершіть на терміналі транзакцію одним платежем або частинами. Використовуйте лише тестові дані карток, надані Ödeal для середовища Stage.
Серед приймальних сценаріїв Ödeal є закриття дня та повторний друк останнього чека, але це операції самого термінала. D2D не описує віддалених викликів API для них, тож HandyCafe не виносить їх у вигляді віддалених кнопок.
Віддалене вмикання та вимикання
Адміністратори HandyCafe керують Ödeal у розділі Admin > Admin Settings > POS Providers панелі Dashboard. Глобальний перемикач є головним засобом керування. Значення за замовчуванням для країн задаються дволітерними кодами ISO, як-от TR. Засоби керування на рівні кафе можуть явно відкрити або закрити Ödeal для однієї ліцензії. Рішення для конкретного кафе має пріоритет над значенням за замовчуванням для країни. Скидання рішення для кафе повертає це кафе до правила його країни.
Порядок ухвалення рішення такий: глобальний перемикач, потім рішення для конкретного кафе, потім значення за замовчуванням для країни. Вимкнений глобальний перемикач закриває Ödeal для всіх кафе. Явне закриття для кафе ховає сторінку навіть тоді, коли його країна відкрита. Явне відкриття для кафе дає доступ до сторінки навіть тоді, коли його країни немає в списку за замовчуванням. Вимкнення доступу негайно блокує створення нових кошиків. Наявні транзакції в очікуванні все ще можна перевірити або скасувати, щоб розпочатий платіж не завис.
Сервер перевіряє доступність через хмару HandyCafe та кешує останнє успішно підтверджене рішення для країни чи кафе. Коли облікові дані недійсні, каталог провайдерів повертає HTTP 200 зі структурованим полем error.code. Настільний застосунок обробляє таку відповідь, оновлюючи облікові дані та повторюючи запит. Тимчасовий збій автентифікації чи мережі не перетворює ввімкнене рішення адміністратора на вимкнене, тож меню Інтеграції лишається стабільним. Успішна пізніша відповідь одразу оновлює кеш, зокрема й рішення адміністратора про вимкнення. Якщо раніше підтвердженого рішення немає, невідома країна кафе, неактивна підписка або вимкнений провайдер тримають сторінку прихованою. Нові операції Ödeal завжди наново авторизуються хмарою, навіть коли використовується кешована видимість. Якщо в синхронізованому профілі кафе країни немає, береться країна, збережена в ліцензії.
Безпека та відновлення
Облікові дані Ödeal шифруються в хмарі HandyCafe ключем сховища розгортання. Запити зворотного виклику автентифікуються налаштованим ключем запиту або заголовками з ключем продавця та секретним ключем Ödeal. Коди посилання на кошик незмінні для кожного замовлення чи сеансу. Повторення того самого розрахунку не створює другого списання.
Скасування в Ödeal можливе лише за правилами того самого дня та до закриття пакета транзакцій на терміналі. Кошик в очікуванні можна видалити окремо, доки оплату не завершено. Ödeal D2D не має загальної операції повернення коштів. Якщо вікно для скасування минуло, скористайтеся бекофісом Ödeal та звітом транзакцій.
Ödeal D2D не має задокументованої віддаленої операції Z-звіту чи закриття дня. Закривайте день на самому терміналі. HandyCafe може читати звіти транзакцій для звірки та фіксує зворотні виклики повернення коштів від Ödeal.