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 Если для подписки указан ID товара, сумма платежа не учитывается. Данные о товаре берутся из карточки товара в кабинете Prodamus. Указанный в платеже номер телефона будет нужен для управления подпиской. Если для подписки указан ID товара, то при успешном платеже в колбэке будет передан ID этого товара.
Поле «Оплаченный контент» (условно обязательное) — эти данные нужны для фискализации платежа через 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_installment_0_0_10
Рассрочка на 10 месяцев через «ОТП Банк»
otp_installment_0_0_12
Рассрочка на 12 месяцев через «ОТП Банк»
otp_installment_0_0_24
Рассрочка на 24 месяца через «ОТП Банк»
otp_installment_0_0_36
Рассрочка на 36 месяцев через «ОТП Банк»
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 параметрам, в которых указаны валюта и сумма.
Если не указано, то перейдет на страницу без способов оплаты. Способы оплаты можно добавить через поддержку. Подключенные способы можно посмотреть в настройках страницы или по ссылке на оплату.


Как обрабатывать результат
Успешный платеж
Важно: после успешной или неуспешной оплаты в бот приходят коллбэки (callback), с помощью которых можно определить, успешно ли была совершена оплата.
Коллбэки в системе выглядят как сообщения от пользователя, но пользователь их отправить не может. Они представляют собой комбинацию секретного ключа и статуса. Например:
или
После успешной оплаты 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 задать 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 подписного товара — можно скопировать из кабинета Продамус (обязательный параметр).
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 профиля в системе Продамус
Примечание:
Если приходит 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 профиля в системе Продамус

Перевод на казахский язык (деловой стиль):
Пример 1: customer_phone параметр задан, customer_email пропущен:
Пример 2: customer_email параметр задан, customer_phone пропущен:
Если все операции выполнены успешно, функция ok или описание ошибки, если произошла ошибка.
Управление скидками в подписке
Эта функция задает размер скидки на последующие платежи по подписке. Скидка на ограниченное или неограниченное количество платежей.
Параметры:
subscription_id— ID подпискиdiscount— десятичное число с точностью до двух знаков после точки; значение должно быть больше нуля и не превышать базовую стоимость подпискиcustomer_phone— номер телефона клиента, формат:+79999999999(необязательно, еслиcustomer_emailесть переменная; она появится после первого платежа)num— количество платежей, на которые применяется скидка (необязательно; если не указано, скидка применяется ко всем платежам)profile_id— ID профиля в системе Продамус
Если запрос выполнен успешно, функция '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_ префикс.
Затем при создании ссылки на оплату параметры из этой переменной будут автоматически отправлены в платежную систему.
Как тестировать оплату
Тестируем только оплату!
Чтобы при настройке интеграции и воронок оплаты с вашего счета не списывались деньги, можно использовать тестовые карты.
Сначала переведите вашу платежную форму в ДЕМО-режим ⤵ Не забудьте нажать кнопку «Сохранить».

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