Хотите добавить в своё Android-приложение функцию бесконтактной оплаты, но не знаете, как это сделать? Тогда эта статья для вас! Заодно обсудим особенности реализации. В конце будет ссылка на репозиторий с примером.

В 2023 году SberPay стал одним из немногих сервисов, при помощи которого можно платить смартфоном в России. При этом он становится еще удобнее и функциональнее. Расскажем про СберПэй: что это и как работает, какие возможности имеет, как подключить карточку в Сбербанк Онлайн и где можно расплачиваться таким способом.
## Что такое СберПэй (SberPay)
СберПэй – это отечественный сервис бесконтактной оплаты, который работает по аналогии с Apple Pay и Google Pay. Новый способ оплаты интегрировали в приложение Сбера после масштабного обновления в июле 2020 года. Пользоваться им можно исключительно через Сбербанк Онлайн. То есть, это не отдельное приложение – сервис интегрирован в основной софт Сбера.
Когда в 2022 году в России из-за санкций перестали работать западные платежные сервисы, то системой SberPay клиенты стали пользоваться более активно. Поэтому сейчас разработчики активно трудятся над тем, чтобы сделать его более удобным и расширить функционал.
## Резюме
Посмотреть пример реализации бесконтактной оплаты можно по этой ссылке.
## Как пользоваться СберПэй
Если подключить Сбер Пей удалось, самое время настроить его. Разберемся, как с его помощью платить в магазинах и снимать деньги в банкомате без использования карт.
### Как настроить СберПэй
Чтобы использовать сервис было проще, стоит заранее настроить оплату касанием и добавить это на главный экран. Расскажем, как это сделать.
#### Включить NFC
Если это еще не сделано, для бесконтактной оплаты нужно включить NFC. Для этого:
1. Зайти в настройки.
2. Найти раздел с подключением NFC.
3. Включить NFC.
В дальнейшем этот модуль можно не выключать – он не расходует ни заряд батареи, ни память устройства, зато очень экономит время при оплате картой.
#### Сделать основным платежным сервисом
Бывает, что в настройках дополнительно установлен Google Pay или любой другой сервис бесконтактной оплаты, но нужно сделать СберПэй основным. Для этого:
1. Зайти в настройки.
2. Найти раздел с платежными сервисами.
3. Выбрать СберПэй.
На различных смартфонах точный алгоритм этих действий может быть разным. Если не удалось найти раздел с подключением NFC, достаточно воспользоваться поисковой строкой в блоке Настройки.
#### Добавить виджет
Чтобы каждый раз не заходить в приложение Сбера для оплаты покупок, можно добавить виджет платежа через SberPay на главный экран смартфона. Так можно будет запускать сервис в одно касание, не дожидаясь, пока смартфон отреагирует на приближение к терминалу.
Для добавления в приложении нужно:
1. Зайти в настройки.
2. Найти раздел с виджетами.
3. Выбрать виджет СберПэй.
После этого виджет появится на главном экране. Чтобы оплатить покупки, достаточно будет просто кликнуть по иконке.
### Как привязать картыПодключение и использование СберПэй
Для использования СберПэй необходимо иметь карту Сбербанка, принадлежащую к платежной системе МИР. Это может быть дебетовая, кредитная, виртуальная или пластиковая карта. Visa и MasterCard ранее также работали с сервисом, однако в марте 2022 года они покинули рынок России и прекратили поддержку SberPay.
Если у вас еще нет карты МИР, вы можете легко выпустить виртуальную карту через приложение Сбербанка всего за несколько минут. После этого ее можно немедленно привязать к SberPay и использовать для оплаты в магазинах, а при необходимости заказать физическую пластиковую карту.
Подключение карты к SberPay
Чтобы подключить карту к СберПэй, выполните следующие действия:
- Откройте приложение Сбербанка и найдите раздел SberPay.
- Выберите опцию Подключить карту.
- Введите данные вашей карты МИР и подтвердите свою личность.
- Дождитесь обработки карты системой и уведомления о подключении.
Если у вас есть другие карты МИР, вы также можете подключить их, следуя аналогичной процедуре.
Оплата касанием телефона
При оплате через SberPay с помощью телефона убедитесь, что функция NFC включена, так как из-за проблем с некоторыми платежными сервисами пользователи могли отключить эту функцию. Оплата касанием телефона поддерживается двумя способами:
- Оплата с использованием основной карточки: В магазине разблокируйте телефон и приложите его к терминалу на кассе. После подтверждения суммы оплаты снова поднесите телефон к терминалу для списания средств.
- Выбор карточки для оплаты: Если необходимо выбрать карточку или проверить баланс перед оплатой, процесс может потребовать дополнительных шагов для безопасности.
Оплата по QR-коду через SberPay
SberPay также поддерживает оплату через QR-код. Этот способ работает даже без NFC и подходит для всех типов смартфонов, включая iPhone. Оплата по QR-коду доступна двумя способами:
- Оплата по QR-коду продавца: Сканируйте QR-код, сгенерированный платежным терминалом на кассе магазина.
- Оплата с использованием персонального QR-кода: Сгенерируйте QR-код в приложении и позвольте продавцу его отсканировать для списания средств с вашей карты.
Просим учесть, что второй способ оперативен только в магазинах, поддерживающих технологию оплаты по QR-коду. Для оплаты по QR-коду удостоверьтесь в наличии необходимой информации у продавца или посмотрите наклейку Плати QR от Сбера.
Оплата при помощи биометрии
Платеж по биометрии – новый способ, который Сбербанк назвал Оплата улыбкой. Чтобы оплатить покупки, вам не нужна ни пластиковая карточка, ни смартфон с приложением. Терминалу будет достаточно только лица покупателя.
Способ также подходит и для владельцев iPhone – по сути, при оплате смартфон вообще не используется. Для оплаты по биометрии клиент Сбербанка просто должен посмотреть в камеру на терминале, а покупку дороже тысячи рублей подтвердить ПИН-кодом.
Подключение к SberPay
Чтобы подключить в SberPay оплату по биометрии, в приложении Сбербанка нужно:
- Открыть приложение и найти раздел Настройки.
- В разделе Платежи и переводы выбрать Оплата улыбкой.
- Добавить свое лицо для оплаты по биометрии.
Оплата по биометрии доступна только в терминалах с функцией распознавания лиц. На кассе в магазине, где работает такой терминал, есть наклейка Платите как удобно, Оплата одним взглядом или Каждого клиента знаем в лицо.
Безопасность и удобство
СберПэй не только облегчает онлайн-покупки, но и делает их безопаснее. С ним при оплате заказа в интернет-магазине не нужно вводить номер карты и CVC-код – просто выбрать опцию Оплата улыбкой, и система автоматически переведет пользователя в приложение Сбербанка для оплаты.
Pри оформлении заказа выглядит так:

