Comment on page
Оплата товаров и услуг в ВКонтакте
Выдача ссылки на оплату и реакция на оплату
Для начала давайте проверим, что у вас:
- Настроены «Товары» либо «Услуги» в сообществе
Для создания списка купивших ваш товар или услугу в своем проекте открываем раздел «Пользователи» -> «Списки» и кликаем справа кнопку «Создать»

Создаем новый список
Здесь все просто:
- В поле «Название списка» пишете «Клиенты - Консультация».
- В поле «Системное имя» пишете 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 modified 9mo ago