Как подключить 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.

Поддерживаемые значения:

  • kzt
  • usd
  • eur

На сгенерированной странице оплаты будет отображаться сумма в выбранной валюте.

При обработке обратного вызова payment_callback обратите внимание на следующие поля:

  • currency
  • currency_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_phone
  • customer_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

Важно: Тестовые карты запускают ту же логику чат-бота, обратные вызовы, автоматизации и интеграции, что и реальные платежи.

После завершения тестирования переключите страницу оплаты обратно в Боевой режим, чтобы начать принимать реальные платежи.

Переключатель демо-режима должен быть выключен (красный переключатель отключен).