Миграция на Яндекс Пэй 2.0
- План миграции для библиотеки com.yandex.pay:pay
- Шаг 1. Обновите зависимость в сборочных файлах build.gradle и синхронизируйте проект
- Шаг 2. Проверьте библиотеку на совместимость
- Шаг 3. Используйте YPay вместо YaPay для получения сессии
- Шаг 4. Замените устаревший контракт на новый лаунчер
- Шаг 5. Обновите onClickListener для вашей кнопки
- Шаг 5. Обновите данные для контракта
- Шаг 6. Запустите сервис
- Шаг 7. Обработайте результат работы сервиса
В данном разделе описаны планы миграция со старых версий на новые версии Яндекс Пэй версии 2.
План миграции для библиотеки com.yandex.pay:pay
Шаг 1. Обновите зависимость в сборочных файлах build.gradle и синхронизируйте проект
dependencies {
implementation "com.yandex.pay:pay"
}
Шаг 2. Проверьте библиотеку на совместимость
Если ваш minSdkVersion
равен 23 или меньше, то прочитайте пункт о поддержке младших версий устройств.
Шаг 3. Используйте YPay вместо YaPay для получения сессии
Используйте новый объект вместе с функцией YPay.getYandexPaymentSession()
вместо устаревших YaPay.getPaymentSession()
.
Примечание
При использовании данной функции на Java вам будет необходимо передать еще один дополнительный параметр sessionKey
.
Для Kotlin этот параметр будет необязательным.
Шаг 4. Замените устаревший контракт на новый лаунчер
Используйте новый YPayLauncher
вместо регистрации контракта.
//old
val launcher = registerForActivityResult(YPayContract()){
//do something
}
//new
val launcher = YPayLauncher(this){
//do something
}
//old
ActivityResultLauncher<YPayContractParams> launcher = registerForActivityResult(YPayContract()){
//do something
}
//new
YPayLauncher launcher = new YPayLauncher(this){
//do something
}
Шаг 5. Обновите onClickListener для вашей кнопки
Если вы используете кнопку Яндекс Пэй, то вам необходимо обновить слушатель клика, передав в него обновленный ранее YPayLauncher
.
//old
yPayButton.setOnClickListener(YPayButton.OnClickListener {
// do something
})
//new
yPayButton.setOnClickListener(newLauncher){
// do something
}
//old
yPayButton.setOnClickListener(() -> {
// do something
});
//new
yPayButton.setOnClickListener(launcher, yPayButtonLauncher -> {
// call yPayButtonLauncher.launch() for launch service
});
Теперь вы можете производить запуск сервиса, используя yPayButtonLauncher
.
Шаг 5. Обновите данные для контракта
В версии 2.0 были обновлены входные параметры для контракта, теперь вы можете использовать различные методы проведения оплаты. Подробнее смотрите начало.
Выберите удобный способ проведения оплаты и обновите входные параметры:
//old
val paymentData = PaymentData(...)
//new
val pspLikePaymentData = PaymentData.PaymentUrlFlowData(...)
//old
PaymentData paymentData = new PaymentData(...)
//new
PaymentData pspLikePaymentData = new PaymentData.PaymentUrlFlowData(...)
Шаг 6. Запустите сервис
В зависимости от выбранного вами варианта оплаты и формата запуска - проведите запуск лаунчера по инструкции.