# Кнопка оплати

Кнопка з функцією «Платіж» спрощує роботу з підключеними платіжними системами, надаючи посилання для оплати.

картинка

Зверніть увагу, що в багатьох месенджерах посилання можна розміщувати лише у вбудованих кнопках у тексті. Не забудьте вибрати відповідний тип кнопки в налаштуваннях блока після створення кнопки.

Кнопка з функцією «Платіж» доступна для таких платіжних систем:

* Stripe

У межах одного блока можна створити кнопки «Платіж» для різних платіжних систем із різними сумами оплати.

Якщо до проєкту не підключено жодної платіжної системи, цей тип кнопки буде недоступний.

картинка

**Основні поля кнопки «Платіж»:**

* **Поле тексту:** Цей текст буде відображатися на кнопці з посиланням для оплати в повідомленні.
* **Функція:** Виберіть тип кнопки **Платіж**.
* **Поле функції:** Щоб створити кнопку, яка надає посилання для оплати, виберіть **Платіж** функцію.
* **Поле платіжної системи:** У списку показано платіжні системи, підключені до проєкту.

Залежно від обраної платіжної системи необхідні поля для генерації посилання та створення квитанції відрізнятимуться.

Налаштування кнопки з функцією «Платіж» для різних платіжних систем можна переглянути тут:

Поле **обов’язкові поля для генерації посилання на оплату** є **Сума** та **Назва товару/Опис товару**.

* **Поле суми:** Введіть тут суму платежу.
* **Поле назви товару:** Введіть назву товару, яка відображатиметься на сторінці оплати.

Подвійні лапки **не можете** можуть використовуватися в назві товару.

Ви можете замінити їх апострофами або одинарними лапками.

Залежно від обраної платіжної системи в налаштуваннях кнопки з’являться випадаючі списки з мітками «Дані квитанції» та/або «Додаткова інформація». Натиснувши на них, ви побачите додаткові поля:

картинка

### Змінні під час використання кнопки з функцією «Платіж» <a href="#variables-when-using-the-payment-function-button" id="variables-when-using-the-payment-function-button"></a>

Щойно користувач отримує блок із кнопкою «Платіж», автоматично створюються такі клієнтські змінні:

* **Системна клієнтська змінна `__payments`** — ця змінна зберігає суму платежу та ідентифікатор згенерованого посилання на оплату. Вона використовується для ідентифікації відповіді вебхука від платіжної системи.

Системну клієнтську змінну `__payments` **не можна видаляти або змінювати**!

Клієнтська змінна `error_payment_button` створюється, якщо під час генерації кнопки оплати виникає помилка.

Її значення міститиме або повідомлення про помилку, або відповідь із помилкою, повернуту платіжною системою.

Значення змінних стають активними (актуальними), коли користувач переходить до наступного блока.

#### Як обробити результат <a href="#how-to-handle-the-result" id="how-to-handle-the-result"></a>

**Успішна оплата**

Після успішної оплати бот отримає **callback** що складається з перших 10 символів секретного ключа платіжної системи, слова `_success`і суми платежу, розділених пробілом. Наприклад: **`ovg58keefc_success 44`**&#x434;е:

* `ovg58keefc`: перші 10 символів секретного ключа платіжної системи
* `_success`: позначає результат запиту (успішна оплата)
* `44`: сума платежу

Колбеки (сповіщення) від платіжної системи **не видимі для користувача**. Вони відображаються лише на вкладці **Клієнти** і видимі для **оператора**.

**Приклад використання:** **Крок 1.** У блоці з **Платіж** кнопкою додайте кнопки з **Платіж** функцію. **Крок 2.** У **Поле умови підключення** з цього блока до **Успішна оплата** блока, вкажіть **callback**. Це працює так само, якщо ви вкажете колбек успішної оплати в **полі умови** блока **Перевірка основної умови** .

Увага! Вибір типу співпадіння — **Точне співпадіння** або **Співпадіння за ключовим словом.**

Корисна порада

Щоб надіслати клієнту сповіщення про успішну оплату без переривання його проходження основною воронкою, створіть **«Блоки без стану з умовами».**

**Оплата з помилкою**

Якщо виникає **помилка оплати**, бот отримає **callback** що складається з перших 10 символів секретного ключа платіжної системи, слова `_fail`і суми платежу, розділених пробілом. Наприклад: `ovg58keefc_fail 44`де:

* `ovg58keefc`: перші 10 символів секретного ключа платіжної системи
* `_fail`: результат обробки запиту — платіж не виконано або сталася помилка
* `44`: сума платежу

Це залежить від платіжної системи. **Не всі платіжні системи надсилають колбек у разі помилок оплати.**

Якщо сума, вказана в налаштуваннях кнопки, відрізняється від **суми, фактично сплаченої клієнтом**, бот отримає **callback** що складається з перших 10 символів секретного ключа платіжної системи, фрази `_different_amounts`і унікального ідентифікатора платежу, розділених пробілом. Наприклад: `ovg58keefc_different_amounts 123456`де:

* `ovg58keefc`: перші 10 символів секретного ключа платіжної системи
* `_different_amounts`: результат обробки запиту (сума платежу відрізняється від суми в посиланні)
* `123456`: унікальний ідентифікатор платежу


---

# Agent Instructions: 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.mavibot.ai/doc/uk/chatbot/builder/knopki/knopka-oplati.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.
