Skip to content

Commit

Permalink
Pull request #255: Merge release/6.0.0 into master
Browse files Browse the repository at this point in the history
Merge in MI/yandex-checkout-payments-swift from release/6.0.0 to master

* commit 'd4ccc8b77fdb35de3296dcf477983e90201dc8fb': (39 commits)
  [MOC-1950] Update CHANGELOG, MIGRATION and README.
  [MOC-1957] Add returnUrl with application scheme to sberpay tokenize.
  [NO-TASK] Fix localizable strings
  [MOC-49] Fetch payment_options in bank card repeat flow
  [NO-TASK] Update README.md
  [MOC-1890] Add wallet authorization metrics
  [MOC-1921] Fix infinity spinner after deny app2app login in yoomoney when available only one payment method.
  [MOC-1924] Fix reopen YooMoney after logout when available only one payment method.
  [MOC-1922] Remove cached user after logout. Fetch user after decrypt token.
  [NO-TASK] Update MoneyAuth
  [MOC-1891] Add SberPay confirmation metrics
  [MOC-1889] Fix encrypt aux token.
  .[NO-TASK] Review fixes
  [NO-TASK] Fixes after merge
  [NO-TASK] Fix build
  [MOC-1812] Add handle deeplink for auth through YooMoney.
  [MOC-1811] Add check exist YooMoney app and open with scope and clientId.
  [MOC-1806] Rename ConfirmationService to YKSdk.
  [MOC-1788] Fix after review.
  [MOC-1788] Update changelog, migration guide and readme.
  ...
  • Loading branch information
Олег В. Твердохлеб committed Jun 16, 2021
2 parents 57a7c59 + d4ccc8b commit 1dcd5e1
Show file tree
Hide file tree
Showing 157 changed files with 3,771 additions and 1,308 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
## Changelog

### 6.0.0

1. Добавили поддержку `SberPay`.
2. Добавили авторизацию в `ЮMoney` через мобильное приложение.
3. Обновили иконки платежных систем и банков.

