Платёжная система — один из самых важных элементов любого приложения. От неё зависит не только удобство пользователей, но и стабильность выручки. Когда мы запускали RuStore, быстро поняли: платежи должны работать безупречно, иначе страдают и пользователи, и разработчики.

На старте мы использовали внешнее решение, чтобы быстро запустить процесс монетизации. Но со временем, когда стор вырос и количество интеграций увеличилось, стало очевидно: для гибкости, скорости и контроля нам нужно собственное решение. Так в RuStore появилась идея создать Pay SDK — платёжное решение, которое мы спроектировали с нуля под реальные задачи российских разработчиков и наших пользователей.

Меня зовут Алексей Мольков, я менеджер продукта в RuStore. В этой статье расскажу, как мы пришли к решению написать свой SDK, какие вызовы прошли по пути и какие преимущества уже видят команды, которые его используют.

Как мы пришли к собственному SDK

Когда в 2022 году российские разработчики столкнулись с ограничениями в зарубежных магазинах приложений, стало очевидно: индустрии нужен собственный стор. Так появился RuStore. Однако просто запустить площадку было недостаточно — важно было сразу дать разработчикам инструменты для монетизации.

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

Поначалу схема работала, но с ростом числа интеграций стала проявляться обратная сторона стороннего решения:

  • Ограниченная гибкость и кастомизация. Любые изменения или доработки требовали долгих согласований, сроки сдвигались, а часть задач становилась попросту невыполнимой;

  • Сложности с техподдержкой. Любой вопрос приходилось решать через внешнюю команду — ждать ответа, уточнять детали, терять время.

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

Так начиналась платежная инфраструктура RuStore — просто прокси между паблишерами и сервисами нашего партнера. Вся информация о платежах и логика на стороне внешней организации
Так начиналась платежная инфраструктура RuStore — просто прокси между паблишерами и сервисами нашего партнера. Вся информация о платежах и логика на стороне внешней организации

Переход к собственному SDK: вызовы и решения

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

Каждая задача на этом пути требовала отдельного подхода и внимательного отношения к деталям.

1. Бесшовный переход

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

Что сделали:

  • сохранили привычную структуру API, убрав лишние параметры и сделав её компактнее; 

  • подготовили подробные гайды по переходу со старого SDK;

  • перенесли историю платежей и каталог продуктов из инфраструктуры вендора в VK.

В итоге миграция оказалась почти незаметной: приложения продолжили работать без сбоев, а интеграция заняла минимум усилий.

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

2. Платёжное ядро и инфраструктура с нуля

Создание собственного SDK означало, что всю внутреннюю логику платежей нужно строить с нуля. Мы спроектировали надёжное платёжное ядро, способное корректно обрабатывать стандартные покупки, возвраты, отмены, повторные попытки оплаты, работу с подписками и сложные крайние случаи (например, двойные списания или незавершённые транзакции).

Параллельно требовалось создать инфраструктуру для хранения и управления каталогом товаров и подписок, а также интегрировать всё с внутренними сервисами RuStore.

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

Чтобы всё это собрать воедино, подключили экспертизу специалистов по ИБ, архитекторов, техлидов Backend- и Android-разработки. В результате получили систему, которая отвечает требованиям безопасности и надёжности, выдерживает продакшен-нагрузку и при этом остаётся гибкой для доработок.

Что получилось:

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

  • Гибкая работа с платежами. Мы обновили подход к двухстадийным покупкам: теперь любой продукт можно оплатить как по одно-, так и по двухстадийной схеме — разработчик сам выбирает удобный вариант.

А вот что мы имеем теперь (упрощённо, конечно же) — свой SDK со своим эквайрингом и логикой обработки платежей и общей историей платежей
А вот что мы имеем теперь (упрощённо, конечно же) — свой SDK со своим эквайрингом и логикой обработки платежей и общей историей платежей

3. Поддержка привычных способов оплаты

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

Что сделали:

  • с самого старта SDK поддерживает основные способы оплаты РФ, а архитектура позволяет быстро добавлять новые;

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

4. Простота интеграции и качественная поддержка

