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

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

Адресу для сповіщень потрібно вказати в налаштуваннях платіжної системи у двох місцях: «Налаштування форми» вкладка — для одноразових (звичайних) платежів і «Підписки» вкладка — для платежів за підпискою.

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

Увага! Після введення URL-адреси обов’язково «Зберегти» натисніть кнопку.
Щоб підключити Prodamus, потрібно перейти до розділу «Еквайринг».

Після цього достатньо ввести в форму наведені вище дані:

Важливо! Коли вказуєте URL-адресу платіжної форми, https:// не додавайте.
На цьому підключення завершено. Тепер розгляньмо, як користуватися цим функціоналом.
Як створити посилання на оплату
Кнопка з функцією «Оплатити»
Посилання на оплату можна створити в кнопці з функцією «Оплатити».
Тепер розгляньмо всі можливі параметри цієї кнопки.
Обов’язкові параметри кнопки «Оплатити» для Prodamus
Щоб створити посилання на оплату, у налаштуваннях кнопки потрібно вказати обов’язкові параметри: «Сума», «Назва товару», а також параметр «Оплачений контент» — якщо у вас немає власної онлайн-каси і ви хочете отримати чек від Prodamus.
Під час переходу на сторінку оформлення замовлення інформація про товар і його ціну показується заздалегідь, а клієнт лише вводить свої контактні дані.
Якщо в налаштуваннях кнопки вказано Email та/або телефон користувача, на сторінці оформлення замовлення відображаються контактні дані платника та інформація про товар і його ціну.

Поле «Текст» — цей текст буде показано в повідомленні на кнопці з посиланням на оплату.
Поле «Функція» — щоб створити кнопку з посиланням на оплату, обираємо функцію «Оплатити».
Поле «Платіжна система» — у списку будуть показані платіжні системи, підключені до проєкту. Якщо до проєкту не підключено жодної платіжної системи, цей тип кнопки буде недоступний.
Поле «Назва товару» (обов’язкове) — потрібно вказати точну назву товару. Наприклад: не «Телефон», а «Смартфон Xiaomi, модель …». Примітка: у назві товару не можна використовувати подвійні лапки; приберіть їх або замініть на одинарні.
Поле «Сума» (обов’язкове) — вказуємо ціну товару.
Меню «Додаткова інформація» — при натисканні на цю кнопку відкриваються додаткові поля для створення посилання:
Опис замовлення
Знижка в рублях
Змінна Email покупця
Змінна номера телефону покупця
Час дії посилання
ID товару для підписки (для автоплатежу)
Оплачений контент
Чекбокс «Сповіщення про натискання» — можна увімкнути, щоб відстежувати перехід за посиланням на оплату. У цьому випадку після натискання кнопки в діалог клієнта в Сейлботі прийде повідомлення про те, що було здійснено перехід за посиланням.

На основі цього повідомлення можна налаштувати подальшу логіку роботи бота. Багато платіжних систем підтримують хмарні онлайн-каси, які потрібні відповідно до вимог 54-ФЗ.
На сайті обраної платіжної системи прочитайте особливості оформлення чеків, щоб не потрапити в неприємну ситуацію з податковою інспекцією.
Ось як виглядає сторінка оплати, що відкривається при переході за посиланням у кнопці «Оплатити»:

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

