ym88659208ym87991671
Начало работы с SDK | Документация для разработчиков

Начало работы с SDK

Обновлено 2 июня 2023

Требования

Для использования SDK нужно соблюдать следующие требования:

  • Xcode 13+;

  • Версия iOS 12.0 и более поздние.

Реализация сценария

Для корректной работы SDK в файле info.plist приложения должны быть добавлены следующие параметры:

    <key>DTXAutoStart</key>
<string>false</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>sbolidexternallogin</string>
<string>sberbankidexternallogin</string>
</array>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

Подключение SDK к проекту

SPM

Перейдите в файл вашего проекта, во вкладке Package dependancies нажмите + и в строке поиска введите ссылку на репозиторий, переданную вам с договором, и добавьте пакет SDK в свое приложение.

Cocoapods

Для подключения SDK к проекту с помощью cocoapods:

  1. Откройте свой проект в Xcode.

  2. Создайте подфайл, запустив pod init в терминале или используя меню File и выбрав New File → Podfile.

  3. Добавьте модули, которые вы хотите использовать, в файл Podfile.

  4. Сохраните Podfileи запустите pod install в Терминале, чтобы установить модули.

  5. Закройте свой проект в Xcode и откройте файл .xcworkspace, созданный после запуска pod install.

Бинарный артефакт

Перетащите файл переданный вам с договором в Frameworks, Libraries, and Embedded Content, а также выставите Embed & Sign.

Настройка проекта

Для успешной авторизации в среде банка необходимо в настройках таргета проекта зарегистрировать deeplink вашего приложения.

Добавьте Access wi-fi information в Capabilities таргета вашего проекта. Для этого выберите ваш таргет → Signing & Capabilities → +Capability → Access wi-fi information.

Начало работы

Импортируйте модуль SPaySdk в проект

Импортирование модуля на Swift

import SPaySdk

Импортирование модуля на Objective-C

#import "SPaySdk.h"

В AppDelegate вашего проекта в методе didFinishLaunchingWithOptions необходимо реализовать функцию setup. Параметры функции преставлены ниже.

ПараметрТипДефолтное значениеОписание
apiKeyStringнетКлюч клиента для работы с сервисами платежного шлюза через SDK
bnplPlanBooltrueФункционал Оплата частями
environmentSEnvironmentprodВыбор окружения sdk для тестирования

Реализация метода setup на Swift

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: \[UIApplication.LaunchOptionsKey: Any]?) -> Bool {

let window = UIWindow(frame: UIScreen.main.bounds)

self.window = window

SPay.setup(apiKey: "", bnplPlan: true, environment: .prod)

return true

}

Реализация метода setup на Objective-C

-   (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

[SPay setupWithApiKey:@"" bnplPlan:true environment: SEnvironmentProd completion:nil];

return YES;

}

После чего необходимо реализовать в AppDelegate вашего проекта метод getAuthURL как показано ниже.

Реализация метода getAuthURL на Swift

func application(_ app: UIApplication,

open url: URL,

options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {

if url.scheme == "sberPayExampleapp" && url.host == "sberidauth" {

SPay.getAuthURL(url)

}

return true

}

Реализация метода getAuthURL на Objective-C

-   (BOOL)application:(UIApplication *)app

openURL:(NSURL *)url

options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> )options {

if ([url.scheme isEqualToString:@"sberPayExample.app"] && [url.host isEqualToString:@"sberidauth"])

{

[SPay getAuthURL: url];

}

return YES;

}

Проверка готовности оплаты

Для проверки наличия установленного мобильного приложения банка на устройстве необходимо вызывать метод isReadyForSPay.

Проверка установленного мобильного приложения банка на Swift

SPay.isReadyForSPay

Проверка установленного мобильного приложения сбанка на Objective-C

SPay.isReadyForSrPay

Если на устройстве установлено мобильное приложение банка, то метод вернет ответ true и можно будет отрисовать кнопку оплаты.

Отрисовка кнопки оплаты

Для отрисовки кнопки оплаты необходимо инициализиорать компонент SPButton.

Инициализация кнопки оплаты на Swift

let button = SPButton() button.tapAction = { ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣

// обработка нажатия ⁣

}

Инициализация кнопки оплаты на Objective-C

SPButton button = [[SPButton alloc] init]; ⁣ ⁣button.tapAction = \^{ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣⁣ ⁣

// обработка нажатия ⁣

};
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.