Проекты

Как интегрировать платежную систему в свой продукт

Кейс интеграции VPN-приложения

Как интегрировать платежную систему в свой продукт

Коротко

  • 01
    Проект

    VPN-приложение с платной подпиской

  • 02
    Задача

    Расширить набор функций основного приложения, чтобы пользователи могли оплачивать подписку и получать уведомления. У маркетологов появится клиентская база и инструменты, с помощью которых удобно создавать рекламные кампании.

  • 03
    Результаты

    Интегрировали приложение с платежными сервисами, системой оповещений и CRM. Разработали и подключили систему мониторинга ошибок и логов, чтобы оперативно исправлять сбои в приложении и снижать количество ошибок.

Что такое внешняя интеграция

Для пользователя сайт или приложение — это единый продукт, не разделенный на модули. Все действия он обычно совершает в одном и том же интерфейсе. Например, он может выбирать товары в интернет-магазине, создавать вишлисты, оплачивать заказы и отслеживать доставку.

Технически же интернет-магазин — это результат совместной работы разных электронных систем и сервисов. Если для выполнения действия из приложения нужно перейти в другой сервис, это происходит автоматически. Например, в приложении открывается окно платежной системы, чтобы пользователь оплатил покупку.

Как видит сайт пользователь и как его спроектировал разработчик
Пользователь может заходить в интернет-магазин, видеть товары в наличии, класть их в корзину, создавать вишлисты, оплачивать заказы и оформлять доставку — все в одном интерфейсе.
А под капотом этого интернет-магазина:
— база данных для хранения информации о наличии товаров на складе;
— платежные системы для денежных транзакций, у каждой свой платежный шлюз;
— система уведомлений и связанная с ней система управления доставкой, чтобы информировать пользователя о статусе заказа.

Чтобы сайт или приложение выполняли свои функции, нужно интегрировать их с соответствующими системами. Интеграция — это объединение разных технологий в единый комплекс. Без интеграции приложение не сможет полноценно работать, а пользователь столкнется с проблемами. Например, если с приложением не будет связана платежная система, через него можно будет только создавать заказы — но не оплачивать их.

Примеры внешней интеграции

СистемаЧто делает
Интеграция CRM-системы с сайтомПомогает лучше понимать целевую аудиторию, анализировать продажи и управлять персоналом. Например, можно создавать рассылки по клиентской базе, чтобы увеличить повторные продажи
Интеграция системы управления складом с сайтомУскоряет обработку заказов, помогает оптимизировать запасы товаров на складе и поддерживать актуальность каталога. Например, благодаря такой интеграции интернет-магазин не продаст больше товаров, чем есть на складе
Интеграция системы нотификаций с сайтомУлучшает взаимодействие с клиентами, а иногда выступает неотъемлемой частью сервиса. Например, сайт для онлайн-бронирования отправляет клиентам подтверждение бронирования
Интеграция платежных систем с сайтомАвтоматизирует процесс оплаты. Например, с системами вроде SberPay не нужно даже вводить данные банковской карты — деньги списываются мгновенно

Мы уже рассказывали о том, что такое внешняя интеграция на примере интернет-магазина на WordPress. В этой статье разберем, какие сторонние системы могут понадобиться, чтобы создавать мобильные приложения.

Проект: VPN-приложение с платной подпиской

Канадская компания владеет платформой с видео для взрослых. Пользователи сервиса из некоторых стран не могли смотреть контент из-за блокировок. Чтобы вернуть клиентам доступ к платформе, компания решила выпустить платное VPN-приложение. Она обратилась с этой задачей в OrbitSoft, так как знала, что мы умеем создавать такие решения.

За 10 месяцев мы разработали приложение для iOS, MacOS, Android, Android TV и Windows. Заказчик сохранил свою аудиторию и получил дополнительную прибыль: приложением пользуются не только подписчики платформы, но и другие пользователи — это сотни тысяч клиентов.

Подробнее о процессе разработки мы рассказали в статье «Приложение для VPN: как мы исправляли чужие ошибки и запускали проект». В этом материале остановимся на примерах внешней интеграции, которую использовали в проекте.

