Доступно только на тарифе «Инфобиз».
Как подключить Prodamus
Для подключения Prodamus понадобятся:
- URL платежной формы;
- секретный ключ.
URL платежной формы вы получите после регистрации. Он имеет вид:
demo.payform.ru
Секретный ключ можно получить в личном кабинете Prodamus. Там же необходимо указать URL для уведомлений.

Подробная инструкция:
URL для уведомлений и секретный ключ
URL для уведомлений:
https://chatter.salebot.pro/prodamus_callback/result
Этот адрес необходимо указать в настройках Prodamus в двух местах.
На главной странице настроек можно выбрать режим работы формы:
- демо-режим без реальных оплат;
- рабочий режим для приема платежей.

Для обычных платежей укажите URL для уведомлений во вкладке «Настройка формы».

URL для уведомлений:
https://chatter.salebot.pro/prodamus_callback/result
Для работы с оплатами по подписке перейдите во вкладку «Подписки» и укажите тот же URL:
https://chatter.salebot.pro/prodamus_callback/result

После ввода URL обязательно нажмите кнопку «Сохранить».
Для подключения Prodamus в Salebot перейдите в раздел «Эквайринг».

Укажите в форме URL платежной формы и секретный ключ.

Важно! URL платежной формы необходимо указывать без
https://.
После сохранения данных подключение Prodamus будет завершено.
Как сформировать ссылку на оплату
Ссылку на оплату можно сформировать одним из следующих способов:
- с помощью кнопки с функцией «Оплата»;
-
с помощью функции
get_prodamus_payment_urlв Калькуляторе; -
с помощью переменной
payment_sumи дополнительных параметров.
Способ с переменной
payment_sumсчитается устаревшим, но продолжает работать.
Кнопка с функцией «Оплата»
Ссылку на оплату можно создать с помощью кнопки с функцией «Оплата».
Инструкция по созданию кнопки:
Обязательные параметры кнопки «Оплата» для Prodamus
Для формирования ссылки на оплату необходимо указать:
- сумму;
- наименование товара;
- оплаченный контент — если у вас нет собственной онлайн-кассы и чек должен формироваться через Prodamus.
При переходе на страницу оформления заказа информация о товаре и его стоимости будет заполнена автоматически. Клиенту останется указать свои контактные данные.
Если в настройках кнопки передать email или номер телефона пользователя, эти данные также будут автоматически заполнены на странице оплаты.

Поля кнопки
Текст
Текст, который будет отображаться на кнопке со ссылкой на оплату.
Функция
Для формирования ссылки выберите функцию «Оплата».
Платежная система
В списке отображаются платежные системы, подключенные к проекту.
Если к проекту не подключена ни одна платежная система, кнопка с функцией «Оплата» будет недоступна.
Наименование товара
Обязательное поле.
Укажите точное название товара. Например, вместо «Телефон» лучше указать «Смартфон Xiaomi, модель …».
В наименовании товара нельзя использовать двойные кавычки. Удалите их или замените одинарными кавычками.
Сумма
Обязательное поле.
Укажите стоимость товара.
Дополнительная информация
При открытии этого раздела станут доступны дополнительные поля:
- описание заказа;
- скидка в рублях;
- переменная с email покупателя;
- переменная с номером телефона покупателя;
- время жизни ссылки;
- ID товара для подписки;
- оплаченный контент.
С уведомлением о клике
Установите этот флажок, чтобы отслеживать переходы по ссылке оплаты.
После нажатия кнопки в диалоге с клиентом появится служебное уведомление о переходе по ссылке.

На это уведомление можно настроить дальнейшую логику работы бота.
Многие платежные системы поддерживают облачные онлайн-кассы, необходимые для соблюдения требований 54-ФЗ. Перед началом работы ознакомьтесь с правилами формирования чеков на сайте выбранной платежной системы.
Так выглядит страница оплаты, открывающаяся после нажатия кнопки:

Дополнительные параметры ссылки на оплату

