Release 1.7.1
This commit is contained in:
parent
1eb261c794
commit
3a9355aff4
@ -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
|
||||
|
115
README.md
115
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.
|
||||
|
||||
Полученную от поддержки схему нужно зарегистрировать в файле вашего проекта, как показано ниже:
|
||||
<img src="assets/images/sberpay-reg-url-scheme.png" width="70%">
|
||||
|
||||
А также передайте ее в `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
|
||||
<key>LSApplicationQueriesSchemes</key>
|
||||
<array>
|
||||
<string>sberpay</string>
|
||||
</array>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
@ -336,7 +349,91 @@ func application(
|
||||
</array>
|
||||
```
|
||||
|
||||
где `examplescheme` - схема для открытия вашего приложения, которую вы указали в `applicationScheme` при создании `TokenizationModuleInputData`. Через эту схему будет открываться ваше приложение после успешной оплаты с помощью `SberPay`.
|
||||
где `examplescheme` - схема для открытия вашего приложения, которую вы указали в `applicationScheme` при создании `TokenizationModuleInputData`. Через эту схему будет открываться ваше приложение после успешной авторизации с помощью `SberPay`.
|
||||
|
||||
4. Добавить в `Info.plist` расширенные настройки для https-соединений к сервисам Сбера
|
||||
|
||||
```
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSExceptionDomains</key>
|
||||
<dict>
|
||||
<key>gate1.spaymentsplus.ru</key>
|
||||
<dict>
|
||||
<key>NSExceptionAllowsInsecureHTTPLoads</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>ift.gate2.spaymentsplus.ru</key>
|
||||
<dict>
|
||||
<key>NSExceptionAllowsInsecureHTTPLoads</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>cms-res.online.sberbank.ru</key>
|
||||
<dict>
|
||||
<key>NSExceptionAllowsInsecureHTTPLoads</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
```
|
||||
|
||||
также, возникает требование расширить доступ приложения к данным пользователя для обеспечения безопасности проведения платежей
|
||||
|
||||
```
|
||||
<key>NSFaceIDUsageDescription</key>
|
||||
<string>Так вы подтвердите, что именно вы выполняете вход</string>
|
||||
<key>NSLocationWhenInUseUsageDescription</key>
|
||||
<string>Данные о местонахождении собираются и отправляются на сервер для безопасного проведения оплаты</string>
|
||||
```
|
||||
|
||||
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 и получение результата**
|
||||
|
||||
<details open>
|
||||
|
||||
```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
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_UPDATES" />
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
```
|
||||
|
||||
### SBP
|
||||
|
||||
|
@ -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 {
|
||||
|
BIN
assets/images/sberpay-reg-url-scheme.png
Normal file
BIN
assets/images/sberpay-reg-url-scheme.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 47 KiB |
@ -31,8 +31,38 @@
|
||||
<key>LSApplicationQueriesSchemes</key>
|
||||
<array>
|
||||
<string>yoomoneyauth</string>
|
||||
<string>sberpay</string>
|
||||
<string>sbolpay</string>
|
||||
<string>sbolidexternallogin</string>
|
||||
<string>sberbankidexternallogin</string>
|
||||
</array>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSExceptionDomains</key>
|
||||
<dict>
|
||||
<key>cms-res.online.sberbank.ru</key>
|
||||
<dict>
|
||||
<key>NSExceptionAllowsInsecureHTTPLoads</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>gate1.spaymentsplus.ru</key>
|
||||
<dict>
|
||||
<key>NSExceptionAllowsInsecureHTTPLoads</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>ift.gate2.spaymentsplus.ru</key>
|
||||
<dict>
|
||||
<key>NSExceptionAllowsInsecureHTTPLoads</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>sberbank.ru</key>
|
||||
<dict>
|
||||
<key>NSExceptionAllowsInsecureHTTPLoads</key>
|
||||
<true/>
|
||||
<key>NSIncludesSubdomains</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
@ -48,5 +78,9 @@
|
||||
</array>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<false/>
|
||||
<key>NSBluetoothAlwaysUsageDescription</key>
|
||||
<string>Данные Bluetooth собираются и отправляются на сервер для безопасного проведения оплаты</string>
|
||||
<key>NSBluetoothPeripheralUsageDescription</key>
|
||||
<string>Данные Bluetooth собираются и отправляются на сервер для безопасного проведения оплаты</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user