Поиск
Тарифы Блог

Первый в мире open-source платежный процессинг

Подключиться

Описание и возможности платформы

Платформа RBK.money  — это отказоустойчивая высокопроизводительная распределенная платежная система, с помощью которой можно управлять любыми транзакциями онлайн. Банковские карты, Система Быстрых Платежей, SMS и мобильная коммерция, электронные деньги и криптовалюты, бесконтактные кошельки, Alipay и Wechat — она может процессить любые электронные платежные методы, используемые людьми сейчас.

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

Мы основательно проработали UX и дизайн наших пользовательских интерфейсов, самым главным из которых является наш платежный виджет RBKmoney Checkout и аналогичные по дизайну SDK для Android и iOS. Интерфейсы не только красивые, но и функциональные: поддерживают любые разрешения (десктоп, смартфон, планшет), предполагают различные типы интеграции, как standalone-платежную страницу, так и эффект модального окна на сайте подключенного к нам партнера — торгово-сервисного предприятия.

Форма оплаты RBK.money

RBKmoney Checkout полностью автоматизировано и самостоятельно проводит весь процесс платежа, от ввода платежных данных, до отображения дополнительных страниц аутентификации, например, 3D-Secure и отображения статуса проведения платежа. Это значительно сокращает время и трудозатраты по интеграции.

Как работает платежная форма можно посмотреть вживую по ссылке. Он настроен на тестовый макет-банк, а тестовые карты лежат в документации https://developer.rbk.money/docs/payments/refs/testcards/.

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

Неттинг (netting), перевод средств между счетами POS и кошельками для выплат также реализован. Механизм позволяет создать заявку на перевод денежных средств, принятых в рамках эквайринга, на счет для выплат на карты или любые другие платежные методы.

На основе процессинга можно настроить банковские страницы для P2P-переводов.

Внутри встроены сервисы-адаптеры для взаимодействия с ОФД.


Внутренние процессы

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

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

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

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

Для управления платформой разработан интерфейс (админка), позволяющий визуально конфигурировать множество настроек, контролировать и верифицировать изменения, просматривать, одобрять или отклонять сделанные изменения.


Control Centre

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

Подключение внешних клиентов — онбординг


Пример онбординга

Гибкие возможности системы позволяют автоматизировать и настроить индивидуальный процесс подключения с учетом особенностей бизнеса, и сделать процесс KYC&AML максимально удобным для клиента. В онлайне в виде ленты-чата можно общаться с клиентом, просить загрузить дополнительные документы и разбираться с проблемами — все в одном и том же интерфейсе. Возможна интеграция со сторонними
CRM-системами.

Эксплуатация и технологии


Пуличное облако

Платформа построена исключительно на основе open source-технологий и рассчитана на работу на commodity hardware или в публичных облаках, таких как Amazon AWS. Архитектура системы изначально разработана на основе микросервисного подхода и возможностей линейного масштабирования производительности.

Универсальные внутренние протоколы RPC — все на трифте. 100% документированные внутренние и внешние API (swagger). Это позволяет производить доработки системы и интеграции даже сторонними разработчиками на аутсорсе.

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

Поскольку наша идеология в том, что любое взаимодействие с платформой построено исключительно на вызове методов публичного или внутреннего API, это дает возможность создавать и предоставлять любые пользовательские интерфейсы по схеме white label, включая разработку собственных форм ввода карточных данных и проведения платежей силами клиентов.

Настройка системы

Платформа имеет 100% покрытие всех публичных методов API интеграционным протоколом и есть фреймворк заточенный под написание таких платежных тестов.

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

Бережное отношение к вычислительным ресурсам и архитектурные подходы позволяют организовать бесперебойный прием сотен платежных транзакций в секунду всего на одной стандартной 42U стойке с оборудованием низшего или среднего класса (одноюнитовые 2хCPU-сервера с 128G RAM, ноунеймы) без использования больших вендорских систем и СХД, либо в виртуальной среде аналогичной вычислительной мощности. Количество стоек с оборудованием архитектурой неограниченно.

Дисковые массивы, вендорские решения — все это не нужно. Можно развернуть на любом хостинге или своем облаке, на своем обородовании, и при этом без огромных затрат.

Безопасность

Система BugBounty

Техническая реализация средств хранения и обработки чувствительных данных, таких как данные держателей карт, паспортных данных и любых других персональных данных (а мы их храним и обрабатываем), позволяет пройти сертификации регуляторов, например, PCI DSS с минимальными расходами и за короткое время. Количество микросервисов, имеющих доступ к открытым карточным данным сокращено до минимально необходимого количества, даже ядро платежного процессинга не оперирует открытыми карточными данными.

