> 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-et/integratsioon/mobiilne-sdk/ios-sdk/sdk-kasutamine/majutatud-kassavaade.md).

# Majutatud kassavaade

Kuvage majutatud kassaleht, sobitage oma tagastus-URL ja valige makseviis eelnevalt.

Kasuta seda juhendit, kui soovid, et ostja maksaks hostitud kassalehel, kasutades kõiki platvormi pakutavaid makseviise ning ilma kaardiandmeteta sinu rakenduses.

Leht avaneb [`WKWebView-s`](https://developer.apple.com/documentation/webkit/wkwebview) mida SDK esitab modaalaknas. Kaart, Pay by Bank, Click to Pay, digirahakotid ja EMV® 3-D Secure töötavad seal ilma sinu poolse täiendava integreerimiseta.

***

## Seadista

Hostitud kassaleht vajab ühte URL-i: taustateenust, mille SDK küsib makse olekut pärast seda, kui ostja on lõpetanud.

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

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

`apiBaseURL` on sinu enda taustateenus, sest see on osapool, kellel on põhjus makse olekut omada. SDK lisab `/checkout/api/egw/v1/payments/{paymentId}` sellele. Kui sinu taustateenus kasutab teistsugust tee struktuuri, jäta `apiBaseURL` nagu `nil` ja paku selle asemel oma päringuloogika: vaata [Tulemuse käsitlemine](/seb-docs-draft/seb-docs-public-et/integratsioon/mobiilne-sdk/ios-sdk/sdk-kasutamine/tulemuse-kasitlemine.md).

Hoia üht `PaymentKit` oma kassalehe eluea jooksul või loo üks iga makse kohta. Mõlemad sobivad. Üks eksemplar töötleb korraga ühte makset. Täielik omaduste loend on [suvandis](broken://pages/8345fa89e893842cf17bd3bf90bb131b80235401).

***

## Koosta päring

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

`returnURL` peab olema sama väärtus, mille sinu taustateenus saatis väljana `shopRedirectUrl` makse loomisel.

SDK valideerib päringu enne millegi kuvamist, nii et tühi `paymentId`, tühi `verificationKey`, kassalehe URL, mis ei ole `http`/`https`, või tagastus-URL ilma skeemita jõuavad kõik tagasi sinu tavapärase callback’i kaudu, mitte ei näita tühja veebivaadet.

### Makseviisi eelseadmine

Vaikimisi avaneb kassaleht oma makseviisi valijas. Et avada otse üks konkreetne makseviis:

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

| Konstant                               | Väärtus          |
| -------------------------------------- | ---------------- |
| `PaymentRequest.MethodHint.card`       | `"card"`         |
| `PaymentRequest.MethodHint.bank`       | `"bank"`         |
| `PaymentRequest.MethodHint.clickToPay` | `"click-to-pay"` |

Tundmatu väärtus jäetakse lisamata, mitte ei liideta, nii et kirjaviga kuvab makseviiside valija ega riku kassalehe URL-i.

***

## Kuva see

```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)
    }
}
```

`alates:` on vaatekontroller, mille SDK selle peale kuvab. See peab olema ekraanil ega tohi juba midagi muud kuvada.

SDK sulgeb oma liidese enne sulle tagasi helistamist, seega töötab kviitungikuva esitlemine callback’i seest. Vt [Tulemuse käsitlemine](/seb-docs-draft/seb-docs-public-et/integratsioon/mobiilne-sdk/ios-sdk/sdk-kasutamine/tulemuse-kasitlemine.md) täielikku lepingut.

Üks `EGWPaymentDelegate`-põhine ülekoormus on saadaval alternatiivina lõpetusplokile. Vt [Objective-C ja SwiftUI](/seb-docs-draft/seb-docs-public-et/integratsioon/mobiilne-sdk/ios-sdk/sdk-kasutamine/objective-c-ja-swiftui.md).

***

## Kuidas tagastus-URL-i sobitatakse

SDK peatab voo, kui ostja brauser jõuab sinu tagastus-URL-ini. Sobitamisel võrreldakse **skeemi, hosti ja tee prefiksit tervete segmentide kaupa**, ning ignoreeritakse päringut ja fragmenti.

Tagastus-URL `https://shop.example.com/pay/done` sobib:

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

ja ei sobi `https://shop.example.com/pay/done-not-really`, või sama tee teisel hostil.

Päringut ignoreeritakse, sest võid vabalt lisada oma parameetrid aadressile `shopRedirectUrl`, ning platvorm edastab selle URL-i muutmata kujul.

{% hint style="warning" %}
**Tagastus-URL-ini jõudmine ei tähenda, et makse õnnestus.** Sellele ei lisata staatust. Seetõttu otsib SDK staatuse hiljem üles ning sinu rakendus ei tohi tulemust URL-ist endast lugeda.
{% endhint %}

### Kohandatud skeemid ja universaalsed lingid

Mõlemad töötavad ning käituvad SDK vaates identselt.

Kohandatud skeem nagu `myapp://checkout/return` on kõige lihtsam valik ja seda ei saa päris veebilehega segi ajada. Universaalne link on eelistamist väärt, kui see on sul juba seadistatud või kui sama tagastus-URL-i jagatakse veebipõhise kassaga. [Taustsüsteemi integratsioon](/seb-docs-draft/seb-docs-public-et/integratsioon/mobiilne-sdk/ios-sdk/juhendid/tagasusteemi-integratsioon.md) käsitleb seadistust igaühe jaoks.

### Üleviimine teistele rakendustele

Navigeerimised mitte-veebi skeemidele antakse süsteemile edasi, mitte ei laadita neid veebivaates. See võimaldab Pay by Bank voo avada ostja pangarakenduse tugeva kliendituvastuse jaoks ja seejärel naasta sinu rakendusse.

***

## Aegumised

`requestTimeout` piirab SDK enda API-kõnesid. Ükski veebivaade ei aegu: ostja, kes loeb panga kinnitusekraani, ei ole peatunud päring.

***

## Järgmised sammud

* [Tulemuse käsitlemine](/seb-docs-draft/seb-docs-public-et/integratsioon/mobiilne-sdk/ios-sdk/sdk-kasutamine/tulemuse-kasitlemine.md)
* [Vigade käsitlemine](/seb-docs-draft/seb-docs-public-et/integratsioon/mobiilne-sdk/ios-sdk/juhendid/vigade-kasitlemine.md)
* [Natiivne kaardivorm](/seb-docs-draft/seb-docs-public-et/integratsioon/mobiilne-sdk/ios-sdk/sdk-kasutamine/natiivne-kaardivorm.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-et/integratsioon/mobiilne-sdk/ios-sdk/sdk-kasutamine/majutatud-kassavaade.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.
