Як підключити Prodamus
Для підключення Prodamus вам знадобиться URL платіжної форми та секретний ключ.
URL платіжної форми надається після реєстрації. Приклад:
demo.payform.ru
Секретний ключ можна отримати в обліковому записі Prodamus. Також потрібно вказати URL, на який надсилатимуться сповіщення про платежі.

Детальна інструкція з налаштування
URL сповіщення:
https://chatter.mavibot.ai/prodamus_callback/result
Цей URL потрібно вказати у двох місцях налаштувань.
На головній сторінці налаштувань можна вибрати режим роботи платіжної форми:
- Демо-режим без реальних платежів
- Бойовий режим для приймання платежів

URL сповіщення потрібно вказати у двох розділах налаштувань платіжної системи:
- У вкладці Налаштування форми для разових платежів
- У вкладці Підписки для платіжних підписок

URL сповіщення:
https://chatter.mavibot.ai/prodamus_callback/result
Щоб налаштувати платіжні підписки, відкрийте вкладку Підписки та введіть URL сповіщення:
https://chatter.mavibot.ai/prodamus_callback/result

Важливо: Після введення URL обов'язково натисніть Зберегти.
Щоб підключити Prodamus у Mavibot, відкрийте розділ Еквайринг.

Потім введіть URL платіжної форми та секретний ключ у відповідні поля.

