Миграция на Яндекс Пэй 2.0

В данном разделе описаны планы миграция со старых версий на новые версии Яндекс Пэй версии 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. Запустите сервис

В зависимости от выбранного вами варианта оплаты и формата запуска - проведите запуск лаунчера по инструкции.

Шаг 7. Обработайте результат работы сервиса

Предыдущая
Следующая