Останется только подтвердить операцию отпечатком пальца, Face-ID или вводом ПИН-кода на экране смартфона. При этом SberPay не передает данные стороннему сервису, поэтому платеж полностью безопасен.
Снятие денег в банкоматах
Благодаря технологии NFC, со СберПэй можно снимать наличные в банкоматах без пластиковой карточки. Работает такой способ только с новыми банкоматами.
Чтобы снять деньги, нужно:
- Подойти к банкомату.
- Выбрать режим Снять наличные без карты.
- Приложить смартфон к NFC-метке на банкомате.
Часто задаваемые вопросы
Можно ли привязать к SberPay карту другого банка?
Нет, сервис работает только с карточками Сбербанка.Что делать, если не получается оплатить по Сберпэй?
Попробуйте поднести смартфон ближе к терминалу или обновить приложение.Можно ли платить через SberPay с заблокированной карты?
Нет, принимаются только активные карты.Начислят ли мне бонусы СберСпасибо при оплате через SberPay?
Да, если оплата проводилась через терминал или QR-код Сбербанка.Нужен ли интернет, чтобы платить через SberPay?
Нет, сервис работает офлайн, но для безопасной оплаты требуется интернет-подключение для генерации ключей.
Сервис оплаты
Будьте в курсе всех новостей и удобств, которые предлагает Сбербанк с новым сервисом оплаты по биометрии — SberPay. Оплата улыбкой теперь стала проще и безопаснее.
При проведении транзакции через мобильное устройство приложение общается с POS-терминалом через сервис оплаты и передаёт ID токена вместо реальных данных карты, с одним платёжным ключом на терминал. Весь процесс оплаты выглядит так:
Когда удалённое устройство NFC хочет связаться с вашим сервисом, оно отправляет APDU SELECT AID, как определено в спецификации ISO/IEC 7816-4. AID — это идентификатор приложения, процедура его регистрации определена в спецификации ISO/IEC 7816-5. Но если вы не хотите регистрировать свой AID, то можете использовать AID в собственном диапазоне, например, 0xF00102030405.
В некоторых случаях сервису может потребоваться зарегистрировать несколько AID в одном приложении. Тогда сервис должен быть обработчиком по умолчанию для всех этих идентификаторов.
Бывают ситуации, когда другому сервису передаётся группа идентификаторов — список AID, которые Android рассматривает как связанные друг с другом: все вызовы идентификаторов из этой группы обязательно перенаправляются на один сервис.
Каждую группу AID можно связать с категорией. Это позволяет Android классифицировать сервисы, а пользователю — устанавливать значения по умолчанию на уровне категории, а не на уровне AID. Рассмотрим пример регистрации сервиса:
После этих шагов приложение уже будет реагировать на терминал.
Процесс обмена командами APDU между терминалом и сервисом должен быть максимально быстрым. Обсудим два варианта приложений: маленькое (из одного или нескольких модулей) и большое (многомодульное).
Правда, во втором случае может возникнуть новая проблема: если нужно синхронизировать данные, которые используются в разных процессах, то придётся синхронизировать и взаимодействие. Рассмотрим несколько способов решения.
## Бесконтактная оплата
Как работает бесконтактная оплата и из каких этапов состоит её реализация, мы рассмотрели в предыдущей статье. Вкратце напомним, что для этого необходимо:
- При токенизации в Android-приложении применяется обычное клиент-серверное взаимодействие, поэтому здесь мы подробнее рассмотрим только сам сервис оплаты.
## Как работает СберПэй
Сервис SberPay может полностью заменить для клиента пластиковую карту. С его помощью можно без проблем платить везде, где есть бесконтактный терминал – в супермаркетах, других торговых точках, в ресторанах, на фудкортах и прочих торгово-сервисных предприятиях. Чтобы расплатиться, достаточно приложить к терминалу смартфон. Также у СберПэй работает безопасная онлайн-оплата и оплата по биометрии.
В настоящее время система работает со смартфонами на операционной системе Android с технологией NFC, которая позволяет терминалу и платежному инструменту (карточке в приложении) обмениваться данными напрямую. По сути, он может заменить Google Pay, который с 2022 года не работает в России. Основное требование – пользователь должен быть клиентом Сбербанка (иначе у него просто не будет доступа к Сбербанк Онлайн)
## Как подключить СберПэй в Сбербанк Онлайн на телефонеОтдельного софта для СберПэй не предусмотрено, сервис работает внутри стандартного приложения Сбера. Поэтому для подключения достаточно иметь телефон с технологией NFC, ОС Android версии 7.0 и выше и работающее приложение Сбербанка.
Разберемся, как подключить СберПэй в Сбербанк Онлайн со смартфона.
Чтобы подключить СберПэй на Андроиде, необходимо:
Готово – смартфон подключен к SberPay. Можно сразу начинать пользоваться бесконтактной оплатой или дополнительно настроить сервис под себя.
SberPay на айфонах работает, но со значительно ограниченным функционалом. Платить касанием по аналогии с Apple Pay нельзя, зато владельцы iPhone могут:
Дополнительно ничего настраивать для доступа к этим услугам владельцам айфонов не нужно, весь функционал уже есть в приложении Сбербанка. Если нужно все-таки расплачиваться в магазинах только касанием смартфона, придется заказать платежный стикер Сбербанка – он клеится на заднюю крышку телефона и полностью заменяет обычную карточку.
Расплачиваясь такими способами через SberPay, клиент не передает продавцу данные своей карты. Вместо них он видит токен, информацию в котором может расшифровать только сама платежная система. А значит, это безопасно.
Синхронизация данных
Note: This class does not support use across multiple processes.
Библиотека MMKV использует нативный код, в Tray — решение на основе Content Provider-а. Как видите Harmony впереди по быстродействию, поэтому целесообразно использовать эту библиотеки.





