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

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

URL уведомления необходимо указать в двух разделах настроек платежной системы:
- На вкладке Настройки формы для разовых платежей
- На вкладке Подписки для платежей по подписке

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

Важно: После ввода URL обязательно нажмите Сохранить.
Чтобы подключить Prodamus в Mavibot, откройте раздел Эквайринг.

Затем введите URL платежной формы и секретный ключ в соответствующие поля.

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

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

Это уведомление можно использовать для построения дополнительной логики чат-бота.
Многие платежные провайдеры поддерживают облачные кассы, необходимые для соблюдения налогового законодательства. Проверьте документацию вашего платежного провайдера для получения информации о формировании чеков и фискализации.
Страница оплаты, открываемая по кнопке, выглядит так:

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

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

Примечание: Дата истечения должна быть позже текущей даты. В противном случае клиент не сможет завершить оплату.
Неактивная кнопка оплаты
Если клиент запрашивает кнопку оплаты после того, как срок действия ссылки истек, кнопка не отображается.
Вместо этого создается следующая переменная клиента:
error_payment_button
Значение:
Ошибка: Дата истечения ссылки должна быть позже текущей даты.
Рекомендуем обрабатывать эту ситуацию в сценарии вашего чат-бота.
Создайте условие, которое проверяет:
error_payment_button == "Ошибка: Дата истечения ссылки должна быть позже текущей даты."
Если условие выполнено, отправьте сообщение, например:
Извините, вы не успели завершить оплату вовремя. Срок действия ссылки на оплату истек.


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

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

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

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

Затем используйте сгенерированную переменную prodamus_pay_url везде, где нужно отправить платежную ссылку.

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

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

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

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

Любой обратный вызов, содержащий текст Платеж не прошел, запустит настроенное действие чат-бота.
Регулярные платежи
Создание подписки
Прежде чем принимать подписные платежи, создайте продукт с подпиской в вашем аккаунте Prodamus.
Подробные инструкции см. в документации Prodamus.
После создания продукта с подпиской скопируйте его Subscription Product ID.

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

Параметры
| Параметр | Описание |
|---|---|
subscription_id |
Обязательный. Subscription Product ID из вашего аккаунта Prodamus. |
product_name |
Обязательный. Название продукта. |
expired |
Дата истечения срока действия ссылки на оплату. Поддерживает dd.MM.yyyy или dd.MM.yyyy HH:mm. Также поддерживаются переменные. |
customer_phone |
Номер телефона клиента. Необязателен, если указан customer_email. |
customer_email |
Адрес электронной почты клиента. Необязателен, если указан customer_phone. |
discount |
Сумма скидки. |
description |
Описание продукта. |
extra_params |
Дополнительные параметры API Prodamus. |
products_for_receipt |
Информация о чеке. Обязателен при использовании фискализации Prodamus без собственной онлайн-кассы. |
Пример
extra_params = {
"payments_limit": "3"
}
products_for_receipt = "Photography Course subscription, 2000 RUB/month, https://example.com/course"
subscription_link = get_prodamus_subscription_url(618988, "Photography Course", "27.03.2023 17:02", "79167777771", "[email protected]", 20, "Premium subscription", extra_params, products_for_receipt)
Если в одном блоке Калькулятора выполняется несколько функций генерации ссылок на оплату и одна из них завершается ошибкой, ошибка сохраняется в переменной
error_payment_func.
Управление статусом подписки
Управление подпиской доступно только для активных подписок. Оно не поддерживается в демо-режиме, так как не привязана платежная карта.
Для управления подпиской должен быть доступен хотя бы один из следующих параметров:
customer_phonecustomer_email
Чтобы отменить или реактивировать подписку, используйте следующую функцию:
delete_subscription_prodamus
Пример параметров:
{
"customer_phone": "#{customer_phone}",
"id_subscription": "#{prodamus_subscription}",
"url": "https://demo.payform.ru/",
"secret_key": "453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66",
"switcher": "0",
"profile_id": "12345"
}
Параметры
| Параметр | Описание |
|---|---|
url |
URL платежной формы, настроенный в Mavibot. |
secret_key |
Ваш секретный ключ Prodamus. |
id_subscription |
Subscription Product ID. |
customer_phone |
Номер телефона подписчика. |
switcher |
Действие с подпиской: 0 – деактивировать, 1 – реактивировать. |
profile_id |
ID профиля клиента в Prodamus. |
Если Prodamus возвращает ID профиля, он автоматически сохраняется в переменной
profile_id. Вы можете использовать эту переменную вместоcustomer_phoneилиcustomer_emailпри управлении подписками.
Пример:

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

Скидка на следующие три платежа
result = prodamus_subscription_discount(
"624034",
"2",
"",
"3"
)

Десятичная скидка
result = prodamus_subscription_discount(
#{prodamus_subscription},
10.25,
#{customer_phone},
3
)


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

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