> 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/juhendid/liivakast/teststsenaariumid/maksetoimingud.md).

# Maksetoimingud

Kontrollige maksejärgseid ja autoriseerimistoiminguid, mida kaupmees tegelikult kasutada kavatseb.

## Autoriseerimine

See jaotis kehtib maksemeetoditele, mis toetavad eraldi autoriseerimis- ja kinnitustoiminguid.

Autoriseerimine reserveerib kliendi vahendid ilma makset lõpule viimata. Kaupmees saab selle hiljem kinnitada, osaliselt kinnitada või tühistada.

Tüüpilised kasutusjuhtumid hõlmavad:

* Täitmine hilisemal kuupäeval.
* Tarnimine pärast laoseisu kinnitamist.
* Hotelli-, reisi-, ettetellimis- ja broneerimistehingud.

### Autoriseerimise elutsükkel

Kinnitamine lõpetab autoriseeritud makse:

```
Loo makse
    ↓
Klient lõpetab makse
    ↓
Autoriseeritud
    ↓
Kinnita makse
    ↓
Kinnitatud
```

Tühistamine vabastab autoriseerimise:

```
Loo makse
    ↓
Klient lõpetab makse
    ↓
Autoriseeritud
    ↓
Tühista autoriseerimine
    ↓
Tühistatud
```

### Edukas autoriseerimine

Klient lõpetab makse ja makselüüs autoriseerib summa.

#### Valideerimine

1. Loo autoriseerimiseks seadistatud makse.
2. Lõpeta kliendi makseteekond.
3. Kontrolli, et callback-teavitus on saadud.
4. Too makseandmed.

   ```http
   GET /egw/v1/payments/{paymentId}
   ```
5. Kontrolli makse staatust.

#### Oodatav tulemus

* Makse autoriseeritakse edukalt.
* Makse staatus on `AUTORISEERITUD`.
* Makse ID genereeritakse.
* Saadakse callback-teavitus.
* Autoriseeritud summa vastab küsitud summale.
* Makset saab kinnitada või tühistada.

Näidisvastus:

```json
{
  "paymentId": "019fffc4-17c4-7922-8be4-23cc21348aa1",
  "paymentStatus": "AUTHORIZED"
}
```

### Autoriseerimise kontrollimine

Kontrolli enne iga maksetegevust viimast makse staatust.

#### Valideerimine

1. Too viimased makseandmed.

   ```http
   GET /egw/v1/payments/{paymentId}
   ```
2. Vaata makse vastus üle.

#### Oodatav tulemus

* Makse staatus tagastatakse edukalt.
* Autoriseeritud summa on saadaval.
* Makse on seotud vastava tellimusega.
* Kaupmees saab kindlaks teha, kas kinnitamine või tühistamine on lubatud.

### Autoriseeritud makse kinnitamine

Kinnitamine muudab autoriseeritud makse lõpetatud makseks.

#### Valideerimine

1. Too autoriseeritud makse andmed.
2. Kinnita makse.

   ```http
   PATCH /egw/v1/payments/{paymentId}/capture
   ```
3. Too makseandmed.

#### Oodatav tulemus

* Kinnitamise päring õnnestub.
* Makse staatus muutub `AUTORISEERITUD` väärtuseks `KINNITATUD`.
* Kinnitatud summa vastab küsitud summale.
* Makse on lõpule viidud.

### Osaline kinnitamine

Osaline kinnitamine lõpetab ainult osa autoriseeritud summast.

#### Valideerimine

1. Too autoriseeritud makse andmed.
2. Esita osalise kinnitamise päring.
3. Vaata makseandmed üle.

#### Oodatav tulemus

* Osalise kinnitamise päring õnnestub.
* Kinnitatud summa vastab küsitud summale.
* Järelejäänud autoriseeritud saldo uuendatakse vastavalt platvormi käitumisele.
* Kinnituste ajalugu jääb auditeerimise eesmärgil kättesaadavaks.

