From 3a9355aff4cae80e5c5fbf2705bb06fce73247de Mon Sep 17 00:00:00 2001 From: jenkins-mobile Date: Mon, 13 Jan 2025 12:02:19 +0300 Subject: [PATCH] Release 1.7.1 --- CHANGELOG.md | 5 + README.md | 115 +++++++++++++++++++++-- android/build.gradle | 2 +- assets/images/sberpay-reg-url-scheme.png | Bin 0 -> 47811 bytes example/ios/Runner/Info.plist | 36 ++++++- pubspec.yaml | 2 +- 6 files changed, 148 insertions(+), 12 deletions(-) create mode 100644 assets/images/sberpay-reg-url-scheme.png 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 0000000000000000000000000000000000000000..df1e41a6a99e00ad96fd8e33c3aaede06b115a54 GIT binary patch literal 47811 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 W>OFJD$?_EZla*AI$hmdj=f42Z_$y2R literal 0 HcmV?d00001 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: