Начало работы с SDK
Требования
Для использования Ecom SDK должны быть соблюдены следующие требования:
-
Xcode 14+;
-
Версия iOS 14.0 и более поздние.
Интеграция iOS
Настройка info.plist
Для корректной работы SDK в файле info.plist приложения должны быть добавлены следующие параметры:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>gate1.spaymentsplus.ru</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Данные о местонахождении собираются и отправляются на сервер для безопасного проведения оплаты</string>
NSLocationWhenInUseUsageDescription - Если у вас уже используется этот параметр, то дублировать его не нужно.
Подключение SDK к проекту
Подключите SDK одним из удобных Вам способов:
dependencies: [
.package(url: "https://github.com/sdkpay/EcomSdkPackage", .upToNextMajor(from: "0.5.0"))
]

Подключить SDK для успешной работы также можно с помощью бинарного артефакта .
Перетащите скаченный файл EcomSdk.xcframework вFrameworks, Libraries, and Embedded Content, а также выставите у зависимости параметр Embed & Sign.

Настройка SDK
Для настройки SDK необходимо создать экземплер класса SPaymentConfig. SPaymentConfig позволяет добавить/отключить один из способов оплаты:
| Параметр | Дефолтное значение | Описание |
|---|---|---|
| card | true | Оплата с помощью ввода данных карты |
| bindings | true | Оплата связкой из списка, сформированного после успешной оплаты способом card |
| sbp | true | Оплата с помощью СБП (не может быть единственным включенным способом оплаты) |
После инициализации SPaymentConfig необходимо передать его в метод setup:
| Параметр | Дефолтное значение | Описание |
|---|---|---|
| paymentConfig | SPaymentConfig(card = true, bindings = true, sbp = true) | Класс содержащий список доступных способов оплаты |
| environment | SEnvironment.prod | Стенд для работы с SDK, подробнее работа со стендами описана в разделе "Работа в режиме песочницы" |
| resultViewNeeded | true | С помощью данного параметра можно отключить отображение экрана статуса операции |
Пример вызова метода setup
import EcomSdk
Ecom.setup(
paymentConfig: SPaymentConfig = SPaymentConfig(),
environment: SEnvironment = .prod,
resultViewNeeded: Bool = true
)
#import <EcomSdk/EcomSdk.h>
[Ecom setup];
Дополнительно, при инициализации SDK совместно с SPaySDK
Для корректной работы SPaySDK внутри SDK, необходимо реализовать метод getAuthURL и передать в него параметр url из метода application реализуемого в классе AppDelegate.
Для выбора способа оплаты SberPay вызвать метод Ecom setupSPay(_ method: EcomSPayMethod), в котором передавать case метода из enum EcomSPayMethod.
Пример вызова метода getAuthURL
func application (_ app: UIApplication,
open url: URL,
options: [UIApplication-OpenURLOptionsKey: Any] = [:]) →> Bool {
if url.scheme == "exampleapp" && url.host == "spay" {
Ecom.getAuthURL(url)
}
return true
}
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
if ([url.scheme isEqualToString:@"example.app"] && [url.host isEqualToString:@"spay"])
{
[Ecom getAuthURL: url];
}
return YES;
}