Не переживайте, с вашими деньгами все в порядке
В результате атак БПЛА пострадали инфраструктуры дата-центров Яндекса. Мы делаем все возможное для восстановления работы наших сервисов.
Сейчас обращений больше, чем обычно, поэтому ожидание ответа может занять значимо больше времени. Поддержка ответит вам, как только сможет.
Спасибо за понимание и терпение.
Настройка окружения
Важно
Поддерживаемая версия Android SDK: 7.0 и выше.
Если ваш проект имеет minSdkVersion 23 или ниже, см. Настройка для устройств с версией ниже 7.0.
Перед началом интеграции нужно получить и добавить в проект несколько идентификаторов:
- Merchant ID
- SHA256 Fingerprints
- Client ID (
YANDEX_CLIENT_ID) - Android package name (
applicationId)
Шаг 1. Получите необходимые идентификаторы
-
Получите значение хеша SHA256 Fingerprints с помощью утилиты
keytool:keytool -list -v -alias <your-key-name> -keystore <path-to-production-keystore>После ввода команды значение хеша отобразится в блоке
Certificate fingerprints: SHA256. -
Перейдите в сервис Яндекс OAuth, нажмите кнопку Создать, выберите вариант Для авторизации пользователей и перейдите к созданию.

-
В поле Название вашего сервиса укажите название, которое будет отображаться пользователям на экране авторизации, и загрузите иконку приложения.

-
В разделе Платформы приложений выберите Android-приложение и укажите его параметры:
- Android package name — уникальное имя приложения из
applicationIdв конфигурационном файле проекта; - SHA256 Fingerprints — значение хеша SHA256. Все буквы в хеше должны быть заглавными.

- Android package name — уникальное имя приложения из
-
Добавьте доступ к Яндекс Пэй: в разделе Права доступа к данным пользователей в поле Название доступа укажите и выберите Оплата через Yandex Pay.
Примечание
Доступ Управление заказами Yandex Pay Checkout не требуется. Если он у вас добавлен, удалите его.

-
Нажмите кнопку Продолжить → Всё верно, создать приложение и скопируйте значение поля Client ID.

-
В разделе Настройки личного кабинета Яндекс Пэй нажмите Добавить Client ID и укажите значение Client ID.

Там же в разделе Настройки нажмите Добавить приложения, выберите нужный Client ID, платформу приложения и укажите SHA256 и Android package name в полях SHA256 Fingerprint и Android package name соответственно.

Шаг 2. Подключите Client ID
Укажите полученный Client ID в сборочном скрипте build.gradle в manifestPlaceholders в качестве значения YANDEX_CLIENT_ID:
android {
defaultConfig {
manifestPlaceholders = [
// Подставьте ваш Client ID
YANDEX_CLIENT_ID: "12345678901234567890",
]
}
}
Шаг 3. Инициализируйте FirebaseApp во всех процессах приложения
Мобильный SDK использует службы AppMetrica, которые необходимы для стабильной работы SDK. Этот шаг позволяет исправить проблемы совместимости сервисов Firebase и сервисов метрик.
При использовании Firebase вместе с Яндекс Пэй SDK необходимо вызывать FirebaseApp.initialize(context) во всех процессах приложения.
Если вы используете AppMetrica в своем приложении, активировать YandexMetrica необходимо после инициализации Firebase.
Пример
// don`t forget declare MyApplication in AndroidManifest.xml in <application/> block using android:name
class MyApplication: Application() {
override fun onCreate() {
// inited at every app processes
FirebaseApp.initializeApp(this)
}
}
Настройка для устройств с версией ниже 7.0
Владельцы устройств с версиями Android 7.0 (API 24 lvl) и выше могут пользоваться SDK Яндекс Пэй без ограничений. Для устройств с версиями ниже 7.0 возможности ограничены:
- нет официальной поддержки;
- ограничен функционал SDK;
- потребуется дополнительная настройка окружения по шагам ниже.
-
Подключите зависимость SDK в
build.gradleвашего проекта:dependencies{ ... implementation "com.yandex.pay:*pay/other*:*version*" ... } -
Синхронизируйте проект и попробуйте собрать его. У вас должна появиться ошибка слияния манифестов:
Manifest merger failed : uses-sdk:minSdkVersion *Your min version* cannot be smaller than version 24 declared in library -
Откройте AndroidManifest.xml файл того модуля, в котором вы подключаете зависимость и перечислите все библиотеки, попадающие в эту ошибку.
Пример:
<manifest xmlns:tools="http://schemas.android.com/tools"> <uses-sdk tools:overrideLibrary="com.yandex.pay, ...* other libraries *... ,com.yandex.pay.base"/> </manifest> -
Проверьте доступность поддержки SDK через объект YPay и инициализируйте все необходимые компоненты после проверки:
if (YPay.isSupported){ // init Yandex pay } else { // do some other logic }Важно
Проверяйте доступность
YPay.isSupportedпри каждом обращении к SDK Яндекс Пэй.