# Prodamus (RU)

{% hint style="success" %}
Доступно лише на тарифі "Інфобіз".
{% endhint %}

## Як підключити Продамус

Для підключення Prodamus Вам знадобляться URL платіжної форми та секретний ключ.

<mark style="color:green;">**URL платіжної форми**</mark> ви отримуєте після реєстрації, він <mark style="color:green;">**має вигляд: demo.payform.ru**</mark>

Секретний ключ можна отримати в особистому кабінеті, там же потрібно прописати URL-адресу для сповіщень.

<div data-with-frame="true"><figure><img src="/files/a4b805b99cb6852a6ae6e6e255d1b0e2267f8c6f" alt=""><figcaption><p>Секретний ключ у налаштуваннях форми особистого кабінету платіжної системи "Продамус"</p></figcaption></figure></div>

Детальна інструкція, як це зробити: <https://help.prodamus.ru/payform.ru-onlain-oplaty/prochee/url-dlya-uvedomlenii-i-sekretnyi-klyuch>

Адреса для сповіщень: **<https://chatter.salebot.pro/prodamus\\_callback/result>**

Цю адресу потрібно прописати в налаштуваннях у двох місцях.

На головній сторінці налаштувань можна вибрати режим роботи форми: демо-режим без оплат або режим оплат:

<div data-with-frame="true"><figure><img src="/files/09e956139d0845905d0ce24067f478459a13b910" alt=""><figcaption></figcaption></figure></div>

Адресу для сповіщень потрібно прописати в налаштуваннях платіжної системи у двох місцях: вкладка Налаштування форми - для звичайних оплат і вкладка Підписки - для оплат за підпискою.&#x20;

<div data-with-frame="true"><figure><img src="/files/60fc029bad9bbf8c3ab6afdc0a7be4c5d598aa9c" alt=""><figcaption></figcaption></figure></div>

Адреса для сповіщень: **`https://chatter.salebot.pro/prodamus_callback/result`**

Для налаштування роботи з **оплатами за підпискою**  перейдіть у вкладку Підписки та пропишіть адресу для сповіщень: <https://chatter.mavibot.ai/prodamus\\_callback/result>

<div data-with-frame="true"><figure><img src="/files/59ec0803d81f118c69f28549022d0c6cabf22581" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
Зверніть увагу! Після введення url обов'язково натисніть кнопку «Зберегти».
{% endhint %}

Для підключення Prodamus необхідно перейти до розділу "Еквайринг"

<div data-with-frame="true"><figure><img src="/files/963aa5d2ccf5c51aa47c3eb155e29cdccd05e1c7" alt=""><figcaption></figcaption></figure></div>

Далі необхідно просто вказати дані, про які говорили вище, у форму:

<div data-with-frame="true"><figure><img src="/files/9e48f6624854a0a8c1655212ac9f781862cde6d3" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
**ВАЖЛИВО!** url - платіжної форми вказуємо БЕЗ https\://&#x20;
{% endhint %}

На цьому підключення завершено. Тепер давайте розберемося, як використовувати цей функціонал.

## Як сформувати посилання на оплату

{% hint style="success" %}
Сформувати посилання на оплату в блоці можна **ОДНИМ ІЗ** доступних способів:

