Comment on page
Prodamus
Prodamus — один из самых популярны и востребованных платежных агрегаторов, который поддерживает:
- Банковские карты
- Оплата зарубежными картами
- Сбербанк Онлайн
- Быстрый платеж
- Юmoney
- Qiwi
- Платежные терминалы
- Рассрочка от Тинькофф
- Кредит от Тинькофф
- Рассрочка от брокера ВсегдаДа
- По счету
- А также есть поддержка рекуррентных платежей (подключается отдельно по запросу)
Для интеграции Prodamus с MultyAI, вам нужен активированный аккаунт в сервисе Prodamus.
Чтобы там зарегистрироваться, необходимо зайти на их официальный сайт и оставить заявку. Также вы можете оставить заявку у них во ВКонтакте или в Telegram.
Стоимость подключения: 10 000 руб. (без абонентской платы)
При регистрации напишите промокод MULTY и получите скидку 2000 руб.
Первым делом заходим в ваш Проект в MultyAI → Настройки проекта → Интеграции → Prodamus

И нажимаем кнопку "Добавить"

Далее вам нужно ввести:
- Имя аккаунта (поддомена)
- Секретный ключ

Имя аккаунта — это поддомен вашего аккаунта в Prodamus.
Например, если ваш аккаунт myschool.payform.ru, то вводите myschool
Секретный ключ — находится в настройках вашего аккаунта в Prodamus.
- Идем на сайт Продамуса
- Заходим в ваш личный кабинет.
- Заходим в настройки
- Спускаемся в самый низ и жмем кнопку "Настройки"
- Затем находим поле "Секретный ключ" и копируем его
После того, как заполнили оба поля, нажмите сохранить и снова откройте интеграцию.
Вы увидите, что появилась новая строчка "Webhook URL для настройки уведомлений"
Скопируйте содержимое и возвращайтесь в настройки Prodamus.

Найдите раздел "Настройка уведомлений"
Вставьте скопированную ссылку в поле "URL адреса для уведомлений"
И нажмите "Сохранить"

Готово! Интеграция подключена!
Затем зайдите в раздел "Блок-схемы", создайте новую схему и сделайте следующую настройку:
- Для начала выберите событие, на которое мы будем реагировать для выдачи оплаты. Например: - Написал ключевое слово в сообщество/бота - Нажал "Написать" в товарах сообщества "Вконтакте" - Нажал на кнопку "Оплатить" - и т.д. Но для начала рекомендуем возьмем самый простой пример.
- Создайте блок Событие с контейнером "Входящее сообщение", условием "Текст сообщения" и добавьте туда какой-то текст, в ответ на который бот будет присылать ссылку на оплату. Например "Оплатить"