> Необходимо выполнить [инструкцию](https://github.com/yoomoney/yookassa-payments-swift/blob/master/MIGRATION.md) по миграции с версий ниже.
## 5.4.1

1. Обновление версии `YandexMobileMetrica`.
Expand Down
115 changes: 113 additions & 2 deletions MIGRATION.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,127 @@
# Migration guide

- [Migration guide](#migration-guide)
- [5.\*.\* -> 6.\*.\*](#5---6)
- [Изменить код интеграции](#изменить-код-интеграции)
- [Конфигурация проекта](#конфигурация-проекта)
- [Изменить код подтверждения платежа](#изменить-код-подтверждения-платежа)
- [Добавить поддержку SberPay](#добавить-поддержку-SberPay)
- [Добавить поддержку авторизации в ЮMoney через мобильное приложение](#добавить-поддержку-авторизации-в-ЮMoney-через-мобильное-приложение)
- [5.\*.\* -> 5.3.0](#5---530)
- [4.\*.\* -> 5.\*.\*](#4---5)
- [Изменить Podfile](#изменить-podfile)
- [Изменить код интеграции](#изменить-код-интеграции)
- [Изменить код интеграции](#изменить-код-интеграции-1)
- [\*.\*.\* -> 4.\*.\*](#---4)
- [Удалить `YandexLoginSDK`](#удалить-yandexloginsdk)
- [Добавить новые зависимости](#добавить-новые-зависимости)
- [Если вы используете метод оплаты "Яндекс.Деньги"](#если-вы-используете-метод-оплаты-яндексденьги)
- [Если вы используете метод оплаты "ЮMoney"](#если-вы-используете-метод-оплаты-юmoney)
- [2.\*.\* -> 3.\*.\*](#2---3)
- [2.1.0 -> 2.2.0](#210---220)

## 5.\*.\* -> 6.\*.\*

Для корректной работы сценария `Sberpay` и авторизации в `ЮMoney` через мобильное приложение, необходимо изменить некоторые парамтеры.

### Изменить код интеграции

1. В `TokenizationModuleInputData` необходимо передавать `applicationScheme` - схема для возврата в приложение после успешной оплаты с помощью `Sberpay` в приложении СберБанк Онлайн или после успешной авторизации в `ЮMoney` через мобильное приложение.

Пример `applicationScheme`:

```swift
let moduleData = TokenizationModuleInputData(
...
applicationScheme: "examplescheme://"
```

2. В `AppDelegate` импортировать зависимость `YooKassaPayments`:

```swift
import YooKassaPayments
```

3. Добавить обработку ссылок через `YKSdk` в `AppDelegate`:

```swift
func application(
_ application: UIApplication,
open url: URL,
sourceApplication: String?,
annotation: Any
) -> Bool {
return YKSdk.shared.handleOpen(
url: url,
sourceApplication: sourceApplication
)
}

@available(iOS 9.0, *)
func application(
_ app: UIApplication,
open url: URL,
options: [UIApplication.OpenURLOptionsKey: Any] = [:]
) -> Bool {
return YKSdk.shared.handleOpen(
url: url,
sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String
)
}
```

4. Реализовать метод `didSuccessfullyConfirmation(paymentMethodType:)` протокола `TokenizationModuleOutput`, который будет вызван после успешного подтверждения платежа.

### Конфигурация проекта

В `Info.plist` добавить следующие строки:

```plistbase
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>${BUNDLE_ID}</string>
<key>CFBundleURLSchemes</key>
<array>
<string>examplescheme</string>
</array>
</dict>
</array>
```

где `examplescheme` - схема для открытия вашего приложения, которую вы указали в `applicationScheme` при создании `TokenizationModuleInputData`.

### Изменить код подтверждения платежа

Для подтверждения платежа необходимо вызвать метод `startConfirmationProcess(confirmationUrl:paymentMethodType:)`.

После успешного прохождения подтверждения будет вызван метод `didSuccessfullyConfirmation(paymentMethodType:)` протокола `TokenizationModuleOutput`.

> Обратите внимание, что методы `start3dsProcess(requestUrl:)` и `didSuccessfullyPassedCardSec(on module:)` помечены как `deprecated` - используйте `startConfirmationProcess(confirmationUrl:paymentMethodType:)` и `didSuccessfullyConfirmation(paymentMethodType:)` вместо них.

### Добавить поддержку `SberPay`

В `Info.plist` добавить следующие строки:

```plistbase
<key>LSApplicationQueriesSchemes</key>
<array>
<string>sberpay</string>
</array>
```

### Добавить поддержку авторизации в `ЮMoney` через мобильное приложение

В `Info.plist` добавить следующие строки:

```plistbase
<key>LSApplicationQueriesSchemes</key>
<array>
<string>yoomoneyauth</string>
</array>
```

## 5.\*.\* -> 5.3.0

В версии 5.3.0 зависимости `TMXProfiling` и `TMXProfilingConnections` используются в виде `.xcframework`.
Expand Down
1 change: 0 additions & 1 deletion Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ post_install do |installer|
target.build_configurations.each do |config|
config.build_settings['PROVISIONING_PROFILE_SPECIFIER'] = ''
config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'NO'
config.build_settings['SWIFT_SUPPRESS_WARNINGS'] = 'YES'
config.build_settings['CLANG_WARN_DOCUMENTATION_COMMENTS'] = 'NO'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0'
end
Expand Down
24 changes: 12 additions & 12 deletions Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
PODS:
- CardIO (5.4.1)
- FunctionalSwift (1.2.0)
- MoneyAuth (2.21.0):
- MoneyAuth (2.29.0):
- FunctionalSwift
- ThreatMetrixAdapter
- YooMoneyCoreApi
- Reveal-SDK (28)
- SwiftLint (0.43.1)
- ThreatMetrixAdapter (2.0.0)
- ThreatMetrixAdapter (3.2.0)
- YandexMobileMetrica/Dynamic (3.16.0):
- YandexMobileMetrica/Dynamic/Core (= 3.16.0)
- YandexMobileMetrica/Dynamic/Crashes (= 3.16.0)
- YandexMobileMetrica/Dynamic/Core (3.16.0)
- YandexMobileMetrica/Dynamic/Crashes (3.16.0):
- YandexMobileMetrica/Dynamic/Core
- YooKassaPayments (5.4.1):
- MoneyAuth (~> 2.21.0)
- ThreatMetrixAdapter (~> 2.0.0)
- YooKassaPayments (6.0.0):
- MoneyAuth (~> 2.29.0)
- ThreatMetrixAdapter (~> 3.2.0)
- YandexMobileMetrica/Dynamic (~> 3.0)
- YooKassaPaymentsApi (~> 2.3.0)
- YooKassaPaymentsApi (~> 2.5.0)
- YooKassaWalletApi (~> 2.3.0)
- YooMoneyCoreApi (~> 1.9.0)
- YooKassaPaymentsApi (2.3.0):
- YooKassaPaymentsApi (2.5.0):
- FunctionalSwift (~> 1.2.0)
- YooMoneyCoreApi (~> 1.9.0)
- YooKassaWalletApi (2.3.0):
Expand Down Expand Up @@ -57,16 +57,16 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
CardIO: 56983b39b62f495fc6dae9ad7cf875143df06443
FunctionalSwift: 1b839fcf50b8db067885938df54f818518356dbb
MoneyAuth: 60e6885924b05d05dbe13c91d034db37cd2d918f
MoneyAuth: daefde9745613c5f9cdd178467d3e3fa48d903c0
Reveal-SDK: 1a2a678648fc4d277bad71c86d15530424324288
SwiftLint: 99f82d07b837b942dd563c668de129a03fc3fb52
ThreatMetrixAdapter: c5ea4cc20dd82931fabeb596c3e86d300c2d14fb
ThreatMetrixAdapter: 8d2e93fb6ec1e93128116fa584dca52d84dd8736
YandexMobileMetrica: 2ab55883ea552a4c4ea4516a3353ca0577a747cc
YooKassaPayments: 5ef043a777957ba1b173af02f0777875de802df3
YooKassaPaymentsApi: 66302803d0389fbc27238d8ff9447c10ac1e31bf
YooKassaPayments: d780e5dd8e27be125600e4980933c353dd0da73a
YooKassaPaymentsApi: c32f1f256f0d9f7bc69d89348bb480453872337c
YooKassaWalletApi: 9ca2fa3c2827721d646ee8f770509e7eeea98743
YooMoneyCoreApi: 0d4da37a1619a4c92df0962ecc48d1665dbae4f4

PODFILE CHECKSUM: ecceb3f227ebee8f464a40c7b9ed3b7a0bc72774
PODFILE CHECKSUM: 06cb858f1cc4e9551da88e13962348b7590eea82

COCOAPODS: 1.10.0
Loading

0 comments on commit 1dcd5e1

Please sign in to comment.