Поле «Опис замовлення» — інформація, введена в це поле, відображається на сторінці оплати в Полі додаткових даних .
Поле «Знижка» — тут можна вказати розмір знижки в рублях або рублях і копійках. Для вказання копійок використовуйте крапку як роздільник: 50.99 На сторінці оплати в Полі суми до оплати буде показано суму з урахуванням знижки, а базова ціна товару буде закреслена.
Поле «Змінна Email покупця» (необов’язково, якщо вказано номер телефону) — тут вказується Email користувача (клієнта). Також можна використовувати змінну, у якій збережено Email, наприклад: #{email}
Поле «Змінна номера телефону покупця» (необов’язково, якщо вказано Email) — тут можна використати змінну з номером телефону покупця у форматі: 79000000000, наприклад: #{phone}
Обов’язково має бути Email та/або телефон.
Поле «Час дії посилання» — дату можна вказати у форматі дд.мм.рррр гг:хх (наприклад, 25.01.2021 11:00), або встановити час завершення дії посилання через змінну. Наприклад:
#{link_expired} Поле «ID товару для підписки» — для автоплатежу вкажіть значення ID товару. Щоб створити підписку, потрібно створити підписковий товар. Детальна інструкція: Створення та налаштування підписок у Prodamus
Поле «Оплачений контент» (умовно обов’язкове) — ці дані потрібні для фіскалізації платежу через Prodamus, якщо у вас немає власної онлайн-каси. У це поле вказуються опис покупки, її ціна та посилання на контент.
Наприклад: Курс «Плетіння кіс», ціна 3000 рублів, посилання на сторінку курсу: https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911
Кнопка з функцією «Оплатити»
Якщо ви вказали час дії посилання, відбувається таке: Коли користувач запитує посилання на оплату протягом терміну його дії (тобто поки час посилання ще не минув) і він у діалозі, оплату буде неможливо здійснити, і йому покажеться таке повідомлення:
Термін дії посилання має бути пізніше поточної дати, інакше клієнт не зможе оплатити за цим посиланням.
2. Користувач запитує посилання, якщо воно зараз неактивне
У цьому випадку кнопка просто не буде показана. У змінних клієнта "error_payment_button" з’явиться змінна, значення якої буде таким:
"Помилка: Термін дії посилання має бути пізніше поточної дати".
Щоб користувач міг коректно оплачувати, рекомендується додатково обробляти таку ситуацію.
Створіть такий умовний блок:
Якщо прийде таке повідомлення:
error_payment_button == "Помилка: Термін дії посилання має бути пізніше поточної дати"
Тоді покажіть такий текст: "Вибачте, ви не встигли здійснити оплату вчасно, платіжне посилання стало недійсним".


Автоматично створювані змінні клієнта при використанні кнопки з функцією «Оплатити»
Коли користувач отримує блок із кнопкою «Оплатити», для клієнта автоматично створюються змінні:
Службова змінна клієнта __payments — ця змінна зберігає суму та ідентифікатор створеного посилання і потрібна для визначення хуку, що приходить від платіжної системи.
Службова змінна клієнта __payments— не можна видаляти або змінювати!
error_payment_button змінна клієнта створюється автоматично, якщо під час створення кнопки сталася помилка.
У цю змінну записується текст помилки або повідомлення про помилку, що прийшло від платіжної системи.
Значення змінних актуальні при переході до наступного блоку.
Як обробити результат
Успішна оплата
Після успішної оплати в бот АВТОМАТИЧНО ПРИХОДИТЬ КОЛБЕК який складається з перших 10 символів секретного ключа платіжної системи, _success слова та суми оплати.
Щоб використовувати в налаштуванні схеми, достатньо просто скопіювати його.
Наприклад: ovg58keefc_success 44де:
ovg58keefc— перші 10 символів секретного ключа платіжної системи_success— результат обробки запиту (успішна оплата)44— сума оплати
Користувач НЕ БАЧИТЬ колбекивід платіжної системи. Вони відображаються лише у вкладці «Клієнти» і видимі оператору.
Приклад використання: Крок 1. У блок «Кнопка з оплатою» додаємо кнопки з функцією «Оплатити». Крок 2. Із цього блоку в полі Умова зв’язку вказуємо колбек, який веде до блоку «Успішна оплата». Так само, якщо у блоці «Початкова умова» вказати колбек успішної оплати в умові, робота здійснюватиметься аналогічно.
Важливо: Обрати «Точна відповідність» або «За наявністю ключових слів».
❗️Якщо ви вирішите перевіряти оплату за чітко заданою стрілкою в умові, ретельно продумайте логіку вашої схеми. Якщо клієнт піде далі за блок, що відповідає умові з колбеком, переходу до блоку не відбудеться. Такий спосіб перевірки краще використовувати лише тоді, коли клієнт не змінював своє місце у воронці.
У схемах, де клієнт переміщується між блоками, краще використовувати варіант вказання колбека «Початкова умова» у блоці.

Успішна оплата для товарів з автопідпискою
Після успішної оплати в бот АВТОМАТИЧНО ПРИХОДИТЬ КОЛБЕК який складається з перших 10 символів секретного ключа платіжної системи, _success слова та ID товару для підписки.
Наприклад: 214009eefc_success 618117де:
009eefc— перші 10 символів секретного ключа платіжної системи_success— результат обробки запиту (успішна оплата)618117— ID товару для підписки

