Prodamus

Prodamus — один из самых популярны и востребованных платежных агрегаторов, который поддерживает:

  • ​Банковские карты​

  • ​Оплата зарубежными картами​

  • ​Сбербанк Онлайн​

  • ​Быстрый платеж​

  • ​Юmoney​

  • ​Qiwi​

  • ​Платежные терминалы​

  • ​Рассрочка от Тинькофф​

  • ​Кредит от Тинькофф​

  • ​Рассрочка от брокера ВсегдаДа​

  • ​По счету

  • А также есть поддержка рекуррентных платежей (подключается отдельно по запросу)

Для интеграции Prodamus с MultyAI, вам нужен активированный аккаунт в сервисе Prodamus.

Чтобы там зарегистрироваться, необходимо зайти на их официальный сайт и оставить заявку. Также вы можете оставить заявку у них во ВКонтакте или в Telegram.

Стоимость подключения: 10 000 руб. (без абонентской платы)

При регистрации напишите промокод MULTY и получите скидку 2000 руб.

Как подключить Prodamus к MultyAI

Первым делом заходим в ваш Проект в MultyAI → Настройки проекта → Интеграции → Prodamus

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

Далее вам нужно ввести:

  • Имя аккаунта (поддомена)

  • Секретный ключ

Имя аккаунта — это поддомен вашего аккаунта в Prodamus.

Например, если ваш аккаунт myschool.payform.ru, то вводите myschool

Секретный ключ — находится в настройках вашего аккаунта в Prodamus.

Где взять секретный ключ:

  • Идем на сайт Продамуса

  • Заходим в ваш личный кабинет.

  • Заходим в настройки

  • Спускаемся в самый низ и жмем кнопку "Настройки"

  • Затем находим поле "Секретный ключ" и копируем его

После того, как заполнили оба поля, нажмите сохранить и снова откройте интеграцию.

Вы увидите, что появилась новая строчка "Webhook URL для настройки уведомлений"

Скопируйте содержимое и возвращайтесь в настройки Prodamus.

Найдите раздел "Настройка уведомлений"

Вставьте скопированную ссылку в поле "URL адреса для уведомлений"

И нажмите "Сохранить"

Готово! Интеграция подключена!

Как настроить прием платежей через блок-схемы

Для начала подключите ВКонтакте или Telegram, где будет выдаваться ссылка на оплату.

Затем зайдите в раздел "Блок-схемы", создайте новую схему и сделайте следующую настройку:

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

  • Создайте блок Событие с контейнером "Входящее сообщение", условием "Текст сообщения" и добавьте туда какой-то текст, в ответ на который бот будет присылать ссылку на оплату. Например "Оплатить"

  • Создайте блок Действие и во вкладке "Интеграции" выберите контейнер "Создать ссылку на оплату в 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 updated