- Создайте блок Действие и во вкладке "Интеграции" выберите контейнер "Создать ссылку на оплату в Prodamus"
Далее идем по пунктам:
- Аккаунт Prodamus — выберите из списка нужную подключенную интеграцию
- Номер заказа внутри проекта — Здесь введите номер заказа. Небольшой лайфхак: чтобы выдавать рандомное значение, вставьте туда следующее выражение:
{date:|%utc}-{rand:|10|99}
- оно будет само подставлять случайные, уникальные значения. - Ссылка после оплаты — добавьте ссылку, куда будет перебрасывать пользователя после оплаты. Например, на диалог с вашим сообществом в ВК или Telegram-бота.
- Полная стоимость заказа — указывать не обязательно, если вы создаете продукт ниже.
- Сумма скидки — на ваше усмотрение
- Добавить продукт — настоятельно рекомендуем использовать этот пункт
- Выберите продукт — нажмите на поле, введите название вашего продукта в поле создания, нажмите создать и выберите его.
- Переназначить цену — укажите стоимость продукта.
- Кол ичество — укажите количество
- Описание заказа — это комментарий, который будет показан пользователю на странице оплаты. По умолчанию задается название продукта.
Готово!
Обычно этого достаточно, но вы можете использовать дополнительные настройки.
- Задать данные клиента — здесь по умолчанию заданы переменные. Они актуальны, если вы сохраняете данные пользователя в поля профиля. Если вы сохраняете контакты в переменные, поля пользователей или в глобальные переменные, то здесь подставляйте соответствующие значения. Стандартные значения:
- Номер телефона клиента — {var:users.user.contact.phone[0]} Внимание! Если вы используете поле профиля для телефона, то если такой телефон уже есть, бот выдаст ошибку. Учитывайте это. Можете задать условие проверки или использовать обычные переменные.
- Email клиента — {var:users.user.contact.email[0]}
- VK ID клиента — {var:users.user.contact.vk_id[0]}
- TG ID клиента — {var:users.user.contact.tg_id[0]}
- Задать срок жизни ссылки — рекомендуем задавать минимум 1 день, иначе схема может не сработать.
- Активировать подписку — это панель для рекуррентных платежей. Убедитесь перед настройкой, что она у вас активирована и оплачена в Prodamus.
- ID подписки — числовой идентификатор подписки. Можно найти в настройках формы в Prodamus.
- Дата старта подписки — Формат: ГГГГ-ММ-ДД ЧЧ:ММ. Если не передавать, будет использована текущая.
- Демо-период — Количество дней демо-периода подписки. По желанию.
- Количество платежей — максимальное количество авто-платежей по подписке.
- Добавить поля заказа — дополнительные (сквозные) полезные данные, которые будут возвращены в вебхуке. Например, мы можем сохранять идентификатор партнера, чтобы после оплаты знать, кому начислять бонусы. А также, номер заказа, товар, размер товара и т.д. Т.е. данные, с которыми мы хотим дальше работать. Так скажем, дополнительные возможности для удобства, чтобы не создавать лишний полей.
- Например, возвращаем telegram-id пользователя:
- Параметр: {var:platform.contact.type} - тип контакта
- Тип: Целое число
- Значение: {var:platform.user.id} - id телеграм
- Дополнительные параметры запроса — любые другие дополнительные параметры, согласно документации Prodamus, которые будут добавлены к основным параметрам запроса.
- Например, оплата в демо-режиме:
- Значение: demo_mode
- Тип: Целое число
- Параметр: 1
- Либо мы хотим передать utm:
- Значение: _utm_source
- Тип: Текст
- Параметр: VK
- Сохранить ссылку в переменную
- payment_url — переменная, кото рая указана по умолчанию. Можете задать свою. Она необходима для вывода ссылки на оплату.
Создайте блок Сообщение и вставьте в текст переменную:
{var:effect.payment.url}
Альтернативные варианты:
{var:payment_url}
Где payment_url — название переменной, которое вы ввели (если не меняли) в действии продамуса.{var:result.payment_link}

В этом примере, после перехода по ссылке оплаты, пользователю придется вручную ввести свой номер телефона и у нас он не сохранится в базе.

В этом случае мы изначально не знаем есть ли у пользователя телефон, т.к. нигде его не храним.
Поэтому просто просим написать номер телефона.
Создаем блок Событие - Входящее сообщение - Условие "Текст сообщения", выбираем "Содержит номер телефона".
Через этот блок мы ожидаем ответ от пользователя.
Далее сохраняем полученное значение во временную переменную.
Создаем блок Действие с контейнером "Задать значение текстовой переменной"
Пишем название переменной, например, phone.
И в новое значение вставляем {var:object.text} - т.е. сохраняем ответ пользователя.

В этом примере мы заранее создаем отдельное поле пользовател я под телефон. Например, в разделе "Поля пользователей".
Через условие "Значение числового поля" проверяем есть ли телефон. Например, больше нуля.
Если телефона нет, то просим его написать.
Ставим блок Событие - Входящее сообщение - Условие "Текст сообщения" и выбираем не "равен", а "Содержит номер телефона"
Далее сохраняем значение через действие "Задать значение числового поля" и задаем переменную {var:object.text}
А в блоке с формированием заказа, заменяем переменную номера телефона на:
{field:phone}, где phone - системное имя вашего Числового поля пользователя.

Т.к. в MultyAI уже есть скрытые поля контактов и соответствующие действия и условия работы с ними, то мы можем использовать данный метод.
Отличие от предыдущего в том, что мы дополнительно проверяем, есть ли телефон в базе. Если есть, то просим указать другой.
Для этого:
- В первом условии проверяем есть ли телефон с помощью контейнера "Текстовая переменная". Вставляем {var:users.user.contact.phone[0]} не равен undefined
- После ожидания телефона, действ ием ищем пользователя по контакту И ответ пользователя {var:object.text} сохраняем в переменную user_exists
- И через условие проверяем есть ли пользователь в базе. {var:user_exists.id} > 0
Last modified 10mo ago