* [Кнопка з функцією Оплата ](#knopka-s-funkciei-oplata)або
* [Функція get\_prodamus\_payment\_url у Калькуляторі](#funkciya-get_prodamus_payment_url-v-kalkulyatore) або
* [Створення посилання за допомогою змінної payment\_sum та додаткових параметрів](#sozdanie-ssylki-s-pomoshyu-peremennoi-payment_sum-i-dopolnitelnykh-parametrov) (застаріла робоча версія)
  {% endhint %}

## Кнопка з функцією Оплата

{% hint style="info" %}
[Посилання на оплату можна створювати в кнопці з функцією "Оплата". Про те, як створювати таку кнопку, розповіли в цій статті](/doc/uk/chatbot/builder/knopki/knopka-oplati.md)
{% endhint %}

Розглянемо всі можливі параметри цієї кнопки.&#x20;

### **Обов'язкові параметри кнопки Оплата для Продамус**

Для формування посилання на оплату в налаштуваннях кнопки необхідно вказати <mark style="color:red;">**обов'язкові параметри**</mark> "**Сума**", "**Найменування товару**", також параметр "**Оплачений контент**", якщо у вас **немає своєї онлайн-каси** і ви хочете отримувати чек від Prodamus.&#x20;

Під час переходу на сторінку оформлення замовлення заздалегідь буде прописано інформацію про продукт і його вартість, клієнту залишиться лише вказати свої контакти.\
\
Якщо в налаштуваннях кнопки вказати Email і\або телефон користувача, то на сторінці оформлення замовлення будуть вказані контакти платника і інформація про продукт та його вартість.

<div data-with-frame="true"><figure><img src="/files/8bfb123fb2c4379b97989aa6b268a626b8a0baed" alt="" width="563"><figcaption><p>Вікно налаштувань кнопки</p></figcaption></figure></div>

**поле Текст.** Цей текст буде вказано на кнопці з посиланням на оплату в повідомленні

**поле Функція.** Для створення кнопки для видачі посилання на оплату обираємо функцію Оплата

**поле Платіжна система.** У списку відображаються платіжні системи, підключені до проєкту

{% hint style="warning" %}
Якщо до проєкту не підключені платіжні системи, цей тип кнопок буде недоступний
{% endhint %}

**поле Найменування товару (обов'язкове).** У цьому полі потрібно вказати назву товару. Чим точніше вказано назву товару, тим краще. Наприклад: не Телефон, а Смартфон Xiaomi модель …&#x20;

{% hint style="danger" %}
**НЕ МОЖНА** використовувати **подвійні лапки** у найменуванні товару: видаліть або замініть на одинарні лапки.&#x20;
{% endhint %}

**поле Сума (обов'язкове).**  У цьому полі вказуємо вартість товару.&#x20;

**меню Додаткова інформація.** Після кліку на цю кнопку відкриються додаткові поля для формування посилання

* Опис замовлення
* Знижка в руб.
* Змінна з email покупця
* Змінна з номером телефону покупця
* Час життя посилання
* ID товару для підписки (для створення автоплатежів)
* Оплачений контент&#x20;

**чекбокс З повідомленням про клік.** Для відстеження переходу за посиланням на оплату можна поставити галочку. У такому разі, при кліку на кнопку в діалог із клієнтом у Сейлбот надійде сповіщення про те, що було здійснено перехід за посиланням

<div data-with-frame="true"><figure><img src="/files/aa8759d01f938e3ec14d246909d708bca0091e3f" alt="" width="431"><figcaption><p>Колбек після переходу клієнта за посиланням</p></figcaption></figure></div>

На це сповіщення можна налаштовувати подальшу логіку роботи бота.&#x20;

{% hint style="info" %}
Багато платіжних систем підтримують хмарні онлайн-каси, вони необхідні за 54-ФЗ.\
Прочитайте особливості оформлення чеків на сайті обраної платіжної системи, щоб не потрапити в незручну ситуацію з податковою інспекцією.
{% endhint %}

А ось так виглядає сторінка оплати, яка відкривається при переході за посиланням у кнопці Оплата:

<div data-with-frame="true"><figure><img src="/files/b47560772c2dd7f88fd07516eacd132ee7760d0e" alt="" width="563"><figcaption><p>Сторінка оплати: у кнопці заповнені лише основні параметри</p></figcaption></figure></div>

### Додаткові параметри формування посилання на оплату

<div data-with-frame="true"><figure><img src="/files/1d7de08ca816364cd7e8947497d4c78db31fbbf4" alt="" width="563"><figcaption></figcaption></figure></div>

**поле Опис замовлення.**  Інформація, вказана в цьому полі, буде відображатися на сторінці оплати в полі Додаткові дані

**поле Знижка.** У цьому полі можна вказати розмір знижки в рублях або рублі з копійками. Щоб вказати суму з копійками як роздільник використовуємо крапку: 50.99\
На сторінці оплати в полі Сума до оплати буде вказано з урахуванням знижки, а основна вартість товару буде перекреслена.&#x20;

**Поле Змінна з email покупця** (необов'язковий, якщо передано Номер телефону) У цьому полі вказується Email користувача (клієнта). Можна вказувати змінну, в якій зберігається email користувача.&#x20;

Наприклад, #{email}

**Поле Змінна з номером телефону покупця** (необов'язковий, якщо передано Email). У цьому полі можна вказати змінну, в якій записано номер телефону покупця у форматі 79000000000\
Наприклад, #{phone}

{% hint style="danger" %}
Обов'язково має бути email і/або телефон
{% endhint %}

**поле Час життя посилання.** Можна вказати дату у форматі дд.мм.рррр гг:хх (наприклад 25.01.2021 11:00) або використовувати змінні для призначення терміну завершення дії посилання.\
Приклад використання змінної: `(наприклад, 25.01.2021 11:00), або встановити час завершення дії посилання через змінну. Наприклад:`

**поле ID товару за підпискою.**  Щоб виконати автоплатіж, передайте значення ID товару. Для створення підписки потрібно створити підписний товар.&#x20;

Детальна інструкція, як створити товар для підписки: <https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski>

{% hint style="danger" %}
Якщо передати значення ID товару за підпискою, то сума платежу не враховується. Дані по товару будуть отримані з картки товару з кабінету Продамус
{% endhint %}

Номер телефону, вказаний під час оплати, буде необхідний для керування підпискою.

{% hint style="warning" %}
Якщо передати **ID товару за підпискою**, то в колбеку при успішному платежі буде передано ID цього товару
{% endhint %}

**Поле Оплачений контент** (умовно обов'язкове). Дані необхідні для фіскалізації оплати Prodamus'ом, якщо у вас немає своєї онлайн-каси. У цьому полі потрібно вказати опис покупки, її вартість і посилання на ресурс із контентом.&#x20;

*Наприклад*: *Курс ‘Плетіння кіс’, вартість 3000 рублів, посилання на сторінку курсу:* [*https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911*](https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911).&#x20;

Ці дані необхідні для передачі до ФНС.

#### Кнопка з функцією оплати

Якщо ви вказуєте час життя посилання, то у випадку

1. Коли користувач запросив посилання для оплати в його активний термін (тобто строк його життя ще не завершився) і воно є в діалозі, то оплатити він не зможе і у нього буде сповіщення такого вигляду:

<div data-with-frame="true"><figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcA1KJHoyMF5WmLMZiJPJrQEGJs79zxoXK5U3E9k4mVus-Fg0tI-djr6QTagp5ulwposSxmJ-aq8trUQOslQyE0UeaREuM6-T5Ongn-E5tACdVmypFXBtgOJDmVvHRgOdATChhnBQ?key=OB7qKicH0kn-_i_EzQLdRA" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
Термін дії посилання має бути пізніше поточної дати, інакше і за таким посиланням клієнт не зможе оплатити.&#x20;
{% endhint %}

2\. Коли користувач запитує посилання, а воно вже неактивне\
У такому разі кнопка просто не з'явиться. І в змінних клієнта з'явиться змінна "error\_payment\_button", яка містить таке значення: "Помилка: Термін дії посилання має бути пізніше поточної дати".

{% hint style="success" %}
Щоб користувач міг оплатити коректно, бажано додатково обробити такий випадок.&#x20;
{% endhint %}

Як це зробити?

Створіть блок з умовою, у якому вкажіть, якщо надійшло сповіщення подібного плану, error\_payment\_button == "Помилка: Термін дії посилання має бути пізніше поточної дати"&#x20;

З виведенням тексту: "Вибачте, ви не встигли і посилання на оплату більше недійсне":

<div data-with-frame="true"><figure><img src="/files/3d4499b9a536e7fea754be18226f8916d3c4b90f" alt=""><figcaption><p>Діалог у розділі "Клієнти"</p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/1f44780056189951de19ee20753e1f97c50563c9" alt=""><figcaption><p>Налаштування блоку "Початкова умова"</p></figcaption></figure></div>

### Змінні клієнта, які будуть створені автоматично при використанні кнопки з функцією Оплата

Щойно користувач отримає блок із кнопкою "Оплата", автоматично будуть створені змінні клієнта:

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

{% hint style="danger" %}
Службову змінну клієнта \_\_payments НЕ МОЖНА видаляти або змінювати!
{% endhint %}

Змінна клієнта **`error_payment_button`** створюється, якщо під час формування кнопки виникла помилка.

У значення змінної error\_payment\_button буде записано або текст помилки, або відповідь платіжної системи з помилкою.

{% hint style="warning" %}
Значення змінних стають актуальними під час переходу до наступного блоку&#x20;
{% endhint %}

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

**Успішний платіж.**

Після успішної оплати в бота <mark style="color:orange;">**АВТОМАТИЧНО**</mark> надійде КОЛБЕК, який складається з перших 10 символів секретного ключа платіжної системи, слова \_success і через пробіл сума платежу. \
\&#xNAN;*Для використання в налаштуваннях схеми достатньо його скопіювати.*&#x20;

Наприклад: `ovg58keefc_success 44`, де:&#x20;

ovg58keefc : перші 10 символів секретного ключа платіжної системи

\_success : результат обробки запиту (успішний платіж)

44 : сума платежу

{% hint style="info" %}
Колбеки (сповіщення) від платіжної системи користувач НЕ БАЧИТЬ. Вони відображаються лише у вкладці Клієнти і видимі оператору.
{% endhint %}

Приклад використання:\
Крок 1. У блоці "з кнопкою Оплата" додаємо кнопки з функцією Оплата.&#x20;

Крок 2. У полі Умова з'єднання від цього блоку до блоку "Успішна оплата" вказуємо колбек. Аналогічно працює, якщо вказати колбек про успішну оплату в полі Умова блоку "Початкова умова".

{% hint style="warning" %}
Важливо: вибір відповідності Повне співпадіння або За наявністю ключових слів
{% endhint %}

❗️Якщо ви вирішили перевіряти оплату саме в стрілці за умовою, то продумайте логіку вашої схеми. У разі якщо клієнт покине блок із переходом за умовою з колбеком, то переходу в блок не буде. Такий спосіб перевірки логічно використовувати лише тоді, коли клієнт не змінює своє положення у воронці (положення в схемі). \
У схемах, у яких клієнт переміщується між блоками, краще використовувати варіант із вказанням колбека в блоці "Початкова умова". <br>

<div data-with-frame="true"><figure><img src="/files/ddfb8f935b293b4786a20dca2cb9a21fc9e261de" alt=""><figcaption><p>Колбек про успішну оплату в полі умови блоку.</p></figcaption></figure></div>

#### **Успішний платіж для товарів з автопідпискою.**&#x20;

Після успішної оплати в бота <mark style="color:orange;">**АВТОМАТИЧНО**</mark> надійде КОЛБЕК, який складається з перших 10 символів секретного ключа платіжної системи, слова \_success і <mark style="color:green;">**через пробіл ID товару за підпискою**</mark>

Наприклад: `214009eefc_success 618117`, де:&#x20;

`009eefc` : 10 символів секретного ключа платіжної системи

\_success : результат обробки запиту (успішний платіж)

`618117`: ID товару за підпискою

<div data-with-frame="true"><figure><img src="/files/0c4a401154eb77ad9a587a0ed9c858c679a7b5dd" alt=""><figcaption><p>Приклад колбека від Prodamus для товарів з автопідпискою</p></figcaption></figure></div>

**Платіж з помилкою**

<mark style="color:blue;">**При помилці проведення оплати**</mark> в бота <mark style="color:orange;">**АВТОМАТИЧНО**</mark> надійде КОЛБЕК, який складається з 10 символів секретного ключа платіжної системи, слова \_fail і через пробіл сума платежу

Наприклад, `ovg58keefc_fail 44` , де

`ovg58keefc` : 10 символів секретного ключа платіжної системи

`_fail` : результат обробки запиту - платіж не виконано або з помилкою.&#x20;

`44` : сума платежу

{% hint style="warning" %}
Залежить від платіжної системи. Не всі платіжні системи надсилають колбек про помилку платежу.
{% endhint %}

Якщо сума, вказана в налаштуваннях кнопки <mark style="color:blue;">**відрізняється від суми, яку клієнт оплатив**</mark>, то <mark style="color:orange;">**АВТОМАТИЧНО**</mark> надійде КОЛБЕК, який складається з 10 символів секретного ключа платіжної системи, слова \_different\_amounts і через пробіл унікальний ID платежу

Наприклад: `ovg58keefc_different_amounts 123456` , де:&#x20;

`ovg58keefc` : 10 символів секретного ключа платіжної системи

`_different_amounts` : результат обробки запиту (сума оплати відрізняється від суми в посиланні)

`123456` : унікальний ID платежу

## Функція get\_prodamus\_payment\_url у Калькуляторі

Для формування посилання на оплату можна скористатися функцією `get_prodamus_payment_url` у блоці Калькулятор.

У полі Калькулятор змінній присвоїмо значення функції `get_prodamus_payment_url`&#x20;

{% hint style="info" %}
Назву змінної задаєте самостійно. На скрінах приклади назв змінних.&#x20;
{% endhint %}

У цю змінну запишеться посилання на оплату. Змінну можна вивести на екран посиланням у повідомленні або розмістити на кнопці з текстом "Сплатити".&#x20;

**ПРИКЛАД посилання на оплату:** <https://payform.ru/7p3JR8/>

{% tabs %}
{% tab title="Калькулятор" %}
Приклад 1:

<figure><img src="/files/509838b76f0dcc2eb4eb0d3be51c84a632cbe298" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Опис параметрів" %}
`ваша_змінна =`` `**`get_prodamus_payment_url(amount, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)`**

**Параметри функції:**

<table><thead><tr><th width="253">Параметр</th><th>Значення параметра</th></tr></thead><tbody><tr><td><strong><code>amount</code></strong></td><td>сума до оплати. Можна передати значення цілого числа і число з крапкою. Наприклад 25 або 52.5  <mark style="color:green;">(обов'язковий параметр)</mark> </td></tr><tr><td><strong><code>product_name</code></strong></td><td>Назва товару. <mark style="color:green;">(обов'язковий параметр)</mark></td></tr><tr><td><strong><code>expired</code></strong></td><td><p>час життя посилання на оплату, у форматі <strong>дд.мм.рррр</strong> (наприклад 25.01.2021). Також можна в полі "Калькулятор<em>"</em> вказати: <em>expired = current_date + 2</em> (посилання буде дійсне 2 дні до 00:00).  <code>expired</code> також можна вказати дату з точним часом, через пробіл, у форматі <strong>вказати у форматі</strong> (наприклад: <em>25.01.2021 12:23</em>). Також можна використовувати стандартні змінні, наприклад задамо час дії посилання 30 хвилин: </p><p><code>time = current_time + 30</code><br><code>expired = "#{current_date} #{time}"</code><br><br>Щоб пропустити цей параметр, передайте замість нього пару одинарних або подвійних лапок, або значення None</p></td></tr><tr><td><strong><code>customer_phone</code></strong></td><td>номер телефону покупця, не обов'язково, якщо передано параметр <code>customer_email</code> Щоб пропустити цей параметр, передайте замість нього одинарні або подвійні лапки.</td></tr><tr><td><strong><code>customer_email</code></strong></td><td>емейл покупця, не обов'язково, якщо передано параметр <code>customer_phone</code> Щоб пропустити цей параметр, передайте замість нього одинарні або подвійні лапки.</td></tr><tr><td><strong><code>discount</code></strong></td><td>розмір знижки. Передаємо параметр число або число з крапкою: 25 або 63.5 Щоб пропустити цей параметр, передайте замість нього одинарні або подвійні лапки.</td></tr><tr><td><strong><code>description</code></strong></td><td>опис товару (якщо не вказати, заповнюється 'Оплата рахунку order_id') Щоб пропустити цей параметр, передайте замість нього одинарні або подвійні лапки.</td></tr><tr><td><strong><code>extra_params</code></strong></td><td><p>додаткові параметри, яких немає в цій функції.<br>Можливі додаткові параметри можна переглянути за посиланням у документації роботи з API платіжної системи <a href="https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov">https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov</a><br><br>Приклад: extra_params = {"payments_limit": "3", "payment_method": "vsegdada_installment_0_0_6"}<br></p><p><em>Щоб пропустити цей параметр, передайте замість нього пару одинарних/ пару подвійних лапок або значення None.</em></p></td></tr><tr><td><strong><code>products_for_receipt</code></strong> </td><td><p><strong>Рядок від 50 до 4000 символів у форматі</strong> "опис замовлення - вартість - посилання на ресурс, що купується”. </p><p>Наприклад:</p><p>“Курс ‘Риболовля на ляща’, вартість 4999 рублів, посилання на сторінку курсу: https://www.lovilescha.ru/courses/poimai_kilogram/". <strong>Обов'язковий</strong>, якщо у вас немає своєї онлайн-каси, для фіскалізації оплат через Prodamus.</p></td></tr></tbody></table>
{% endtab %}

{% tab title="Приклад коду для копіювання" %}
**extra\_params** = {<mark style="color:red;">"payments\_limit"</mark>: <mark style="color:red;">"3"</mark>}&#x20;

**products\_for\_receipt** = "<mark style="color:red;">Курс ‘Риболовля на ляща’</mark>, <mark style="color:red;">вартість 4999 рублів</mark>, <mark style="color:red;">посилання на сторінку курсу: <https://www.lovilescha.ru/courses/poimai\\_kilogram/>"</mark>&#x20;

**link\_prodamus\_url** = get\_prodamus\_payment\_url(<mark style="color:blue;">4999</mark>, <mark style="color:red;">'Курс ‘Риболовля на ляща’'</mark>, <mark style="color:red;">'27.03.2023 17:00', '79167777771'</mark>, <mark style="color:red;">'<mail@mail.com>'</mark>, <mark style="color:blue;">20</mark>, <mark style="color:red;">'Найкращий курс на ринку'</mark>, extra\_params, products\_for\_receipt)
{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Якщо в блоці кілька функцій для отримання посилання і допущено помилку, то значення помилки буде записано в змінній  **`error_payment_func`**

\
Помилка буде записана по останній функції в Калькуляторі
{% endhint %}

## Створення посилання за допомогою змінної payment\_sum та додаткових параметрів

{% hint style="info" %}
Зверніть увагу: змінній **payment\_sum** присвоюється значення останньої, після необов'язкових змінних **payment\_description, product\_name** тощо.&#x20;
{% endhint %}

Для генерації посилання на оплату вам достатньо в полі Калькулятор встановити значення змінної **payment\_sum.** Одразу після цього з'явиться змінна **prodamus\_pay\_url**.&#x20;

**ПРИКЛАД посилання на оплату:**: <https://payform.ru/7p3JR8/>

Цю змінну можна вивести на екран посиланням у повідомленні або розмістити на кнопці з текстом "Сплатити".&#x20;

До оголошення змінної **payment\_sum** також можна вказати такі необов'язкові змінні:&#x20;

| Параметри функції          | Опис параметра                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **product\_name**          | найменування товару (якщо не вказати, заповнюється 'Оплата рахунку order\_id') - на скриншоті нижче показано, де відображається                                                                                                                                                                                                                                                                                                                 |
| **payment\_description**   | опис товару (якщо не вказати, заповнюється 'Оплата рахунку order\_id', скрін нижче) - на скриншоті нижче показано, де відображається                                                                                                                                                                                                                                                                                                            |
| **discount\_value**        | розмір знижки (наприклад discount\_value = 25 або discount\_value = 50.25)                                                                                                                                                                                                                                                                                                                                                                      |
| **customer\_phone**        | номер телефону покупця, не обов'язково, якщо передано параметр                                                                                                                                                                                                                                                                                                                                                                                  |
| **customer\_email**        | емейл покупця                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **link\_expired**          | час життя посилання на оплату, у форматі **дд.мм.рррр** (наприклад 25.01.2021). Також можна в полі "*Калькулятор"* вказати: *link\_expired = current\_date + 2* (посилання буде дійсне 2 дні до 00:00)                                                                                                                                                                                                                                          |
| **link\_expired**          | <p>також можна вказати дату з точним часом, через пробіл, у форматі <strong>вказати у форматі</strong> (наприклад: <em>25.01.2021 12:23</em>). Також можна використовувати стандартні змінні, наприклад задамо час дії посилання 30 хвилин: </p><p>time = current\_time + 30<br>link\_expired = "#{current\_date} #{time}"</p>                                                                                                                  |
| **currency**               | <p>валюта платежу, за замовчуванням "rub".<br>Повний список аргументів: </p><p>rub</p><p>usd</p><p>eur</p><p>kzt<br>Цей параметр має бути переданий у нижньому регістрі.</p>                                                                                                                                                                                                                                                                    |
| **payment\_title**         | заголовок платежу (до 127 символів). Якщо не вказати, заповнюється текстом: “Оплата рахунку payment\_id” (payment\_id - ідентифікатор замовлення в Salebot)                                                                                                                                                                                                                                                                                     |
| **payment\_description**   | короткий опис платежу (до 127 символів)                                                                                                                                                                                                                                                                                                                                                                                                         |
| **locale**                 | мова сторінки оплати, вказується у вигляді en-US, fr-XC тощо. За замовчуванням - ‘ru-Ru’. Повний список доступний за посиланням <https://developer.paypal.com/api/rest/reference/locale-codes/>                                                                                                                                                                                                                                                 |
| **products\_for\_receipt** | <p><strong>Рядок від 50 до 4000 символів у форматі</strong> "опис замовлення - вартість - посилання на ресурс, що купується”. </p><p>Наприклад:</p><p>“Курс ‘Риболовля на ляща’, вартість 4999 рублів, посилання на сторінку курсу: <https://www.lovilescha.ru/courses/poimai_kilogram/>". </p><p><mark style="color:red;"><strong>Обов'язковий</strong></mark>, якщо у вас немає своєї онлайн-каси, для фіскалізації оплат через Prodamus.</p> |
| **payment\_sum**           | (обов'язково) сума платежу                                                                                                                                                                                                                                                                                                                                                                                                                      |

<div data-with-frame="true"><img src="https://lh3.googleusercontent.com/3FazAmQkph5i0_iKy4G_HNerzVQP9Bg3_PRB_5rHZQ6vAZB_1Hxv1imi3gJCl7pU_GY7eAiiwZExJA-i4Ps5PgSJt7OXKbSL-GT27gWca_u7rFM8YEsNJ7Z-VVXTAR-jSw_-p2I0" alt=""></div>

{% hint style="success" %}
Змінні **discount\_value**, **customer\_phone**, **customer\_email** і **link\_expired** актуальні й для підписок.
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/727f9a8f96b52bbd3d3b28e554fcf19f8cfbb1c2" alt="" width="524"><figcaption></figcaption></figure></div>

Приклад реалізації.

У першому блоці задаємо суму оплати:

<div data-with-frame="true"><figure><img src="/files/267d62a974ca864968423924a2cef3f914012dcf" alt=""><figcaption></figcaption></figure></div>

Далі виводимо в потрібному місці url, посилання prodamus\_pay\_url:

<div data-with-frame="true"><figure><img src="/files/c78e459c4c4faaa180cd24543efb818175413a86" alt=""><figcaption></figcaption></figure></div>

**prodamus\_available\_payment\_methods** оголошується до оголошення payment\_sum.

Можливі значення: &#x20;

<table><thead><tr><th width="323"></th><th></th></tr></thead><tbody><tr><td><strong>AC</strong></td><td>оплата карткою, випущеною в РФ </td></tr><tr><td><strong>ACkz</strong> </td><td>оплата карткою Казахстану </td></tr><tr><td><strong>ACf</strong></td><td>оплата картками країн СНД, крім РФ</td></tr><tr><td><strong>ACEURNMBX</strong></td><td>Оплата EUR карткою всіх країн, крім РФ і РБ </td></tr><tr><td><strong>SBP</strong></td><td>Швидкий платіж, без введення даних картки. Для карт РФ </td></tr><tr><td><strong>QW</strong> </td><td>Qiwi Wallet </td></tr><tr><td><strong>PC</strong></td><td>ЮMoney </td></tr><tr><td><strong>GP</strong></td><td>платіжний термінал </td></tr><tr><td><strong>sbol</strong></td><td>Сбербанк Онлайн <strong>invoice</strong> - Оплата за рахунком <strong>installment</strong> - Частинами від Продамус </td></tr><tr><td><strong>installment_5_21</strong></td><td>Частинами від Продамус на 3 місяці </td></tr><tr><td><strong>installment_6_28</strong></td><td>Частинами від Продамус на 6 місяців </td></tr><tr><td><strong>installment_10_28</strong></td><td>Частинами від Продамус на 10 місяців </td></tr><tr><td><strong>installment_12_28</strong> </td><td>Частинами від Продамус на 12 місяців <strong>installment_0_0_3</strong> - Розстрочка від Тінькофф на 3 місяці</td></tr><tr><td><strong>installment_0_0_4</strong> </td><td>Розстрочка від Тінькофф на 4 місяці </td></tr><tr><td><strong>installment_0_0_6</strong></td><td>Розстрочка від Тінькофф на 6 місяців </td></tr><tr><td><strong>installment_0_0_10</strong></td><td>Розстрочка від Тінькофф на 10 місяців</td></tr><tr><td><strong>installment_0_0_12</strong></td><td>Розстрочка від Тінькофф на 12 місяців</td></tr><tr><td><strong>installment_0_0_24</strong> </td><td>Розстрочка від Тінькофф на 24 місяці</td></tr><tr><td><strong>installment_0_0_36</strong></td><td>Розстрочка від Тінькофф на 36 місяців </td></tr><tr><td><strong>credit</strong> </td><td>Кредит від Тінькофф</td></tr><tr><td><strong>vsegdada_installment_0_0_4</strong></td><td>Розстрочка ВсегдаДа на 4 місяці (не працює з available_payment_methods) </td></tr><tr><td>vs<strong>egdada_installment_0_0_6</strong></td><td>Розстрочка від ВсегдаДа на 6 місяців</td></tr><tr><td><strong>vsegdada_installment_0_0_10</strong></td><td>Розстрочка від ВсегдаДа на 10 місяців</td></tr><tr><td><strong>vsegdada_installment_0_0_12</strong></td><td>Розстрочка від ВсегдаДа на 12 місяців без переплати</td></tr><tr><td>vs<strong>egdada_installment_0_0_24</strong></td><td>Розстрочка від ВсегдаДа на 24 місяці</td></tr><tr><td><strong>vsegdada_installment_0_0_36</strong> </td><td>Розстрочка від ВсегдаДа на 36 місяців</td></tr><tr><td><strong>sbrf_installment_0_0_6</strong></td><td>Розстрочка від СберБанку на 6 місяців </td></tr><tr><td><strong>sbrf_installment_0_0_10</strong></td><td>Розстрочка від СберБанку на 10 місяців</td></tr><tr><td><strong>sbrf_installment_0_0_12</strong></td><td>Розстрочка від СберБанку на 12 місяців</td></tr><tr><td><strong>sbrf_installment_0_0_24</strong></td><td>Розстрочка від СберБанку на 24 місяці</td></tr><tr><td><strong>sbrf_installment_0_0_36</strong> </td><td>Розстрочка від СберБанку на 36 місяців</td></tr><tr><td><strong>otp_installment_0_0_6</strong></td><td>Розстрочка «ОТП Банку» на 6 місяців</td></tr><tr><td><strong>otp_installment_0_0_10</strong></td><td>Розстрочка «ОТП Банку» на 10 місяців</td></tr><tr><td><strong>otp_installment_0_0_12</strong> </td><td>Розстрочка «ОТП Банку» на 12 місяців</td></tr><tr><td><strong>otp_installment_0_0_24</strong></td><td>Розстрочка «ОТП Банку» на 24 місяці</td></tr><tr><td><strong>otp_installment_0_0_36</strong></td><td>Розстрочка «ОТП Банку» на 36 місяців</td></tr><tr><td><strong>mts_installment_0_0_6</strong></td><td>Розстрочка «МТС Банку» на 6 місяців</td></tr><tr><td><strong>mts_installment_0_0_10</strong> </td><td>Розстрочка «МТС Банку» на 10 місяців</td></tr><tr><td><strong>mts_installment_0_0_12</strong> </td><td>Розстрочка «МТС Банку» на 12 місяців</td></tr><tr><td><strong>mts_installment_0_0_24</strong></td><td>Розстрочка «МТС Банку» на 24 місяці</td></tr><tr><td> <strong>mts_installment_0_0_36</strong> </td><td>Розстрочка «МТС Банку» на 36 місяців</td></tr><tr><td><strong>monetaworld</strong></td><td>Карти банків світу, крім РФ </td></tr><tr><td><strong>sbrf_bnpl</strong></td><td>Частинами від Сбер</td></tr></tbody></table>

Дозволяється передача кількох значень, розділяючи їх вертикальною рискою.\
Наприклад: prodamus\_available\_payment\_methods = "AC|PC|QW"

**prodamus\_currency** - ще один додатковий параметр для передачі суми в певній валюті.\
Можливі значення валюти: \
**kzt** - для тенге \
**eur** - для євро \
**usd** - для долара

Тоді сума, вказана в посиланні, буде в зазначеній валюті.

Під час отримання колбека **payment\_callback** потрібно орієнтуватися на параметр **currency** і **currency\_sum,** у яких буде валюта і сума у валюті.

{% hint style="warning" %} <mark style="color:red;">**Важливо!**</mark> Перевірте, чи є у вас на сторінці метод оплати в потрібній валюті, оскільки якщо його немає, то буде перехід на сторінку без методів оплати.\
Методи підключаються через підтримку. Подивитися увімкнені можна в налаштуваннях сторінки або сформувавши посилання на оплату
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/c3648e428792aff093e10326b5ec4ff87ba07057" alt=""><figcaption><p>Налаштування сторінки оплати платіжної системи "Продамус"</p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/64eeb5932e9d46f834b7fba7c1416de796ea7f96" alt=""><figcaption><p>Варіанти оплати, які підключені для Вашої сторінки</p></figcaption></figure></div>

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

### Успішний платіж

Важливо! Після успішної або неуспішної оплати в бот надійдуть колбеки, за якими ви зможете зрозуміти, що платіж був успішним. Ці колбеки в системі ви бачите як повідомлення від користувача, щоб їх не міг надіслати користувач, вони складаються із секретного ключа та приписки зі статусом, наприклад: 453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b6&#x36;**\_success** або 453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b6&#x36;**\_fail**. Також після успішної оплати змінна **prodamus\_payment\_completed** встановлюється в **True**.

{% hint style="warning" %}
Увага! Колбеки приходять із затримкою, тож після виведення посилання на оплату користувачу рекомендуємо надіслати повідомлення типу: “Після оплати дочекайтеся повідомлення про успішне завершення оплати”
{% endhint %}

{% hint style="warning" %}
ВАЖЛИВО!\
Для посилань, створених за допомогою кнопки з функцією Оплата або за допомогою функції в Калькуляторі, після оплати в бота <mark style="color:orange;">**АВТОМАТИЧНО**</mark> надійде КОЛБЕК, який складається зі символів секретного ключа платіжної системи, слова \_success і через пробіл сума платежу. \
\&#xNAN;*Для використання в налаштуваннях схеми достатньо його скопіювати.*&#x20;

Наприклад: `ovg58keefc_success`, де:&#x20;

ovg58keefc : секретний ключ **повністю**

\_success : результат обробки запиту (успішний платіж)
{% endhint %}

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

<div data-with-frame="true"><figure><img src="/files/d91f4575ad051400b024394e5df061e6b7860819" alt=""><figcaption></figcaption></figure></div>

{% hint style="danger" %}
Тип порівняння має бути "**Повне співпадіння**"
{% endhint %}

{% hint style="warning" %}
Для здійснення повторного платежу обов'язково необхідно обнулити payment\_sum, раніше сформоване посилання і вже після цього перепризначити змінну payment\_sum для отримання свіжого посилання&#x20;
{% endhint %}

### Деактивація/реактивація підписки

Також у Продамусі існують сповіщення щодо активації/деактивації підписки:

<div data-with-frame="true"><figure><img src="/files/42667bce7fc08213d9b5615269a4f36eace5658f" alt=""><figcaption></figcaption></figure></div>

1. "Підписник деактивував підписку" - якщо підписку скасовано вручну (наприклад, відмовився від підписки).

Може надійти до закінчення поточного оплаченого періоду. Має на увазі дію на ваш розсуд - ігнорування або взяття на контроль, спробу повернути підписника.

2. "Підписник реактивував підписку" - відновлення підписки.&#x20;

Може надійти, якщо підписник реактивував підписку до закінчення поточного оплаченого періоду. Має на увазі дію на ваш розсуд - ігнорування або видалення зі списку моніторингу щодо повернення.

3. "Деактивація підписки" - якщо підписка деактивована після кількох невдалих списань

### **Як зберегти значення з колбека**

Після отримання сповіщення про успішну оплату клієнту в заявку (змінна payment\_callback) запишеться колбек від продамуса, з усіма даними щодо отриманого платежу. З нього можна зберегти потрібні дані та використовувати на свій розсуд. Приклад колбека:

`{"date": "2021-03-30T11:44:43+03:00", "order_id": "757679", "order_num": "", "domain": "demo.payform.ru", "sum": "14.50", "customer_phone": "+77777777777", "customer_extra": "Тут опис товару", "payment_type": "Пластикова картка Visa, MasterCard, МІР", "commission": "3.5", "commission_sum": "0.51", "attempt": "1", "discount_value": "10.5", "products[0][name]": "Доступ до навчальних матеріалів", "products[0][price]": "14.50", "products[0][quantity]": "1", "products[0][sum]": "14.50", "payment_status": "success", "payment_status_description": "Успішна оплата", "payment_init": "manual"}`

Під час формування посилання можна вказати змінні **product\_name** і **payment\_description**. Тоді при отриманні колбека їх можна буде дістати ось так&#x20;

`product = get(payment_callback,'products[0][name]')`&#x20;

`description = get(payment_callback,'customer_extra')`

<div data-with-frame="true"><figure><img src="/files/f783151d5b8f4a76e81a56ad6c9cb917921a578d" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
Зверніть увагу: змінній **payment\_sum** присвоюється значення останньої, після необов'язкових змінних **payment\_description, product\_name**
{% endhint %}

Суму можна отримати так\
`summa = get(payment_callback,'sum')`

### Які колбеки доступні

Крім основних колбеків про успішну оплату в чаті з користувачем виводиться повідомлення, яке користувач не бачить, з такими текстами:

1. Підписник деактивував підписку ([детальніше тут](#deaktivaciya-reaktivaciya-podpiski))
2. Підписник реактивував підписку ([детальніше тут](#deaktivaciya-reaktivaciya-podpiski))
3. Підписку завершено
4. Неуспішна оплата - примітка з поясненням (на скриншоті вище)
5. Сповіщення про майбутнє списання - дата та час майбутнього списання
6. Заявка на розстрочку зі статусом

Приклади колбеків у діалозі з клієнтом:&#x20;

* **Підписник деактивував підписку**
* **Підписник реактивував підписку**
* **Підписку завершено**
* **Неуспішна оплата - Недостатньо коштів.**
* **Неуспішна оплата - Термін дії картки закінчився.**
* **Неуспішна оплата - Перевищено ліміт по картці.**
* **Неуспішна оплата - Картку втрачено**
* **Неуспішна оплата - Системна помилка**&#x20;
* **Неуспішна оплата - Операцію відхилено. Зверніться до банку, який випустив картку.**&#x20;
* **Неуспішна оплата - Відмова в проведенні операції банком-емітентом.**
* **Неуспішна оплата - Відмова в проведенні операції банком.**&#x20;
* **Сповіщення про майбутнє списання - дд.мм.рррр гг:хх**
* **Заявку на розстрочку схвалено**
* **Заявку на розстрочку скасовано**
* **Заявку на розстрочку відхилено**

Докладніше прочитати опис помилок можна тут:

{% embed url="<https://help.prodamus.ru/payform/integracii/tekhnicheskaya-dokumentaciya-po-avtoplatezham/kody-oshibok>" %}
Продамус: коди помилок
{% endembed %}

За бажанням, можна налаштувати надсилання користувачу якогось повідомлення. Для прикладу надішлемо повідомлення, що автоматичне списання не вдалося.\
\
На сповіщення про **неуспішну оплату з конкретною причиною**, можна налаштувати блок із відповіддю, наприклад, ось так:

<div data-with-frame="true"><figure><img src="/files/7d43fa9affaf42d19b45cf948f2c9e7a0093afa4" alt=""><figcaption><p>приклад блоку для сповіщень про Неуспішну оплату з конкретною причиною</p></figcaption></figure></div>

Для надсилання повідомлення **на всі невдалі списання, незалежно від причини**, можна налаштувати таким чином:

<div data-with-frame="true"><figure><img src="/files/ce3f7640892dfeaa2fcad575f222074a01b47d00" alt=""><figcaption><p>приклад блоку для сповіщень про Неуспішну оплату з будь-яким поясненням причини</p></figcaption></figure></div>

І на всі колбеки, в яких присутній текст **Неуспішна оплата**, користувачу надходитиме повідомлення з указаним вами текстом.

## Як створити платежі за підпискою

### Як створити підписку

Для створення підписки потрібно створити підписний товар. Детальна інструкція, як це зробити: <https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski>

Далі копіюємо id підписного товару, нижче показано, де його взяти:

<div data-with-frame="true"><img src="https://lh5.googleusercontent.com/YuaI5KhrMPHNozN0JNOE9kD_Jcw7a8LE6GigaM0vrVtmsDBvlHvK8GCX5IcNvaJuSQE8iWWYl0KCgR5JpYpcp9Sa2531RGDYWVLjhE72ipScrpodUWeb4KDrECRbBhz4kO-3lMvs" alt="Створення підписного товару"></div>

Для генерації посилання на оплату підписки вам необхідно встановити значення (id підписного товару) змінної **prodamus\_subscription**, одразу після цього з'явиться змінна **prodamus\_pay\_url**.&#x20;

<div data-with-frame="true"><figure><img src="/files/a53530856fc9ede24d9a841098769b83442cac93" alt="" width="563"><figcaption></figcaption></figure></div>

Змінну **prodamus\_pay\_url** можна вивести на екран посиланням або розмістити на кнопці з текстом "Сплатити". Посилання має вигляд: <https://payform.ru/7p3JR8/><br>

Обробка результату відбувається так само, як і при разовій оплаті (читай вище).

Після успішної підписки користувачу додасться змінна з номером телефону, введеним при оплаті, customer\_phone. Номер телефону потрібен для керування підпискою.<br>

{% hint style="warning" %}
customer\_phone потрібен для керування підпискою, якщо не передано customer\_email
{% endhint %}

### Як створити посилання на підписку функцією get\_prodamus\_subscription\_url

Розглянемо інший спосіб сформувати посилання на оплату товару за підпискою.&#x20;

Створюємо підписний товар у кабінеті Продамус. Детальна інструкція, як це зробити: <https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski>

Далі копіюємо id підписного товару, нижче показано, де його взяти:

<div data-with-frame="true"><img src="https://lh5.googleusercontent.com/YuaI5KhrMPHNozN0JNOE9kD_Jcw7a8LE6GigaM0vrVtmsDBvlHvK8GCX5IcNvaJuSQE8iWWYl0KCgR5JpYpcp9Sa2531RGDYWVLjhE72ipScrpodUWeb4KDrECRbBhz4kO-3lMvs" alt="Створення підписного товару"></div>

Для отримання посилання для оплати товару за підпискою в Калькуляторі вказуємо функцію&#x20;

`get_prodamus_subscription_url`(subscription\_id, product\_name, expired, customer\_phone, customer\_email, discount, description, extra\_params, products\_for\_receipt)

{% tabs %}
{% tab title="Калькулятор" %}
Приклад 1: Посилання на оплату товару за підпискою

<figure><img src="/files/d9aba0c1b076c0fa6c8ad4c7f56c994fc57fa5ad" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Опис параметрів" %}
`link = get_prodamus_subscription_url`(subscription\_id, product\_name, expired, customer\_phone, customer\_email, discount, description, extra\_params, products\_for\_receipt)

**Параметри функції:**

<table><thead><tr><th width="253">Параметр</th><th>Значення параметра</th></tr></thead><tbody><tr><td><strong><code>subscription_id</code></strong></td><td><strong>ID товару за підпискою</strong>. Отримати ID можна скопіювавши в кабінеті Продамус  <mark style="color:green;">(обов'язковий параметр)</mark> </td></tr><tr><td><strong><code>product_name</code></strong></td><td>Назва товару. <mark style="color:green;">(обов'язковий параметр)</mark></td></tr><tr><td><strong><code>expired</code></strong></td><td><p>час життя посилання на оплату, у форматі <strong>дд.мм.рррр</strong> (наприклад 25.01.2021). Також можна в полі "Калькулятор<em>"</em> вказати: <em>expired = current_date + 2</em> (посилання буде дійсне 2 дні до 00:00).  <code>expired</code> також можна вказати дату з точним часом, через пробіл, у форматі <strong>вказати у форматі</strong> (наприклад: <em>25.01.2021 12:23</em>). Також можна використовувати стандартні змінні, наприклад задамо час дії посилання 30 хвилин: </p><p><code>time = current_time + 30</code><br><code>expired = "#{current_date} #{time}"</code><br><br>Щоб пропустити цей параметр, передайте замість нього пару одинарних або подвійних лапок, або значення None</p></td></tr><tr><td><strong><code>customer_phone</code></strong></td><td>номер телефону покупця, не обов'язково, якщо передано параметр <code>customer_email</code> Щоб пропустити цей параметр, передайте замість нього одинарні або подвійні лапки.</td></tr><tr><td><strong><code>customer_email</code></strong></td><td>емейл покупця, не обов'язково, якщо передано параметр <code>customer_phone</code> Щоб пропустити цей параметр, передайте замість нього одинарні або подвійні лапки.</td></tr><tr><td><strong><code>discount</code></strong></td><td>розмір знижки. Передаємо параметр число або число з крапкою: 25 або 63.5 Щоб пропустити цей параметр, передайте замість нього одинарні або подвійні лапки.</td></tr><tr><td><strong><code>description</code></strong></td><td>опис товару (якщо не вказати, заповнюється 'Оплата рахунку order_id') Щоб пропустити цей параметр, передайте замість нього одинарні або подвійні лапки.</td></tr><tr><td><strong><code>extra_params</code></strong></td><td>додаткові параметри, яких немає в цій функції.<br>Можливі додаткові параметри можна переглянути за посиланням у документації роботи з API платіжної системи <a href="https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov">https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov</a><br><br>Приклад: <code>extra_params = {"payments_limit": "3"}</code><br><br><em>Щоб пропустити цей параметр, передайте замість нього пару одинарних/ пару подвійних лапок або значення None.</em></td></tr><tr><td><strong><code>products_for_receipt</code></strong> </td><td><p><strong>Рядок від 50 до 4000 символів у форматі</strong> "опис замовлення - вартість - посилання на ресурс, що купується”. </p><p>Наприклад:</p><p>“Курс ‘Риболовля на ляща’, вартість 4999 рублів, посилання на сторінку курсу: https://www.lovilescha.ru/courses/poimai_kilogram/". </p><p><strong>Обов'язковий</strong>, якщо у вас немає своєї онлайн-каси, для фіскалізації оплат через Prodamus.</p></td></tr></tbody></table>
{% endtab %}

{% tab title="Приклад коду для копіювання" %}
**extra\_params** = {<mark style="color:red;">"payments\_limit"</mark>: <mark style="color:red;">"3"</mark>}&#x20;

**products\_for\_receipt** = <mark style="color:red;">"Курс ‘Риболовля на ляща’</mark>, <mark style="color:red;">вартість щомісячної підписки 2000 рублів</mark>, <mark style="color:red;">посилання на сторінку курсу: <https://www.lovilescha.ru/courses/poimai\\_kilogram/>"</mark>&#x20;

**link\_prodamus\_sub** = get\_prodamus\_subscription\_url(<mark style="color:blue;">618988</mark>, <mark style="color:red;">'Курс ‘Риболовля на ляща’</mark>', <mark style="color:red;">'27.03.2023 17:02', '79167777771', '<mail@mail.com>'</mark>, <mark style="color:red;">20</mark>, <mark style="color:red;">'Найкращий курс на ринку'</mark>, extra\_params, products\_for\_receipt)
{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Якщо в блоці кілька функцій для отримання посилання і допущено помилку, то значення помилки буде записано в змінній  **`error_payment_func`**

\
Помилка буде записана по останній функції в Калькуляторі
{% endhint %}

### Як керувати статусом підписки

{% hint style="info" %}
Метод працює тільки на реальних підписках, у демо-режимі прив'язки з картою немає
{% endhint %}

{% hint style="warning" %}
Для керування підпискою має бути передано один з обов'язкових параметрів customer\_phone або customer\_email.
{% endhint %}

Для можливості відписки користувача від підписки потрібно створити блок і викликати функцію: **<https://store.salebot.pro/function/delete\\_subscription\\_prodamus>**

З параметрами:

**{**\
**"customer\_phone": "#{customer\_phone}",**\
**"id\_subscription":"#{prodamus\_subscription}",**\
**"url":"<https://demo.payform.ru/>", "secret\_key":"453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66",**\
**"switcher":"0"**\
**"profile\_id":"12345"**\
**}**

**url** - URL платіжної форми, вказаний у налаштуваннях конструктора\
**secret\_key** - секретний ключ із налаштувань\
**id\_subscription** - id підписного товару\
**customer\_phone** - телефон підписника\
**switcher** = 0 це зупинка підписки, якщо передати 1, підписка знову активується.\
**profile\_id** - ID профілю в системі Продамус

{% hint style="danger" %}
Звертаємо увагу!

Якщо надійде id профілю, то значення буде збережено в змінну profile\_id.

profile\_id можна передати у функцію delete\_subscription\_prodamus замість customer\_phone або customer\_email для скасування підписки.
{% endhint %}

Приклад налаштування блоку підписки:

<div data-with-frame="true"><figure><img src="/files/83992b59f8c8f37f43327098909dc87c3cd9e88a" alt=""><figcaption></figcaption></figure></div>

Зверніть увагу, що функція повертає status, який зберігаємо і можемо обробити на свій розсуд, при успішній деактивації\активації **status** дорівнює **ok**

### Функція для керування підпискою

prodamus\_subscription\_switch\_status(subscription\_id, switcher, customer\_phone, customer\_email, profile\_id)

&#x20;**id\_subscription** - id підписного товару&#x20;

**switcher** = 0 це зупинка підписки, якщо передати 1, підписка знову активується.&#x20;

**customer\_phone** - телефон підписника - необов'язковий, якщо передано customer\_email&#x20;

**customer\_email** - email підписника - необов'язковий, якщо передано customer\_phone

profile\_id - ID профілю в системі Продамус

<div data-with-frame="true"><figure><img src="/files/6cffdb5815e8a491b43c01dd789c2532d610f828" alt=""><figcaption><p>Приклад використання функції prodamus_subscription_switch_status</p></figcaption></figure></div>

Приклад: передано параметр **customer\_phone,** customer\_email пропущено\
`stat = prodamus_subscription_switch_status`(`'618117', '0', '75431312321')`

Приклад 2: передано параметр **customer\_email,** customer\_phone пропущено\
`stat = prodamus_subscription_switch_status('618117', '0', '', 'examp@mail.com')`

{% hint style="success" %}
Функція поверне ok, якщо все пройшло успішно, або опис помилки
{% endhint %}

### Керування знижками в підписці

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

**prodamus\_subscription\_discount(subscription\_id, discount, customer\_phone, num, profile\_id)**\
**де:**\
**subscription\_id** - ID підписки\
**discount** - десяткове число з точністю до двох знаків після **крапки**, значення має бути більшим за нуль і не перевищувати базову вартість підписки\
**customer\_phone** - номер телефону клієнта у форматі: +79999999999 (необов'язковий параметр, якщо є змінна customer\_email (з'являється після першої оплати опис вище))\
**num** - Кількість оплат, на які діятиме знижка (необов'язковий параметр, якщо не передавати, то кількість оплат зі знижкою не обмежена)

profile\_id - ID профілю в системі Продамус\
\
**При успішному виконанні запиту функція поверне 'ok', якщо запит виконується з помилкою, то функція поверне її опис.**

{% hint style="warning" %}
Розмір знижки та інтервал перезаписуються ТІЛЬКИ якщо функцію викликати повторно з новими значеннями!
{% endhint %}

#### **Приклади:**

1\. Оформлення знижки на всі наступні автоплатежі в розмірі 1р (номер телефону не вказується, оскільки буде автоматично взято з змінної customer\_phone, а кількість списань зі знижкою за замовчуванням — на весь період підписки)&#x20;

r = prodamus\_subscription\_discount('624034', '1')

<div data-with-frame="true"><img src="https://lh3.googleusercontent.com/_4i_sKKn39tHVdnb47xgj8fxfP_x9UGMWLaierBnpup9LCZMdVT0G9AmIOa8S_uMrVXWQIH6rvZnujCYPGcphkYvwFbCXEh819tWIjGIM4mHvd3afSlPzhZfcWk6D1z1tyBwFrZV" alt="Приклад 1" width="563"></div>

2\. Оформлення знижки 2р на наступні 3 списання (номер телефону замінено порожніми лапками, оскільки буде автоматично взято з змінної customer\_phone)&#x20;

r = prodamus\_subscription\_discount('624034', '2', '', '3')

<div data-with-frame="true"><img src="https://lh5.googleusercontent.com/IgutVRIqTFbaof9A14qdQRLCB6oop4mSAIew5s3lz62Kb4YVHdHJEt6GuC7AACStDgRiR1d_XEG1k5Dj7c2M-VNtci16JbklMTEla8_RNWD7wBNeG649g0lnFiMZilhri3phwKr-" alt="Приклад 2" width="563"></div>

3\. Приклад оформлення знижки у вигляді числа з дробовою частиною до сотих (роздільник — крапка), числові дані вказуються без лапок, номер телефону передаємо через змінну

<div data-with-frame="true"><figure><img src="/files/6fd993a7652588b3f90a2c5c16348e661be23d2e" alt="" width="563"><figcaption></figcaption></figure></div>

r = prodamus\_subscription\_discount(#{prodamus\_subscription}, 10.25, #{customer\_phone}, 3)

<div data-with-frame="true"><img src="https://lh3.googleusercontent.com/xJVbZ3Q5f6LzCsYtuX-JqaKYPc69lS6Wi4yA0ui2vBxmFkXXGIHSqgO2VoK0rzDPdNG-HxVpAnpRcmbZXQ_oSrtT7ijJcQA6ZOwjXLbKP8WsCFBip-4DwRnVHpz-fIPRt_Wldo0h" alt="Приклад 3" width="563"></div>

### Як встановити дату наступного платежу за підпискою

За допомогою цього методу можна зсунути дату наступного платежу за підпискою. Зсувати дату можна лише "в майбутнє" відносно поточної встановленої дати наступного платежу. Тим самим збільшуючи термін перебування в клубі.

{% hint style="success" %}
Наприклад, можна застосовувати як бонус для підписників.
{% endhint %}

Для цього потрібно використати функцію:

**prodamus\_subscription\_payment\_date(subscription\_id, date, customer\_phone, profile\_id)**&#x20;

де:

**subscription\_id** - id підписки \
**date** - дата у форматі дд.мм.рррр чч:мм або дд.мм.рррр, тоді час буде 00:00\
**customer\_phone** - не обов’язковий, якщо не передати, підтягнеться зі змінної customer\_phone, якщо і там не знайде, то не спрацює\
**profile\_id** - ID профілю в системі Продамус

## Як передати параметри в Продамус

Щоб передати в Продамус потрібні вам параметри (наприклад, дата старту підписки, відключення розстрочки тощо), у назві змінної дописуйте на початку prodamus\_&#x20;

Тоді під час формування посилання на оплату ці параметри будуть передаватися в платіжну систему автоматично.

## Як тестувати оплату

{% hint style="info" %}
Тестуємо тільки оплату!
{% endhint %}

Щоб під час тестування інтеграції та налаштування воронок на оплату з вашого рахунку не списувалися кошти, можна скористатися тестовими картками&#x20;

{% hint style="warning" %}
Спочатку переведіть свою платіжну сторінку в ДЕМО режим ⤵

Не забудьте натиснути кнопку "Зберегти"
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/97a617f7e33247c5261048c22254885558dcf253" alt=""><figcaption></figcaption></figure></div>

#### Щоб провести тестовий платіж, ви можете скористатися тестовими рахунками

Тестові картки Ощадбанку:&#x20;

МИР\
Номер картки 2202 2050 0001 2424\
Дата закінчення строку дії 05/35\
Перевірочний код на звороті 669

MasterCard\
Номер картки 5469 9801 0004 8525\
Дата закінчення строку дії 05/26\
Перевірочний код на звороті 041\
Перевірочний код 3-D Secure 111111

Visa\
Номер картки 4006 8009 0096 2514\
Дата закінчення строку дії 05/26\
Перевірочний код на звороті 941\
Перевірочний код 3-D Secure 111111

{% hint style="success" %}
! Під час оплати з тестових рахунків усі налаштовані воронки та інтеграції спрацюють так само, як і при звичайній оплаті !&#x20;
{% endhint %}

Форму протестовано

{% hint style="danger" %}
Для прийому оплат реальними грошима необхідно перевести форму в робочий режим. Тобто перевести повзунок перемикання демо-режиму в положення, щоб він став блідо-червоним
{% 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/integrations/payment/prodamus/prodamus-ru.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.
