diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0e75772..cf5d937 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,11 @@
### NEXT_VERSION_DESCRIPTION_BEGIN
### NEXT_VERSION_DESCRIPTION_END
+## [1.7.1] (13-01-2025)
+
+* Up android native version to 7.0.2
+* Update SberPay documentation
+
## [1.7.0] (14-10-2024)
* Update mSDK version
diff --git a/README.md b/README.md
index 2722dcb..aaf7006 100644
--- a/README.md
+++ b/README.md
@@ -283,15 +283,31 @@ func application(
2. Получите токен.
3. [Создайте платеж](https://yookassa.ru/developers/api#create_payment) с токеном по API ЮKassa.
-### SberPay
+### SberPay (iOS)
+
+С помощью SDK можно провести и подтвердить платеж через актуальное приложение Сбера, если оно установленно.
+
+#### Обратите внимание
+Для работы SberPay требуется уникальная URL-scheme зарегистрированная в системе Сбера. Запросите такую схему у нашего менеджера поддержки по адресу b2b_support@yoomoney.ru.
+
+Полученную от поддержки схему нужно зарегистрировать в файле вашего проекта, как показано ниже:
+
+
+А также передайте ее в `TokenizationModuleInputData` в параметре `applicationScheme`.
+
+```dart
+var tokenizationModuleInputData = TokenizationModuleInputData(
+ ...
+ applicationScheme: "sdkvzcyfyexmpl://"
+```
Чтобы провести платёж:
-1. При создании `TokenizationModuleInputData` в `TokenizationSettings` передайте значение `PaymentMethodTypes.sberbank`.
+1. При создании `TokenizationModuleInputData` передайте значение `.sberbank` в `paymentMethodTypes`.
2. Получите токен.
3. [Создайте платеж](https://yookassa.ru/developers/api#create_payment) с токеном по API ЮKassa.
-Для подтверждения платежа через приложение СберБанк Онлайн:
+Для подтверждения платежа через приложение Сбербанка:
1. В `AppDelegate` импортируйте зависимость `YooKassaPayments`:
@@ -305,7 +321,7 @@ func application(
func application(
_ application: UIApplication,
open url: URL,
- sourceApplication: String?,
+ sourceApplication: String?,
annotation: Any
) -> Bool {
return YKSdk.shared.handleOpen(
@@ -313,14 +329,11 @@ func application(
sourceApplication: sourceApplication
)
}
+```
3. В `Info.plist` добавьте следующие строки:
```plistbase
-LSApplicationQueriesSchemes
-
- sberpay
-
CFBundleURLTypes
@@ -336,7 +349,91 @@ func application(
```
-где `examplescheme` - схема для открытия вашего приложения, которую вы указали в `applicationScheme` при создании `TokenizationModuleInputData`. Через эту схему будет открываться ваше приложение после успешной оплаты с помощью `SberPay`.
+где `examplescheme` - схема для открытия вашего приложения, которую вы указали в `applicationScheme` при создании `TokenizationModuleInputData`. Через эту схему будет открываться ваше приложение после успешной авторизации с помощью `SberPay`.
+
+4. Добавить в `Info.plist` расширенные настройки для https-соединений к сервисам Сбера
+
+```
+NSAppTransportSecurity
+
+ NSExceptionDomains
+
+ gate1.spaymentsplus.ru
+
+ NSExceptionAllowsInsecureHTTPLoads
+
+
+ ift.gate2.spaymentsplus.ru
+
+ NSExceptionAllowsInsecureHTTPLoads
+
+
+ cms-res.online.sberbank.ru
+
+ NSExceptionAllowsInsecureHTTPLoads
+
+
+
+
+```
+
+также, возникает требование расширить доступ приложения к данным пользователя для обеспечения безопасности проведения платежей
+
+```
+NSFaceIDUsageDescription
+Так вы подтвердите, что именно вы выполняете вход
+NSLocationWhenInUseUsageDescription
+Данные о местонахождении собираются и отправляются на сервер для безопасного проведения оплаты
+```
+
+5. Обработайте результат выполнения `await YookassaPaymentsFlutter.confirmation`. Если в результате нет ошибки, значит процесс подтверждения будет пройден или пропущен пользователем. На следующем шаге для проверки статуса платежа (прошел ли пользователь подтверждение успешно или нет) используйте [YooKassa API](https://yookassa.ru/developers/api#get_payment)
+(см. [Настройка подтверждения платежа](#настройка-подтверждения-платежа)).
+
+### SberPay (Android)
+
+Для подтверждения платежа при оплате через SberPay необходимо:
+1. вызвать метод `await YookassaPaymentsFlutter.confirmation`;
+2. обработать полученный результат;
+
+Входные параметры для `await YookassaPaymentsFlutter.confirmation`:
+
+Обязательные параметры метода:
+- url (String) - URL для перехода на экран подтверждения платежа через SberPay;
+- paymentMethod (PaymentMethodType) - выбранный тип платежного метода (тот, что был получен в методе `createTokenizationResult()`, (см. [Получить результат токенизации](#получить-результат-токенизации)) .
+- clientApplicationKey - ключ для клиентских приложений из личного кабинета ЮKassa ([раздел Настройки — Ключи API](https://yookassa.ru/my/api-keys-settings))
+- shopId - идентификатор магазина ЮKassa ([раздел Организации](https://yookassa.ru/my/company/organization)
+
+Возможные типы результата проведения подтверждения через SberPay:
+
+- Activity.RESULT_OK - сообщает о том, что процесс подтверждения через SberPay завершён, но не несет информацию о том, что процесс завершился успешно. После получения результата рекомендуется запросить статус платежа;
+- Activity.RESULT_CANCELED - прохождение подтверждения через SberPay было отменено (например, пользователь нажал на кнопку "назад" во время процесса);
+- Checkout.RESULT_ERROR - не удалось пройти подтверждение через SberPay.
+
+**Запуск SberPay и получение результата**
+
+
+
+```dart
+var res = await YookassaPaymentsFlutter.confirmation(
+ controller.text,
+ result.paymentMethodType,
+ config.clientApplicationKey,
+ config.shopId
+);
+showDialog(
+ context: context,
+ builder: (context) => const AlertDialog(content: Text("Confirmation process is done"))
+);
+```
+**Запрос разрешений**
+
+Для работы SberPaySDK также запрашивает определенные разрешения, которые **не являются обязательными**, но повышают шанс успешной оплаты. Актуальный список разрешений [по ссылке](https://developers.sber.ru/docs/ru/sberpay-sdk/androidsdk/start-sdk#zapros-razresheniy)
+
+```xml
+
+
+
+```
### SBP
diff --git a/android/build.gradle b/android/build.gradle
index cf320fe..aa8e62e 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -52,7 +52,7 @@ android {
}
dependencies {
- implementation 'ru.yoomoney.sdk.kassa.payments:yookassa-android-sdk:7.0.1'
+ implementation 'ru.yoomoney.sdk.kassa.payments:yookassa-android-sdk:7.0.2'
}
configurations.implementation {
diff --git a/assets/images/sberpay-reg-url-scheme.png b/assets/images/sberpay-reg-url-scheme.png
new file mode 100644
index 0000000..df1e41a
Binary files /dev/null and b/assets/images/sberpay-reg-url-scheme.png differ
diff --git a/example/ios/Runner/Info.plist b/example/ios/Runner/Info.plist
index 1d58e96..b1971b1 100644
--- a/example/ios/Runner/Info.plist
+++ b/example/ios/Runner/Info.plist
@@ -31,8 +31,38 @@
LSApplicationQueriesSchemes
yoomoneyauth
- sberpay
+ sbolpay
+ sbolidexternallogin
+ sberbankidexternallogin
+ NSAppTransportSecurity
+
+ NSExceptionDomains
+
+ cms-res.online.sberbank.ru
+
+ NSExceptionAllowsInsecureHTTPLoads
+
+
+ gate1.spaymentsplus.ru
+
+ NSExceptionAllowsInsecureHTTPLoads
+
+
+ ift.gate2.spaymentsplus.ru
+
+ NSExceptionAllowsInsecureHTTPLoads
+
+
+ sberbank.ru
+
+ NSExceptionAllowsInsecureHTTPLoads
+
+ NSIncludesSubdomains
+
+
+
+
UISupportedInterfaceOrientations
UIInterfaceOrientationPortrait
@@ -48,5 +78,9 @@
UIViewControllerBasedStatusBarAppearance
+ NSBluetoothAlwaysUsageDescription
+ Данные Bluetooth собираются и отправляются на сервер для безопасного проведения оплаты
+ NSBluetoothPeripheralUsageDescription
+ Данные Bluetooth собираются и отправляются на сервер для безопасного проведения оплаты
diff --git a/pubspec.yaml b/pubspec.yaml
index e56fce1..c7a83fe 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,7 +1,7 @@
name: yookassa_payments_flutter
description: This Flutter SDK allows processing payments using a payment token. It
works as an addition to the YooMoney API.
-version: 1.7.0
+version: 1.7.1
homepage: https://git.yoomoney.ru/projects/SDK/repos/yookassa-payments-flutter-sdk/browse
repository: https://git.yoomoney.ru/projects/SDK/repos/yookassa-payments-flutter-sdk/browse
environment: