Оплата товаров и услуг в ВКонтакте

Выдача ссылки на оплату и реакция на оплату

Ссылка на пример готовой схемы для Вконтакте: 💾 Cкачать схему 🔧 Инструкция по установке схем

Для начала давайте проверим, что у вас:

Создаем список пользователей.

Для создания списка купивших ваш товар или услугу в своем проекте открываем раздел «Пользователи» -> «Списки» и кликаем справа кнопку «Создать»

Здесь все просто:

  • В поле «Название списка» пишете «Клиенты - Консультация».

  • В поле «Системное имя» пишете andreygorgamer_multy_clients (это важно, иначе готовая схема не сработает). Если не будете использовать готовую схему, то рекомендуется вписать в это поле ваш ник и, например, consultation . Пример: Ivan_Ivanov_consultation

  • В Поле «Доступ на чтение: проверку наличия» ставим переключатель «Все пользователи»

  • Нажмите кнопку "Сохранить"

Важно! Для одного товара достаточно создать один список. Для 10 товаров - 10 списков.

Собираем блок схему

Выдача ссылки на оплату

1) Создаем событие «Входящее сообщение » с условием «Тип вложения (файла) внутри объекта события» равным продукт

Пример события на заказ услуги

1) Важно! В примере мы будем реагировать на один продукт проверяя его ID условием: текстовая переменная {var:object.attachments[0].id} равна ID вашего продукта, например, 7491714 (в примере ID выделено жирным)

Пример условия для реакции на заказ продукта только с этой ID.

2) Для дальнейших действий нужно сохранить название и цену продукта. Все действия делаем в одном контейнере.

Создаем контейнер с двумя действиями

2) Добавляем контейнер-действие «Текстовая переменная» product_title задать значение {var:object.products.0.title} для сохранения названия услуги.

Сохраняем название товара

3) Для сохранения цены услуги добавляем аналогичное действие «Числовая переменная» product_price задать значение {var:object.products.0.price}

Все действия делаем в одном контейнере.

Сохраняем цену продукта

4) Чтобы проверить, что у пользователя есть номер телефона добавляем условие «Текстовая переменная» {var:users.user.contact.phone[0]} содержит undefined и выберите «Не» т.е. у пользователя записан номер телефона.

Условие для проверки есть ли телефон

Проверяем что в поле профиля есть телефон.

5) Если в поле профиля нет телефона, то создаем сообщение с текстом, где просим ввести номер, для завершения заказа действием «Отправить сообщение» с текстом:

{var:platform.user.first_name}, для завершения заказа введите номер телефона 
в международном формате.
Например: +7987653210
После оплаты на этот номер вам придет ссылка на чек платежа, 
согласно законодательству.
Спрашиваем у клиента номер телефона

Важно! В примере номер телефона спрашивается один раз и больше не будет беспокоить клиента.

6) И соединяем с Событием «Входящее сообщение» с условием «Содержит номер телефона»

Ждем ввода телефона

7) Чтобы проверить, пользователь ввел номер телефона добавляем условие «Текст сообщения» содержит номер телефона

Проверяем, что ввел пользователь

8) Из выходного порта «Нет» создаем сообщение с текстом, где просим ввести номер в корректном формате:

Это не похоже на телефон.
Введите, пожалуйста, номер согласно инструкции
Спрашиваем корректный номер.

И возвращаем пользователя на шаг 6.

9) Из выходного порта «Да» на шаге 7 со проверкой телефона на корректность, добавляем действие «Добавить контакт в профиль» и Телефон со значением {num:{var:object.text}|phone}

Сохраняем номер телефона.

