> 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/viide/api.md).

# API

Iga iOS SDK avalik tüüp selle Swift- ja Objective-C-nime all.

Moodul: `EGWPay`. Minimaalne juurutuse sihtversioon: iOS 15.0.

Swiftis on tüübid eesliideta. Objective-C-s kannavad samad tüübid `EGW` eesliidet. Mõlemad nimed on iga tüübi jaoks loetletud.

***

## PaymentKit

`PaymentKit` / `EGWPaymentKit`

Sisenemispunkt. Käivitab korraga ühe makse; teise alustamine, kui esimene on ekraanil, lõpetab teise kohe kui `.failed` koos `invalidRequest` veaga.

### Initsialiseerijad

```swift
init(configuration: Configuration)
init(configuration: Configuration, statusResolver: PaymentStatusResolving)
```

Objective-C: `-initWithConfiguration:` ja `-initWithConfiguration:statusResolver:`.

Esimene vorm kasutab sisseehitatud olekuotsingut, kui `configuration.apiBaseURL` on määratud, muul juhul lahendab iga makse kui `.unresolved`.

### Meetodid

```swift
func startPayment(_ request: PaymentRequest,
                  from presenter: UIViewController,
                  completion: @escaping (PaymentResult) -> Void)

func startPayment(_ request: PaymentRequest,
                  from presenter: UIViewController,
                  delegate: PaymentDelegate)

func startCardPayment(_ request: CardPaymentRequest,
                      card: CardInput,
                      from presenter: UIViewController,
                      completion: @escaping (PaymentResult) -> Void)

func startCardPayment(_ request: CardPaymentRequest,
                      card: CardInput,
                      from presenter: UIViewController,
                      delegate: PaymentDelegate)
```

Objective-C selektorid: `startPayment:from:completion:`, `startPayment:from:delegate:`, `startCardPayment:card:from:completion:`, `startCardPayment:card:from:delegate:`.

Iga ülekoormus tagastab täpselt ühe tulemuse põhiteemas pärast seda, kui SDK on sulgenud kõik selle esitatud kasutajaliidesed. Delegate'i hoitakse nõrgalt.

`startCardPayment` nõuab `checkoutAPIBaseURL` ja `checkoutBaseURL` konfiguratsioonis. Puuduv `checkoutAPIBaseURL` annab veateate `invalidRequest`; puuduv `checkoutBaseURL` annab veateate `encryptionKeyUnavailable`.

***

## Konfiguratsioon

`Konfiguratsioon` / `EGWConfiguration`