### Tühista autoriseerimine

Tühista autoriseerimine, et vabastada reserveeritud vahendid makset lõpule viimata.

#### Valideerimine

1. Too autoriseeritud makse andmed.
2. Tühista autoriseerimine.

   ```http
   PATCH /egw/v1/payments/{paymentId}/cancel
   ```
3. Too makseandmed.

#### Oodatav tulemus

* Autoriseerimine tühistatakse edukalt.
* Makse staatus muutub `TÜHISTATUD`.
* Reserveeritud vahendid vabastatakse emitendi ja skeemi reeglite alusel.
* Makset ei saa enam kinnitada.

### Autoriseerimine ei ole tagasimakseks sobiv

Autoriseeritud maksete jaoks ei saa tagasimakseid luua. Enne tagasimakse algatamist kinnita makse.

#### Valideerimine

1. Loo autoriseeritud makse.
2. Püüa luua tagasimakse.

   ```http
   POST /egw/v1/refunds
   ```

#### Oodatav tulemus

* Tagasimakse päring lükatakse tagasi.
* Makse jääb `AUTORISEERITUD` olekusse.
* API tagastab valideerimisvea.

Näidisvastus:

```json
{
  "apiClientMessages": [
    {
      "category": "ERROR",
      "code": "STATUS_INVALID",
      "text": "Cannot refund payment when it is in status AUTHORIZED"
    }
  ]
}
```

#### Nõutav kaupmehe tegevus

```
Autoriseeritud
    ↓
Kinnita makse
    ↓
Kinnitatud
    ↓
Loo tagasimakse
```

### Kaupmehe valideerimise kontrollnimekiri

Kontrolli, et:

* Autoriseerimine õnnestub.
* Makse jõuab `AUTORISEERITUD` olekusse.
* Makse ID-d ja autoriseeritud summad salvestatakse.
* Callback-teavitused töödeldakse õigesti.
* Autoriseeritud makseid saab kinnitada või tühistada.
* Autoriseeritud makseid ei saa otse tagasimaksta.
* Makse API kontrollib enne iga toimingut staatust.
* Auditilogid registreerivad maksete toimingud.

## Tagasimakse

Kasuta Sandboxi makseid, et kontrollida, kas sinu integratsioon käsitleb tagasimakse toiminguid õigesti.

Tagasimaksed tagastavad vahendid lõpetatud makse eest. Seo iga tagasimakse algse maksega.

Salvesta tagasimakse andmed ja hoia auditeerimisrada. See toetab lepitamist, kliendituge ja finantsaruandlust.

### Tagasimakse sobivus

Kontrolli enne tagasimakse loomist makse praegust staatust.

```http
GET /egw/v1/payments/{paymentId}
```

| Makse staatus       | Tagasimakse lubatud |
| ------------------- | ------------------- |
| `Initsialiseeritud` | Ei                  |
| `Autoriseeritud`    | Ei                  |
| `Kinnitatud`        | Jah                 |
| `Arveldatud`        | Jah                 |
| `Ebaõnnestunud`     | Ei                  |
| `Tühistatud`        | Ei                  |
| `Katkestatud`       | Ei                  |

Tagasimakse sobivus sõltub ka makseviisist ja kaupmehe seadistusest.

Pay by Banki puhul kontrolli järgmist:

* Makse laekus kaupmehe SEB arvelduskontole.
* Tagasimakse toimub 180 päeva jooksul algsest maksest.
* Tagasimakse tagastab vahendid algsele maksjale.
* Summa ei ületa allesjäänud tagastatavat saldot.

Lüüs lükkab tagasi tagasimaksed, mis ei kvalifitseeru.

### Täielik tagasimakse

Täielik tagasimakse tagastab kogu maksesumma.

#### Valideerimine

1. Lõpeta edukas makse.
2. Kontrolli, et maksel on tagasimaksele sobiv staatus.
3. Too ja salvesta makse ID.
4. Algata tagasimakse kogu maksesumma ulatuses.

   ```http
   POST /egw/v1/refunds
   ```
