> 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-lv/integracija/mobilais-sdk/ios-sdk/atsauce/api.md).

# API

Katrs publiskais tips iOS SDK ar tā Swift un Objective-C nosaukumu.

Modulis: `EGWPay`. Minimālā izvietošanas mērķa versija: iOS 15.0.

Swift valodā tipiem nav prefiksa. Objective-C valodā tiem pašiem tipiem ir `EGW` prefikss. Katram tipam ir uzskaitīti abi nosaukumi.

***

## PaymentKit

`PaymentKit` / `EGWPaymentKit`

Ieejas punkts. Vienlaikus izpilda tikai vienu maksājumu; uzsākot otru, kamēr pirmais ir ekrānā, otrs nekavējoties tiek pabeigts kā `.failed` ar `invalidRequest` kļūdu.

### Inicializētāji

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

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

Pirmā forma izmanto iebūvēto statusa meklēšanu, kad `configuration.apiBaseURL` ir iestatīts, un citādi katru maksājumu atrisina kā `.unresolved`.

### Metodes

```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 selektori: `startPayment:from:completion:`, `startPayment:from:delegate:`, `startCardPayment:card:from:completion:`, `startCardPayment:card:from:delegate:`.

Katrs pārslodzes variants piegādā tieši vienu rezultātu galvenajā pavedienā pēc tam, kad SDK ir aizvēris jebkādu tā atvērto saskarni. Delegāts tiek turēts vājas norādes režīmā.

`startCardPayment` pieprasa `checkoutAPIBaseURL` un `checkoutBaseURL` konfigurācijā. Trūkstošs `checkoutAPIBaseURL` neizdodas ar `invalidRequest`; trūkstošs `checkoutBaseURL` neizdodas ar `encryptionKeyUnavailable`.

***

## Konfigurācija

`Konfigurācija` / `EGWConfiguration`

Skatīt [Konfigurācija](broken://pages/4b0bcafe141a749244fd34ba29d90a88d367db7d).

***

## PaymentRequest

`PaymentRequest` / `EGWPaymentRequest`

Maksājums ar hostētu norēķinu lapu.

### Inicializētājs

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

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

### Īpašības

| Īpašība           | Tips      | Apraksts                                                                                                                             |
| ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `paymentId`       | `String`  | Tikai lasāms. Maksājuma identifikators no jūsu backend.                                                                              |
| `verificationKey` | `String`  | Tikai lasāms. Katram maksājumam paredzētā piekļuves akreditācija no jūsu backend.                                                    |
| `checkoutURL`     | `URL`     | Tikai lasāms. The `_links.checkoutRedirect.href` vērtība. Jābūt `http` vai `https`.                                                  |
| `returnURL`       | `URL`     | Tikai lasāms. Tāda pati vērtība, ko jūsu backend nosūtīja kā `shopRedirectUrl`.                                                      |
| `preferredMethod` | `String?` | Maināms. Atver norēķinu lapu uzreiz vienam maksājuma veidam. `nil` parāda maksājuma veida izvēlni. Neatpazīta vērtība tiek ignorēta. |

### MethodHint

`PaymentRequest.MethodHint` / `EGWPaymentMethodHint`

Virkņu konstantes priekš `preferredMethod`.

| Konstante               | Vērtība          |
| ----------------------- | ---------------- |
| `MethodHint.card`       | `"card"`         |
| `MethodHint.bank`       | `"bank"`         |
| `MethodHint.clickToPay` | `"click-to-pay"` |

***

## CardPaymentRequest

`CardPaymentRequest` / `EGWCardPaymentRequest`

Maksājums, kas veikts, izmantojot jūsu pašu kartes veidlapu.

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

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

| Īpašība           | Tips     | Apraksts      |
| ----------------- | -------- | ------------- |
| `paymentId`       | `String` | Tikai lasāms. |
| `verificationKey` | `String` | Tikai lasāms. |

Nav ne checkout URL, ne return URL: pircējs nekad neatstāj jūsu lietotni.

***

## PaymentResult

`PaymentResult` / `EGWPaymentResult`

Tiek nodots jūsu completion blokam vai delegātam. Tikai saņemšanai: lietotnes to neveido.

| Īpašība         | Tips             | Apraksts                                                                                     |
| --------------- | ---------------- | -------------------------------------------------------------------------------------------- |
| `outcome`       | `PaymentOutcome` | Maksājuma izpildes rezultāts.                                                                |
| `paymentId`     | `String`         | Vienmēr pieejams.                                                                            |
| `paymentStatus` | `String?`        | Platformas neapstrādātā statusa virkne, piemēram `"SETTLED"`.                                |
| `orderNumber`   | `String?`        | Platformas ieraksts par pasūtījuma numuru, ko sniedza jūsu backend.                          |
| `sessionId`     | `String?`        | Kartes sesijas identifikators. Tiek iestatīts tikai kartes plūsmā; `nil` hostētam norēķinam. |
| `error`         | `NSError?`       | Parādās, kad SDK nevarēja pabeigt plūsmu.                                                    |

`description` atgriež īsu kopsavilkumu, kas piemērots žurnāliem. Tas nesatur kartes datus un verifikācijas atslēgu.

***

## PaymentOutcome

`PaymentOutcome` / `EGWPaymentOutcome`

| Gadījums      | Objective-C                   | Neapstrādātā vērtība | Maksājuma statuss                                                          |
| ------------- | ----------------------------- | -------------------- | -------------------------------------------------------------------------- |
| `.succeeded`  | `EGWPaymentOutcomeSucceeded`  | `0`                  | `AUTHORIZED`, `CAPTURED`, `SETTLED`, `REFUNDED`                            |
| `.failed`     | `EGWPaymentOutcomeFailed`     | `1`                  | `FAILED`, vai SDK nevarēja izpildīt plūsmu                                 |
| `.cancelled`  | `EGWPaymentOutcomeCancelled`  | `2`                  | `CANCELLED`, `ABANDONED`, vai pircējs aizvēra lapu                         |
| `.unresolved` | `EGWPaymentOutcomeUnresolved` | `3`                  | `INITIALIZED`, `SENT_FOR_PROCESSING`, neatpazīts statuss vai nav meklējuma |

`.unresolved` ir normāls rezultāts, nevis kļūda. Skatīt [Rezultāta apstrāde](/seb-docs-draft/seb-docs-public-lv/integracija/mobilais-sdk/ios-sdk/sdk-izmantosana/rezultata-apstrade.md).

***

## CardInput

`CardInput` / `EGWCardInput`

Bezgalvas modelis kartes datiem. Vērtības tiek nolasītas iesniegšanas brīdī.

```swift
init()
```

| Īpašība          | Tips        | Apraksts                                                                                                                                                                 |
| ---------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `cardholderName` | `String`    | Maināms. Pēc noklusējuma `""`.                                                                                                                                           |
| `cardNumber`     | `String`    | Maināms. Pēc noklusējuma `""`. Formatēšanas rakstzīmes tiek pieņemtas.                                                                                                   |
| `expiryMonth`    | `String`    | Maināms. Divi cipari, `"01"` līdz `"12"`.                                                                                                                                |
| `expiryYear`     | `String`    | Maināms. Divi cipari, piemēram `"30"`.                                                                                                                                   |
| `securityCode`   | `String`    | Maināms. Pēc noklusējuma `""`.                                                                                                                                           |
| `brand`          | `CardBrand` | Tikai lasāms, atvasināts no `cardNumber`. Tikai attēlošanai un ievades formatēšanai; nekad netiek sūtīts uz vārteju un nekad netiek izmantots, lai noraidītu iesniegumu. |
| `isValid`        | `Bool`      | Tikai lasāms. `true` kad katrs lauks iztur validāciju.                                                                                                                   |

### Metodes

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

Objective-C: `-validationErrorFor:`.

Atgriež `nil` ja lauks ir derīgs, un citādi `NSError` iekš `com.egw.egwpay` domēnā ar kodu `7` (`cardValidationFailed`) kura `localizedDescription` nosauc problēmu.

***

## CardField

`CardField` / `EGWCardField`

| Gadījums          | Objective-C                  | Neapstrādātā vērtība |
| ----------------- | ---------------------------- | -------------------- |
| `.cardholderName` | `EGWCardFieldCardholderName` | `0`                  |
| `.cardNumber`     | `EGWCardFieldCardNumber`     | `1`                  |
| `.expiry`         | `EGWCardFieldExpiry`         | `2`                  |
| `.securityCode`   | `EGWCardFieldSecurityCode`   | `3`                  |

***

## CardBrand

`CardBrand` / `EGWCardBrand`

| Gadījums      | Objective-C              | Neapstrādātā vērtība |
| ------------- | ------------------------ | -------------------- |
| `.unknown`    | `EGWCardBrandUnknown`    | `0`                  |
| `.visa`       | `EGWCardBrandVisa`       | `1`                  |
| `.mastercard` | `EGWCardBrandMastercard` | `2`                  |
| `.amex`       | `EGWCardBrandAmex`       | `3`                  |
| `.maestro`    | `EGWCardBrandMaestro`    | `4`                  |
| `.discover`   | `EGWCardBrandDiscover`   | `5`                  |

Zīmola noteikšana nosaka attēlošanu un ievades formatēšanu. To, vai veikals pieņem konkrētu zīmolu, nosaka servera pusē.

***

## Kartes teksta lauki

Trīs `UITextField` apakšklases, kas apstrādā ievades uzvedību un formatēšanu. Tās nenosaka krāsas, fontus, apmales vai atkāpes, tāpēc pārmanto jūsu lietotnes izskatu. Visas trīs atbalsta `init(frame:)` un `init?(coder:)`, tāpēc tās darbojas kodā un Interface Builder.

To lietošana ir izvēles.

### CardNumberTextField

`CardNumberTextField` / `EGWCardNumberTextField`

Grupē ciparus, kad pircējs raksta, ierobežo garumu un iestata `textContentType = .creditCardNumber` lai darbotos iOS automātiskā aizpilde un Scan Card.

| Īpašība  | Tips        | Apraksts                                         |
| -------- | ----------- | ------------------------------------------------ |
| `cipari` | `String`    | Tikai lasāms. Ievadītais numurs bez formatējuma. |
| `brand`  | `CardBrand` | Tikai lasāms. Atvasināts no `cipari`.            |

### CardExpiryTextField

`CardExpiryTextField` / `EGWCardExpiryTextField`

Formatē ievadi kā `MM/YY`.

| Īpašība   | Tips     | Apraksts                                                     |
| --------- | -------- | ------------------------------------------------------------ |
| `mēnesis` | `String` | Tikai lasāms. `""` līdz ir ievadīti divi cipari.             |
| `gads`    | `String` | Tikai lasāms. `""` līdz ir ievadīti vairāk nekā divi cipari. |

### CardSecurityCodeTextField

`CardSecurityCodeTextField` / `EGWCardSecurityCodeTextField`

Maskē ievadi un ierobežo ciparu skaitu atkarībā no kartes zīmola.

| Īpašība  | Tips        | Apraksts                                                                               |
| -------- | ----------- | -------------------------------------------------------------------------------------- |
| `brand`  | `CardBrand` | Maināms. Iestatiet to no numura lauka `brand` lai ciparu ierobežojums atbilstu kartei. |
| `cipari` | `String`    | Tikai lasāms. Ievadītais kods.                                                         |

***

## PaymentStatusResolving

`PaymentStatusResolving` / `EGWPaymentStatusResolving`

Ieviesiet to, lai aizstātu SDK iebūvēto statusa meklēšanu ar savu.

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

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

Izsauciet `completion` tieši vienu reizi no jebkuras rindas. Atgrieziet platformas neapstrādāto statusa virkni, un SDK to kartē uz rezultātu. Statuss ar `nil` statuss ar `nil` kļūdu tiek atrisināts uz `.unresolved`.

***

## PaymentDelegate

`PaymentDelegate` / `EGWPaymentDelegate`

alternatīva completion blokam.

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

Objective-C selektors: `paymentDidFinish:`.

Tiek izsaukts tieši vienu reizi, galvenajā pavedienā, pēc tam, kad SDK saskarne ir aizvērta. `PaymentKit` delegātu tur vājas norādes režīmā, tāpēc saglabājiet savu spēcīgo norādi.

***

## PaymentError

`PaymentError` ir Swift uzskaitījums. Objective-C lietotnēm un Swift kodam, kas nolasa `PaymentResult.error`, skatīt `NSError` tā vietā.

| Dalībnieks            | Vērtība                                                  |
| --------------------- | -------------------------------------------------------- |
| `PaymentError.domain` | `"com.egw.egwpay"`                                       |
| `PaymentError.Code`   | Ar `Int`balstīts uzskaitījums no divpadsmit kļūdu kodiem |

Skatīt [Kļūdu apstrāde](/seb-docs-draft/seb-docs-public-lv/integracija/mobilais-sdk/ios-sdk/celvezi/kludu-apstrade.md) kodu tabulai un atkopšanas norādēm.


---

# 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-lv/integracija/mobilais-sdk/ios-sdk/atsauce/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.