Описание заказа
Информация из этого поля будет отображаться на странице оплаты в разделе дополнительных данных.
Скидка
Укажите размер скидки в рублях.
Для указания рублей и копеек используйте точку в качестве разделителя:
50.99
На странице оплаты итоговая сумма будет указана с учетом скидки, а исходная стоимость товара будет перечеркнута.
Переменная с email покупателя
Необязательный параметр, если передан номер телефона.
Можно указать переменную, в которой хранится email пользователя:
#{email}
Переменная с номером телефона покупателя
Необязательный параметр, если передан email.
Номер телефона необходимо передавать в формате:
79000000000
Пример переменной:
#{phone}
Необходимо передать хотя бы один контакт: email или номер телефона.
Время жизни ссылки
Можно указать дату и время окончания действия ссылки в формате:
дд.мм.гггг чч:мм
Пример:
25.01.2027 11:00
Также можно использовать переменную:
#{link_expired}
ID товара для подписки
Для создания автоплатежа передайте ID товара по подписке.
Предварительно необходимо создать подписной товар в личном кабинете Prodamus.
Подробная инструкция:
Как создать и настроить подписку
Если передан ID товара по подписке, сумма платежа из настроек кнопки не учитывается. Данные будут получены из карточки товара в кабинете Prodamus.
Номер телефона, указанный при оплате, понадобится для управления подпиской.
При успешной оплате товара по подписке в колбэке будет передан ID этого товара.
Оплаченный контент
Условно обязательное поле.
Оно необходимо для фискализации оплаты через Prodamus, если у вас нет собственной онлайн-кассы.
Укажите:
- описание покупки;
- стоимость;
- ссылку на ресурс с приобретенным контентом.
Пример:
Курс «Плетение кос», стоимость 3000 рублей, ссылка на страницу курса: https://nbu.su/krasota/master-po-pleteniyu-kos/
Эти данные необходимы для передачи сведений в ФНС.
Срок действия ссылки в кнопке с функцией «Оплата»
Если для ссылки указано время жизни, возможны следующие ситуации.
Пользователь открывает ссылку после окончания срока действия
Если ссылка уже была отправлена пользователю, но срок ее действия истек, при попытке оплаты появится уведомление:

Срок действия ссылки должен быть позже текущей даты. В противном случае клиент не сможет выполнить оплату.
Пользователь запрашивает уже недействительную ссылку
Если срок действия ссылки истек до момента ее формирования, кнопка оплаты не появится.
В переменных клиента будет создана переменная:
error_payment_button
В нее запишется значение:
Ошибка: Срок действия ссылки должен быть позже текущей даты
Такую ситуацию рекомендуется обработать отдельным блоком.
Создайте блок с условием:
error_payment_button == "Ошибка: Срок действия ссылки должен быть позже текущей даты"
В тексте блока можно вывести сообщение:
Извините, вы не успели оплатить заказ. Ссылка на оплату больше недействительна.


Переменные клиента, создаваемые кнопкой «Оплата»
После отправки пользователю блока с кнопкой «Оплата» автоматически создаются служебные переменные клиента.
Переменная __payments
Служебная переменная:
__payments
Она хранит:
- сумму платежа;
- идентификатор сформированной ссылки;
- данные, необходимые для сопоставления уведомления от платежной системы с клиентом.
Переменную
__paymentsнельзя удалять или изменять.
Переменная error_payment_button
Переменная:
error_payment_button
создается, если во время формирования кнопки произошла ошибка.
В нее записывается:
- текст внутренней ошибки;
- ответ платежной системы с описанием ошибки.
Значения созданных переменных становятся актуальными после перехода клиента в следующий блок.
Как обработать результат оплаты
Успешный платеж
После успешной оплаты в бот автоматически поступает колбэк.
Для обычной оплаты он состоит из:
- первых 10 символов секретного ключа платежной системы;
- значения
_success; - суммы платежа, указанной через пробел.
Пример:
ovg58keefc_success 44
где:
| Часть колбэка | Описание |
|---|---|
ovg58keefc |
Первые 10 символов секретного ключа платежной системы |
_success |
Статус успешной оплаты |
44 |
Сумма платежа |
Колбэки от платежной системы пользователь не видит. Они отображаются во вкладке «Клиенты» и доступны оператору.
Пример настройки обработки успешной оплаты
- Добавьте в блок кнопку с функцией «Оплата».
- Создайте соединение от этого блока к блоку успешной оплаты.
- В поле «Условие соединения» укажите полученный колбэк.
Колбэк также можно указать в поле «Стартовое условие» отдельного блока.
При настройке условия выберите подходящий тип сравнения:
- Полное совпадение;
- По наличию ключевых слов.
При проверке колбэка в условии соединения учитывайте положение клиента в схеме. Если клиент уже покинул блок, из которого выходит соединение с условием, переход выполнен не будет.
Для схем, в которых клиент перемещается между блоками, рекомендуется обрабатывать колбэк с помощью блока «Стартовое условие».