5. Kontrolli tagasimakse vastust ja järgnevat makse staatust.

#### Oodatav tulemus

* Tagasimakse luuakse edukalt.
* Kogu maksesumma tagastatakse.
* Tagasimakse on seotud algse maksega.
* Kaupmehe aruandlus ja auditilogid registreerivad tagasimakse.

### Osaline tagasimakse

Osaline tagasimakse tagastab osa algsest maksesummast.

#### Valideerimine

1. Lõpeta edukas makse.
2. Too ja salvesta makse ID.
3. Loo osaline tagasimakse.
4. Vaata tagasimakse vastus üle.

#### Oodatav tulemus

* Osaline tagasimakse töödeldakse edukalt.
* Tagastatud summa vastab küsitud summale.
* Tagasimakse on seotud algse maksega.
* Allesjäänud tagastatav saldo väheneb.

### Mitu osalist tagasimakset

Sama makse kohta saab luua mitu tagasimakset.

#### Valideerimine

1. Lõpeta edukas makse.
2. Loo osaline tagasimakse.
3. Loo üks või mitu täiendavat osalist tagasimakset.
4. Vaata tagasimaksete ajalugu ja allesjäänud saldot üle.

#### Oodatav tulemus

* Iga tagasimakse töödeldakse eraldi.
* Tagasimaksete ajalugu jääb jälgitavaks.
* Tagastatud kogusumma arvutatakse õigesti.
* Allesjäänud tagastatav saldo uuendatakse pärast iga tagasimakset.

### Tagasimakse vastuse ja elutsükli kontrollimine

Tagasimaksetel on oma elutsükkel. Eduka esitamise korral võib tagastada `TÖÖTLUSES` enne jõudmist `LÕPETATUD`.

Näide lõpetatud tagasimakse vastusest:

```json
{
  "refundId": "01a019ba-da32-75ed-93e9-eb626c72a7b4",
  "paymentId": "01a019b8-69bc-7f60-8ccf-ea1fde4e2978",
  "refundStatus": "COMPLETED",
  "instructedAmount": {
    "currency": "EUR",
    "amount": "0.01"
  }
}
```

#### Oodatav tulemus

* Tagasimakse ID genereeritakse.
* Tagasimakse on seotud õige makse ID-ga.
* Tagasimakse staatus muutub `LÕPETATUD`.
* Tagasimakse summa ja valuuta vastavad päringule.
* Makse staatus muutub `TAGASTATUD`.
* Saadakse tagasimakse callback-teavitus ja töödeldakse idempotentselt.

### Tagasimakse summa kontroll

Tagasimakse päringud ei tohi ületada allesjäänud tagastatavat saldot.

#### Valideerimine

1. Lõpeta edukas makse.
2. Loo üks või mitu tagasimakset.
3. Püüa tagastada rohkem kui allesjäänud saldo.

#### Oodatav tulemus

* Tagasimakse päring lükatakse tagasi.
* Täiendavat tagasimakset ei looda.
* Olemasolevad tagasimaksekirjed jäävad muutumatuks.

Näidisvastus:

```json
{
  "apiClientMessages": [
    {
      "category": "ERROR",
      "code": "AMOUNT_EXCEEDED",
      "text": "Refund amount exceeded, available amount is 0.17"
    }
  ]
}
```

### Samaaegse tagasimakse kontroll

Lüüs võib tagasimakse tagasi lükata, kui mõni teine tagasimakse päring on töötluses.

#### Valideerimine

1. Loo tagasimakse, mis jääb `TÖÖTLUSES`.
2. Esita sama makse jaoks veel üks tagasimakse.
3. Vaata vastus ja tagasimaksete ajalugu üle.

#### Oodatav tulemus

* Konfliktne päring lükatakse tagasi.
* Algset tagasimakset saab endiselt jälgida.
* Duplikaattagasimakset ei looda.

