Миграция на Яндекс Пэй 2.0
- План миграции для библиотеки com.yandex.pay:pay
- Шаг 1. Обновите зависимость в сборочных файлах build.gradle и синхронизируйте проект
- Шаг 2. Проверьте библиотеку на совместимость
- Шаг 3. Используйте YPay вместо YaPay для получения сессии
- Шаг 4. Замените устаревший контракт на новый лаунчер
- Шаг 5. Обновите onClickListener для вашей кнопки
- Шаг 6. Обновите данные для контракта
- Шаг 7. Запустите сервис
- Шаг 8. Обработайте результат работы сервиса
В данном разделе описаны планы миграции со старых версий на новые версии (2.0+) Яндекс Пэй.
План миграции для библиотеки 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.
Шаг 6. Обновите данные для контракта
В версии 2.0 были обновлены входные параметры для контракта, теперь вы можете использовать различные методы проведения оплаты. Подробнее смотрите начало.
Выберите удобный способ проведения оплаты и обновите входные параметры:
//old
val paymentData = PaymentData(...)
//new
val pspLikePaymentData = PaymentData.PaymentUrlFlowData(...)
//old
PaymentData paymentData = new PaymentData(...)
//new
PaymentData pspLikePaymentData = new PaymentData.PaymentUrlFlowData(...)
Шаг 7. Запустите сервис
В зависимости от выбранного вами варианта оплаты и формата запуска - проведите запуск лаунчера по инструкции.