Помилка платежу
У разі помилки під час здійснення оплати в бот АВТОМАТИЧНО ПРИХОДИТЬ КОЛБЕК який складається з перших 10 символів секретного ключа платіжної системи, _fail слова та суми оплати.
Наприклад: ovg58keefc_fail 44де:
ovg58keefc— перші 10 символів секретного ключа платіжної системи_fail— результат обробки запиту (оплату не виконано або сталася помилка)44— сума оплати
Це залежить від платіжної системи. Не всі платіжні системи надсилають колбек про помилку оплати.
Якщо сума, вказана в налаштуваннях кнопки, відрізняється від суми, яку сплатив клієнт, у бот АВТОМАТИЧНО ПРИХОДИТЬ КОЛБЕК приходить. Воно складається з перших 10 символів секретного ключа платіжної системи, _different_amounts слова та унікального ID платежу.
Наприклад: ovg58keefc_different_amounts 123456де:
ovg58keefc— перші 10 символів секретного ключа платіжної системи_different_amounts— результат обробки запиту (сума оплати відрізняється від суми в посиланні)123456— унікальний ID платежу
У калькуляторі get_prodamus_payment_url функція
get_prodamus_payment_url функціяДля створення посилання на оплату у блоці Калькулятора get_prodamus_payment_url функцію можна використовувати.
У полі Калькулятор присвоюємо змінній значення цієї функції: get_prodamus_payment_url.
Назву змінної ви обираєте самі. На скріншотах наведені приклади назв змінних.
У цю змінну буде записане посилання на оплату. Змінну можна показати в повідомленні як посилання або розмістити в кнопці з текстом «Оплатити».
Приклад посилання на оплату: https://payform.kz/7p3JR8/
Приклад 1:

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
Час дії платіжного посилання — дд.мм.рррр у форматі (наприклад, 25.01.2021).
Також у Калькулятор полі можна вказати так:
expired = current_date + 2 (посилання буде дійсним 2 дні до 00:00).
Також можна вказати точний час: вказати у форматі (наприклад, 25.01.2021 12:23).
Можна використовувати й стандартні змінні, наприклад, встановити дійсність посилання на 30 хвилин:
Якщо хочете пропустити цей параметр, замість нього можна вказати одинарні лапки, подвійні лапки або None значення.
customer_phone
Номер телефону покупця — необов’язково, якщо задано customer_email параметр.
Якщо хочете пропустити цей параметр, замість нього можна вказати одинарні або подвійні лапки.
customer_email
Email-адреса покупця — необов’язково, якщо задано customer_phone параметр.
Якщо хочете пропустити цей параметр, замість нього можна вказати одинарні або подвійні лапки.
discount
Розмір знижки — параметр можна передати як ціле число або число з крапкою: 25 або 63.5.
Якщо хочете пропустити цей параметр, замість нього можна вказати одинарні або подвійні лапки.
description
Опис товару (якщо не вказано, автоматично 'Оплата рахунку order_id' заповнюється).
Якщо хочете пропустити цей параметр, замість нього можна вказати одинарні або подвійні лапки.
extra_params
Додаткові параметри, параметри, яких немає в цій функції. Доступні додаткові параметри можна переглянути в документації з роботи з API платіжної системи: Prodamus REST API
Наприклад:
Якщо хочете пропустити цей параметр, замість нього можна вказати одинарні/подвійні лапки або None значення.
products_for_receipt
Рядок від 50 до 4000 символів у форматі "опис замовлення - ціна - посилання на ресурс, що купується".
Наприклад:
“Курс «Ловля ляща», ціна 4999 рублів, посилання на сторінку курсу: https://www.lovilescha.ru/courses/poimai_kilogram/"
Цей параметр обов’язковий, якщо у вас немає власної онлайн-каси, і потрібен для фіскалізації платежу через Prodamus.
extra_params = {"payments_limit": "3"}
products_for_receipt = "Курс «Ловля ляща», ціна 4999 гривень, посилання на сторінку курсу: https://www.lovilescha.ru/courses/poimai_kilogram/"
link_prodamus_url = get_prodamus_payment_url( 4999, 'Курс «Ловля ляща»', '27.03.2023 17:00', '79167777771', '[email protected]', 20, 'Найкращий курс на ринку', extra_params, products_for_receipt
У цьому прикладі:
extra_params— додаткові параметри (наприклад, ліміт платежів).products_for_receipt— інформація про товар, що відображається в чеку.get_prodamus_payment_urlстворюється посилання на оплату за допомогою функції.
Якщо в блоці є кілька функцій отримання посилання і сталася помилка, значення помилки error_payment_func записується в змінну.
Помилка записується за останньою функцією в Калькуляторі.
payment_sum змінна та створення посилання через додаткові параметри
payment_sum змінна та створення посилання через додаткові параметриУвага: payment_sum значення змінної береться з останньої змінної, тобто після необов’язкових змінних: payment_description, product_name тощо.
Для створення посилання на оплату У полі Калькулятор payment_sum достатньо встановити значення змінної.
Після цього автоматично prodamus_pay_url змінна з’являється.
Приклад посилання на оплату: https://payform.ru/7p3JR8/
Цю змінну можна показати в повідомленні як посилання або розмістити в кнопці з текстом «Оплатити».
payment_sum перед оголошенням змінної можна вказати такі необов’язкові змінні:
product_name
Назва товару (якщо не вказано, автоматично заповнюється "Оплата рахунку order_id") — нижче на скріншоті показано, де саме відображається.
payment_description
Опис товару (якщо не вказано, автоматично 'Оплата рахунку order_id' заповнюється) — нижче на скріншоті показано, де саме відображається.
discount_value
Розмір знижки (наприклад, discount_value = 25 або discount_value = 50.25)
customer_phone
Номер телефону покупця — необов’язково, якщо задано інший параметр.
customer_email
Email-адреса покупця
link_expired
Час дії платіжного посилання — дд.мм.рррр у форматі (наприклад, 25.01.2021).
Також у Калькулятор полі можна вказати так:
link_expired = current_date + 2 (посилання буде дійсним 2 дні до 00:00).
link_expired
Також можна вказати точний час, формат: вказати у форматі (наприклад, 25.01.2021 12:23).
Також можна використовувати стандартні змінні, наприклад, встановити дійсність посилання на 30 хвилин:
time = current_time + 30 link_expired = "#{current_date} #{time}"
currency
Валюта платежу, за замовчуванням "rub".
Повний список аргументів:
rubusdeurkzt
Цей параметр слід вказувати малими літерами.
payment_title
Заголовок платежу (до 127 символів). Якщо не вказано, автоматично заповнюється таким текстом:
“Оплата рахунку payment_id” (payment_id — ідентифікатор замовлення в MaviBot).
payment_description
Короткий опис платежу (до 127 символів)
locale
Мова сторінки оплати — en-US, fr-XC тощо. Значення за замовчуванням — ru-RU.
Повний список можна переглянути за цим посиланням
products_for_receipt
Рядок від 50 до 4000 символів у форматі "опис замовлення - ціна - посилання на ресурс, що купується".
Наприклад:
“Курс «Ловля ляща», ціна 4999 гривень, посилання на сторінку курсу: https://www.lovilescha.ru/courses/poimai_kilogram/"
Цей обов’язковий параметр потрібен для фіскалізації платежу через Prodamus, якщо у вас немає власної онлайн-каси.
payment_sum
(обов’язково) сума платежу
discount_value, customer_phone, customer_email і link_expired змінні також актуальні для підписок.

Приклад реалізації. У першому блоці встановлюємо суму платежу:

На наступному кроці в потрібному місці виводимо prodamus_pay_url посилання:

prodamus_available_payment_methods змінна payment_sum визначається перед оголошенням.
Можливі значення:
AC
Оплата карткою, випущеною в РФ
ACkz
Оплата карткою Казахстану
ACf
Оплата картками країн СНД, крім РФ
ACEURNMBX
Оплата карткою EUR для всіх країн, крім Росії та Білорусі
SBP
Швидкий платіж без введення даних картки. Для російських карток
QW
Qiwi Wallet
PC
ЮMoney
GP
Платіжний термінал
sbol
Сбербанк Онлайн
invoice
Оплата за рахунком
installment
Розстрочка через Prodamus
installment_5_21
Розстрочка на 3 місяці через Prodamus
installment_6_28
Розстрочка на 6 місяців через Prodamus
installment_10_28
Розстрочка на 10 місяців через Prodamus
installment_12_28
Розстрочка на 12 місяців через Prodamus
installment_0_0_3
Розстрочка на 3 місяці через Tinkoff
installment_0_0_4
Розстрочка на 4 місяці через Tinkoff
installment_0_0_6
Розстрочка на 6 місяців через Tinkoff
installment_0_0_10
Розстрочка на 10 місяців через Tinkoff
installment_0_0_12
Розстрочка на 12 місяців через Tinkoff
installment_0_0_24
Розстрочка на 24 місяці через Tinkoff
installment_0_0_36
Розстрочка на 36 місяців через Tinkoff
credit
Кредит через Tinkoff
vsegdada_installment_0_0_4
Розстрочка на 4 місяці через «ВсегдаДа» (не працює з available_payment_methods)
vsegdada_installment_0_0_6
Розстрочка на 6 місяців через «ВсегдаДа»
vsegdada_installment_0_0_10
Розстрочка на 10 місяців через «ВсегдаДа»
vsegdada_installment_0_0_12
Розстрочка на 12 місяців через «ВсегдаДа»
vsegdada_installment_0_0_24
Розстрочка на 24 місяці через «ВсегдаДа»
vsegdada_installment_0_0_36
Розстрочка на 36 місяців через «ВсегдаДа»
sbrf_installment_0_0_6
Розстрочка на 6 місяців через Сбербанк
sbrf_installment_0_0_10
Розстрочка на 10 місяців через Сбербанк
sbrf_installment_0_0_12
Розстрочка на 12 місяців через Сбербанк
sbrf_installment_0_0_24
Розстрочка на 24 місяці через Сбербанк
sbrf_installment_0_0_36
Розстрочка на 36 місяців через Сбербанк
otp_installment_0_0_6
Розстрочка на 6 місяців через «OTP Банк»
otp_installment_0_0_10
Розстрочка на 10 місяців через «OTP Банк»
otp_installment_0_0_12
Розстрочка на 12 місяців через «OTP Банк»
otp_installment_0_0_24
Розстрочка на 24 місяці через «OTP Банк»
otp_installment_0_0_36
Розстрочка на 36 місяців через «OTP Банк»
mts_installment_0_0_6
Розстрочка на 6 місяців через «МТС Банк»
mts_installment_0_0_10
Розстрочка на 10 місяців через «МТС Банк»
mts_installment_0_0_12
Розстрочка на 12 місяців через «МТС Банк»
mts_installment_0_0_24
Розстрочка на 24 місяці через «МТС Банк»
mts_installment_0_0_36
Розстрочка на 36 місяців через «МТС Банк»
monetaworld
Картки світових банків, крім Росії
sbrf_bnpl
Розстрочка через Сбер
Кілька значень через вертикальну риску дозволено розділяти. Наприклад:
prodamus_currency — це ще один додатковий параметр, який дає змогу вказувати суму в певній валюті.
Можливі валюти:
kzt— для тенгеeur— для євроusd— для долара
Таким чином, сума, зазначена в посиланні, буде в обраній валюті.
Колбек payment_callback під час отримання currency і currency_sum потрібно звернути увагу на параметри, у яких вказані валюта та сума.
Якщо не вказано, відбудеться перехід на сторінку без способів оплати. Додати способи оплати можна через підтримку. Додані способи можна перевірити в налаштуваннях сторінки або за посиланням на оплату.


Як обробити результат
Успішна оплата
Важливо: після успішної або неуспішної оплати в бот приходять колбеки, за допомогою яких можна визначити, чи оплата пройшла успішно.
Колбеки в системі виглядають як повідомлення від користувача, але користувач не може їх надіслати. Вони мають вигляд поєднання секретного ключа та статусу. Наприклад:
або
Після успішної оплати prodamus_payment_completed змінна True приймає значення.
Примітка: Колбеки приходять із невеликою затримкою, тому після надсилання користувачеві посилання краще надіслати повідомлення:
“Після оплати зачекайте, поки платіж успішно завершиться.”
Структура колбеку
Для посилань, створених через кнопку Оплати або функцію в Калькуляторі, після оплати в бот автоматично приходить колбек. Його склад:
Наприклад:
ovg58keefc— повний секретний ключ платіжної системи_success— результат обробки запиту (успішна оплата)
Практичне застосування
Успішну оплату можна обробити через умовний блок і показати користувачеві відповідне повідомлення.

Тип порівняння має бути "Full match" / "Повний збіг"
Щоб здійснити повторну оплату, обов’язково потрібно payment_sum обнулити змінну та видалити раніше створене посилання. Лише після цього payment_sum можна присвоїти змінній нове значення й отримати оновлене посилання.
Деактивація/реактивація підписки
Також у системі Prodamus є повідомлення про те, що підписку активовано або призупинено:

«Підписку вимкнув користувач» — якщо підписку було зупинено вручну (наприклад, у разі відмови від підписки). Це повідомлення може надійти до завершення поточного оплаченого періоду. Дії залежать від вашого рішення: ігнорувати, взяти під контроль або спробувати повернути користувача.
«Підписку повторно активував користувач» — підписку відновлено. Це повідомлення може надійти, якщо користувач відновив підписку до завершення поточного оплаченого періоду. Дії залежать від вашого рішення: ігнорувати або виключити з моніторингу.
«Деактивація підписки» — якщо підписку було зупинено після кількох невдалих оплат.
Збереження значень із колбеку
Після отримання повідомлення про успішну оплату payment_callback у змінну записується колбек від Prodamus, у якому є всі дані про платіж. Ці дані можна зберегти та використовувати у потрібному вам вигляді.
Приклад колбеку:
Під час створення посилання product_name і payment_description можна вказати змінні. Тоді при отриманні колбеку їх можна взяти так:

Увага: payment_sum у змінну записується останнє значення, яке розташовується після необов’язкових змінних: payment_description, product_name.
Суму можна отримати так:
Доступні колбеки
Окрім основних колбеків успішної оплати, у чат також приходять такі повідомлення, невидимі для користувача:
колбеки
Підписник деактивував підписку (детальніше тут)
Підписник реактивував підписку (детальніше тут)
Підписку завершено
Неуспішна оплата - примітка з поясненням (на скриншоті вище)
Сповіщення про майбутнє списання - дата та час майбутнього списання
Заявка на розстрочку зі статусом
Приклади колбеків у діалозі з клієнтом
Підписник деактивував підписку
Підписник реактивував підписку
Підписку завершено
Неуспішна оплата - Недостатньо коштів.
Неуспішна оплата - Термін дії картки закінчився.
Неуспішна оплата - Перевищено ліміт по картці.
Неуспішна оплата - Картку втрачено
Неуспішна оплата - Системна помилка
Неуспішна оплата - Операцію відхилено. Зверніться до банку, який випустив картку.
Неуспішна оплата - Відмова в проведенні операції банком-емітентом.
Неуспішна оплата - Відмова в проведенні операції банком.
Сповіщення про майбутнє списання - дд.мм.рррр гг:хх
Заявку на розстрочку схвалено
Заявку на розстрочку скасовано
Заявку на розстрочку відхилено
За бажанням можна налаштувати надсилання будь-якого повідомлення користувачеві. Наприклад, повідомлення у разі невдачі автоматичного платежу.
Для повідомлення про невдалий платіж за конкретною причиною можна налаштувати блоки відповіді так:

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

У всіх колбеках, якщо в тексті «Платіж не вдався» є ці слова, користувачеві надсилається повідомлення з текстом, який ви вкажете.
Як оплатити за підпискою
Як створити підписку
Щоб створити підписку, спочатку потрібно створити підписний товар . Повна інструкція: Як створити та налаштувати підписку
Після цього копіюємо ID підписного товару. Наприклад, нижче показано, звідки його взяти:
Щоб створити посилання для оплати підписки, prodamus_subscription у змінну потрібно ID встановити підписний товар. Після цього автоматично prodamus_pay_url змінна з’являється.

Переклад українською:
prodamus_pay_url змінну можна вивести на екран як посилання або розмістити на кнопці з текстом «Оплатити». Приклад посилання: https://payform.kz/7p3JR8/
Обробка результату виконується так само, як і для разової оплати (як вище прочитали).
Після успішної підписки користувачеві додається customer_phone змінна, введена під час оплати. Номер телефону потрібен для керування підпискою.
Якщо customer_email не вказано, для керування підпискою customer_phone обов’язково.
get_prodamus_subscription_url як створити посилання на підписку за допомогою функції
get_prodamus_subscription_url як створити посилання на підписку за допомогою функціїРозгляньмо інший спосіб створення посилання для оплати товару за підпискою.
У кабінеті Продамус створюється підписний товар. Повну інструкцію можна переглянути за посиланням: Як створити та налаштувати підписку
Після цього копіюємо ID підписного товару. Наприклад, нижче показано, звідки його взяти:
Для отримання посилання для оплати товару за підпискою в Калькуляторі вказуємо функцію
get_prodamus_subscription_url(subscription_id, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)
Приклад 1: Посилання для оплати товару за підпискою

link = 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
Час дії платіжного посилання — у форматі дд.мм.рррр (наприклад, 25.01.2021).
Також можна вказати у полі «Калькулятор»:
expired параметр можна також вказати з точним часом, формат: дд.мм.рррр гг:хх (наприклад, 25.01.2021 12:23).
Можна також використовувати стандартні змінні, наприклад, встановити термін дії посилання на 30 хвилин:
Якщо ви хочете пропустити цей параметр, замість нього вкажіть одинарні або подвійні лапки, або None значення.
customer_phone
Номер телефону платника — необов’язково, якщо задано customer_email параметр.
Якщо ви хочете пропустити цей параметр, замість нього вкажіть одинарні або подвійні лапки.
customer_email
Email платника — необов’язково, якщо задано customer_phone параметр.
Якщо ви хочете пропустити цей параметр, замість нього вкажіть одинарні або подвійні лапки.
discount
Розмір знижки — параметр можна вказати як ціле або десяткове число: 25 або 63.5.
Якщо ви хочете пропустити цей параметр, замість нього вкажіть одинарні або подвійні лапки.
description
Опис товару — якщо не вказано, за замовчуванням 'Оплата рахунку order_id' заповнюється.
Якщо ви хочете пропустити цей параметр, замість нього вкажіть одинарні або подвійні лапки.
extra_params
Додаткові параметри, це параметри, яких немає в цій функції. Можливі додаткові параметри можна переглянути в документації API платіжної системи: Інструкція Prodamus REST API
Приклад:
Якщо ви хочете пропустити цей параметр, замість нього вкажіть одинарні/подвійні лапки або None значення.
products_for_receipt
рядок із 50–4000 символів, формат: "опис замовлення - ціна - посилання на ресурс, що купується"
Приклад: Курс «Лящоловний курс», ціна 4999 тенге, посилання на сторінку курсу: https://www.lovilescha.ru/courses/poimai_kilogram/.
Цей параметр обов’язковий, якщо у вас немає власної онлайн-каси, і потрібен для фіскалізації платежів через Prodamus.
extra_params = {"payments_limit": "3"}
products_for_receipt = "Курс ‘Лящоловний курс’, щомісячна підписка 2000 тенге, посилання на сторінку курсу: https://www.lovilescha.ru/courses/poimai_kilogram/"
link_prodamus_sub = get_prodamus_subscription_url(618988, 'Курс ‘Лящоловний курс’', '27.03.2023 17:02', '79167777771', '[email protected]', 20, 'Найкращий курс на ринку', extra_params, products_for_receipt)
Якщо в блоці під час отримання посилання через кілька функцій сталася помилка, значення помилки error_payment_func у змінну записується.
Помилка записується за останньою функцією в Калькуляторі.
Як керувати статусом підписки
Цей метод призначений лише для реальних підписок, у деморежимі прив’язки картки немає.
Для керування підпискою обов’язково customer_phone або customer_email має бути переданий один із параметрів.
Щоб відписати користувача від підписки, потрібно створити блок і викликати таку функцію: delete_subscription_prodamus
Приклад параметрів:
url— URL платіжної форми, взятий із налаштувань у конструкторіsecret_key— секретний ключ, взятий із налаштуваньid_subscription— ID підписного продуктуcustomer_phone— телефон власника підпискиswitcher— керування підпискою:0— зупинити підписку,1— повторно активувати підпискуprofile_id— ID профілю в системі Prodamus
Примітка:
Якщо ID профілю передається, він profile_id зберігається в змінну.
profile_id функції customer_phone або customer_email замість нього й можна зупинити підписку.
Приклад: налаштування блоків підписки

Зверніть увагу, що функція status повертає, його можна зберегти та обробити на власний розсуд. Під час успішної зупинки або повторної активації підписки status = ok буде.
Функція для керування підпискою
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 – email власника підписки; необов’язковий, якщо вказано customer_phone
profile_id – ID профілю в системі Prodamus

Переклад українською:
Приклад 1: customer_phone параметр зазначено, customer_email пропущено:
Приклад 2: customer_email параметр зазначено, customer_phone пропущено:
Функція, якщо всі операції успішно завершено, ok повертає або, якщо сталася помилка, повертає її опис.
Керування знижками в підписці
Ця функція встановлює розмір знижки на наступні платежі за підпискою. Знижка обмежену або необмежену кількість платежів.
Параметри:
subscription_id— ID підпискиdiscount— десяткове число з точністю до двох знаків після крапки; значення має бути більшим за нуль і не перевищувати базову вартість підпискиcustomer_phone— номер телефону клієнта, формат:+79999999999(необов’язково, якщоcustomer_emailє змінна; вона з’являється після першого платежу)num— кількість платежів, для яких застосовується знижка (необов’язково; якщо не вказано, знижка застосовується до всіх платежів)profile_id— ID профілю в системі Prodamus
Якщо запит успішно виконано, функція 'ok' повертає; якщо сталася помилка, функція повертає її опис.
Розмір знижки та інтервал перезаписуються лише за повторного виклику функції з новими значеннями!
Приклади:
1. Дати знижку 1₽ на всі наступні автоплатежі (номер телефону не вказується, оскільки він автоматично customer_phone береться зі змінної; сума знижки за замовчуванням застосовується до всього строку підписки):
2. Приклад знижки 2₽ на наступні 3 платежі (номер телефону передано порожніми лапками, оскільки він автоматично customer_phone береться зі змінної):
3. Приклад вказання знижки десятковим дробом (роздільник — крапка, значення вказуються без лапок), номер телефону можна передати через змінну.

r = prodamus_subscription_discount(#{prodamus_subscription}, 10.25, #{customer_phone}, 3)
Як встановити дату наступного платежу за підпискою
За допомогою цього способу можна перенести дату наступного платежу за підпискою. Дату можна переносити лише з поточної встановленої дати наступного платежу «у майбутнє» таким чином збільшуючи термін участі в клубі.
Наприклад, це можна використати як бонус для підписників.
Для цього потрібно скористатися такою функцією:
Параметри:
subscription_id— ідентифікатор підпискиdate— дата у форматі дд.мм.рррр гг:хх або дд.мм.рррр; якщо вказано лише дд.мм.рррр, час буде 00:00customer_phone— необов’язково; якщо не вказано,customer_phoneбереться зі змінної; якщо не знайдено, функція не працюватимеprofile_id— ID профілю в системі Prodamus
Як передавати параметри в Prodamus
Щоб передати потрібні параметри (наприклад, дату початку підписки, вимкнення розстрочки тощо) в систему Prodamus, додайте до назви змінної prodamus_ префікс.
Після цього, коли ви створюватимете платіжне посилання, параметри з цієї змінної автоматично передаватимуться до платіжної системи.
Як протестувати платіж
Тестуємо лише платіж!
Під час налаштування інтеграції та платіжних воронок, щоб з вашого рахунку не списувалися кошти можна використовувати тестові картки.
Спочатку переведіть вашу платіжну сторінку у ДЕМО-режим ⤵ Не забудьте натиснути кнопку «Зберегти».

Для виконання тестового платежу можна використовувати тестові рахунки.
Тестові картки Сбербанку:
МІР Номер картки: 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
❗️Під час оплати через тестові рахунки всі налаштовані воронки та інтеграції працюватимуть так само, як і під час звичайної оплати❗️
Форму перевірено
Для приймання реальних платежів форма має бути переведена в робочий режим. Тобто перемикач демо-режиму потрібно встановити в яскраво-червоний стан.
Last updated