Made applePayID and moneyAuthClientId fields optional

This commit is contained in:
Искандар Р. Шабаев 2022-07-19 12:17:10 +03:00
parent b7c7e3fd69
commit 187f2a4af5
11 changed files with 36 additions and 24 deletions

2
.vscode/launch.json vendored
View File

@ -18,7 +18,7 @@
"flutterMode": "debug", "flutterMode": "debug",
"args": [ "args": [
"-t", "-t",
"lib/main-dev.dart", "lib/main_dev.dart",
"--flavor", "--flavor",
"dev" "dev"
] ]

View File

@ -1,3 +1,7 @@
# 1.0.2
* Made applePayID and moneyAuthClientId fields optional.
# 1.0.1 # 1.0.1
* Formatted code. Added homepage and repo urls. * Formatted code. Added homepage and repo urls.

View File

@ -15,12 +15,15 @@ dependencies:
yookassa_payments_flutter: ^version yookassa_payments_flutter: ^version
``` ```
2. Для iOS в файле your_project_name.podspec, лежащий в корне проекта в папке ios добавьте зависимость: или используйте команду `flutter pub add yookassa_payments_flutter`.
2. В Podfile вашего приложения добавьте ссылки на репозитории с podspecs YooKassa:
```ruby ```ruby
s.dependency 'YooKassaPayments', '6.8.0' source 'https://github.com/CocoaPods/Specs.git'
source 'https://git.yoomoney.ru/scm/sdk/cocoa-pod-specs.git'
``` ```
3. Запустите `pod install` в директории рядом с Runner.xcworkspace 3. Запустите `pod install --repo-update` в директории рядом с Runner.xcworkspace
4. В Info.plist своего приложения добавьте поддержку url-схем для корректной работы mSDK с оплатой через Сбер и ЮMoney: 4. В Info.plist своего приложения добавьте поддержку url-схем для корректной работы mSDK с оплатой через Сбер и ЮMoney:
``` ```
@ -76,7 +79,6 @@ B. В некоторых сложных случаях рекомендуем с
```dart ```dart
var clientApplicationKey = "<Ключ для клиентских приложений>"; var clientApplicationKey = "<Ключ для клиентских приложений>";
var amount = Amount(value: 999.9, currency: Currency.rub); var amount = Amount(value: 999.9, currency: Currency.rub);
var applePayID = "<Идентификатор продавца Apple Pay>";
var shopId = "<Идентификатор магазина в ЮKassa)>"; var shopId = "<Идентификатор магазина в ЮKassa)>";
var tokenizationModuleInputData = var tokenizationModuleInputData =
TokenizationModuleInputData(clientApplicationKey: clientApplicationKey, TokenizationModuleInputData(clientApplicationKey: clientApplicationKey,
@ -89,6 +91,10 @@ var tokenizationModuleInputData =
2. Запустите процесс токенизации с кейсом `.tokenization` и передайте `TokenizationModuleInputData`. 2. Запустите процесс токенизации с кейсом `.tokenization` и передайте `TokenizationModuleInputData`.
```dart
var result = await YookassaPaymentsFlutter.tokenization(tokenizationModuleInputData);
```
3. Получите token в `TokenizationResult` 3. Получите token в `TokenizationResult`
Пример: Пример:
@ -339,7 +345,6 @@ func application(
| clientApplicationKey | String | Ключ для клиентских приложений из личного кабинета ЮKassa | | clientApplicationKey | String | Ключ для клиентских приложений из личного кабинета ЮKassa |
| title | String | Название магазина в форме оплаты | | title | String | Название магазина в форме оплаты |
| subtitle | String | Описание заказа в форме оплаты | | subtitle | String | Описание заказа в форме оплаты |
| purchaseDescription | String | Описание заказа в форме оплаты |
| amount | Amount | Объект, содержащий сумму заказа и валюту | | amount | Amount | Объект, содержащий сумму заказа и валюту |
| shopId | String | Идентификатор магазина в ЮKassa ([раздел Организации](https://yookassa.ru/my/company/organization) - скопировать shopId у нужного магазина) | | shopId | String | Идентификатор магазина в ЮKassa ([раздел Организации](https://yookassa.ru/my/company/organization) - скопировать shopId у нужного магазина) |
| savePaymentMethod | SavePaymentMethod | Объект, описывающий логику того, будет ли платеж рекуррентным | | savePaymentMethod | SavePaymentMethod | Объект, описывающий логику того, будет ли платеж рекуррентным |
@ -370,7 +375,6 @@ func application(
| -------------------- | ------ | -------- | | -------------------- | ------ | -------- |
| clientApplicationKey | String | Ключ для клиентских приложений из личного кабинета ЮKassa | | clientApplicationKey | String | Ключ для клиентских приложений из личного кабинета ЮKassa |
| title | String | Название магазина в форме оплаты | | title | String | Название магазина в форме оплаты |
| purchaseDescription | String | Описание заказа в форме оплаты |
| subtitle | String | Описание заказа в форме оплаты | | subtitle | String | Описание заказа в форме оплаты |
| paymentMethodId | String | Идентификатор сохраненного способа оплаты | | paymentMethodId | String | Идентификатор сохраненного способа оплаты |
| amount | Amount | Объект, содержащий сумму заказа и валюту | | amount | Amount | Объект, содержащий сумму заказа и валюту |
@ -495,10 +499,8 @@ var savedBankCardModuleInputData = SavedBankCardModuleInputData(
clientApplicationKey: clientApplicationKey, clientApplicationKey: clientApplicationKey,
title: "Космические объекты", title: "Космические объекты",
subtitle: "Комета повышенной яркости, период обращения — 112 лет", subtitle: "Комета повышенной яркости, период обращения — 112 лет",
purchaseDescription: "root.description",
amount: amount, amount: amount,
savePaymentMethod: SavePaymentMethod.on, savePaymentMethod: SavePaymentMethod.on,
applePayID: applePayID,
shopId: shopId, shopId: shopId,
paymentMethodId: paymentMethodId paymentMethodId: paymentMethodId
); );

View File

@ -52,5 +52,5 @@ android {
dependencies { dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'ru.yoomoney.sdk.kassa.payments:yookassa-android-sdk:6.5.2' implementation 'ru.yoomoney.sdk.kassa.payments:yookassa-android-sdk:6.5.3'
} }

View File

@ -1 +1,9 @@
<manifest package="ru.yoomoney.sdk.kassa.payments.flutter" /> <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ru.yoomoney.sdk.kassa.payments.flutter">
<queries>
<package android:name="ru.sberbankmobile_alpha" />
<package android:name="ru.yoo.money.debug" />
</queries>
</manifest>

View File

@ -169,7 +169,7 @@ private fun PaymentParameters(data: Map<String, Object>): PaymentParameters {
val title = data["title"] as String val title = data["title"] as String
val subtitle = data["subtitle"] as String val subtitle = data["subtitle"] as String
val shopId = data["shopId"] as String val shopId = data["shopId"] as String
val authCenterClientId = data["moneyAuthClientId"] as String val authCenterClientId = data["moneyAuthClientId"] as? String
val gatewayId = data["gatewayId"] as? String val gatewayId = data["gatewayId"] as? String
val userPhoneNumber = data["userPhoneNumber"] as? String val userPhoneNumber = data["userPhoneNumber"] as? String
val customReturnUrl = data["returnUrl"] as? String val customReturnUrl = data["returnUrl"] as? String

View File

@ -1,2 +1,2 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig" #include "Flutter/Generated.xcconfig"

View File

@ -48,7 +48,6 @@ class TokenizationScreenState extends State<TokenizationScreen> {
var clientApplicationKey = "<Ключ для клиентских приложений>"; var clientApplicationKey = "<Ключ для клиентских приложений>";
var amount = Amount(value: double.parse(controller.text), currency: Currency.rub); var amount = Amount(value: double.parse(controller.text), currency: Currency.rub);
var moneyAuthClientId = "<ID для центра авторизации в системе YooMoney>"; var moneyAuthClientId = "<ID для центра авторизации в системе YooMoney>";
var applePayID = "<Идентификатор продавца Apple Pay>";
var shopId = "<Идентификатор магазина в ЮKassa>"; var shopId = "<Идентификатор магазина в ЮKassa>";
var applicationScheme = "<Схема вашего приложения для deeplink>" "://"; var applicationScheme = "<Схема вашего приложения для deeplink>" "://";
var tokenizationModuleInputData = TokenizationModuleInputData( var tokenizationModuleInputData = TokenizationModuleInputData(
@ -59,7 +58,6 @@ class TokenizationScreenState extends State<TokenizationScreen> {
savePaymentMethod: SavePaymentMethod.userSelects, savePaymentMethod: SavePaymentMethod.userSelects,
isLoggingEnabled: true, isLoggingEnabled: true,
moneyAuthClientId: moneyAuthClientId, moneyAuthClientId: moneyAuthClientId,
applePayID: applePayID,
shopId: shopId, shopId: shopId,
customerId: "<Уникальный идентификатор покупателя>", customerId: "<Уникальный идентификатор покупателя>",
applicationScheme: applicationScheme, applicationScheme: applicationScheme,

View File

@ -10,7 +10,6 @@ class SavedBankCardModuleInputData {
String subtitle; String subtitle;
Amount amount; Amount amount;
SavePaymentMethod savePaymentMethod; SavePaymentMethod savePaymentMethod;
String applePayID;
String shopId; String shopId;
String paymentMethodId; String paymentMethodId;
String? gatewayId; String? gatewayId;
@ -21,6 +20,7 @@ class SavedBankCardModuleInputData {
String? customerId; String? customerId;
bool isSafeDeal; bool isSafeDeal;
HostParameters? hostParameters; HostParameters? hostParameters;
String? applePayID;
SavedBankCardModuleInputData( SavedBankCardModuleInputData(
{required this.clientApplicationKey, {required this.clientApplicationKey,
@ -28,7 +28,6 @@ class SavedBankCardModuleInputData {
required this.subtitle, required this.subtitle,
required this.amount, required this.amount,
required this.savePaymentMethod, required this.savePaymentMethod,
required this.applePayID,
required this.shopId, required this.shopId,
required this.paymentMethodId, required this.paymentMethodId,
required this.isSafeDeal, required this.isSafeDeal,
@ -38,7 +37,8 @@ class SavedBankCardModuleInputData {
this.isLoggingEnabled = false, this.isLoggingEnabled = false,
this.customizationSettings = const CustomizationSettings(), this.customizationSettings = const CustomizationSettings(),
this.customerId, this.customerId,
this.hostParameters}); this.hostParameters,
this.applePayID});
Map<String, dynamic> toJson() => { Map<String, dynamic> toJson() => {
'clientApplicationKey': clientApplicationKey, 'clientApplicationKey': clientApplicationKey,

View File

@ -12,9 +12,8 @@ class TokenizationModuleInputData {
String subtitle; String subtitle;
Amount amount; Amount amount;
SavePaymentMethod savePaymentMethod; SavePaymentMethod savePaymentMethod;
String applePayID;
String shopId; String shopId;
String moneyAuthClientId; String? moneyAuthClientId;
HostParameters? hostParameters; HostParameters? hostParameters;
String? gatewayId; String? gatewayId;
TokenizationSettings tokenizationSettings; TokenizationSettings tokenizationSettings;
@ -27,6 +26,7 @@ class TokenizationModuleInputData {
String? customerId; String? customerId;
GooglePayParameters googlePayParameters; GooglePayParameters googlePayParameters;
bool googlePayTestEnvironment; bool googlePayTestEnvironment;
String? applePayID;
TokenizationModuleInputData( TokenizationModuleInputData(
{required this.clientApplicationKey, {required this.clientApplicationKey,
@ -34,9 +34,8 @@ class TokenizationModuleInputData {
required this.subtitle, required this.subtitle,
required this.amount, required this.amount,
required this.savePaymentMethod, required this.savePaymentMethod,
required this.applePayID,
required this.shopId, required this.shopId,
required this.moneyAuthClientId, this.moneyAuthClientId,
this.hostParameters, this.hostParameters,
this.gatewayId, this.gatewayId,
this.tokenizationSettings = const TokenizationSettings(), this.tokenizationSettings = const TokenizationSettings(),
@ -48,7 +47,8 @@ class TokenizationModuleInputData {
this.applicationScheme, this.applicationScheme,
this.customerId, this.customerId,
this.googlePayParameters = const GooglePayParameters(), this.googlePayParameters = const GooglePayParameters(),
this.googlePayTestEnvironment = false}); this.googlePayTestEnvironment = false,
this.applePayID});
Map<String, dynamic> toJson() => { Map<String, dynamic> toJson() => {
'clientApplicationKey': clientApplicationKey, 'clientApplicationKey': clientApplicationKey,

View File

@ -1,6 +1,6 @@
name: yookassa_payments_flutter name: yookassa_payments_flutter
description: This Flutter SDK allows processing payments using a payment token. It works as an addition to the YooMoney API. description: This Flutter SDK allows processing payments using a payment token. It works as an addition to the YooMoney API.
version: 1.0.1 version: 1.0.2
homepage: https://git.yoomoney.ru/projects/SDK/repos/yookassa-payments-flutter-sdk/browse 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 repository: https://git.yoomoney.ru/projects/SDK/repos/yookassa-payments-flutter-sdk/browse