### Tagasimakse initsialiseeritud maksele

See stsenaarium proovib tagastada makset, mille puhul ostuprotsess ei ole lõpule viidud.

#### Oodatav tulemus

* Tagasimakse päring lükatakse tagasi.
* Täiendavat tagasimakset ei looda.
* Makse jääb muutumatuks.

### Tagasimakse autoriseeritud maksele

See stsenaarium proovib tagastada autoriseeritud, kinnitamata makset.

#### Oodatav tulemus

* Tagasimakse päring lükatakse tagasi.
* Täiendavat tagasimakset ei looda.
* Makse jääb `Autoriseeritud`.

#### Kaupmehe tegevus

Kinnita autoriseeritud maksed enne tagasimaksete loomist. Kasuta autoriseerimise tagasipööramist, kui vahendid on endiselt reserveeritud.

```
Autoriseeritud
    ↓
Kinnita makse
    ↓
Kinnitatud
    ↓
Loo tagasimakse
```

```http
PATCH /egw/v1/payments/{paymentId}/capture
```

### Tagasimakse tagasipööramine

Tagasimakse tagasipööramine on toetatud ainult kontolt-kontole (A2A) maksete puhul.

Neid ei toetata kaardimaksete ega rahakoti makseviiside puhul. See hõlmab Google Payd, Apple Payd ja Click to Payd.

```http
PATCH /egw/v1/refunds/{refundId}/revert
```

#### Valideerimine

1. Loo tagasimakse.
2. Salvesta tagasimakse ID.
3. Püüa tagasimakse tagasi pöörata.
4. Vaata API vastus ja makse staatus üle.

#### Oodatav tulemus

* Tagasipööramine õnnestub sobivate A2A maksete puhul.
* Tagasimaksete ajalugu jääb jälgitavaks.
* Auditilogid registreerivad tagasipööramise tegevuse.
* Kui tagasipööramine õnnestub, muutub tagasimakse staatus TAGASIPÖÖRATUD olekusse.

### Tagasimakse tagasipööramise piirangud

Tagasimakse tagasipööramised lükatakse tagasi kaardimaksete, Google Pay, Apple Pay ja Click to Pay puhul.

#### Oodatav tulemus

* Tagasipööramise päring lükatakse tagasi.
* Algne tagasimakse jääb muutumatuks.
* Täiendavat tehingut ei looda.
* Kaupmees saab selge valideerimisvea.

### Kaupmehe valideerimise kontrollnimekiri

Kontrolli, et:

* Tagasimaksed kasutavad ainult sobivaid makseolekuid.
* Pay by Banki tagasimaksetingimused valideeritakse.
* Tagasimakse ID-d ja makse ID-d salvestatakse.
* Tagasimaksete summad ei ületa tagastatavat saldot.
* Tagasimaksed on seotud nende algsete maksetega.
* Tagasimakse callbackid töödeldakse idempotentselt.
* Tagasimaksete ajalugu jääb jälgitavaks.
* Tagasi lükatud tagasimaksed ja tagasipööramised käsitletakse õigesti.
* Lepitamine ja aruandlus hõlmavad tagasimakse toiminguid.

### Seotud API-d

#### Hangi makse

```http
GET /egw/v1/payments/{paymentId}
```

Too makseandmed ja kontrolli tagasimakse sobivust.

#### Algata tagasimakse

```http
POST /egw/v1/refunds
```

Loo täielik või osaline tagasimakse.

#### Pööra tagasimakse tagasi

```http
PATCH /egw/v1/refunds/{refundId}/revert
```

#### Kinnita makse

```http
PATCH /egw/v1/payments/{paymentId}/capture
```

Kinnita autoriseeritud makse.

#### Tühista makse

```http
PATCH /egw/v1/payments/{paymentId}/cancel
```

Tühista autoriseeritud makse.


---

# 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/juhendid/liivakast/teststsenaariumid/maksetoimingud.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.