Разработчики ожидают от SDK двух вещей: чтобы он подключался без боли и чтобы на вопросы быстро отвечали.

Что сделали:

  • сократили число зависимостей в SDK, чтобы минимизировать конфликты и ускорить интеграцию;

  • отправляем чеки в налоговую, избавляя разработчиков от необходимости самим налаживать процесс фискализации;

  • подготовили подробную документацию и примеры кода;

  • обучили команду поддержки, которая помогает на всех этапах интеграции.

5. MVP и масштабирование

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

Так, на старте SDK тестировали несколько компаний в закрытой бете (об этом уже рассказывали на Хабре). Мы наблюдали за интеграцией, собирали обратную связь, оперативно правили ошибки. Такой цикл «проверка — фиксы — снова тест» помог быстро стабилизировать продукт.

К моменту публичного запуска Pay SDK прошёл несколько итераций доработок, успешно выдержал нагрузочное тестирование и показал стабильность. Благодаря этому релиз прошёл спокойно: разработчики сразу получили рабочий инструмент для монетизации.

Результаты и преимущества нового решения

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

В мае 2025 года мы запустили RuStore Pay SDK. Ниже рассказываем, какие возможности он открыл и как изменился опыт паблишеров после релиза.

1. Сохранение ключевых сценариев работы с платежами

В новом SDK мы сохранили всё, к чему привыкли разработчики в повседневной работе:

  • режим песочницы для тестирования интеграции без реальных списаний;

  • серверные уведомления (callback) о статусах платежей;

  • публичное API для интеграции с бэкендом;

  • поддержку популярных движков для Android-разработки.

Всё это помогло сделать миграцию безболезненной.

2. Новые инструменты и удобный UI

В Pay SDK появились функции, которых не хватало в старом решении:

  • callback-уведомления по тестовым платежам — теперь отладка интеграции стала удобнее;

  • работа с developer payload в API и Консоли — можно гибко передавать и обрабатывать дополнительные данные о заказе;

  • обновлённый UI для пользователей — интерфейс стал интуитивнее и быстрее;

  • расширенные инструменты для работы с подписками прямо в Консоли разработчика;

  • нативная поддержка промо-активностей — выпуск купонов на скидку без костылей.

3. Гибкость под задачи российского рынка

Pay SDK изначально создавался под RuStore и российскую аудиторию, что дало главное преимущество — гибкость:

  • можно быстро внедрять новые функции;

  • оперативно подключать востребованные способы оплаты;

  • реагировать на фидбэк разработчиков без долгих согласований.

4. Поддержка без посредников

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

5. Локальные способы оплаты

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

6. Стабильность и отказоустойчивость

SDK работает на инфраструктуре VK, а все ключевые процессы мы держим под собственным контролем. Это позволяет выдерживать пиковые нагрузки и гарантировать стабильность сервиса без просадок в критичные моменты. Основные сценарии поставлены на мониторинг 24/7, поэтому если всё же что-то пойдет не так, реакция и починка будет быстрой.

7. Рост метрик и новые механики монетизации

Оптимизация пользовательского пути и новые сценарии оплаты сделали покупки проще и прозрачнее. В итоге пользователи стали чаще завершать оплату, а конверсия выросла примерно на 20%. Pay SDK стал не просто техническим решением, а инструментом, который напрямую влияет на рост доходов разработчиков в RuStore.

Заключение

Опыт показал: чтобы развиваться, важно брать контроль в свои руки. Создание своего SDK потребовало много сил, но дало главное — гибкость, скорость и предсказуемость. 

Сегодня Pay SDK стабильно работает в сотнях приложений, помогает разработчикам зарабатывать и даёт пользователям удобный и понятный сценарий оплаты. Мы не останавливаемся: впереди новые методы оплаты, дополнительные инструменты монетизации и улучшения по запросам сообщества.

А чтобы продукт развивался в правильном направлении, мы продолжаем собирать фидбэк в RuStore Dev Chat — чем больше честной обратной связи, тем быстрее SDK станет ещё удобнее для всех.

Комментарии (0)