# Wayforpay

{% hint style="info" %}

* Быстрая регистрация и подтверждение мерчанта
* Регистрация мерчанта для физических лиц без сайта
* Единая процентная ставка для физических и юридических лиц — 2,5%
* Поддержка Google Play и ApplePay
  {% endhint %}

### **Как подключить**

Чтобы подключить платёжную систему wayforpay, вам понадобятся 3 значения:

1. логин мерчанта
2. секретный ключ мерчанта
3. доменное имя сайта мерчанта.

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

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

Скопируйте данные и перейдите к настройкам в Mavibot.

Откройте раздел "Эквайринг", выберите wayforpay.

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

Вам нужно ввести полученные данные в открывшуюся форму:

<figure><img src="/files/32b08855a43e9b36c4b9c63e85b4ea66cd33e3fc" alt=""><figcaption></figcaption></figure>

Чтобы сгенерировать ссылку на оплату, нужно задать значение **payment\_sum** переменная (например, 150 или 100.55, если сумма дробная, то сумма разделяется точкой):

<figure><img src="/files/87a4f3fcb243a4896015d3ec939b1ce5301f39d4" alt=""><figcaption></figcaption></figure>

Сразу после этого появится **wayforpay\_pay\_url** переменная. Эту переменную можно вывести в сообщении со ссылкой или разместить на кнопке с текстом "Оплатить":

Вариант 1. Ссылка на оплату в кнопке:

<figure><img src="/files/30ec45067b4e505d2029229e50769426f38e72d9" alt=""><figcaption></figcaption></figure>

Вариант 2. Ссылка на оплату находится в поле attachment url:

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

Ссылка выглядит так:

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

{% hint style="warning" %}
По умолчанию <mark style="color:красный;">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:красный;">USD</mark> и сроком действия 2 часа:

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

{% hint style="info" %}
**Обратите внимание:** \
— Сначала укажите необязательные параметры  **product\_name** ад. и т. д.\
— И последним задайте значение **payment\_sum** переменную.
{% endhint %}

Обратите внимание, что сначала мы задаём переменные для настроек, затем payment\_sum. Переменные можно задавать раньше в цепочке, а не в одном блоке, это пример.

Далее, в следующем блоке, выводим **wayforpay\_pay\_url** переменную, которая содержит ссылку (например, ссылку в тексте):

<figure><img src="/files/3ab9056f8a9f43b95996e00f30a80fc8b3e7af46" alt=""><figcaption></figcaption></figure>

Бот будет работать следующим образом:

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

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

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

<figure><img src="/files/5230d183fd8475a4fdc2cf7486ba30122391eb19" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Эти колбэки НЕ ВИДНЫ пользователю, они отображаются только оператору.
{% endhint %}

Тип сравнения должен быть "Полное совпадение"

Также после успешной оплаты переменной wayforpay\_payment\_completed присваивается значение True.

Например, вы можете обработать успешную оплату в условном блоке и показать пользователю соответствующее сообщение:

<figure><img src="/files/7f6a634e929592d77b344787c7f9777a00c279c4" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/768034adbeeabb363190860a7af3b42fa0c4c3d0" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Если вы не хотите выбивать клиента из основной схемы чат-бота, используйте блок "Non state with a condition". Перейти в этот блок нельзя, поэтому после оплаты клиент не будет выброшен из основной воронки и получит уведомление об успешной оплате.

А если вам нужно продолжить воронку с реакцией на успешную оплату, тогда используйте блок "Стартовое условие", после чего клиент перейдёт из блока оплаты в блок "Стартовое условие", из которого вы сможете продолжить воронку.
{% endhint %}

{% hint style="success" %}
Подробнее о conditional-блоках рассказано в одноимённой статье
{% 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/63f5026a2680798ee87da00174fb0f64a7a8705c" 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/ru/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.
