# Wayforpay

{% hint style="info" %}

* Швидка реєстрація та підтвердження продавця
* Реєстрація продавця для фізичних осіб без вебсайту
* Єдиний відсоток для фізичних та юридичних осіб – 2.5%
* Підтримка Google Play та Apple Pay
  {% endhint %}

### **Як підключити**

Для підключення платіжної системи wayforpay вам знадобляться 3 значення:

1. логін продавця
2. секретний ключ продавця
3. доменне ім’я сайту продавця.

Перейдіть до свого особистого кабінету -> налаштування магазину **<https://m.wayforpay.com/mportal/merchant/list>**

<figure><img src="/files/d0bd4279a510fcadbd85ede9f89fc65d9b483aee" alt="" width="563"><figcaption></figcaption></figure>

Скопіюйте дані та перейдіть до налаштувань у Mavibot.

Відкрийте розділ "Еквайринг", виберіть wayforpay.

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

Потрібно ввести отримані дані у форму, що відкриється:

<figure><img src="/files/1fa40e4945c2ca842570197178cebf89bdb89e73" alt=""><figcaption></figcaption></figure>

Щоб згенерувати посилання на оплату, потрібно задати значення **payment\_sum** змінна (наприклад, 150 або 100.55, якщо сума дробова, то сума відокремлюється крапкою):

<figure><img src="/files/39fb491b838fcf38860de29418e36f8e1f2215e4" alt=""><figcaption></figcaption></figure>

Одразу після цього, **wayforpay\_pay\_url** з’явиться змінна. Цю змінну можна вивести в повідомленні з посиланням або розмістити на кнопці з текстом "Сплатити":

Варіант 1. Посилання на оплату в кнопці:

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

Варіант 2. Посилання на оплату у полі attachment url:

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

Посилання має вигляд:

<https://secure.wayforpay.com/invoice/id1bbb2ad0375>

{% hint style="warning" %}
За замовчуванням <mark style="color:red;">USD (долари)</mark> встановлено, якщо вам потрібна інша валюта, потрібно задати значення змінної currency.
{% endhint %}

Також перед встановленням значення **payment\_sum** змінної можна задати такі необов'язкові змінні для налаштування платежу.

**currency** - валюта замовлення за замовчуванням, UAH (можливі значення: USD, EUR, RUB)

**session\_timeout** - час життя посилання в секундах, за замовчуванням 3600 (1 година)

**product\_name** - назва товару

**language** - мова платіжної сторінки, за замовчуванням UA (можливі значення: RU, EN)\
\
**buyer\_name** - ім’я клієнта

**buyer\_email** - email клієнта

**buyer\_first\_name** - ім’я клієнта

**buyer\_last\_name** - прізвище клієнта

Ось так виглядає посилання на платіжну сторінку.

