Интеграция платежного шлюза СберPay в мобильное приложение

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Интеграция платежного шлюза СберPay в мобильное приложение
Средний
~2-3 дня
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    495

Интеграция платежного шлюза СберPay в мобильное приложение

СберPay — платёжный метод от Сбербанка, который позволяет пользователям подтверждать оплату через приложение СберБанк Онлайн или через Сбер ID. В мобильных приложениях интеграция реализуется через Сбербанк Эквайринг (SBOL REST API) или через агрегаторы (ЮKassa, CloudPayments), которые поддерживают СберPay как метод оплаты.

Два пути интеграции

Через агрегатор. Если у вас уже есть ЮKassa, CloudPayments или Robokassa — СберPay можно включить как дополнительный paymentMethodType без отдельной интеграции. ЮKassa, например, поддерживает sberbank как тип метода оплаты, и SDK сам открывает диплинк в СберБанк Онлайн.

Через Сбербанк Эквайринг напрямую. Нужна отдельная регистрация мерчанта в Сбербанке, подключение к тестовой среде 3dsec.sberbank.ru и прямая работа с REST API.

Прямая интеграция через Сбербанк REST API

Для СберPay в мобильном приложении используется flow с deeplink-возвратом. Сервер регистрирует заказ и получает orderId и formUrl:

POST https://securepayments.sberbank.ru/payment/rest/register.do
?userName=merchant_login
&password=merchant_password
&orderNumber=ORDER-1234
&amount=150000
&returnUrl=yourapp://payment/result/success
&failUrl=yourapp://payment/result/fail
&clientId=user_123
&paymentSystem=SBERPAY

Ответ:

{
    "orderId": "uuid-order-id",
    "formUrl": "https://securepayments.sberbank.ru/sberpay?orderId=..."
}

Deeplink в СберБанк Онлайн

formUrl содержит ссылку, которая открывает приложение СберБанк Онлайн для подтверждения. На клиенте:

// Android
val sberPayUri = Uri.parse(formUrl)
val intent = Intent(Intent.ACTION_VIEW, sberPayUri)

// Проверяем, установлен ли СберБанк Онлайн
if (intent.resolveActivity(packageManager) != null) {
    startActivity(intent)
} else {
    // Fallback: открываем формUrl в браузере
    openInBrowser(formUrl)
}
// iOS
if let url = URL(string: formUrl), UIApplication.shared.canOpenURL(url) {
    UIApplication.shared.open(url)
} else {
    // Fallback: SFSafariViewController
    presentSafari(url: formUrl)
}

Обработка возврата через deeplink

После подтверждения в СберБанк Онлайн система редиректит на returnUrl, который вы указали при регистрации заказа. В iOS нужен Universal Link или URL Scheme, в Android — Intent Filter:

<!-- AndroidManifest.xml -->
<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="yourapp" android:host="payment" android:pathPrefix="/result" />
</intent-filter>

После возврата проверяем статус заказа на сервере:

GET https://securepayments.sberbank.ru/payment/rest/getOrderStatusExtended.do
?orderId=uuid-order-id&userName=...&password=...

Ключевой момент: не доверяйте только deeplink-возврату. Пользователь может закрыть приложение до редиректа. Статус платежа нужно всегда проверять через серверный запрос getOrderStatusExtended.

Интеграция через ЮKassa (упрощённый вариант)

// Android, ЮKassa SDK
val paymentParameters = PaymentParameters(
    amount = Amount(BigDecimal.valueOf(1500), Currency.getInstance("RUB")),
    title = "Заказ",
    subtitle = "",
    clientApplicationKey = "live_key",
    shopId = "shop_id",
    paymentMethodTypes = setOf(PaymentMethodType.SBERBANK)  // только СберPay
)

ЮKassa SDK сам формирует deeplink и обрабатывает возврат — вам остаётся только принять токен и создать платёж на сервере.

Что входит в работу

  • Выбор схемы интеграции: прямая или через агрегатор
  • Регистрация заказа на сервере и получение formUrl
  • Реализация deeplink-открытия СберБанк Онлайн и fallback
  • Обработка возврата через URL Scheme / Universal Link
  • Серверная проверка статуса платежа

Сроки

2–3 дня. Стоимость рассчитывается индивидуально.