IOS-SDK: відмінності між версіями

Матеріал з apidocs
Перейти до: навігація, пошук
Рядок 21: Рядок 21:
[[Файл:Знімок екрана 2025-06-10 о 14.14.48.png|міні|677x677пкс|центр]]
[[Файл:Знімок екрана 2025-06-10 о 14.14.48.png|міні|677x677пкс|центр]]
<p style="border: 1px solid #FFA500; background-color: rgba(255, 165, 0, 0.1); padding: 15px; border-radius: 8px; font-family: Arial, sans-serif; font-size: 14px; font-weight: normal; color: #333; position: relative; width: 100%; display: block;">
<p style="border: 1px solid #FFA500; background-color: rgba(255, 165, 0, 0.1); padding: 15px; border-radius: 8px; font-family: Arial, sans-serif; font-size: 14px; font-weight: normal; color: #333; position: relative; width: 100%; display: block;">
     ⚠️ <strong>Важливо!</strong> При додаванні <span style="background-color: #EDEDED; padding: 2px 5px; border-radius: 4px; font-family: monospace; color: #D63384;">compose-resources</span> в діалозі додавання виберіть наступні опції: <strong>Destination:</strong> Resources, <strong>Copy Items if Needed:</strong> Поставте галочку.
     ⚠️ <strong>Важливо!</strong> При додаванні <span style="background-color: #EDEDED; padding: 2px 5px; border-radius: 4px; font-family: monospace; color: #D63384;">compose-resources</span> в діалозі додавання виберіть наступні опції:                       1. <strong>Destination:</strong> Resources                                                                                                                                                 2. <strong>Copy Items if Needed:</strong> Поставте галочку.
</p>
</p>'''''Приклад'':'''[[Файл:Знімок екрана 2025-06-10 о 15.00.49.png|центр|міні|700x700пкс]]<ul style="margin-top: 10px; font-size: 13px; list-style-type: none; padding-left: 0; margin-bottom: 0;">
 
         <li></li>
=== Важливо ===
При додаванні <code>compose-resources</code> в діалозі додавання виберіть наступні опції:
 
* '''Destination:''' <code>Resources</code>
* '''Copy Items if Needed:''' Поставте галочку
 
 
'''''Приклад'':'''[[Файл:Знімок екрана 2025-06-10 о 15.00.49.png|центр|міні|700x700пкс]]
<p style="border: 1px solid #FFA500; background-color: rgba(255, 165, 0, 0.1); padding: 15px; border-radius: 8px; font-family: Arial, sans-serif; font-size: 14px; font-weight: normal; color: #333; position: relative; width: 100%; display: block;">
    ⚠️ <strong>Важливо!</strong> При додаванні <span style="background-color: #EDEDED; padding: 2px 5px; border-radius: 4px; font-family: monospace; color: #D63384;">compose-resources</span> в діалозі додавання виберіть наступні опції:
    <ul style="margin-top: 10px; font-size: 13px; list-style-type: none; padding-left: 0; margin-bottom: 0;">
         <li><strong>Destination:</strong> Resources</li>
        <li><strong>Copy Items if Needed:</strong> Поставте галочку</li>
     </ul>
     </ul>
</p>
</p>

Версія за 09:42, 11 червня 2025

Введення


Ця документація описує процес інтеграції SDK для iOS у ваш проект. Дотримуйтесь кроків нижче, щоб успішно підключити та налаштувати SDK у вашому застосунку.


Завантаження та додавання SDK до проєкту


Крок 1: Завантажте EasyPaySdkIos.xcframework

Перш за все, завантажте файл EasyPaySdkIos.xcframework та вставте його в папку вашого проєкту. Для цього просто перетягніть файл у ваш проєкт через Xcode.

Приклад:


Крок 2: Перевірте, чи зʼявився фреймворк у розділі Frameworks, Libraries, and Embedded Content

Переконайтеся, що фреймворк з'явився в розділі Frameworks, Libraries, and Embedded Content. Це можна перевірити в налаштуваннях вашого проєкту.

Крок 3: Додайте папку compose-resources

Додайте папку compose-resources, яка знаходиться всередині EasyPaySdkIos.xcframework, до Copy Bundle Resources. Це дозволить вашому застосунку використовувати необхідні ресурси SDK.

⚠️ Важливо! При додаванні compose-resources в діалозі додавання виберіть наступні опції: 1. Destination: Resources 2. Copy Items if Needed: Поставте галочку.

Приклад:

Ініціалізація SDK


Для ініціалізації SDK в вашому проекті необхідно додати код у файл AppDelegate.swift. Крок 1: Імпортуйте SDK

import UIKit
import EasyPaySdkIos
<br>


Крок 2: Ініціалізація SDK

У методі application(_:didFinishLaunchingWithOptions:), додайте наступний код для ініціалізації SDK:

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Ініціалізація SDK
        EasyPaySdk.shared.doInit(
            context: PlatformContext(),
            secret: "your secret",
            partnerKey: "your partner key",
            applePayMerchantId: "merchant.com.example"
        )
        return true
    }
}


Ініціалізація оплати


Для того, щоб ініціювати оплату, використовуйте наступний код:


Крок 1: Виклик функції оплати

@IBAction func makePayment(_ sender: Any) {
    let params = SdkPaymentContractArgs(
        paymentInstrumentArgs: PaymentInstrumentArgs(
            serviceKey: "SomeServiceKey",
            orderId: "SomeOrderId",
            amount: 3.0,
            description: "payment description",
            additionalItems: nil, // Optional
            phoneNumber: "380990000000" // Optional. Mandatory for saved cards to be displayed
        ),
        showPaymentResult: true
    )
    
    let vc = SdkPaymentViewControllerKt.SdkPaymentViewController(args: params) { result in
        print(result)
    }
    
    vc.modalPresentationStyle = .fullScreen
    vc.modalTransitionStyle = .crossDissolve
    self.present(vc, animated: true, completion: nil)
}


Перехід на екран перегляду/додавання/видалення карток


Для того, щоб користувач міг переглядати або додавати картки, скористайтеся наступним кодом:


Крок 1: Перехід до екрана карток

@IBAction func navigateToCards(_ sender: Any) {
    let vc = SdkCardsViewControllerKt.SdkCardsViewController(
        args: SdkCardsContractArgs(
            phoneNumber: "test-token-card",
            urlToNotifyMerchant: nil // Optional
        )) {
        print("Finished")
    }
    
    vc.modalPresentationStyle = .fullScreen
    vc.modalTransitionStyle = .crossDissolve
    self.present(vc, animated: true, completion: nil)
}