Главная/Портфолио/Электронная платежная система для кастомного бэк-офиса
eSport communityЭлектронная платежная система для кастомного бэк-офиса
Клиент
Компания-владелец одного из крупнейших киберспортивных сообществ с миллионами участников по всему миру.
Задача
Перенести сервис по оплате членских взносов киберспортивного сообщества в цифровое пространство.
Решение
Мы разработали полноценную бухгалтерскую и электронную платежную систему для веб-сервиса — безопасную, производительную и надёжную. Готовое решение интегрировано с игровым сервером клиента, порталом кибер-сообщества, системой авторизации и внешними системами онлайн-платежей, такими как SoftKey, VeriSign и Microsoft Dynamics GP. Особое внимание уделили созданию интуитивного понятного интерфейса.
Система поддерживает оффлайн-продажи (активацию скретч-карт) и онлайн-продажи (онлайн-платежи), поддерживает сложные транзакции и деревья MLM. Бэк-офис обеспечивает бесперебойные обновления, своевременную отчетность и сбор финансовых данных. Благодаря распределенной архитектуре система функционирует 24/7 в условиях высокой нагрузки с тысячами многоуровневых транзакций в час.
Система функционирует по всему миру, поэтому мы её локализовали. Решение интегрировано с разными системами онлайн-платежей. Внедрили технологию плагинов, чтобы быстро и легко добавлять новые платежи.
Трудности
Система многоуровневая и включает в себя несколько подсистем, каждая из которых требовала отдельного подхода.
Обзор подсистем:
- Платежи
- Начисление
- Скретч-карта
- Онлайн-сервисы
- Администрирование
- Статистика
- Подписки
- Управление пользователями
- Подключаемый платеж
- Техническая информация
Подсистема онлайн-платежей выполняет две ключевых функции по подписке:
- Конвертирует кредитные карты Visa и MasterCard во внутреннюю валютную систему, чтобы продлить подписку пользователей онлайн-сервисов.
- Генерирует уникальные номера скретч-карт. Скретч-карты под сгенерированными номерами выпускают и доставляют пользователям. Затем пользователи могут положить деньги на их внутренний аккаунт с помощью сгенерированного номера.
Архитектура
Мы создали модульную архитектуру, в которой можно беспроблемно делать обновления и проводить дальнейшую интеграцию со сторонними услугами и платежными онлайн-системами. Система поддерживает мультивалютный учет, многоязычный интерфейс. Мы учли особенности данных для каждой страны, например, формат адреса.
Главные приоритеты проекта — стабильность и высокая производительность. Чтобы добиться поставленной цели, наша команда создала распределенную систему. Все компоненты и субкомпоненты могут физически распространяться по нескольким серверам. Также разработали сложный административный модуль, чтобы управлять и отслеживать все активности системы, фиксировать операции пользователей, системных администраторов и владельцев. Чтобы получить доступ в систему, администратору нужен клиентский 128-битный сертификат. Также мы настроили высокий уровень безопасности и быстрое восстановление, в случае, если что-то пошло не так.
Протоколы
Разработанный веб-сервис работает на выделенном сервере приложения. Протокол со специальной базой данных нужен для взаимодействия бэкэнда и базы данных. Взаимодействие с внешними платежными системами происходит через безопасный протокол. С помощью специальной подсистемы мы сделали интеграцию с электронной почтой. Подсистему можно как подключить, так и отключить.
Системные администраторы используют веб-интерфейс и HTTP(S) протокол. Клиенты HOP-GO подключаются к онлайн услугам через веб браузер и HTTP(S). Для обмена данными с внешней подсистемой авторизации, используется RMI протокол. Модуль учета использует внешнюю подсистему авторизации с другими интерфейсами. Большинство услуг публикуется в реестре RMI.
Бизнес-логика
Для бизнес-логики применили сервисно-ориентированный подход. Все сервисы регистрируются в подсистеме услуг, затем “менеджер услуг” обновляет весь список доступных услуг. При этом другие компоненты могут искать сервисы по названию. Когда внешняя компонента или подсистема получает сервис, Менеджер Услуг предлагает подключиться к серверу услуг. Менеджер услуг гибок в использовании: администраторы могут настроить его так, чтобы объединить несколько различных кластеров системы, которые будут работать как единая глобальная среда. Для этого мы использовали специальный подход, задействовав несколько виртуальных машин Java, и кластеризовали систему на нескольких серверах.
Визуальный уровень сделан с помощью фреймворка Apache Struts, JSP и XML. XSLT-процессор и форматы XSLT использовались, чтобы трансформировать XML в HTML код. Система включает около 30 сложных сценариев использования, 100 средних по сложности и 150 простых.
Результат
Мы соединили инновационный дизайн, распределенную архитектуру и сложную бизнес-логику, разработали онлайн-сервис платежей, который отличается гибкостью и удобством для пользователей. Система поддерживает рост кибер-сообщества, снижает расходы на общую поддержку портала, помогает повысить прибыль и укрепляет позиции клиента на международном рынке.
Стэк
Java Servlet/JSP, XSL/XSLT, Oracle 9i, PL/SQL, XML, JMS, MVC frameworks Apache Struts, Microsoft GreatPlains, Crystal Reports