Успешный платеж для товара с автоподпиской
После успешной оплаты товара по подписке в бот автоматически поступает колбэк, состоящий из:
- первых 10 символов секретного ключа;
- значения
_success; - ID товара по подписке, указанного через пробел.
Пример:
214009eefc_success 618117
где:
| Часть колбэка | Описание |
|---|---|
214009eefc |
Первые 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(
amount,
product_name,
expired,
customer_phone,
customer_email,
discount,
description,
extra_params,
products_for_receipt
)
В поле «Калькулятор» присвойте результат функции выбранной переменной:
payment_link = get_prodamus_payment_url(
amount,
product_name,
expired,
customer_phone,
customer_email,
discount,
description,
extra_params,
products_for_receipt
)
Название переменной можно выбрать самостоятельно.
В эту переменную будет записана ссылка на оплату. Ее можно:
- вывести в сообщении;
- разместить на кнопке;
- использовать в дальнейшей логике бота.
Пример сформированной ссылки:
https://payform.ru/7p3JR8/
Пример настройки в Калькуляторе

Параметры функции
| Параметр | Описание |
|---|---|
amount |
Сумма к оплате. Можно передать целое или дробное число, например 25 или 52.5. Обязательный параметр. |
product_name |
Наименование товара. Обязательный параметр. |
expired |
Дата и время окончания действия ссылки. |
customer_phone |
Номер телефона покупателя. Необязательный параметр, если передан customer_email. |
customer_email |
Email покупателя. Необязательный параметр, если передан customer_phone. |
discount |
Размер скидки. Можно передать целое или дробное число, например 25 или 63.5. |
description |
Описание товара. Если параметр не передан, используется значение вида Оплата счета order_id. |
extra_params |
Дополнительные параметры Prodamus, которых нет среди основных аргументов функции. |
products_for_receipt |
Описание оплаченного контента или список позиций для чека. Условно обязательный параметр для фискализации через Prodamus. |
Параметр expired
Дата окончания действия ссылки может быть указана в формате:
дд.мм.гггг
Пример:
25.01.2027
Также можно указать точное время:
дд.мм.гггг чч:мм
Пример:
25.01.2027 12:23
Срок действия ссылки можно вычислить с помощью стандартных переменных:
expired = current_date + 2
В этом примере ссылка будет действовать еще два дня до 00:00.
Пример ссылки со сроком действия 30 минут:
time = current_time + 30
expired = "#{current_date} #{time}"
Чтобы пропустить параметр, передайте:
""
или:
None
Параметры customer_phone и customer_email
Необходимо передать хотя бы один контакт покупателя:
- номер телефона;
- email.
Чтобы пропустить один из параметров, передайте пустую строку:
""
Параметр extra_params
В extra_params можно передать дополнительные параметры API Prodamus.
Документация:
Инструкция для самостоятельной интеграции
Пример:
extra_params = {
"payments_limit": "3",
"payment_method": "vsegdada_installment_0_0_6"
}
Чтобы пропустить параметр, передайте пустую строку или None.
Параметр products_for_receipt
Параметр можно передать строкой длиной от 50 до 4000 символов в формате:
Описание заказа, стоимость и ссылка на приобретаемый ресурс
Пример:
Курс «Рыбалка на леща», стоимость 4999 рублей, ссылка на страницу курса: https://www.lovilescha.ru/courses/poimai_kilogram/
Параметр обязателен, если:
- у вас нет собственной онлайн-кассы;
- оплата фискализируется через Prodamus.
Также можно передать список словарей с позициями для чека:
[
{
"name": "Мой товар",
"quantity": 1,
"price": 500,
"type": "goods"
}
]
Поля позиции:
| Поле | Описание |
|---|---|
name |
Наименование товара. Обязательный параметр. |
price |
Цена товара. Обязательный параметр. |
quantity |
Количество товара. Обязательный параметр. |
type |
Категория товара. Необязательный параметр. |
Допустимые значения type:
| Значение | Описание |
|---|---|
course |
Доступ к курсу |
service |
Услуга |
goods |
Товар |
Пример кода
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.2027 17:00",
"79167777771",
"mail@example.com",
20,
"Лучший курс на рынке",
extra_params,
products_for_receipt
)
Если в одном блоке используется несколько функций формирования платежной ссылки и в одной из них возникла ошибка, ее текст будет записан в переменную
error_payment_func.
В
error_payment_funcзаписывается ошибка последней функции, расположенной в поле «Калькулятор».
Создание ссылки с помощью переменной payment_sum
Внимание! Способ считается устаревшим. Рекомендуется использовать кнопку с функцией «Оплата» или функцию
get_prodamus_payment_url. Старый способ продолжает поддерживаться и работает.
Для генерации ссылки достаточно присвоить значение переменной payment_sum.
После этого автоматически создается переменная:
prodamus_pay_url
В ней будет храниться ссылка на оплату.
Пример:
https://payform.ru/7p3JR8/
Ссылку можно:
- вывести в сообщении;
- разместить на кнопке;
- использовать в дальнейшей логике бота.
Перед объявлением payment_sum можно задать дополнительные параметры.
Дополнительные переменные
| Переменная | Описание |
|---|---|
product_name |
Наименование товара. Если не указано, используется «Оплата счета order_id». |
payment_description |
Описание товара. Если не указано, используется «Оплата счета order_id». |
discount_value |
Размер скидки. Например: 25 или 50.25. |
customer_phone |
Телефон покупателя. |
customer_email |
Email покупателя. |
link_expired |
Дата окончания действия ссылки. |
currency |
Валюта платежа. |
payment_title |
Заголовок платежа (до 127 символов). |
locale |
Язык страницы оплаты. |
products_for_receipt |
Данные для формирования чека. |
payment_sum |
Сумма платежа. Обязательная переменная. |