Мы уделяем приоритетное внимание обеспечению IT-безопасности всех наших продуктов. Все наши протоколы открыты публично, мы исповедуем максимально открытый подход в противоположность security through obscurity. Поэтому уже много лет поддерживаем программу публичного поиска уязвимостей на hackerone.com, а vulnerability managemet и SecOps-подходы являются частью процесса разработки.

Поэтому мы даже 3D-Secure сервер пишем свой, а не используем банковские. И у него есть сертификат соответствия от EMVco.

Специфика


Языки платформы

Разработку платформы ведется на 3х основных языках программирования — Erlang для высоконагруженных микросервисов, там, где требуется высокая производительность при низких затратах вычислительных ресурсов, Java, там, где требуется разработка сложной бизнес-логики и наличие большого количества готовых библиотек и JS для пользовательских интерфейсов.

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

Event-sourcing модель, реализация библиотек RPC и полное логирование в Elasticsearch позволяют предоставить службам эксплуатации системы поиск полносвязанных цепочек запросов внутри системы, а таким образом, и быстрый, и легкий поиск технических проблем, и возможность организации любых сценариев автоматического мониторинга и оповещения.

Что внутри


Содержание платежной платформы


В базовую поставку продукта входят

  • Keycloak, система аутентификации и авторизации пользователей и мерчантов, opensource-решения от Redhat, включающая бэк-офис и пользовательские интерфейсы
  • RBKmoney Checkout, универсальный платежный виджет, предоставляющий пользовательский интерфейс для ввода платежных данных и проведение платежей
  • RBKmoney Dashboard, Базовый пакет личного кабинета ТСП, позволяющий организовать онбординг, сервисы статистики и управления платежами
  • CommonAPI, микросервисы, обслуживающие предоставление внешнего API для интеграции ТСП, банков, платежных систем, платежных терминалов и любых других платежных методов, а также любого другого внешнего взаимодействия с платформой
  • Card Data Storage, микросервисы, обеспечивающие надежное зашифрованное хранилище чувствительных данных, поддерживающие автоматический контроль затирания CVV после проведения платежа, перешифровку и владельцев распределенного ключа, что снимает человеческие риски доступа к открытым карточным данным
  • Binbase, микросервисы, обеспечивающие определение информации о стране, банке-эмитенте, типе платежной карты и предоставляющие информацию для по маршрутизации платежного потока в зависимости от указанных данных
  • RBKmoney 3DS-Server, микросервисы, обеспечивающие взаимодействие с MPI и проведение платежей с учетом протокола 3D-Secure 2.1
  • RBKmoney Protocol Adapter, микросервисы, обеспечивающие бесшовную интеграцию для проведения платежей через платежную систему RBKmoney
  • ISO8583 Adapter, микросервисы, обеспечивающие бесшовную интеграцию для проведения платежей через любой платежный шлюз, поддерживающий стандартный протокол ISO8583
  • Midgard, микросервисы, обеспечивающие реализацию клиринга принятых в онлайн платежей с пластиковых карт
  • Hellgate, микросервисы, обеспечивающие функционирование ядра процессинга, такие как прием и проведение платежей, маршрутизацию, управление платежными транзакциями в режиме онлайн. Поддерживает все существующие МПС, токенизированные методы оплаты (GooglePay, ApplePay, SamsungPay), все известные криптовалюты, сервисы мобильной коммерции, сервисы электронных денег и системы приема наличных платежей. Позволяет расширить список до любых существующих платежных методов простым написанием адаптеров внешних протоколов.
  • Fistful, микросервисы, обеспечивающие функционирование ядра процессинга электронных денег, таких как управление кошельками ТСП и конечных пользователей, системы идентификации, выплаты на карты, криптовалюты и другие платежные методы в режиме онлайн
  • Bender, микросервисы, обеспечивающие идемпотентность внешних вызовов API и возможность использования стороннего идентификатора транзакции, используемого внешними интеграторами
  • Faultdetector, микросервисы, обеспечивающие автоматическое определение доступности стороннего платежного шлюза, используя математические статистические модели, предоставляющие возможность принятия для Hellgate решения об изменении маршрута платежей, например, в случае технических проблем на шлюзе, а также автоматический возврат трафика при его восстановлении
  • URL shortener, микросервисы, обеспечивающие сокращение URL для возможности выставления счетов к оплате плательщикам посредством SMS или других уведомлений
  • Dominant, микросервисы, обеспечивающие управление конфигурацией домена платформы, позволяющей конфигурировать любые бизнес-процессы и поддерживающей версионирование конфигураций
  • Machinegun, распределенная СУБД, позволяющая хранить и обрабатывать информацию о всех событиях платформы и осуществлять репликацию данных в бек-офис через универсальный брокер Kafka, используется для хранения состояний платформы
  • RBKmoney Fraudbusters, микросервисы, позволяющие организовать мощный и гибкий процесс защиты от несанкционированных действий с платежами, управлять фильтрами и ограничительными правилами
  • Аntifraud Adapter, адаптер протокола для RBKmoney Аntifraud, позволяющий микросервису Hellgate бесшовно подключиться к антифрод-решению RBKmoney Fraudbusters
  • Moneypenny, универсальный адаптер протоколов мобильной коммерции, позволяющий бесшовно реализовать прием платежей через сервисы мобильной коммерции
  • Cryptoadapter, адаптер протоколов криптовалют, позволяющий организовать прием и проведение платежей используя все существующие на данный момент криптовалюты
  • IDDQD, пользовательский интерфейс для конфигурации платформы, позволяющий в онлайн-режиме управлять всеми настройками продукта
  • Magista, микросервисы, обеспечивающие предоставление статистики и поиска платежей для личного кабинета ТСП
  • Hooker, микросервисы, обеспечивающие рассылку асинхронных коллбеков с информацией о платежах партнерам, интегрировавшим решение
  • Newway, микросервисы, обеспечивающие репликацию всех событий платформы (платежи, изменение конфигурации, онбординг) в реляционное СУБД-хранилище на базе PostgreSQL. Позволяют предоставлять внутренние BI-сервисы, интеграцию с внутренними системами, такими как АБС, биллинг, системы управления бухгалтерским учетом
  • Dudoser, микросервисы, обеспечивающие уведомление плательщиков о совершенных транзакциях посредством email
  • Payouter, микросервисы, обеспечивающие функционирование вывода принятых в онлайн-режиме средств на счета ТСП-участников системы
  • Reporter, микросервисы, обеспечивающие генерацию и предоставление ТСП актов об оказанных услугах
  • Вспомогательные сервисы и сопутствующее ПО
    - Basho Riak KV, используется для хранения состояний онлайн-части процессинга, распределенная masterless-СУБД, позволяющая предоставить всегда доступное хранилище данных, автоматическую репликацию и защиту от сбоев
  • СУБД PostgreSQL, используется для хранения структурированных данных, систем BI, интеграции с внутренними системами
  • Кластер Elasticsearch, используется для хранения логов и всех событий, генерируемых платформой. Позволяет получить актуальную информацию о любом событии, предоставляя возможность дебага и поддержки системы без доступа в продакшен-среду
  • Grafana, используется для построения дашбордов для внутренних пользователей системы, от бизнес-отчетности на базе PostgreSQL-баз, информация в которые реплицируется микросервисами группы Newway до технических отчетов и алертинга на базе запросов к Elasticsearch
  • Любой дистрибутив Linux, используется как системная ОС, на которой разворачиваются все программные продукты
  • Docker, используется как базовая система контейнеризации приложений, все микросервисы разворачиваются в docker-контейнерах
  • Hashicorp Consul, используется для автоматического Service Discovery между всеми микросервисами платформы, а также для распределенного хранилища на базе Machinegun
  • SaltStack и Kubernetes, используется для оркестрации платформы и управления инфраструктурой по подходам Devops
  • Apache Thrift, используется для организации RPC между микросервисами платформы, позволяет создавать самодокументируемые спецификации протоколов и гибкую доработку как имеющихся, так и новых микросервисов
  • Apache Kafka, используется как event-broker для репликации данных между онлайн и бек-офис частями системы

Область применения

Банки и финансовые организации на базе нашей платформы смогут предоставлять сервисы интернет-эквайринга, универсальные платежные сервисы – обеспечить прием и обработку любых видов платежей по всему миру. Платформа станет решением и для крупных ТСП, которые хотят иметь надежный платежный шлюз, не зависящий от конкретного провайдера платежных услуг, а также для стартапов в области платежных решений.

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

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

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

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

Как воспользоваться решением

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

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

Решение предоставляется как в виде исходных кодов в репозиториях нашей организации на GitHub https://github.com/rbkmoney, так и в виде готовых бинарных приложений, встроенных в контейнеры Docker из нашего публичного Docker Registry https://hub.docker.com/u/rbkmoney.

Задавайте вопросы в специальном чате в Telegram для оперативного обмена информацией между участниками комьюнити.