For the complete documentation index, see llms.txt. This page is also available as Markdown.

Оплата за обслуговування

Загальна інформація

Для забезпечення роботи оплати за послуги обслуговуваня на ФОП рахунок ресторану необхідно завести в Poster окремий продукт - Expirenza Обслуговування.

Після цього, якщо у ресторана активована опція сплати за послуги обслуговування на ФОП і клієнт залишає оплату за обслуговування, плагін, отримавши цю інформацію від backend, перевірить поточний чек в Poster. Якщо в чеку ще не було додано позицію Expirenza Обслуговування на оплачену суму, плагін отримає з Poster дані про заведений продукт.

Якщо він є і відповідає всім вимогам, плагін зробить спробу додати позицію в чек. Якщо продукт не заведено, або заведено не правильно, плагін поверне помилку на backend, а в фоні спробує оновити продукт Expirenza Обслуговування, якщо він був заведений.

Якщо продукт не заведений, то він автоматично не створиться.

У випадку, коли плагін перевіряє чек і вже бачить що продукт Expirenza Обслуговування був доданий і сума збігається з тією, що вказав клієнт, то чек буде закритий, без додаткових дій. Якщо сума не збігається - плагін поверне помилку.

Параметри продукту “Expirenza Обслуговування”

Для того, щоб плагін зміг успішно додати позицію для переказу оплати за обслуговування на ФОП - Expirenza Обслуговування, він має бути заведений в Poster з наступними параметрами:

  • Мати назву Expirenza Обслуговування, зі збереженням регістру, без інших символів (пробіли на початку, в кінці, точки, коми, тощо)

  • Страва має бути вагова

  • Страва доступна на споті який використовується рестораном

  • Ціна за 100 грамм - 100 копійок для споту який використовується рестораном

Фонове оновлення продукту “Expirenza Обслуговування”

Процес фонового оновлення запускається в двох випадках:

  1. Отримання плагіном параметру налаштування про включення в ресторані оплати за обслуговування на фоп

  2. При закритті рахунку, якщо продукт Expirenza Обслуговування не проходить валідацію.

При цьому плагін отримує інформацію, чи був у ресторана раніше заведений продукт і чи відомий його Id в Poster.

Якщо так, то по АПІ menu.getProduct отримуєм продукт, якщо його вже немає - видаляємо раніше збережений Id продукта в плагіні і процес оновлення завершується помилкою. Якщо продукт є і він проходить валідацію - додаткових дій не потрібно. Якщо ж валідацію не проходить - параметри продукту буде оновлено до необхідних (через АПІ - menu.updateProduct).

Якщо ж плагін не має Id продукту Expirenza Обслуговування, то спробує отримати всі продукти з Poster ( АПІ - menu.getProducts) і знайти по імені продукту. Якщо продукт буде знайдено, то його id буде збережено в плагіні та так само плагін провалідує і якщо необхідно оновить продукт в Poster).

АПІ Poster, які використовуються в процесі

  1. Отримати продукт по id - Документація по API Poster

  2. Зміна параметрів продукту - Документація по API Poster

  3. Отримати список продуктів - Документація по API Poster

  4. Додати позицію в чек - Документація по API Poster

Last updated