Xcode 14+
Версия iOS 14.0 и более поздние
Для корректной работы 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 одним из удобных Вам способов: SPM / Бинарный артефакт
dependencies: [
.package(url: "https://github.com/sdkpay/EcomSdkPackage", .upToNextMajor(from: "1.1.7"))
]
Подключить SDK для успешной работы также можно с помощью бинарного артефакта. Перетащите скачанный файл EcomSdk.xcframework в Frameworks, Libraries, and Embedded Content, а также выставите у зависимости параметр Embed & Sign
Для инициализации SDK необходимо вызвать метод setup
и передать в него список параметров, указанных в таблице ниже
Параметр | Дефолтное значение | Описание |
---|---|---|
paymentConfig | SPaymentConfig(card = true, bindings = true, sbp = true) | Класс содержащий список доступных способов оплаты. Структура SPaymentConfig |
environment | SEnvironment.prod | Стенд для работы с SDK, подробнее работа со стендами описана в разделе “Работа в режиме песочницы” |
resultViewNeeded | true | С помощью данного параметра можно отключить отображение экрана статуса операции |
completion | ((EcomError?) -> Void)? | Блок, отрабатыващий после инициализации SDK. Структура EcomError |
import EcomSdk
Ecom.setup(
paymentConfig: SPaymentConfig = SPaymentConfig(),
environment: SEnvironment = .prod,
resultViewNeeded: Bool = true,
completion: ((EcomError?) -> Void)? = nil
)
#import <EcomSdk/EcomSdk.h>
[Ecom setupWithPaymentConfig: paymentConfig
enviroment: SEnvironmentProd
resultViewNeeded: true
completion: nil]
Для корректной работы SPaySDK внутри SDK, необходимо реализовать метод getAuthURL
и передать в него параметр url
из метода application
реализуемого в классе AppDelegate
func application(_ app: UIApplication,
open url: URL,
options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
Ecom.getAuthURL(url)
return true
}