Задача: настроить интеграцию приложения с внешними системами

Пользовательский сценарий в приложении стандартный. Клиент заходит на сайт платформы. Если в его стране контент заблокирован, ему предлагают скачать VPN-приложение. Пользователь устанавливает приложение, оплачивает подписку за услугу, выбирает регион VPN-соединения и получает доступ к видео на платформе.

Для реализации этого сценария нам нужно было интегрировать приложение с несколькими внешними сервисами:

  • платежными системами, чтобы пользователи могли оплатить подписку;
  • системой нотификаций, чтобы создавать оповещения для пользователей о состоянии баланса, начале и окончании подписки;
  • CRM-системой, чтобы у компании появилась единая клиентская база для запуска рекламных кампаний;
  • системой мониторинга логов и ошибок, чтобы оперативно исправлять сбои в приложении.
Схема интеграции приложения
Схема интеграции приложения

Подготовили основу: выстроили надежную архитектуру приложения

Чтобы приложение со всеми интегрированными функциями выдерживало нагрузку в сотни тысяч пользователей и не тормозило, мы разработали надежную архитектуру. В ее основе — база данных на MongoDB и API-сервер:

1. База данных на технологии MongoDB может легко масштабироваться на несколько серверов. Это важно для высоконагруженных приложений с сотнями тысяч пользователей. Если выбрать БД, которая не может масштабироваться, то с ростом количества пользователей потребуется докупать оборудование, а это дополнительные расходы на проект.

2. API — это интерфейс программирования приложения. Он нужен, чтобы внешние сервисы обменивались с приложением информацией. Ему помогает блок интеграции. Это адаптер, который преобразует информацию от API в данные для внешних сервисов и обратно. Это делает интеграцию возможной.

С грамотно спроектированным API приложения обрабатывают большое количество данных, не теряя в производительности. Мы решили, что наш API-сервер будет работать на кластере из трех серверов: так получается обрабатывать больше запросов с меньшими задержками.

Схема архитектуры приложения
Схема архитектуры приложения

Интегрировали платежные системы

Чтобы пользователи могли оплачивать подписку онлайн, нужно связать приложение с платежными системами. Чем больше платежных систем интегрировано, тем больше способов оплаты будет доступно пользователям.

Наше приложение позволяет принимать оплату картой с помощью платежных сервисов Stripe, PayPal, Google Pay и Apple Pay и криптовалютой — через CoinPayments. У каждой системы есть свой надежный платежный шлюз.

Скриншот страницы оплаты
Так выглядит платежный шлюз. Если пользователь уже оплачивал подписку на сайте картой или через Apple Pay и Google Pay, сайт запомнит эти данные. Достаточно нажать платежную кнопку — прием оплаты пройдет автоматически

Для подключения платежной системы, нужно связать с приложением с ее платежный шлюз. Это сервис, через который оно передает данные о транзакции платежной системе.

Пользователь вводит данные карты или криптокошелька на странице оплаты заказа, они поступают в платежный шлюз, а он уже связывается с платежной системой, чтобы провести платеж. Именно шлюз определяет, одобрить или отклонить транзакцию.

В статье «Какой платежный шлюз самый удобный» мы сравниваем Stripe, CoinPayments, PayPal, Google Play Billing и Apple In-App Purchase и делимся наблюдениями. Каждый платежный шлюз мы использовали полтора года.

Интегрировали систему нотификаций

Система нотификаций помогает приложению экономить ресурсы: она занимается рассылкой уведомлений, а бэкэнд приложения обрабатывает только запросы, которые приходят от пользователей.

В приложении два вида уведомлений:

  • Одни просто оповещают пользователя о событиях, например о состоянии счета. Эти уведомления рассылает система нотификации, не задействуя ресурсы приложения.
  • Другие уведомления предусматривают реакцию пользователя. Например, ему приходит пуш со скидкой на годовую подписку. Если он соглашается с условиями акции, приложение отправляет запрос в БД — обновить информацию о тарифном плане этого пользователя.

