О чём эта история
Компания Payselection предоставляет в России сервис проведения онлайн-платежей и их фискализации. Payselection за полгода перенесла решение в Yandex Cloud, обновив архитектуру. Сейчас система стабильно работает при нагрузке до 200 транзакций в секунду в пике, а также обеспечивает высокий уровень доступа к данным. За счёт интенсивного роста клиентской базы сумма обработанных платформой платежей — оборот транзакций — существенно увеличилась и сейчас составляет более 2 млрд рублей в месяц.
Организовать высокодоступную систему онлайн-платежей
Целевая аудитория системы приёма платежей Payselection — сервисы электронной коммерции, SaaS-платформы и маркетплейсы. Компания предоставляет услуги предпроцессинга, а система обрабатывает сотни транзакций в секунду и предоставляет клиентам доступ ко всей информации о проведенных платежах практически моментально.
Из-за большого объёма данных, высокой скорости их обработки и серьёзных требований к уровню безопасности и SLA компания сразу ориентировалась на облачное решение. На стадии разработки проект развернули у зарубежного облачного провайдера. Но на этапе тестирования систему нужно было локализовать, чтобы выполнить все требования российского законодательства.
Payselection рассматривала несколько облачных платформ, оценивая уровень SLA и возможности масштабирования. Платформа должна быть сертифицирована в области информационной безопасности — ресурсы аттестованы в соответствии с законом 152-ФЗ и требованиями ФСТЭК.
Кроме того, провайдер был обязан соответствовать требованиям 103-ФЗ «О деятельности по приёму платежей физических лиц, осуществляемой платёжными агентами» и правилам обработки информации в соответствии с международным генеральным регламентом о защите данных (General Data Protection Regulation, GDPR) и стандартом безопасности данных платёжных карт PCI DSS.
В итоге компания остановилась на платформе Yandex Cloud. Команда Payselection учла большое количество управляемых сервисов, а также высоко оценила скорость и качество работы службы поддержки.
Миграция в Yandex Cloud и обеспечение надёжной работы системы
Платформа Payselection включает в себя следующие продукты:
- PayWidget — форма оплаты для сайта, совместимая с любым устройством. Она позволяет индивидуально настраивать виджет под бренд клиента и проводить платежи.
- PayApp — мобильный SDK для интеграции с платформой с целью платежей через мобильные приложения.
- PayWeb — скрипт для создания собственных платёжных форм с криптографической защитой, которые можно размещать на сайте.
- PayCode — модули для интеграции с популярными CMS (20 систем) и CRM.
- PayKassa — решение для кассы, которое позволяет формировать чеки с соблюдением ФЗ-54.
- PayLink — модуль для создания ссылок на оплату.
Система содержит модули для быстрой интеграции с сайтами, виджеты для безредиректного приёма платежей, а также обеспечивает удобные методы работы с платежами в личном кабинете и сервисы для работы с подписками. Компания также создала собственную систему для защиты платежей от фрода — PayAntifraud.
Сервис Payselection связан с несколькими российскими банками-эквайерами и использует каскадную модель переключения банковских шлюзов. Система принимает к оплате карты, СБП и работает с популярными платёжными методами. Безопасность проведения платежей соответствует стандарту защиты данных платёжных карт PCI DSS.
Кроме того, платформа содержит инструменты временной блокировки средств на банковской карте, повторяющихся платежей без повторного ввода данных карты и автоматических регулярных платежей.
За полгода команда Payselection развернула систему в Yandex Cloud и вышла на плановые показатели по нагрузке. Весь проект проходил без даунтайма в два этапа — сначала доработали архитектуру решения под новую инфраструктуру и протестировали пилотную инсталляцию, после чего завершили миграцию.
У Payselection микросервисная архитектура. Бэкенд платформы написан на Python и Go, а фронтенд — на React Native. Все сервисы фронтенда и бэкенда размещены в Yandex Managed Service for Kubernetes®. Для хранения данных клиентов выбрали Yandex Managed Service for PostgreSQL. Для расчёта показателей и хранения финансовых данных команда использует Yandex Managed Service for MySQL®. Для хранения кеша и синхронизации выполнения задач микросервисами развернули Yandex Managed Service for Valkey™. Рабочие файлы хранят в Yandex Object Storage.
Кроме того, команда использует Yandex Network Load Balancer, Yandex Application Load Balancer и Yandex Cloud DNS.
В процессе развёртывания специалисты Payselection столкнулись с проблемой переполнения кеша СУБД PostgreSQL. Проблему решили с помощью архитектора Yandex Cloud: перенастроили кеширование.
Бесперебойная работа системы с данными миллионов клиентских транзакций
За шесть месяцев Payselection развернула инфраструктуру в Yandex Cloud и перенесла платформу. Результат миграции — высокодоступное решение. Для компании это важно, поскольку она рискует потерять репутацию, если не обеспечит должный уровень услуг для клиентов. Сейчас система выдерживает пиковую нагрузку в 200 транзакционных операций в секунду, обеспечивая быстрый доступ к большим объёмам данных. Размещение в Yandex Cloud упростило масштабирование и подключение новых сервисов. Расходы на инфраструктуру соответствуют ожиданиям и растут предсказуемо вместе с нагрузкой, а встроенный мониторинг помогает точно прогнозировать затраты.
Сейчас команда Payselection оптимизирует архитектуру решения и рассматривает возможность применения в проекте Yandex Managed Service for YDB.
Мнение
Платформа Yandex Cloud стала для нас надёжным стратегическим партнёром, который позволил нашей компании перейти к экспоненциальному росту и достичь устойчивых результатов всего за год после начала сотрудничества.