Vt [Konfiguratsioon](broken://pages/8345fa89e893842cf17bd3bf90bb131b80235401).

***

## PaymentRequest

`PaymentRequest` / `EGWPaymentRequest`

Hostitud kassamakse.

### Initsialiseerija

```swift
init(paymentId: String, verificationKey: String, checkoutURL: URL, returnURL: URL)
```

Objective-C: `-initWithPaymentId:verificationKey:checkoutURL:returnURL:`.

### Omadused

| Omadus            | Tüüp      | Kirjeldus                                                                                                          |
| ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------ |
| `paymentId`       | `String`  | Kirjutuskaitstud. Makseidentifikaator teie taustsüsteemist.                                                        |
| `verificationKey` | `String`  | Kirjutuskaitstud. Teie taustsüsteemist pärinev maksepõhine juurdepääsutunnus.                                      |
| `checkoutURL`     | `URL`     | Kirjutuskaitstud. The `_links.checkoutRedirect.href` väärtus. Peab olema `http` või `https`.                       |
| `returnURL`       | `URL`     | Kirjutuskaitstud. Sama väärtus, mille teie taustsüsteem saatis kui `shopRedirectUrl`.                              |
| `preferredMethod` | `String?` | Muudetav. Avab kassalehe otse konkreetsele meetodile. `nil` kuvab meetodi valija. Tundmatu väärtus ignoreeritakse. |

### MethodHint

`PaymentRequest.MethodHint` / `EGWPaymentMethodHint`

String-konstandid `preferredMethod`.

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

***

## Kaardimaksepäring

`Kaardimaksepäring` / `EGWCardPaymentRequest`

Makse, mis sooritatakse teie enda kaardivormi kaudu.

```swift
init(paymentId: String, verificationKey: String)
```

Objective-C: `-initWithPaymentId:verificationKey:`.

| Omadus            | Tüüp     | Kirjeldus         |
| ----------------- | -------- | ----------------- |
| `paymentId`       | `String` | Kirjutuskaitstud. |
| `verificationKey` | `String` | Kirjutuskaitstud. |

Ilma kassalehe URL-ita ja ilma tagastusURL-ita: ostja ei lahku kunagi teie rakendusest.

***

## Makse tulemus

`Makse tulemus` / `EGWPaymentResult`

Edastatakse teie lõpetamisplokile või delegaadile. Ainult vastuvõtmiseks: rakendused seda ei loo.

| Omadus             | Tüüp            | Kirjeldus                                                                          |
| ------------------ | --------------- | ---------------------------------------------------------------------------------- |
| `tulemus`          | `Makse tulemus` | Makse soorituse tulemus.                                                           |
| `paymentId`        | `String`        | Alati olemas.                                                                      |
| `makseolek`        | `String?`       | Platvormi töötlemata olekusõne, näiteks `"SETTLED"`.                               |
| `tellimuse number` | `String?`       | Platvormi kirje teie taustsüsteemi edastatud tellimuse numbri kohta.               |
| `seansi ID`        | `String?`       | Kaardiseansi identifikaator. Määratakse ainult kaardivooga; `nil` hostitud kassas. |
| `viga`             | `NSError?`      | Kuvatakse siis, kui SDK ei suutnud voogu lõpule viia.                              |

`kirjeldus` tagastab lühikese kokkuvõtte, mis sobib logidesse. See ei sisalda kaardiandmeid ega verifitseerimisvõtit.

***

## Makse tulemus

`Makse tulemus` / `EGWPaymentOutcome`

| Juhtum        | Objective-C                   | Toorväärtus | Makseolek                                                             |
| ------------- | ----------------------------- | ----------- | --------------------------------------------------------------------- |
| `.succeeded`  | `EGWPaymentOutcomeSucceeded`  | `0`         | `AUTHORIZED`, `CAPTURED`, `SETTLED`, `REFUNDED`                       |
| `.failed`     | `EGWPaymentOutcomeFailed`     | `1`         | `FAILED`, või SDK ei suutnud voogu käivitada                          |
| `.cancelled`  | `EGWPaymentOutcomeCancelled`  | `2`         | `CANCELLED`, `ABANDONED`, või ostja sulges lehe                       |
| `.unresolved` | `EGWPaymentOutcomeUnresolved` | `3`         | `INITIALIZED`, `SENT_FOR_PROCESSING`, tundmatu olek või puudub otsing |

`.unresolved` on tavaline tulemus, mitte viga. Vt [Tulemuse käsitlemine](/seb-docs-draft/seb-docs-public-et/integratsioon/mobiilne-sdk/ios-sdk/sdk-kasutamine/tulemuse-kasitlemine.md).

***

## Kaardi sisend

`Kaardi sisend` / `EGWCardInput`

Peata mudel kaardiandmete jaoks. Väärtused loetakse esitamise hetkel.

```swift
init()
```

| Omadus               | Tüüp           | Kirjeldus                                                                                                                                                                  |
| -------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `kaardiomaniku nimi` | `String`       | Muudetav. Vaikimisi `""`.                                                                                                                                                  |
| `kaardi number`      | `String`       | Muudetav. Vaikimisi `""`. Vormindamismärke talutakse.                                                                                                                      |
| `aegumiskuu`         | `String`       | Muudetav. Kaks numbrit, `"01"` kuni `"12"`.                                                                                                                                |
| `aegumisaasta`       | `String`       | Muudetav. Kaks numbrit, näiteks `"30"`.                                                                                                                                    |
| `turvakood`          | `String`       | Muudetav. Vaikimisi `""`.                                                                                                                                                  |
| `bränd`              | `Kaardi bränd` | Kirjutuskaitstud, tuletatud `kaardi number`. Ainult kuvamise ja sisendi vormindamise jaoks; ei saadeta kunagi makseväravale ega kasutata kunagi esituse tagasilükkamiseks. |
| `kehtiv`             | `Bool`         | Kirjutuskaitstud. `true` kui iga väli läbib valideerimise.                                                                                                                 |

### Meetodid

```swift
func validationError(for field: CardField) -> NSError?
```

Objective-C: `-validationErrorFor:`.

Tagastab `nil` kui väli on kehtiv, muul juhul `NSError` domeeniga `com.egw.egwpay` koodiga `7` (`cardValidationFailed`) mille `localizedDescription` nimetab probleemi.

***

## Kaardiväli

`Kaardiväli` / `EGWCardField`

| Juhtum            | Objective-C                  | Toorväärtus |
| ----------------- | ---------------------------- | ----------- |
| `.cardholderName` | `EGWCardFieldCardholderName` | `0`         |
| `.cardNumber`     | `EGWCardFieldCardNumber`     | `1`         |
| `.expiry`         | `EGWCardFieldExpiry`         | `2`         |
| `.securityCode`   | `EGWCardFieldSecurityCode`   | `3`         |

***

## Kaardi bränd

`Kaardi bränd` / `EGWCardBrand`

| Juhtum        | Objective-C              | Toorväärtus |
| ------------- | ------------------------ | ----------- |
| `.unknown`    | `EGWCardBrandUnknown`    | `0`         |
| `.visa`       | `EGWCardBrandVisa`       | `1`         |
| `.mastercard` | `EGWCardBrandMastercard` | `2`         |
| `.amex`       | `EGWCardBrandAmex`       | `3`         |
| `.maestro`    | `EGWCardBrandMaestro`    | `4`         |
| `.discover`   | `EGWCardBrandDiscover`   | `5`         |

Brändi tuvastamine juhib kuvamist ja sisendi vormindamist. Selle, kas pood aktsepteerib mõnda brändi, otsustab serveripoolselt.

***

## Kaardi tekstiväljad

Kolm `UITextField` alamklassi, mis käsitlevad sisendi käitumist ja vormindamist. Need ei määra värve, fonte, ääriseid ega täiteid, seega pärivad need teie rakenduse ilme. Kõik kolm toetavad `init(frame:)` ja `init?(coder:)`, seega töötavad need nii koodis kui ka Interface Builderis.

Nende kasutamine on valikuline.

### Kaardinumbri tekstiväli

`Kaardinumbri tekstiväli` / `EGWCardNumberTextField`

Rühmitab numbrid ostja tippimise ajal, piirab pikkust ja määrab `textContentType = .creditCardNumber` nii, et iOS-i automaattäitmine ja Scan Card töötavad.

| Omadus    | Tüüp           | Kirjeldus                                              |
| --------- | -------------- | ------------------------------------------------------ |
| `numbrid` | `String`       | Kirjutuskaitstud. Sisestatud number ilma vorminduseta. |
| `bränd`   | `Kaardi bränd` | Kirjutuskaitstud. Tuletatud `numbrid`.                 |

### Kaardi aegumiskuupäeva tekstiväli

`Kaardi aegumiskuupäeva tekstiväli` / `EGWCardExpiryTextField`

Vormindab sisendi kujule `MM/YY`.

| Omadus  | Tüüp     | Kirjeldus                                                          |
| ------- | -------- | ------------------------------------------------------------------ |
| `kuu`   | `String` | Kirjutuskaitstud. `""` kuni on sisestatud kaks numbrit.            |
| `aasta` | `String` | Kirjutuskaitstud. `""` kuni on sisestatud rohkem kui kaks numbrit. |

### Kaardi turvakoodi tekstiväli

`Kaardi turvakoodi tekstiväli` / `EGWCardSecurityCodeTextField`

Maskeerib sisendi ja piirab numbrite arvu vastavalt kaardi brändile.

| Omadus    | Tüüp           | Kirjeldus                                                                       |
| --------- | -------------- | ------------------------------------------------------------------------------- |
| `bränd`   | `Kaardi bränd` | Muudetav. Määrake see numbri välja `bränd` nii, et numbripiirang järgib kaarti. |
| `numbrid` | `String`       | Kirjutuskaitstud. Sisestatud kood.                                              |

***

## Makseoleku lahendamine

`Makseoleku lahendamine` / `EGWPaymentStatusResolving`

Rakendage see, et asendada SDK sisseehitatud olekuotsing enda omaga.

```swift
@objc protocol PaymentStatusResolving: NSObjectProtocol {
    func resolveStatus(paymentId: String,
                       verificationKey: String,
                       completion: @escaping (_ status: String?,
                                              _ orderNumber: String?,
                                              _ error: NSError?) -> Void)
}
```

Objective-C selektor: `resolveStatusWithPaymentId:verificationKey:completion:`.

Kutsu `completion` täpselt üks kord, mis tahes järjekorrast. Tagastage platvormi töötlemata olekusõne ja SDK seostab selle tulemusega. A `nil` olek koos `nil` veaga lahendub kui `.unresolved`.

***

## Makse delegaat

`Makse delegaat` / `EGWPaymentDelegate`

Alternatiiv lõpetamisplokile.

```swift
@objc protocol PaymentDelegate: NSObjectProtocol {
    func paymentDidFinish(_ result: PaymentResult)
}
```

Objective-C selektor: `paymentDidFinish:`.

Kutsutakse täpselt üks kord, põhiteemas pärast SDK liidese sulgemist. `PaymentKit` hoiab delegaati nõrgalt, seega hoidke oma tugevat viidet.

***

## Makseviga

`Makseviga` on Swifti loend. Objective-C rakenduste ja Swift-koodi jaoks, mis loeb `PaymentResult.error`, vaadake `NSError` selle asemel.

| Liige                 | Väärtus                                            |
| --------------------- | -------------------------------------------------- |
| `PaymentError.domain` | `"com.egw.egwpay"`                                 |
| `PaymentError.Code`   | Üks `Int`-põhine loend kaheteistkümnest veakoodist |

Vt [Vigade käsitlemine](/seb-docs-draft/seb-docs-public-et/integratsioon/mobiilne-sdk/ios-sdk/juhendid/vigade-kasitlemine.md) kooditabeli ja taastumisjuhiste jaoks.


---

# 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/viide/api.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.
