Установка 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
}