Переменные
discount_value,customer_phone,customer_emailиlink_expiredтакже используются при создании подписок.
Время жизни ссылки
Можно указать дату:
25.01.2027
или дату со временем:
25.01.2027 12:30
Также можно использовать стандартные переменные:
link_expired = current_date + 2
или
time = current_time + 30
link_expired = "#{current_date} #{time}"
Валюта
По умолчанию используется:
rub
Поддерживаются следующие значения:
| Значение | Валюта |
|---|---|
rub |
Российский рубль |
usd |
Доллар США |
eur |
Евро |
kzt |
Казахстанский тенге |
Пример
В первом блоке задаем стоимость:

После объявления переменной payment_sum автоматически появится:
prodamus_pay_url
Ее можно вывести пользователю.

Доступные способы оплаты
До объявления payment_sum можно задать переменную:
prodamus_available_payment_methods
Она ограничивает список способов оплаты.
Пример:
prodamus_available_payment_methods = "AC|SBP|PC"
Несколько способов оплаты перечисляются через символ |.
Поддерживаемые значения
| Код | Способ оплаты |
|---|---|
AC |
Банковские карты РФ |
ACkz |
Карты Казахстана |
ACf |
Карты СНГ (кроме РФ) |
ACEURNMBX |
EUR-карты (кроме РФ и РБ) |
SBP |
Система быстрых платежей |
QW |
QIWI |
PC |
ЮMoney |
GP |
Терминалы оплаты |
sbol |
Сбербанк Онлайн |
invoice |
Оплата по счету |
installment |
Частями от Prodamus |
credit |
Кредит Т-Банка |
monetaworld |
Карты иностранных банков |
sbrf_bnpl |
Частями от Сбера |
Также доступны все варианты рассрочек:
installment_5_21installment_6_28installment_10_28installment_12_28installment_0_0_3installment_0_0_4installment_0_0_6installment_0_0_10installment_0_0_12installment_0_0_24installment_0_0_36
а также варианты:
vsegdada_*sbrf_*otp_*mts_*
в соответствии с настройками платежной формы.
Валюта платежа
Дополнительно можно использовать переменную:
prodamus_currency
Возможные значения:
rub
usd
eur
kzt
Пример:
prodamus_currency = "eur"
В этом случае сумма будет отображаться в евро.
После получения колбэка ориентируйтесь на поля:
currencycurrency_sum
Перед использованием валюты убедитесь, что соответствующий способ оплаты подключен в настройках платежной формы Prodamus. Иначе страница оплаты откроется без доступных способов оплаты.