Важливо: Не вказуйте
https://під час введення URL платіжної форми.
Підключення завершено. Далі розглянемо, як використовувати цю функціональність.
Створення платіжного посилання
Кнопка оплати
Платіжне посилання можна створити за допомогою кнопки з функцією Оплата.
Дивіться посібник зі створення кнопки оплати:
/docs/chatbot-builder-buttons-payment-button
У розділах нижче описано всі доступні налаштування кнопки.
Обов'язкові параметри
Для створення платіжного посилання потрібні такі поля:
- Сума
- Назва товару
- Товари для чека (обов'язково, лише якщо у вас немає власної онлайн-каси і ви хочете, щоб Prodamus формував фіскальні чеки)
Коли клієнт відкриває сторінку оплати, інформація про товар і ціна вже заповнені. Клієнту потрібно лише ввести свої контактні дані.
Якщо електронна пошта та/або номер телефону клієнта вказані в налаштуваннях кнопки, вони також будуть попередньо заповнені на сторінці оплати.

Налаштування кнопки
Текст – Текст, який відображається на кнопці оплати.
Функція – Виберіть Оплата, щоб створити платіжне посилання.
Платіжна система – Відображає платіжні системи, підключені до проєкту.
Якщо жодна платіжна система не підключена, цей тип кнопки недоступний.
Назва товару (обов'язково) – Вкажіть точну назву товару.
Наприклад, замість:
Телефон
використовуйте:
Смартфон Xiaomi, модель ...
Примітка: Подвійні лапки (
") не допускаються в назві товару. Видаліть їх або замініть на одинарні лапки.
Сума (обов'язково) – Сума платежу.
Додаткові параметри
Натисніть Додаткова інформація, щоб налаштувати додаткові поля:
- Опис замовлення
- Знижка (грн)
- Змінна електронної пошти клієнта
- Змінна телефону клієнта
- Дата закінчення терміну дії посилання
- ID товару підписки
- Товари для чека
Сповіщати при натисканні – Увімкніть цю опцію, якщо ви хочете отримувати сповіщення в розмові з клієнтом, коли він натискає кнопку оплати.

Це сповіщення можна використовувати для побудови додаткової логіки чат-бота.
Багато платіжних провайдерів підтримують хмарні каси, необхідні для дотримання податкових вимог. Перевірте документацію вашого платіжного провайдера щодо формування чеків та фіскалізації.
Сторінка оплати, яка відкривається за кнопкою, виглядає так:

Додаткові налаштування платіжного посилання

Опис замовлення – Текст, введений у це поле, відображається на сторінці оплати в розділі Додаткова інформація.
Знижка – Вкажіть суму знижки в гривнях. Підтримуються десяткові значення з крапкою як роздільником (наприклад, 50.99).
На сторінці оплати знижка застосовується автоматично. Оригінальна ціна закреслюється, а сума зі знижкою відображається як загальна сума до сплати.
Змінна електронної пошти клієнта (необов'язково, якщо вказано номер телефону) – Адреса електронної пошти клієнта або змінна, що її містить, наприклад:
#{email}
Змінна телефону клієнта (необов'язково, якщо вказано адресу електронної пошти) – Змінна, що містить номер телефону клієнта у форматі:
79000000000
Наприклад:
#{phone}
Має бути вказано або адресу електронної пошти, або номер телефону.
Дата закінчення терміну дії посилання – Вкажіть дату закінчення терміну дії у форматі:
дд.ММ.рррр гг:хв
Приклад:
25.01.2021 11:00
Ви також можете використовувати змінну, наприклад:
#{link_expired}
ID товару підписки – Введіть ID товару підписки, щоб створити регулярний платіж.
Інформацію про створення товарів підписки дивіться в документації Prodamus.
Якщо вказано ID товару підписки:
- сума платежу ігнорується;
- інформація про товар завантажується з товару підписки в Prodamus;
- номер телефону клієнта є обов'язковим для керування підпискою;
- зворотний виклик містить ID товару підписки після успішної оплати.
Товари для чека (умовно обов'язково) – Обов'язково для фіскалізації платежу через Prodamus, якщо ви не використовуєте власну онлайн-касу.
Вкажіть опис товару, ціну та посилання на придбаний контент.
Приклад:
Курс "Просунута фотографія", ціна 3000 грн,
https://example.com/course
Поведінка після закінчення терміну дії посилання
Якщо ви вказуєте дату закінчення терміну дії посилання, кнопка оплати поводиться по-різному залежно від того, чи дійсне посилання.
Прострочене посилання
Якщо клієнт відкриває платіжне посилання після закінчення терміну його дії, платіж не може бути завершено, і він побачить таке повідомлення:

Примітка: Дата закінчення терміну дії має бути пізнішою за поточну дату. Інакше клієнт не зможе завершити платіж.
Неактивна кнопка оплати
Якщо клієнт запитує кнопку оплати після того, як термін дії посилання вже закінчився, кнопка не відображається.
Натомість створюється така змінна клієнта:
error_payment_button
Значення:
Помилка: Дата закінчення терміну дії посилання має бути пізнішою за поточну дату.
Ми рекомендуємо обробляти цю ситуацію в потоці вашого чат-бота.
Створіть умову, яка перевіряє:
error_payment_button == "Помилка: Дата закінчення терміну дії посилання має бути пізнішою за поточну дату."
Якщо умова виконується, надішліть повідомлення, наприклад:
Вибачте, ви не змогли вчасно завершити платіж. Термін дії платіжного посилання закінчився.


Змінні клієнта, створені кнопкою оплати
Коли клієнт отримує повідомлення, що містить кнопку Оплата, Mavibot автоматично створює такі змінні.
__payments
Системна змінна, яка зберігає суму платежу та ідентифікатор створеного платіжного посилання. Вона використовується для зіставлення зворотних викликів, отриманих від платіжної системи.
Важливо: Не змінюйте та не видаляйте системну змінну
__payments.
error_payment_button
Ця змінна створюється автоматично, якщо під час створення кнопки оплати сталася помилка.
Вона містить або повідомлення про помилку, згенероване Mavibot, або помилку, повернуту платіжною системою.
Значення змінних стають доступними після переходу чат-бота до наступного блоку.
Обробка результатів оплати
Успішний платіж
Після успішної оплати Mavibot автоматично отримує такий зворотний виклик:
<перші_10_символів_секретного_ключа>_success <сума_платежу>
Приклад:
ovg58keefc_success 44
Де:
-
ovg58keefc— перші 10 символів секретного ключа Prodamus. -
_success— вказує на успішний платіж. -
44— сума платежу.
Клієнти ніколи не бачать зворотних викликів платежів. Вони видимі лише в розділі Клієнти і можуть використовуватися для побудови логіки чат-бота.
Приклад
Крок 1
Створіть блок, що містить кнопку Оплата.
Крок 2
Створіть блок Тригер або налаштуйте стрілку, що веде до наступного блоку.
Вставте зворотний виклик платежу в тригер або умову збігу.
Той самий зворотний виклик також можна налаштувати в блоці Початкова умова, якщо ваш чат-бот потребує глобальної обробки платежів.
Важливо: Використовуйте тип збігу Точний збіг або Містить ключові слова.
Примітка: Якщо ви обробляєте зворотні виклики на певній стрілці, переконайтеся, що клієнт все ще знаходиться в блоці, що містить цю стрілку, коли надходить зворотний виклик. Інакше перехід не відбудеться. Для потоків чат-бота, де клієнти можуть переміщатися між блоками, рекомендується обробляти зворотні виклики в блоці Початкова умова.

Успішний платіж за підпискою
Для товарів підписки формат зворотного виклику:
<перші_10_символів_секретного_ключа>_success <id_товару_підписки>
Приклад:
214009eefc_success 618117
Де:
-
214009eefc— перші 10 символів секретного ключа. -
_success— успішний платіж. -
618117— ID товару підписки.

Невдалий платіж
Якщо платіж не вдався, Mavibot отримує такий зворотний виклик:
<перші_10_символів_секретного_ключа>_fail <сума_платежу>
Приклад:
ovg58keefc_fail 44
Де:
-
ovg58keefc— перші 10 символів секретного ключа. -
_fail— платіж не вдався. -
44— сума платежу.
Примітка: Не всі платіжні провайдери надсилають зворотні виклики для невдалих платежів.
Невідповідність суми платежу
Якщо сплачена сума відрізняється від суми, вказаної в кнопці оплати, Mavibot отримує такий зворотний виклик:
<перші_10_символів_секретного_ключа>_different_amounts <id_платежу>
Приклад:
ovg58keefc_different_amounts 123456
Де:
-
ovg58keefc— перші 10 символів секретного ключа. -
_different_amounts— вказує, що сплачена сума відрізняється від очікуваної. -
123456— унікальний ID платежу.
Функція калькулятора get_prodamus_payment_url
Ви можете створити платіжне посилання за допомогою функції get_prodamus_payment_url у блоці Калькулятор.
Призначте результат функції будь-якій змінній.
Ви можете вибрати будь-яке ім'я змінної. На скріншотах нижче використовуються приклади імен змінних.
Створене платіжне посилання зберігається у змінній і може бути використане в повідомленні або прикріплене до кнопки.
Приклад платіжного посилання:
https://payform.ru/7p3JR8/
Приклад

Синтаксис функції
your_variable = get_prodamus_payment_url(
amount,
product_name,
expired,
customer_phone,
customer_email,
discount,
description,
extra_params,
products_for_receipt
)
Параметри
| Параметр | Опис |
|---|---|
amount |
Обов'язковий. Сума платежу. Приймає цілі або десяткові значення (наприклад, 25 або 52.5). |
product_name |
Обов'язковий. Назва товару. |
expired |
Дата закінчення терміну дії платіжного посилання. Підтримувані формати: dd.MM.yyyy або dd.MM.yyyy HH:mm. Також можна використовувати змінні або вирази, такі як current_date + 2. Передайте '', "" або None, щоб пропустити цей параметр. |
customer_phone |
Номер телефону клієнта. Необов'язковий, якщо вказано customer_email. Передайте '' або "", щоб пропустити. |
customer_email |
Адреса електронної пошти клієнта. Необов'язковий, якщо вказано customer_phone. Передайте '' або "", щоб пропустити. |
discount |
Сума знижки. Приймає цілі або десяткові значення (наприклад, 25 або 63.5). Передайте '' або "", щоб пропустити. |
description |
Опис товару. Якщо пропущено, Prodamus автоматично використовує Payment for order order_id. Передайте '' або "", щоб пропустити. |
extra_params |
Додаткові параметри API Prodamus, не включені в аргументи функції. Передайте '', "" або None, щоб пропустити. |
products_for_receipt |
Дані для чека у форматі "опис товару - ціна - URL придбаного контенту". Обов'язково, якщо ви використовуєте фіскалізацію Prodamus без власної онлайн-каси. |
Приклади дати закінчення терміну дії
Термін дії закінчується через два дні:
expired = current_date + 2
Термін дії закінчується через 30 хвилин:
time = current_time + 30
expired = "#{current_date} #{time}"
Приклад extra_params
extra_params = {
"payments_limit": "3",
"payment_method": "vsegdada_installment_0_0_6"
}
Повний список підтримуваних параметрів дивіться в документації REST API Prodamus.
Приклад
extra_params = {
"payments_limit": "3"
}
products_for_receipt = "Photography Course, price 4999 RUB, https://example.com/course"
payment_link = get_prodamus_payment_url(4999, "Photography Course", "27.03.2023 17:00", "79167777771", "[email protected]", 20, "The best photography course", extra_params, products_for_receipt)
У цьому прикладі:
-
extra_paramsмістить додаткові параметри платежу. -
products_for_receiptмістить інформацію для фіскального чека. -
payment_linkзберігає згенерований URL платежу.
Якщо в одному блоці Calculator використовується кілька функцій платіжного посилання і одна з них завершується помилкою, помилка записується в змінну
error_payment_func. Зберігається лише помилка останньої функції.
Генерація платіжного посилання за допомогою payment_sum
Примітка: Значення
payment_sumзастосовується після всіх додаткових змінних, таких якpayment_description,product_nameта інші.
Замість виклику get_prodamus_payment_url(), ви можете згенерувати платіжне посилання, просто присвоївши значення змінній payment_sum у блоці Calculator.
Після присвоєння payment_sum, Mavibot автоматично створює змінну prodamus_pay_url, що містить платіжне посилання.
Приклад:
https://payform.ru/7p3JR8/
Ви можете відобразити цю змінну в повідомленні або використати її як URL кнопки.
Додаткові змінні
Наступні змінні можна визначити до присвоєння payment_sum.
| Змінна | Опис |
|---|---|
product_name |
Назва товару. Якщо пропущено, значенням за замовчуванням є Payment for order order_id. |
payment_description |
Опис товару, що відображається на сторінці оплати. |
discount_value |
Сума знижки. Приклад: 25 або 50.25. |
customer_phone |
Номер телефону клієнта. |
customer_email |
Адреса електронної пошти клієнта. |
link_expired |
Дата закінчення терміну дії платіжного посилання. |
currency |
Валюта платежу. Підтримувані значення: rub, usd, eur, kzt. Має бути в нижньому регістрі. |
payment_title |
Назва платежу (до 127 символів). За замовчуванням: Payment payment_id. |
locale |
Мова сторінки оплати (наприклад, ru-RU, en-US, fr-FR). |
products_for_receipt |
Інформація для чека. Обов'язково, якщо ви використовуєте фіскалізацію Prodamus без власної онлайн-каси. |
payment_sum |
Обов'язковий. Сума платежу. |
Термін дії посилання
Ви можете вказати дату закінчення терміну дії кількома способами.
Конкретна дата:
25.01.2021
Конкретна дата та час:
25.01.2021 12:23
Використання змінних:
time = current_time + 30
link_expired = "#{current_date} #{time}"
Або:
link_expired = current_date + 2
Приклад
Спочатку встановіть суму платежу.

Потім використовуйте згенеровану змінну prodamus_pay_url там, де потрібно надіслати платіжне посилання.

Доступні способи оплати
Змінна prodamus_available_payment_methods має бути визначена до payment_sum.
Підтримувані значення:
| Значення | Опис |
|---|---|
AC |
Банківські картки РФ |
ACkz |
Банківські картки Казахстану |
ACf |
Банківські картки СНД (крім РФ) |
ACEURNMBX |
Картки EUR (крім РФ та Білорусі) |
SBP |
Система швидких платежів (РФ) |
QW |
QIWI Гаманець |
PC |
YooMoney |
GP |
Платіжний термінал |
sbol |
Ощадбанк Онлайн |
invoice |
Оплата за рахунком |
installment |
Розстрочка Prodamus |
credit |
Кредит Т-Банку |
monetaworld |
Міжнародні картки (крім РФ) |
Можна вказати кілька способів оплати, розділивши їх вертикальною рискою (|).
Приклад:
prodamus_available_payment_methods = "AC|PC|QW"
Валюта
Ви можете вказати валюту платежу за допомогою змінної prodamus_currency.
Підтримувані значення:
kztusdeur
Згенерована сторінка оплати відображатиме суму у вибраній валюті.
Під час обробки зворотного виклику payment_callback зверніть увагу на наступні поля:
currencycurrency_sum
Вони містять валюту платежу та сплачену суму.
Якщо способи оплати не вказані, сторінка оплати не відображатиме жодних доступних способів оплати. Спочатку увімкніть необхідні способи оплати в обліковому записі Prodamus.
Обробка результатів платежу
Зворотні виклики платежу
Після успішної або невдалої оплати Mavibot отримує зворотні виклики, які можна використовувати для визначення статусу платежу.
Зворотні виклики з'являються в розмові як системні повідомлення. Клієнти ніколи не бачать і не надсилають ці повідомлення.
Приклади:
Успішний платіж:
453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_success
Невдалий платіж:
453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_fail
Після успішної оплати автоматично створюється наступна змінна клієнта:
prodamus_payment_completed = True
Примітка: Зворотні виклики отримуються з невеликою затримкою. Після надсилання платіжного посилання рекомендується повідомити клієнта, що підтвердження платежу може зайняти кілька хвилин.
Приклад повідомлення:
Після завершення оплати, будь ласка, зачекайте на підтвердження платежу.
Формат зворотного виклику
Платіжні посилання, згенеровані кнопкою Payment або функцією get_prodamus_payment_url(), після успішної оплати повертають наступний зворотний виклик:
<secret_key>_success
Приклад:
ovg58keefc_success
Де:
-
<secret_key>— ваш секретний ключ Prodamus. -
_successвказує на успішний платіж.
Приклад
Створіть тригер або умовний блок, який очікує на зворотний виклик, а потім продовжує роботу чат-бота.

Важливо: Використовуйте Точний збіг як тип збігу.
Якщо ви хочете згенерувати інше платіжне посилання після успішної оплати, спочатку скиньте наявну інформацію про платіж.
Встановіть:
payment_sum = 0
Потім призначте нове значення payment_sum, щоб згенерувати нове платіжне посилання.
Зворотні виклики підписки
Prodamus також надсилає зворотні виклики, пов'язані зі статусом підписки.
Приклади:
- Підписку скасовано клієнтом
- Підписку активовано повторно клієнтом
- Підписку деактивовано після кількох невдалих спроб оплати

Підписку скасовано
Надсилається, коли клієнт вручну скасовує свою підписку.
Поточний оплачений період може залишатися активним.
Ви можете використовувати цей зворотний виклик, щоб:
- ігнорувати подію;
- повідомити свою команду;
- надіслати клієнту повідомлення для утримання.
Підписку активовано повторно
Надсилається, коли клієнт відновлює раніше скасовану підписку.
Залежно від вашої бізнес-логіки, ви можете ігнорувати цей зворотний виклик або видалити клієнта з робочого процесу утримання.
Підписку деактивовано
Надсилається після кількох невдалих спроб періодичного платежу.
Збереження даних зворотного виклику
Після успішної оплати повна корисна інформація зворотного виклику зберігається в наступній змінній:
payment_callback
Вона містить всю інформацію про платіж, повернуту Prodamus.
Приклад:
{
"date": "2021-03-30T11:44:43+03:00",
"order_id": "757679",
"sum": "14.50",
"customer_phone": "+77777777777",
"customer_extra": "Product",
"payment_status": "success"
}
Якщо ви вказали product_name та payment_description під час генерації платіжного посилання, ви можете отримати їх зі зворотного виклику.
Приклад:
product = get(payment_callback, "products[0][name]")
description = get(payment_callback, "customer_extra")
Отримайте суму платежу:
amount = get(payment_callback, "sum")
Примітка: Значення
payment_sumзавжди присвоюється після додаткових змінних, таких якpayment_descriptionтаproduct_name.
Доступні зворотні виклики
Окрім зворотних викликів успішного платежу, Prodamus надсилає різні системні зворотні виклики, які можна використовувати для автоматизації вашого чат-бота.
Події підписки
- Підписку скасовано клієнтом
- Підписку активовано повторно клієнтом
- Термін дії підписки закінчився
Події невдалого платежу
Залежно від платіжного провайдера, ви можете отримувати зворотні виклики з причиною невдачі, наприклад:
- Платіж не вдався – Недостатньо коштів
- Платіж не вдався – Термін дії картки закінчився
- Платіж не вдався – Перевищено ліміт картки
- Платіж не вдався – Картку заявлено як втрачену
- Платіж не вдався – Системна помилка
- Платіж не вдався – Транзакцію відхилено банком-емітентом
- Платіж не вдався – Транзакцію відхилено банком
Інші події
- Сповіщення про майбутній періодичний платіж
- Заявку на розстрочку схвалено
- Заявку на розстрочку скасовано
- Заявку на розстрочку відхилено
Ви можете створювати робочі процеси чат-бота, які реагують на будь-який із цих зворотних викликів.
Наприклад, ви можете автоматично сповіщати клієнтів, коли періодичний платіж не вдається.
Щоб обробити конкретну причину невдачі, створіть тригер, який відповідає відповідному зворотному виклику.

Щоб обробити всі невдалі платежі незалежно від причини, використовуйте умову, яка перевіряє, чи містить зворотний виклик:
Payment failed

Будь-який зворотний виклик, що містить текст Payment failed, запустить налаштовану дію чат-бота.
Підписки
Створення підписки
Перш ніж приймати підписні платежі, створіть продукт підписки у своєму обліковому записі Prodamus.
Детальні інструкції дивіться в документації Prodamus.
Після створення продукту підписки скопіюйте його ID продукту підписки.

Призначте ID продукту підписки наступній змінній:
prodamus_subscription
Mavibot автоматично генерує наступну змінну:
prodamus_pay_url
Згенерований URL можна відобразити в повідомленні або прикріпити до кнопки.
Приклад:
https://payform.kz/7p3JR8/
Підписні платежі обробляються так само, як і одноразові.
Після успішної оплати підписки номер телефону клієнта автоматично зберігається в змінній customer_phone.
Якщо
customer_emailне вказано,customer_phoneє обов'язковим для керування підпискою.
get_prodamus_subscription_url
Ви також можете генерувати посилання для оплати підписки за допомогою Калькулятора.
Функція:
get_prodamus_subscription_url(
subscription_id,
product_name,
expired,
customer_phone,
customer_email,
discount,
description,
extra_params,
products_for_receipt
)
Приклад

Параметри
| Параметр | Опис |
|---|---|
subscription_id |
Обов'язковий. ID продукту підписки з вашого облікового запису Prodamus. |
product_name |
Обов'язковий. Назва продукту. |
expired |
Дата закінчення терміну дії посилання для оплати. Підтримує формати dd.MM.yyyy або dd.MM.yyyy HH:mm. Також підтримуються змінні. |
customer_phone |
Номер телефону клієнта. Необов'язковий, якщо вказано customer_email. |
customer_email |
Адреса електронної пошти клієнта. Необов'язковий, якщо вказано customer_phone. |
discount |
Сума знижки. |
description |
Опис продукту. |
extra_params |
Додаткові параметри API Prodamus. |
products_for_receipt |
Інформація про чек. Обов'язковий при використанні фіскалізації Prodamus без власної онлайн-каси. |
Приклад
extra_params = {
"payments_limit": "3"
}
products_for_receipt = "Підписка на курс фотографії, 2000 RUB/міс, https://example.com/course"
subscription_link = get_prodamus_subscription_url(618988, "Курс фотографії", "27.03.2023 17:02", "79167777771", "[email protected]", 20, "Преміум підписка", extra_params, products_for_receipt)
Якщо в одному блоці Калькулятора виконується кілька функцій генерації посилань для оплати і одна з них завершується помилкою, помилка зберігається в змінній
error_payment_func.
Керування статусом підписки
Керування підпискою доступне лише для активних підписок. Воно не підтримується в демо-режимі, оскільки не прив'язана платіжна картка.
Для керування підпискою має бути доступний принаймні один з наступних параметрів:
customer_phonecustomer_email
Щоб скасувати або реактивувати підписку, використовуйте наступну функцію:
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 платіжної форми, налаштований у Mavibot. |
secret_key |
Ваш секретний ключ Prodamus. |
id_subscription |
ID продукту підписки. |
customer_phone |
Номер телефону передплатника. |
switcher |
Дія з підпискою: 0 – деактивувати, 1 – реактивувати. |
profile_id |
ID профілю клієнта в Prodamus. |
Якщо Prodamus повертає ID профілю, він автоматично зберігається в змінній
profile_id. Ви можете використовувати цю змінну замістьcustomer_phoneабоcustomer_emailпри керуванні підписками.
Приклад:

Функція повертає значення статусу.
Якщо операція успішна:
status = ok
prodamus_subscription_switch_status
Ви також можете керувати підписками за допомогою Калькулятора.
prodamus_subscription_switch_status(
subscription_id,
switcher,
customer_phone,
customer_email,
profile_id
)
Параметри
| Параметр | Опис |
|---|---|
subscription_id |
ID продукту підписки. |
switcher |
0 – деактивувати підписку, 1 – реактивувати підписку. |
customer_phone |
Номер телефону клієнта. Необов'язковий, якщо вказано customer_email. |
customer_email |
Адреса електронної пошти клієнта. Необов'язковий, якщо вказано customer_phone. |
profile_id |
ID профілю клієнта в Prodamus. |
Приклад 1
Деактивація підписки за номером телефону клієнта.
status = prodamus_subscription_switch_status(
"618117",
"0",
"75431312321"
)
Приклад 2
Деактивація підписки за адресою електронної пошти клієнта.
status = prodamus_subscription_switch_status(
"618117",
"0",
"",
"[email protected]"
)
Функція повертає
ok, якщо операція успішна. В іншому випадку вона повертає повідомлення про помилку.
Керування знижками на підписку
Використовуйте наступну функцію, щоб застосувати знижку до майбутніх регулярних платежів.
Знижку можна застосувати на обмежену кількість платежів або безстроково.
prodamus_subscription_discount(
subscription_id,
discount,
customer_phone,
num,
profile_id
)
Параметри
| Параметр | Опис |
|---|---|
subscription_id |
ID підписки. |
discount |
Сума знижки. Має бути більше нуля і не перевищувати вартість підписки. |
customer_phone |
Номер телефону клієнта. Необов'язковий, якщо доступний з customer_phone. |
num |
Кількість майбутніх платежів, до яких слід застосувати знижку. Якщо пропущено, знижка є постійною. |
profile_id |
ID профілю клієнта в Prodamus. |
У разі успіху функція повертає:
ok
В іншому випадку вона повертає опис помилки.
Оновлення знижки або кількості платежів вимагає повторного виклику функції з новими значеннями.
Приклади
Постійна знижка
Застосувати знижку в розмірі 1 до всіх майбутніх платежів за підпискою.
result = prodamus_subscription_discount(
"624034",
"1"
)

Знижка на наступні три платежі
result = prodamus_subscription_discount(
"624034",
"2",
"",
"3"
)

Десяткова знижка
result = prodamus_subscription_discount(
#{prodamus_subscription},
10.25,
#{customer_phone},
3
)


Зміна дати наступного платежу за підпискою
Ви можете перенести наступний регулярний платіж, змінивши його заплановану дату.
Нова дата платежу завжди повинна бути пізнішою, ніж поточна запланована дата платежу.
Цю функцію можна використовувати, наприклад, щоб продовжити період підписки клієнта як бонус.
Використовуйте наступну функцію:
prodamus_subscription_payment_date(
subscription_id,
date,
customer_phone,
profile_id
)
Параметри
| Параметр | Опис |
|---|---|
subscription_id |
ID підписки. |
date |
Нова дата платежу у форматі dd.MM.yyyy або dd.MM.yyyy HH:mm. Якщо час не вказано, використовується 00:00. |
customer_phone |
Номер телефону клієнта. Необов'язковий. Якщо пропущено, значення береться зі змінної customer_phone. |
profile_id |
ID профілю клієнта в Prodamus. |
Передача додаткових параметрів до Prodamus
Ви можете надсилати додаткові параметри, які підтримуються Prodamus (наприклад, дати початку підписки або налаштування розстрочки), під час генерації посилання для оплати.
Просто створіть змінну, назва якої починається з префікса prodamus_.
Приклад:
prodamus_some_parameter
Коли генерується посилання для оплати, всі змінні з префіксом prodamus_ автоматично включаються в запит, що надсилається до Prodamus.
Тестування платежів
Симулюється лише процес оплати.
Під час налаштування інтеграції та сценаріїв чат-бота ви можете використовувати тестові картки Prodamus, щоб уникнути списання реальних коштів.
Спочатку перемкніть свою платіжну сторінку в Демо-режим.
Не забудьте натиснути Зберегти після зміни режиму.

Тестові картки
MIR
| Поле | Значення |
|---|---|
| Номер картки | 2202 2050 0001 2424 |
| Термін дії | 05/35 |
| CVV | 669 |
Mastercard
| Поле | Значення |
|---|---|
| Номер картки | 5469 9801 0004 8525 |
| Термін дії | 05/26 |
| CVV | 041 |
| 3-D Secure код | 111111 |
Visa
| Поле | Значення |
|---|---|
| Номер картки | 4006 8009 0096 2514 |
| Термін дії | 05/26 |
| CVV | 941 |
| 3-D Secure код | 111111 |
Важливо: Тестові картки запускають ту саму логіку чат-бота, зворотні виклики, автоматизації та інтеграції, що й реальні платежі.
Після завершення тестування перемкніть платіжну сторінку назад у Робочий режим, щоб почати приймати реальні платежі.
Перемикач демо-режиму має бути вимкнений (червоний перемикач вимкнено).