Оплата товаров и услуг в ВКонтакте
Выдача ссылки на оплату и реакция на оплату
Last updated
Выдача ссылки на оплату и реакция на оплату
Last updated
Ссылка на пример готовой схемы для Вконтакте: 💾 🔧
Для начала давайте проверим, что у вас:
Настроены «Товары» либо «Услуги» в сообществе
Для создания списка купивших ваш товар или услугу в своем проекте открываем раздел «Пользователи» -> «Списки» и кликаем справа кнопку «Создать»
Здесь все просто:
В поле «Название списка» пишете «Клиенты - Консультация».
В поле «Системное имя» пишете andreygorgamer_multy_clients (это важно, иначе готовая схема не сработает). Если не будете использовать готовую схему, то рекомендуется вписать в это поле ваш ник и, например, consultation . Пример: Ivan_Ivanov_consultation
В Поле «Доступ на чтение: проверку наличия» ставим переключатель «Все пользователи»
Нажмите кнопку "Сохранить"
Важно! Для одного товара достаточно создать один список. Для 10 товаров - 10 списков.
1) Создаем событие «Входящее сообщение » с условием «Тип вложения (файла) внутри объекта события» равным продукт
1) Важно! В примере мы будем реагировать на один продукт проверяя его ID условием: текстовая переменная {var:object.attachments[0].id}
равна ID вашего продукта, например, 7491714 (в примере 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) Если в поле профиля нет телефона, то создаем сообщение с текстом, где просим ввести номер, для завершения заказа действием «Отправить сообщение» с текстом:
Важно! В примере номер телефона спрашивается один раз и больше не будет беспокоить клиента.
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) Добавляем контейнер-действие «Отправить сообщение» с текстом:
Выдачу ссылки мы сделали, остается настроить реакцию на оплату.
Важно! В Примере реагируем на оплату конкретного продукта от 100 рублей.
1) Создаем событие «Поступил новый платеж» с условием:
«Цена продукта» больше или равна 100 (Можете давать возможность оплатить со скидкой)
Опционально:
Если необходимо проверять название продукта, то добавьте условие «Текстовая переменная» {var:object.text} равна названию продукта. В примере «Консультация»
Если необходимо реагировать конкретной интеграцией, то добавляете условие:
«Бот или Интеграция, запустившие событие» здесь выбираете вашу интеграцию с Prodamus. (можно выбрать несколько интеграций)
2) Для отправки сообщения об оплате нужно переключить интеграцию на нужное сообщество ВКонтакте и нужно сохранить ID сообщества, ID пользователя для дальнейших действий.
Все делаем в одном контейнере.
2) Добавляем действие «Переключить интеграцию» и выбираем здесь нужную интеграцию с ВКонтакте.
3) Для сохранения ID сообщества добавляем действие «Задать числовую переменную» vk_club_id
со значением {var:result.unique_hash}
4) Для сохранения VK ID пользователя добавляем действие «Задать числовую переменную» vk_id
со значением {var:users.user.contacts[0].value}
5) Добавляем контейнер-действие «Отправить сообщение» с текстом:
6) Для добавления в список клиентов, добавляем контейнер-действие «Добавить в список» выбираем ваш список и ставим переключатель «Добавить заново, если добавлен»
7) Опционально: Для отправки сообщений в беседу менеджерам, добавляем контейнер-действие «Сменить чат для следующих действий» выбираем вашу беседу ВКонтакте для в которой сидят менеджеры.
Добавляем контейнер-действие «Отправить сообщение» с текстом:
Соединяем все в блоки в цепочку
Сохраняем
Готово!