> For the complete documentation index, see [llms.txt](https://docs.ecommerce.seb.ee/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ecommerce.seb.ee/seb-docs-draft/seb-docs-public-lt/integracija/mobilusis-sdk/ios-sdk/naudojant-sdk/talpinamas-atsiskaitymas.md).

# Talpinamas atsiskaitymas

Rodykite talpinamo atsiskaitymo puslapį, suderinkite savo grąžinimo URL ir iš anksto pasirinkite mokėjimo metodą.

Naudokite šį gidą, jei norite, kad pirkėjas mokėtų priglobtame atsiskaitymo puslapyje, su kiekvienu platformos siūlomu mokėjimo būdu ir be kortelės duomenų jūsų programėlėje.

Puslapis veikia [`WKWebView`](https://developer.apple.com/documentation/webkit/wkwebview) SDK pateikiamas modaliu langu. Kortelė, Pay by Bank, Click to Pay, piniginės ir EMV® 3-D Secure ten veikia be jokios papildomos integracijos iš jūsų pusės.

***

## Konfigūruoti

Priglobtam atsiskaitymui reikia vieno URL: užpakalinės sistemos, į kurią SDK kreipiasi dėl mokėjimo būsenos, kai pirkėjas baigia.

```swift
let configuration = Configuration(
    apiBaseURL: URL(string: "https://your-backend.example.com"),
    environment: .sandbox
)

let paymentKit = PaymentKit(configuration: configuration)
```

`apiBaseURL` yra jūsų pačių užpakalinė sistema, nes tai yra šalis, kuri turi priežastį valdyti mokėjimo būseną. SDK prideda `/checkout/api/egw/v1/payments/{paymentId}` prie jo. Jei jūsų užpakalinė sistema pateikia kitokios struktūros kelią, palikite `apiBaseURL` kaip `nil` ir vietoje to pateikite savo paiešką: žr. [Rezultato apdorojimas](/seb-docs-draft/seb-docs-public-lt/integracija/mobilusis-sdk/ios-sdk/naudojant-sdk/rezultato-apdorojimas.md).

Naudokite vieną `PaymentKit` visą jūsų atsiskaitymo ekrano gyvavimo laiką arba sukurkite po vieną kiekvienam mokėjimui. Abu variantai tinka. Vienas egzempliorius vykdo vieną mokėjimą vienu metu. Visas savybių sąrašas pateiktas [Configuration](broken://pages/c40f39c9b4651fb53afbae9a3221c4ead03c7e9e).

***

## Sukurkite užklausą

```swift
let request = PaymentRequest(
    paymentId: payment.paymentId,
    verificationKey: payment.verificationKey,
    checkoutURL: payment.checkoutRedirect,
    returnURL: URL(string: "myapp://checkout/return")!
)
```

`returnURL` turi būti ta pati reikšmė, kurią jūsų užpakalinė sistema išsiuntė kaip `shopRedirectUrl` kai ji sukūrė mokėjimą.

SDK patikrina užklausą prieš ką nors rodydamas, todėl tuščias `paymentId`, tuščias `verificationKey`, atsiskaitymo URL, kuris nėra `http`/`https`, arba grįžimo URL be schemos visi grįžta per įprastą grįžtamąjį iškvietimą, užuot rodę tuščią žiniatinklio rodinį.

### Iš anksto parenkant mokėjimo būdą

Pagal numatymą atsiskaitymo puslapis atsidaro būdų pasirinkimo lange. Norėdami atidaryti iš karto vieną būdą:

```swift
request.preferredMethod = PaymentRequest.MethodHint.card
```

| Konstanta                              | Reikšmė          |
| -------------------------------------- | ---------------- |
| `PaymentRequest.MethodHint.card`       | `"card"`         |
| `PaymentRequest.MethodHint.bank`       | `"bank"`         |
| `PaymentRequest.MethodHint.clickToPay` | `"click-to-pay"` |

Neatpažinta reikšmė ignoruojama, o ne pridedama, todėl rašybos klaida parodo būdų pasirinkimo langą, užuot sugadinusi atsiskaitymo URL.

***

## Pateikite jį

```swift
paymentKit.startPayment(request, from: self) { result in
    switch result.outcome {
    case .succeeded:  self.showReceipt(reference: result.orderNumber ?? result.paymentId)
    case .failed:     self.showFailure(message: result.error?.localizedDescription)
    case .cancelled:  break
    case .unresolved: self.confirmWithBackend(paymentId: result.paymentId)
    }
}
```

`iš:` yra vaizdo valdiklis, virš kurio SDK pateikia turinį. Jis turi būti ekrane ir neturi jau pateikinėti nieko kito.

SDK uždaro savo sąsają prieš kviesdamas jus atgal, todėl kvitų ekrano pateikimas iš grįžtamojo iškvietimo veikia. Žr. [Rezultato apdorojimas](/seb-docs-draft/seb-docs-public-lt/integracija/mobilusis-sdk/ios-sdk/naudojant-sdk/rezultato-apdorojimas.md) visą sutarties aprašą.

Taip pat `EGWPaymentDelegate`EGWPaymentDelegate pagrindu veikianti perkrova yra prieinama kaip alternatyva užbaigimo blokui. Žr. [Objective-C ir SwiftUI](/seb-docs-draft/seb-docs-public-lt/integracija/mobilusis-sdk/ios-sdk/naudojant-sdk/objective-c-ir-swiftui.md).

***

## Kaip atitinkamas grįžimo URL

SDK sustabdo eigą, kai pirkėjo naršyklė pasiekia jūsų grįžimo URL. Lyginant tikrinama **schemą, serverio vardą ir kelio prefiksą pagal pilnus segmentus**, o užklausos eilutę ir fragmentą ignoruoja.

Tokio grįžimo URL: `https://shop.example.com/pay/done` atitinka:

* `https://shop.example.com/pay/done`
* `https://shop.example.com/pay/done?order=1042#thanks`
* `https://shop.example.com/pay/done/thanks`

ir neatitinka `https://shop.example.com/pay/done-not-really`, arba to paties kelio kitame serveryje.

Užklausos eilutė ignoruojama, nes galite laisvai pridėti savo parametrus prie `shopRedirectUrl`, o platforma perduoda tą URL nepakitusią.

{% hint style="warning" %}
**Pasiekus grįžimo URL dar nereiškia, kad mokėjimas pavyko.** Prie jo nepridedama jokia būsena. Todėl SDK būseną nustato vėliau, o jūsų programėlė neturi nuskaityti rezultato iš paties URL.
{% endhint %}

### Pasirinktinės schemos ir universaliosios nuorodos

Abu veikia ir SDK požiūriu abu elgiasi identiškai.

Pasirinktinė schema, tokia kaip `myapp://checkout/return` yra paprasčiausias pasirinkimas ir negali būti supainiota su tikru tinklalapiu. Universalioji nuoroda verta pirmenybės, jei ją jau turite sukonfigūravę arba jei tas pats grįžimo URL bendrinamas su internetiniu atsiskaitymu. [Integracija su backend'u](/seb-docs-draft/seb-docs-public-lt/integracija/mobilusis-sdk/ios-sdk/gaires/integracija-galineje-sistemoje.md) aprašo kiekvieno nustatymą.

### Perdavimas kitoms programėlėms

Navigacijos į ne žiniatinklio schemas perduodamos sistemai, o ne įkeliamos į žiniatinklio rodinį. Tai leidžia Pay by Bank eigai atidaryti pirkėjo banko programėlę stipriai kliento autentifikacijai ir vėliau grįžti į jūsų programėlę.

***

## Laiko limitai

`requestTimeout` apriboja paties SDK API iškvietimus. Nei vienam žiniatinklio rodiniui laiko limitas netaikomas: pirkėjas, skaitantis banko patvirtinimo ekraną, nėra sustojusi užklausa.

***

## Kiti žingsniai

* [Rezultato apdorojimas](/seb-docs-draft/seb-docs-public-lt/integracija/mobilusis-sdk/ios-sdk/naudojant-sdk/rezultato-apdorojimas.md)
* [Klaidų tvarkymas](/seb-docs-draft/seb-docs-public-lt/integracija/mobilusis-sdk/ios-sdk/gaires/klaidu-valdymas.md)
* [Natyvi kortelės forma](/seb-docs-draft/seb-docs-public-lt/integracija/mobilusis-sdk/ios-sdk/naudojant-sdk/natyvioji-korteles-forma.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.ecommerce.seb.ee/seb-docs-draft/seb-docs-public-lt/integracija/mobilusis-sdk/ios-sdk/naudojant-sdk/talpinamas-atsiskaitymas.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
