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

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

Для забезпечення роботи оплати за послуги обслуговуваня на ФОП рахунок ресторану необхідно завести в 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