Как обработать результат
Успешный платеж
После успешной оплаты бот получает служебный колбэк.
Пользователь его не видит.
Колбэк выглядит следующим образом:
453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_success
или
453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_fail
После успешной оплаты автоматически создается переменная:
prodamus_payment_completed = True
Колбэк приходит с небольшой задержкой. Рекомендуется сообщить пользователю, что после оплаты необходимо дождаться подтверждения.
Для ссылок, сформированных:
- кнопкой «Оплата»;
- функцией
get_prodamus_payment_url;
в бот автоматически приходит колбэк:
<секретный_ключ>_success
Например:
ovg58keefc_success
где:
| Значение | Описание |
|---|---|
ovg58keefc |
Полный секретный ключ платежной системы |
_success |
Оплата выполнена успешно |
Для обработки достаточно создать блок с условием.

Используйте тип сравнения «Полное совпадение».
Для повторной оплаты обязательно сначала очистите значение
payment_sum, а затем снова присвойте ему сумму. Это позволит сформировать новую ссылку на оплату.
Деактивация и реактивация подписки
Prodamus отправляет отдельные уведомления о состоянии подписки.

Подписчик деактивировал подписку
Отправляется, если пользователь самостоятельно отменил подписку.
Такое уведомление может прийти до окончания уже оплаченного периода.
Возможные варианты обработки:
- оставить без действий;
- поставить пользователя на контроль;
- предложить восстановить подписку.
Подписчик реактивировал подписку
Отправляется, если пользователь повторно активировал подписку до окончания оплаченного периода.
Обычно такое уведомление можно:
- проигнорировать;
- удалить пользователя из списка контроля.
Деактивация подписки
Уведомление приходит после нескольких неудачных попыток автоматического списания.
Как сохранить данные из колбэка
После успешной оплаты в переменную
payment_callback
автоматически записывается JSON с полной информацией о платеже.
Пример:
{
"date": "2021-03-30T11:44:43+03:00",
"order_id": "757679",
"domain": "demo.payform.ru",
"sum": "14.50",
"customer_phone": "+77777777777",
"customer_extra": "Тут описание товара",
"payment_type": "Пластиковая карта Visa, MasterCard, МИР",
"commission": "3.5",
"commission_sum": "0.51",
"attempt": "1",
"discount_value": "10.5",
"products[0][name]": "Доступ к обучающим материалам",
"products[0][price]": "14.50",
"products[0][quantity]": "1",
"products[0][sum]": "14.50",
"payment_status": "success",
"payment_status_description": "Успешная оплата",
"payment_init": "manual"
}
Получить нужные значения можно функцией get().
Например, получить название товара:
product = get(payment_callback, "products[0][name]")
Описание:
description = get(payment_callback, "customer_extra")

