Инновационная платформа для процессинга платежей Epayments
Одной из ключевых задач Epayments platform является реализация стратегии «единого окна» для приема платежей и проведения выплат всеми доступными на рынке способами. Наиболее явно данная стратегия проявляет свою ценность для клиентов, нуждающихся в международных и многоканальных переводах. Для таких клиентов необходимо обеспечить прием средств платежа во всех каналах обслуживания, применяя самые современные технологические решения, гарантирующие безопасность, экономическую эффективность и простоту использования. Интеграция различных решений зачастую приводит к значительным финансовым и временным затратам, что подталкивает крупных клиентов уже на старте искать максимально гибкого, надежного и универсального поставщика платежных услуг.
Для реализации крупных международных проектов важно иметь собственную разработанную платформу, не требующую приобретения лицензии на использование модулей у других поставщиков ПО. Большинство игроков на западном рынке зачастую использует купленные модули сторонних компаний (это позволяет им быстро начать заниматься бизнесом не вкладывая большие деньги в разработку, однако ставит существенные барьеры для локализации решения в других странах, в том числе в рамках крупных проектов. Опираясь на ключевые факторы, мы выстраиваем технологическую дорожную карту развития Epayments Platform.
Epayments Platform имеет максимально широкий функциональный состав на рынке инструментов по приему платежей и проведению выплат:
- Прозрачность, открытое API
- Полная функциональность:
- Прием платежей;
- Проведение выплат, в том числе в локальных валютах 200 стран мира;
- Учет и применение бонусов/баллов/скидок/льгот;
- Отчетность;
- Аналитика;
- Омниканальная клиентская и техническая поддержка;
- Анти-фрод мониторинг.
- Роутинг между большим количеством эквайеров:
- Резервирование банков-эквайеров;
- Автоматический̆ SLA-свич;
- Мультиэквайринг реального времени;
- Автоматический̆ Profit-свич.
- Мультиканальное решение:
- Интернет (e-commerce);
- Приложения для смартфонов (iOS, Android, Windows Phone);
- Online банк-клиент системы;
- банкоматы
- Полный спектр средств платежей:
- Банковские карты (магнитная полоса, EMV-чип, PayPass / PayWave);
- Смартфоны (Apple Pay/Samsung Pay, NFC-приложения);
- Электронные средства (реквизиты банковских карт 3DS, ApplePay, средства счетов мобильной;
- связи, электронные деньги (PayPal, Qiwi, WebMoney, Яндекс.Деньги и др.), криптовалюты (Bitcoin и Lifecoin);
- Банковские безналичные переводы;
- Оплата услуг рекламных кабинетов Вконтакте, FaceBook, YandexDirect, my Target.
Технологии
Хранение информации о платежах в распределенном реестре по технологии блокчейн
обеспечивает:
- максимальную надежность и сохранность данных в системе;
- автоматическое резервирование данных;
- защиту от возможных внутренних угроз информационной безопасности;
- минимизацию издержек на поддержку системной инфраструктуры.
Искусственный̆ интеллект на технологии сверточной нейросети (CNN) обеспечивает:
- автоматический̆ Profit-свич и мультиэквайринг в реальном времени обеспечивающие
максимальную доходность обслуживаемых операций; - многоступенчатую адаптивную систему фрод-мониторинга и предупреждения мошеннических операций;
- рекурсивный перекрестный̆ анализ историй транзакций в автоматическом режиме;
- подсистему автоматического внутреннего мониторинга и аудита действий сотрудников по соблюдению внутренних правил;
- сквозной маркетинговый анализ и построение профилей потребителей в автоматическом
режиме.
Научно-исследовательская деятельность в области разработки интеллектуальных систем анализа данных с использованием алгоритмов машинного обучения и компьютерного зрения:
- классификация изображений;
- локализация объектов на изображениях;
- обнаружение факта модификации цифровых изображений;
- обработка естественного языка.
Процесс разработки, принятый̆ в компании, признан соответствующим всем стандартам
безопасности индустрии платежных карт, что подтверждено действующим сертификатом PCI DSS. Компания предоставляет онлайн-сервисы на базе собственного ПО.
Онлайн-сервисы компании развернуты в двух независимых датацентрах. Созданная инфраструктура онлайн-сервиса обеспечивает высокую безопасность хранения данных, что
необходимо для соответствия стандартам безопасности индустрии платежных карт (PCI DSS).
Кроме того, созданная инфраструктура обеспечивает высокую отказоустойчивость и гарантирует
гибкость процесса управления изменениями.
Для обеспечения надежного и безопасного доступа используются такие подходы как выделение
подсетей (VLAN) с ограниченными списками доступов, демилитаризованную зону (DMZ) для
первичной фильтрации входящего траффика. Связь между дата центрами, с внешними системами обеспечивается защищенными каналами связи, построенная на технологиях IPSec и OpenVPN.
Централизованный̆ сбор логов осуществляется при помощи Graylog, централизованный
мониторинг осуществляется при помощи zabbix, для визуализации состояния онлайн сервисов
используется Grafana. Развертывание и управление конфигурациями осуществляется при помощи
технологии собственной̆ разработки, а также с использованием различных инструментов, такие
как TeamCity, Octopus Deploy, Git.
По всем онлайн-сервисам ведется внутренняя документация разработчиков, отражающая все
вносимые изменения, в разрезе их назначения, критериев успеха для их внедрения, технической̆
документации, описывающеӗ реализацию.
Практикуется безопасный̆ подход к разработке ПО – запрет доступа к рабочей̆ площадке
со стороны разработчиков, парный доступ для обслуживающего персонала (обязательно
включающий офицера информационной безопасности), запрет импорта данных с рабочей
площадки на тестовую.
В основе всех сервисов лежит единая платформа разработки, обеспечивающая прозрачность и
единство подходов для всего программного кода, что облегчает освоение кодовой базы новыми
сотрудниками. В разработке активно применяются технологии автоматизации тестирования
– модульное тестирование, функциональное тестирование и интеграционное тестирование.
Для интеграционного и функционального тестирования используется отдельный̆ сервер
автоматического тестирования, обеспечивающий̆ значительное покрытие основных сценариев
использования для всех онлайн — сервисов компании. Также применяется многоступенчатое
тестирование, причем на завершающем этапе тестирования участие разработчика (для
оперативного внесения недокументированных изменений) полностью исключается.
В тестировании принимают участие релевантные эмуляторы всех внешних систем, с которыми
взаимодействуют онлайн-сервисы. Все процессы тестирования, а также тестовая документация
фиксируется и актуализируется в TestRail.
Разработчикам предоставляются индивидуальные среды разработки, также обеспеченные всеми
необходимыми эмуляторами.
Архитектурно ПО онлайн-сервисов делится на изолированные подсистемы (микросервисы).
Каждая подсистема, в свою очередь, также может состоять из подсистем (пример – драйверная
подсистема эквайеров и драйвера эквайеров внутри нее). При этом каждая подсистема
обеспечивается тестовым окружением и полным тестовым покрытием. Это дает возможность
привлекать начинающих разработчиков для разработки простых подсистем. Таким образом,
снижается стоимость найма и обучения новых разработчиков при полностью исключенных рисках деградации качества сервиса.
Каждый модуль представляет собой микросервис. В рамках приложения модули коммуницируют
между собой посредством общей̆ шины обмена сообщениями уровня приложения. Форматы
протоколов общения стандартизированы в общей части, что позволяет контролировать входные
данные на уровне каждого модуля. Также модуль может образовать свою приватную шину
обмена сообщениями и организовать размещение на ней некоего отдельного набора модулей,
функционирующего изолированно от общей шины приложения и решающего частные задачи
в интересах родительского модуля. Такие композиции модулей называются схемами, и
представляют собой стандартные решения общих задач для широкого круга приложений
(например, схема логгирования). Все модули и все схемы всегда обеспечены исчерпывающей
документацией и полным набором тестов. За счет этого, можно без дополнительной разработки
и тестирования использовать любые ранее разработанные модули в любых вновь создаваемых
приложениях. Кроме того, такой подход позволяет привлекать начинающих разработчиков к
самостоятельной разработке модулей, снижая тем самым стоимость найма и обучения новых
сотрудников, без риска деградации качества выпускаемого ПО.
Процесс разработки непосредственно включает в себя управление требованиями (в
разрезе каждого требования), проектирование протоколов (через сценарии использования),
проектирование модулей как конечных автоматов. Участие в этом процессе сразу дает
начинающим разработчикам правильное понимание процесса эффективной разработки,
формирует правильные навыки и правильное отношение к работе.