> For the complete documentation index, see [llms.txt](https://docs.expirenza.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.expirenza.com/setup/pos/poster/tips.md).

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

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

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

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

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

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

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

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

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

* Мати назву `Expirenza Обслуговування`, зі збереженням регістру, без інших символів (пробіли на початку, в кінці, точки, коми, тощо)
* Страва має бути вагова
* Страва доступна на споті який використовується рестораном
* Ціна за 100 грамм - 100 копійок для споту який використовується рестораном

<figure><img src="/files/itoghvduPy7QobeT5apx" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/WhUe9BlPtq81qsgyUeQv" alt=""><figcaption></figcaption></figure>

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

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

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

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

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

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

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

1. Отримати продукт по id - [Документація по API Poster](https://dev.joinposter.com/ua/docs/v3/web/menu/getProduct?id=menugetproduct-%d0%92%d0%bb%d0%b0%d1%81%d1%82%d0%b8%d0%b2%d0%be%d1%81%d1%82%d1%96-%d1%82%d0%be%d0%b2%d0%b0%d1%80%d1%83-%d0%b0%d0%b1%d0%be-%d1%82%d0%b5%d1%85-%d0%ba%d0%b0%d1%80%d1%82%d0%b8)
2. Зміна параметрів продукту - [Документація по API Poster](https://dev.joinposter.com/ua/docs/v3/web/menu/updateProduct?id=menuupdateproduct-%d0%97%d0%bc%d1%96%d0%bd%d0%b0-%d0%b2%d0%bb%d0%b0%d1%81%d1%82%d0%b8%d0%b2%d0%be%d1%81%d1%82%d0%b5%d0%b9-%d1%82%d0%be%d0%b2%d0%b0%d1%80%d1%83)
3. Отримати список продуктів - [Документація по API Poster](https://dev.joinposter.com/ua/docs/v3/web/menu/getProducts?id=menugetproducts-%d0%a1%d0%bf%d0%b8%d1%81%d0%be%d0%ba-%d1%82%d0%be%d0%b2%d0%b0%d1%80%d1%96%d0%b2-%d1%96-%d1%82%d0%b5%d1%85-%d0%ba%d0%b0%d1%80%d1%82)
4. Додати позицію в чек - [Документація по API Poster](https://dev.joinposter.com/ua/docs/v3/web/transactions/addTransactionProduct?id=transactionsaddtransactionproduct-%d0%94%d0%be%d0%b4%d0%b0%d0%b2%d0%b0%d0%bd%d0%bd%d1%8f-%d1%82%d0%be%d0%b2%d0%b0%d1%80%d1%83-%d0%b4%d0%be-%d1%87%d0%b5%d0%ba%d0%b0)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.expirenza.com/setup/pos/poster/tips.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