Получить сумму:
summa = get(payment_callback, "sum")
Если при формировании ссылки использовались переменные
product_nameиpayment_description, их значения также будут доступны вpayment_callback.
Какие колбэки доступны
Помимо уведомлений об успешной оплате, бот получает и другие служебные сообщения.
Пользователь их не видит.
Доступны следующие колбэки:
- Подписчик деактивировал подписку.
- Подписчик реактивировал подписку.
- Подписка завершена.
- Неуспешная оплата.
- Уведомление о предстоящем списании.
- Заявка на рассрочку со статусом.
Примеры сообщений
Подписчик деактивировал подписку
Подписчик реактивировал подписку
Подписка завершена
Не успешная оплата - Недостаточно средств
Не успешная оплата - Срок действия карты истёк
Не успешная оплата - Превышен лимит по карте
Не успешная оплата - Карта утеряна
Не успешная оплата - Системная ошибка
Не успешная оплата - Операция отклонена. Обратитесь в банк.
Не успешная оплата - Отказ банка-эмитента
Уведомление о предстоящем списании - 25.12.2026 12:00
Заявка на рассрочку одобрена
Заявка на рассрочку отменена
Заявка на рассрочку отклонена
Подробнее об ошибках:
Можно настроить отдельные сценарии обработки таких уведомлений.
Например, если необходимо отправлять сообщение только при определенной причине отказа:

Или обработать все неуспешные списания независимо от причины:

В этом случае пользователь будет получать одно и то же сообщение при любом неуспешном автосписании.
Как создать платежи по подписке
Создание подписки
Для начала необходимо создать подписной товар в личном кабинете Prodamus.
Подробная инструкция:
https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski
После создания товара скопируйте его ID.

Для генерации ссылки присвойте переменной
prodamus_subscription
ID подписного товара.
После этого автоматически появится переменная
prodamus_pay_url
в которой будет храниться ссылка на оплату.

Ссылку можно:
- вывести сообщением;
- разместить на кнопке;
- использовать в дальнейшей логике.
После успешной оплаты пользователю автоматически сохранится переменная:
customer_phone
Она используется для дальнейшего управления подпиской.
Если передан
customer_email, номер телефона можно не передавать.
Создание ссылки на подписку с помощью get_prodamus_subscription_url
Сформировать ссылку на оплату подписки можно с помощью функции:
get_prodamus_subscription_url(
subscription_id,
product_name,
expired,
customer_phone,
customer_email,
discount,
description,
extra_params,
products_for_receipt
)
Перед использованием функции необходимо создать подписной товар в личном кабинете Prodamus.
Инструкция:
https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski
После создания товара скопируйте его ID.

Пример
В Калькуляторе вызовите функцию:
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 |
Срок действия ссылки. |
customer_phone |
Телефон покупателя. Необязателен, если передан customer_email. |
customer_email |
Email покупателя. Необязателен, если передан customer_phone. |
discount |
Размер скидки. |
description |
Описание товара. |
extra_params |
Дополнительные параметры Prodamus. |
products_for_receipt |
Данные для формирования чека. |
Параметр expired
Можно передать дату:
25.01.2027
или дату со временем:
25.01.2027 12:30
Также допускается использовать вычисляемые значения:
expired = current_date + 2
или
time = current_time + 30
expired = "#{current_date} #{time}"
Чтобы пропустить параметр, передайте:
""
или
None
Пример использования
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.2027 17:02",
"79167777771",
"mail@example.com",
20,
"Лучший курс на рынке",
extra_params,
products_for_receipt
)
Если в одном блоке используется несколько функций формирования ссылок и одна из них завершилась ошибкой, ее описание будет записано в переменную
error_payment_func.
Управление подпиской
Работает только для реальных подписок. В демо-режиме привязка карты отсутствует.
Для управления подпиской необходимо передать хотя бы один параметр:
-
customer_phone; -
customer_email.
Остановка и повторная активация подписки
Для управления подпиской используется функция:
https://store.salebot.pro/function/delete_subscription_prodamus
Пример параметров:
{
"customer_phone": "#{customer_phone}",
"id_subscription": "#{prodamus_subscription}",
"url": "https://demo.payform.ru/",
"secret_key": "секретный_ключ",
"switcher": "0",
"profile_id": "12345"
}
Параметры
| Параметр | Описание |
|---|---|
url |
URL платежной формы. |
secret_key |
Секретный ключ Prodamus. |
id_subscription |
ID подписного товара. |
customer_phone |
Телефон подписчика. |
switcher |
0 — остановить подписку, 1 — возобновить подписку. |
profile_id |
ID профиля в Prodamus. |
Если Prodamus передает
profile_id, он автоматически сохраняется в одноименную переменную клиента.
В дальнейшем вместо телефона можно использовать именно profile_id.
Пример настройки блока:

После выполнения функции возвращается значение:
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 |
Email подписчика. |
profile_id |
ID профиля Prodamus. |

Пример
По номеру телефона:
status = prodamus_subscription_switch_status(
"618117",
"0",
"75431312321"
)
По email:
status = prodamus_subscription_switch_status(
"618117",
"0",
"",
"example@mail.com"
)
Функция возвращает:
ok
или текст ошибки.
Управление скидкой по подписке
Для изменения скидки используется функция:
prodamus_subscription_discount(
subscription_id,
discount,
customer_phone,
num,
profile_id
)
Параметры
| Параметр | Описание |
|---|---|
subscription_id |
ID подписки. |
discount |
Размер скидки. Дробная часть отделяется точкой. |
customer_phone |
Телефон подписчика. |
num |
Количество платежей, на которые действует скидка. |
profile_id |
ID профиля Prodamus. |
При успешном выполнении функция возвращает:
ok
Повторный вызов функции полностью заменяет ранее установленную скидку.
Пример 1
Скидка 1 рубль на весь срок подписки:
r = prodamus_subscription_discount(
"624034",
"1"
)

Пример 2
Скидка 2 рубля на три следующих платежа:
r = prodamus_subscription_discount(
"624034",
"2",
"",
"3"
)

Пример 3
Скидка с дробной частью:
r = 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 |
Новая дата платежа в формате дд.мм.гггг чч:мм или дд.мм.гггг. Если время не указано, используется 00:00. |
customer_phone |
Номер телефона подписчика. Если параметр не передан, функция попытается получить значение из переменной customer_phone. |
profile_id |
ID профиля в системе Prodamus. |
Пример с датой и временем:
status = prodamus_subscription_payment_date(
"618117",
"25.12.2026 14:30",
#{customer_phone}
)
Пример без точного времени:
status = prodamus_subscription_payment_date(
"618117",
"25.12.2026",
#{customer_phone}
)
В этом случае время следующего платежа будет установлено на 00:00.
Если номер телефона не передан в функцию и отсутствует в переменной
customer_phone, функция не выполнится.
Как передать дополнительные параметры в Prodamus
Чтобы передать в Prodamus дополнительные параметры, добавьте к названию переменной префикс:
prodamus_
Например:
prodamus_start_date = "25.12.2026"
или:
prodamus_available_payment_methods = "AC|SBP"
Такие переменные будут автоматически переданы в платежную систему при формировании ссылки на оплату.
Этот способ можно использовать, например, для передачи:
- даты начала подписки;
- доступных способов оплаты;
- валюты;
- ограничений на рассрочку;
- других параметров, поддерживаемых Prodamus.
Как протестировать оплату
Тестировать необходимо только процесс оплаты.
Чтобы при проверке интеграции не списывались реальные денежные средства, переведите платежную форму Prodamus в демо-режим.
После включения демо-режима обязательно нажмите кнопку «Сохранить».

Тестовые банковские карты
Для проверки оплаты можно использовать тестовые карты.
МИР
Номер карты: 2202 2050 0001 2424
Срок действия: 05/35
CVC/CVV: 669
Mastercard
Номер карты: 5469 9801 0004 8525
Срок действия: 05/26
CVC/CVV: 041
Код 3-D Secure: 111111
Visa
Номер карты: 4006 8009 0096 2514
Срок действия: 05/26
CVC/CVV: 941
Код 3-D Secure: 111111
При оплате тестовыми картами настроенные воронки, интеграции и обработчики колбэков сработают так же, как при реальной оплате.
Переход в рабочий режим
После завершения тестирования переведите платежную форму из демо-режима в рабочий.
Для приема реальных платежей переключатель демо-режима должен быть выключен.
После изменения режима обязательно сохраните настройки.