![Приклад створення посилання на оплату](https://lh6.googleusercontent.com/Qsm1KH-AI7U8pv_6AjddIF3rWTlidd-TCKepv0LtbxbpEHBL72YbrQ-Yzb-UvI64-ih_XVqb9kjVCRcix6B5rWFK-AWgNLEbHgsaLCZvMHXoH7xHmSrnsZz-qKB0wHH67M0u8gyR)

Створимо посилання для оплати на суму 1 <mark style="color:red;">USD</mark> і терміном дії 2 години:

<figure><img src="/files/269a73090ed9caf53f1f22729221756ad855f5da" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Зверніть увагу:** \
\- Спочатку вкажіть необов’язкові параметри  **product\_name** ad тощо.\
\- І останнє, присвойте значення **payment\_sum** змінну.
{% endhint %}

Зверніть увагу, що спочатку ми задаємо змінні для налаштувань, потім payment\_sum. Змінні можна задавати раніше в ланцюжку, а не в одному блоці, це приклад.

Далі, в наступному блоці, виводимо **wayforpay\_pay\_url** змінну, яка містить посилання (наприклад, посилання в тексті):

<figure><img src="/files/996aee0e02532db5d3138dcfb1086adb37f6dc5b" alt=""><figcaption></figcaption></figure>

Ласкаво просимо, #{Name}!

<figure><img src="/files/a2762f0bda4af990ad674bc1e38680ae9b313fae" alt="" width="563"><figcaption></figcaption></figure>

### Як обробити результат

Після успішної оплати до бота будуть надіслані колбеки, які повідомлять, що платіж успішний. Ви бачите ці колбеки в системі як повідомлення від користувача, щоб користувач не міг їх надіслати, вони складаються з перших 10 символів секретного ключа та приписки \_success, наприклад:  **flk3409ref\_success**

<figure><img src="/files/512cf88d11dd5fbb01801edff185db335432388d" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Ці колбеки НЕ ВИДИМІ для користувача, вони відображаються лише оператору.
{% endhint %}

Тип порівняння має бути "Complete Match"

Також після успішної оплати змінна wayforpay\_payment\_completed встановлюється в True.

Наприклад, ви можете обробити успішний платіж у умовному блоці та відобразити відповідне повідомлення користувачеві:

<figure><img src="/files/29ba2fd92de5e9ba6a6a6758e34f072e9872aa58" alt=""><figcaption></figcaption></figure>

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

{% hint style="info" %}
Якщо ви не хочете викидати клієнта з основної схеми чатбота, використовуйте блок "Non state with a condition". У цей блок не можна перейти, тому клієнт не буде викинутий з основної воронки після оплати та отримає сповіщення про успішну оплату.

А якщо вам потрібно продовжити воронку з реакцією на успішну оплату, тоді використовуйте блок «Початкова умова», після чого клієнт перейде з блоку оплати до блоку «Початкова умова», з якого ви зможете продовжити воронку.
{% endhint %}

{% hint style="success" %}
Докладніше про умовні блоки наведено в статті з однойменною назвою
{% endhint %}

Після завершення платежу **wayforpay\_callback\_data** змінна буде додана до клієнта, міститиме дані відповіді платіжної системи на завершену транзакцію. Ви можете отримати потрібні дані з отриманого словника за допомогою **get** методу.

## Функції для роботи з калькулятором

### Для повторюваних платежів

wayforpay\_recurrent\_payment(amount, currency, session\_timeout, product\_name, language, buyer\_name, buyer\_email, regular\_date\_next, regular\_date\_end, regular\_count, regular\_mode) - генерує посилання для повторюваного платежу.&#x20;

<table><thead><tr><th width="303.85546875">Параметр</th><th>Опис</th></tr></thead><tbody><tr><td>amount</td><td>сума платежу</td></tr><tr><td>currency</td><td>валюта. За замовчуванням: UAH (можливі значення: USD, EUR, RUB). Необов’язковий параметр.</td></tr><tr><td>session_timeout</td><td>час життя посилання в секундах. За замовчуванням: 3600 (1 година). Необов’язковий параметр.</td></tr><tr><td>product_name</td><td>назва товару. Необов’язковий параметр.</td></tr><tr><td>language</td><td>мова платіжної сторінки. За замовчуванням: UA (можливі значення: RU, EN). Необов’язковий параметр.</td></tr><tr><td>buyer_name</td><td>ім’я клієнта. Необов’язкове ім’я.</td></tr><tr><td>buyer_email</td><td>Email клієнта. Необов’язковий параметр.</td></tr><tr><td>regular_date_next</td><td>дата наступної автоматичної транзакції. За замовчуванням: через один місяць після створення посилання. Необов’язковий параметр.</td></tr><tr><td>regular_date_end</td><td>дата завершення автоматичних транзакцій. За замовчуванням: через один рік після створення посилання. Можна не вказувати, якщо задано параметр regular_count. Необов’язковий параметр.</td></tr><tr><td>regular_count</td><td>кількість автоматичних транзакцій. Якщо вказано, параметр regular_date_end буде проігноровано. Необов’язковий параметр.</td></tr><tr><td>regular_mode</td><td>інтервал повторюваного платежу. Необов’язковий параметр. Можливі значення: <br>- once - одноразовий платіж<br>- daily - щодня<br>- weekly - щотижня<br>- quarterly - кожні 3 місяці після дати першого платежу<br>- monthly - раз на місяць<br>- bimonthly - раз на 2 місяці<br>- halfyearly - раз на 6 місяців<br>- yearly  -раз на рік</td></tr></tbody></table>

### Скасування повторюваного платежу

wayforpay\_delete\_recurrent() - скасовує майбутні автоматичні платежі клієнта. Повертає "Ok" після успішного виконання.

<figure><img src="/files/299fe8703505afa45df8b6ae1bd63ec1418819ec" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Ви також можете використовувати блоки "Starting trigger" і "State" (у прикладі використано блоки "Non-state with condition" і "Non-state").

Якщо ви не хочете видаляти клієнта з основного потоку чатбота, використовуйте блок "Non-state with condition" — цей блок не можна ввести вручну, тому клієнт залишиться в основній воронці після оплати, але отримає сповіщення про успішну оплату.

Якщо вам потрібно продовжити воронку на основі успішної оплати, використовуйте блок "Starting trigger". У цьому випадку клієнт перейде з блоку оплати до блоку "Starting trigger condition", з якого можна продовжити воронку.
{% endhint %}


---

# 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/oplata/wayforpay.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.