Если бы система нотификаций была не подключена, приложению пришлось постоянно отправлять запросы базе данных, а базе — обрабатывать их. Из-за этого приложение работало бы медленно.

Скриншот экрана с пуш-уведомлением
Пуш-уведомление о том, что VPN подключен

Интегрировали CRM-систему

Для привлечения пользователей в приложение маркетологи компании дают контекстную рекламу. Информация о новых подписчиках автоматически собирается в CRM-системе. Без интеграции с ней маркетологам пришлось бы создавать базу, куда они будут вручную собирать данные от всех рекламных партнеров.

Информация о пользователях помогает маркетологам анализировать эффективность рекламы и выбирать те площадки, откуда приходит больше клиентов. Вот какие данные сохраняет CRM:

  • с какой рекламной площадки пришел клиент;
  • в какой стране и городе живет;
  • какую платежную систему использовал;
  • сколько времени провел в приложении;
  • еще система считает количество отказов — сколько пользователей удалило приложение после пробного периода.

Личные данные пользователей, такие как имя, номер карты банка, телефон и адрес, после регистрации в приложении шифруются и становятся недоступны третьим лицам. В CRM-системе отображается только ID устройства — набор цифр. Это удобно для всех: для пользователей — потому, что их информация в безопасности, а для компании — потому, что присвоение уникальных ID не дает оформить несколько бесплатных аккаунтов с одного устройства.

Разработали и интегрировали систему мониторинга

Чем меньше в приложении ошибок, тем дольше люди будут им пользоваться. А чем больше внешних систем интегрировано с приложением, тем больше сбоев возникает. Чтобы быстро выявлять и исправлять ошибки, нужно вести постоянный мониторинг интеграции.

Для VPN-приложения мы разработали и внедрили несколько систем мониторинга:

  • техподдержка — помогает получать обратную связь об ошибках и сообщать пользователю, что его проблему решили;
  • система просмотра логов — дает администратору информацию о действиях пользователей и работе сервера, чтобы быстро найти причину проблемы;
  • crash reporting для Windows — формирует отчет об ошибке и высылает администратору на почту. Из отчета можно понять, какая часть кода вызвала ошибку.

Подробней про разработку системы мониторинга логов и ошибок рассказали в другой статье.

Результаты

Интеграция приложений с внешними системами расширяет их функции, ускоряет обработку данных и улучшает пользовательский опыт. Это помогает бизнесу увеличивать прибыль.

Для VPN-приложения мы настроили:

  • Интеграцию с платежными системами — пользователи могут выбрать наиболее удобный способ оплатить подписку. Платежный шлюз обеспечит максимальную безопасность транзакции.
  • Интеграцию с системой нотификаций — пользователи получают информацию, а приложение экономит ресурсы.
  • Интеграцию с CRM-системой — маркетологи компании получили единую клиентскую базу и используют ее, чтобы настраивать эффективные рекламные кампании.
  • Интеграцию системы мониторинга логов и ошибок — администраторы могут оперативно исправлять сбои в приложении. Это улучшает пользовательский опыт. Так, количество обращений от пользователей веб-приложения для Windows снизилось c 90 до 2 писем в месяц.

Получите ответ по смс

Ваше сообщение успешно отправлено!
Представьтесь пожалуйста
Укажите номер, на который придет ответ
Нажимая на кнопку, вы даете согласие
на обработку персональных данных.

Перезвонить вам, чтобы ответить на вопросы?

Когда с вами связаться?

Связаться по телефону:+7 499 321-59-32

Нажимая на кнопку, я принимаю условия политики и пользовательского соглашения

Фото эксперта
Дмитрий

Проектный менеджер

Получите ответ на ваш вопрос в любимом мессенджере

Выберите удобный мессенджер и начните диалог прямо сейчас

Telegram WhatsApp

Рассчитать стоимость проекта

Расскажите о вашем проекте, чтобы мы могли проконсультировать вас.

Напишите ваше имя
Укажите ваш email

Выберите удобный для вас способ связи

Мы сразу получим ваш запрос и поможем в решении проблемы

Написать в Telegram

Написать в WhatsApp

Позвонить нам