Установка Yandex Pay Kit для Android

Доступные модули

Модуль Зависимость Описание
CP QR com.yandex.pay:quickpay Customer Presented QR. Быстрая оплата через QR-код в офлайн-точках.
Ассистент com.yandex.pay:assistant Виджеты выгод и сценарии ИИ-ассистента от Яндекс Пэй.
Авторизация com.yandex.pay:auth Авторизация пользователя в Яндекс Пэй и передача состояния авторизации партнера.
Редирект com.yandex.pay:pay-with-redirect PSP-оплата через платежную ссылку с редиректом в платежную форму.
Пэй Виджет com.yandex.pay:inapp Виджет быстрой онлайн-оплаты на checkout-странице. Подключается вместе с модулем «Редирект» (pay-with-redirect).
Инвентарь com.yandex.pay:inventory Бейджи Яндекс Пэй с информацией о скидках, кешбэке баллами Плюса или платежах Яндекс Сплит.

Android-модули распространяются через Maven Central в группе com.yandex.pay. Каждый публичный сценарий SDK опубликован как отдельный Gradle-артефакт.

Установка

Подключите только нужные модули в build.gradle.kts:

dependencies {
    implementation("com.yandex.pay:assistant:<LATEST_VERSION>")
    implementation("com.yandex.pay:auth:<LATEST_VERSION>")
    implementation("com.yandex.pay:inapp:<LATEST_VERSION>")
    implementation("com.yandex.pay:inventory:<LATEST_VERSION>")
    implementation("com.yandex.pay:pay-with-redirect:<LATEST_VERSION>")
    implementation("com.yandex.pay:quickpay:<LATEST_VERSION>")
}

Чтобы добавить новый сценарий SDK, укажите нужный артефакт в этом же блоке зависимостей. Используйте одну актуальную версию для всех пакетов com.yandex.pay — это гарантирует совместимость модулей.

Gradle скачивает выбранные публичные пакеты и их транзитивные зависимости. Например, модуль assistant подтянет необходимые внутренние части SDK: базовые модели, сетевой слой, навигацию, UI-компоненты и адаптеры. Эти зависимости не нужно перечислять вручную.

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

import com.yandex.pay.withredirect.api.facade.payWithRedirectFlow

YPay.init(
    context = context,
    flows = listOf(
        assistantFlow(merchantId = "<YOUR_MERCHANT_ID>"),
        authFlow(merchantId = "<YOUR_MERCHANT_ID>"),
        inventory(merchantId = "<YOUR_MERCHANT_ID>"),
        payInAppFlow(merchantId = "<YOUR_MERCHANT_ID>"),
        payWithRedirectFlow(merchantId = "<YOUR_MERCHANT_ID>"),
    )
) {
    environment = YPayEnvironment.PRODUCTION
    theme = YPayTheme.SYSTEM
    locale = YPayLocale.SYSTEM
}
Предыдущая