9) Добавляем контейнер-действие «Создать ссылку на оплату в Prodamus» выбираем вашу интеграцию Prodamus. Ниже будем заполнять только те поля, которые необходимы для конкретного примера (введем стрелку из шага 4 и из шага 8).

  • Номер заказа внутри проекта — Здесь введите номер заказа. Небольшой лайфхак: чтобы выдавать рандомное значение, вставьте туда следующее выражение: {date:|%utc}-{rand:|10|99} - оно будет само подставлять случайные, уникальные значения.

  • Ссылка после оплаты — добавьте ссылку, куда будет перебрасывать пользователя после оплаты. Например, на диалог с вашим сообществом в ВК или Telegram-бота. В примере вставляется ссылка на ваше сообщество: https://vk.com/im?sel=-{var:platform.integration.id}

  • Полная стоимость заказа — указывать не обязательно, если вы создаете продукт ниже, но в примере переменная {var:product_price}

  • Описание заказа — указывать не обязательно, если вы создаете продукт ниже, но в примере переменная {var:product_title}

Ставим переключатель «Задать данные клиента»

Важно! Если не передавать, форма попросит ввести телефон при оплате.

В примере реализован самый простой вариант выдачи платёжной ссылки. Это действие не забудьте соединить с блоком условий.

10) Добавляем контейнер-действие «Отправить сообщение» с текстом:

Отличное решение, {var:platform.user.first_name}! 🙂
🚀 Заказ продукта {var:product_title} создан.
Актуальная стоимость: {var:product_price} руб.
Для завершения оплаты перейдите по ссылке: {var:payment_url}
Отправка сообщения со ссылкой

Выдачу ссылки мы сделали, остается настроить реакцию на оплату.

Реакция на оплату

Важно! В Примере реагируем на оплату конкретного продукта от 100 рублей.

1) Создаем событие «Поступил новый платеж» с условием:

  • «Цена продукта» больше или равна 100 (Можете давать возможность оплатить со скидкой)

Пример события

Опционально:

Если необходимо проверять название продукта, то добавьте условие «Текстовая переменная» {var:object.text} равна названию продукта. В примере «Консультация»

Условие: реагируем на оплату продукта с конкретным названием

Если необходимо реагировать конкретной интеграцией, то добавляете условие:

«Бот или Интеграция, запустившие событие» здесь выбираете вашу интеграцию с Prodamus. (можно выбрать несколько интеграций)

Условие: будет реагировать только на запуск схемы конкретной интеграцией Prodamus

2) Для отправки сообщения об оплате нужно переключить интеграцию на нужное сообщество ВКонтакте и нужно сохранить ID сообщества, ID пользователя для дальнейших действий.

Все делаем в одном контейнере.

Сохраняем нужные данные

2) Добавляем действие «Переключить интеграцию» и выбираем здесь нужную интеграцию с ВКонтакте.

Выбираем нужное сообщество ВКонтакте

3) Для сохранения ID сообщества добавляем действие «Задать числовую переменную» vk_club_id со значением {var:result.unique_hash}

Сохраняем ID сообщества

4) Для сохранения VK ID пользователя добавляем действие «Задать числовую переменную» vk_id со значением {var:users.user.contacts[0].value}

Сохраняем ID клиента

5) Добавляем контейнер-действие «Отправить сообщение» с текстом:

{var:users.user.first_name}, оплата продукта «{var:object.text}» успешно получена.
Менеджер скоро с вами свяжется.
Пример сообщения

6) Для добавления в список клиентов, добавляем контейнер-действие «Добавить в список» выбираем ваш список и ставим переключатель «Добавить заново, если добавлен»

Добавляем в список клиентов

7) Опционально: Для отправки сообщений в беседу менеджерам, добавляем контейнер-действие «Сменить чат для следующих действий» выбираем вашу беседу ВКонтакте для в которой сидят менеджеры.

Меняем чат, чтобы отправить уведомления менеджерам.
  • Добавляем контейнер-действие «Отправить сообщение» с текстом:

#Оплата_заказа:
Продукт: {var:object.text}
Стоимость: {var:object.price} руб.
Клиент: 
ФИО: [id{var:vk_id}|{var:users.user.first_name} {var:users.user.last_name}]
Номер телефона: {var:platform.user.phone}
Написать сообщение клиенту:
https://vk.com/gim{var:vk_club_id}?sel={var:vk_id}&msgid={var:effect.message.id}
Отправка сообщения в чат менеджерам
  • Соединяем все в блоки в цепочку

  • Сохраняем

  • Готово!

Last updated