Доступно только на тарифе «Инфобиз».

Как подключить 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 будет завершено.

Как сформировать ссылку на оплату

Ссылку на оплату можно сформировать одним из следующих способов:

Способ с переменной 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 Сумма платежа

Колбэки от платежной системы пользователь не видит. Они отображаются во вкладке «Клиенты» и доступны оператору.

Пример настройки обработки успешной оплаты

  1. Добавьте в блок кнопку с функцией «Оплата».
  2. Создайте соединение от этого блока к блоку успешной оплаты.
  3. В поле «Условие соединения» укажите полученный колбэк.

Колбэк также можно указать в поле «Стартовое условие» отдельного блока.

При настройке условия выберите подходящий тип сравнения:

  • Полное совпадение;
  • По наличию ключевых слов.

При проверке колбэка в условии соединения учитывайте положение клиента в схеме. Если клиент уже покинул блок, из которого выходит соединение с условием, переход выполнен не будет.

Для схем, в которых клиент перемещается между блоками, рекомендуется обрабатывать колбэк с помощью блока «Стартовое условие».

Успешный платеж для товара с автоподпиской

После успешной оплаты товара по подписке в бот автоматически поступает колбэк, состоящий из:

  • первых 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_21
  • installment_6_28
  • installment_10_28
  • installment_12_28
  • installment_0_0_3
  • installment_0_0_4
  • installment_0_0_6
  • installment_0_0_10
  • installment_0_0_12
  • installment_0_0_24
  • installment_0_0_36

а также варианты:

  • vsegdada_*
  • sbrf_*
  • otp_*
  • mts_*

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


Валюта платежа

Дополнительно можно использовать переменную:

prodamus_currency

Возможные значения:

rub
usd
eur
kzt

Пример:

prodamus_currency = "eur"

В этом случае сумма будет отображаться в евро.

После получения колбэка ориентируйтесь на поля:

  • currency
  • currency_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.


Какие колбэки доступны

Помимо уведомлений об успешной оплате, бот получает и другие служебные сообщения.

Пользователь их не видит.

Доступны следующие колбэки:

  1. Подписчик деактивировал подписку.
  2. Подписчик реактивировал подписку.
  3. Подписка завершена.
  4. Неуспешная оплата.
  5. Уведомление о предстоящем списании.
  6. Заявка на рассрочку со статусом.

Примеры сообщений

Подписчик деактивировал подписку
Подписчик реактивировал подписку
Подписка завершена
Не успешная оплата - Недостаточно средств
Не успешная оплата - Срок действия карты истёк
Не успешная оплата - Превышен лимит по карте
Не успешная оплата - Карта утеряна
Не успешная оплата - Системная ошибка
Не успешная оплата - Операция отклонена. Обратитесь в банк.
Не успешная оплата - Отказ банка-эмитента
Уведомление о предстоящем списании - 25.12.2026 12:00
Заявка на рассрочку одобрена
Заявка на рассрочку отменена
Заявка на рассрочку отклонена

Подробнее об ошибках:

https://help.prodamus.ru/payform/integracii/tekhnicheskaya-dokumentaciya-po-avtoplatezham/kody-oshibok


Можно настроить отдельные сценарии обработки таких уведомлений.

Например, если необходимо отправлять сообщение только при определенной причине отказа:

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

В этом случае пользователь будет получать одно и то же сообщение при любом неуспешном автосписании.


Как создать платежи по подписке

Создание подписки

Для начала необходимо создать подписной товар в личном кабинете 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

При оплате тестовыми картами настроенные воронки, интеграции и обработчики колбэков сработают так же, как при реальной оплате.

Переход в рабочий режим

После завершения тестирования переведите платежную форму из демо-режима в рабочий.

Для приема реальных платежей переключатель демо-режима должен быть выключен.

После изменения режима обязательно сохраните настройки.