> 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/gaires/sandbox/testavimo-scenarijai/mokejimo-operacijos.md).

# Mokėjimo operacijos

Patikrinkite po mokėjimo ir autorizavimo atliekamas operacijas, kurias prekybininkas iš tikrųjų ketina naudoti.

## Autorizavimas

Šis skyrius taikomas mokėjimo metodams, kurie palaiko atskiras autorizavimo ir nurašymo operacijas.

Autorizavimas rezervuoja kliento lėšas neužbaigdamas mokėjimo. Pardavėjas vėliau gali nurašyti visą arba dalį sumos arba atšaukti autorizavimą.

Tipiniai naudojimo atvejai apima:

* Įvykdymas vėlesnei datai.
* Siuntimas patvirtinus atsargas.
* Viešbučių, kelionių, išankstinių užsakymų ir rezervacijų užsakymai.

### Autorizavimo gyvavimo ciklas

Nurašymas užbaigia autorizuotą mokėjimą:

```
Sukurti mokėjimą
    ↓
Klientas užbaigia mokėjimą
    ↓
Autorizuota
    ↓
Nurašymas
    ↓
Nurašyta
```

Atšaukimas atlaisvina autorizavimą:

```
Sukurti mokėjimą
    ↓
Klientas užbaigia mokėjimą
    ↓
Autorizuota
    ↓
Atšaukti autorizavimą
    ↓
Atšaukta
```

### Sėkmingas autorizavimas

Klientas užbaigia mokėjimą, o mokėjimų vartai autorizuoja sumą.

#### Patikra

1. Sukurkite mokėjimą, sukonfigūruotą autorizavimui.
2. Užbaikite kliento mokėjimo procesą.
3. Patikrinkite, ar gaunamas callback pranešimas.
4. Gaukite mokėjimo informaciją.

   ```http
   GET /egw/v1/payments/{paymentId}
   ```
5. Patikrinkite mokėjimo būseną.

#### Tikėtinas rezultatas

* Mokėjimas sėkmingai autorizuotas.
* Mokėjimo būsena yra `AUTHORIZED`.
* Sugeneruojamas mokėjimo ID.
* Gaunamas callback pranešimas.
* Autorizuota suma sutampa su prašoma suma.
* Mokėjimą galima nurašyti arba atšaukti.

Pavyzdinis atsakymas:

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

### Autorizavimo patikra

Prieš kiekvieną mokėjimo operaciją patikrinkite naujausią mokėjimo būseną.

#### Patikra

1. Gaukite naujausią mokėjimo informaciją.

   ```http
   GET /egw/v1/payments/{paymentId}
   ```
2. Peržiūrėkite mokėjimo atsakymą.

#### Tikėtinas rezultatas

* Mokėjimo būsena grąžinama sėkmingai.
* Autorizuota suma yra prieinama.
* Mokėjimas susiejamas su atitinkamu užsakymu.
* Pardavėjas gali nustatyti, ar leidžiamas nurašymas arba atšaukimas.

### Nurašyti autorizuotą mokėjimą

Nurašymas paverčia autorizuotą mokėjimą užbaigtu mokėjimu.

#### Patikra

1. Gaukite autorizuotą mokėjimą.
2. Nurašykite mokėjimą.

   ```http
   PATCH /egw/v1/payments/{paymentId}/capture
   ```
3. Gaukite mokėjimo informaciją.

#### Tikėtinas rezultatas

* Nurašymo užklausa sėkminga.
* Mokėjimo būsena pasikeičia iš `AUTHORIZED` į `CAPTURED`.
* Nurašyta suma sutampa su prašoma suma.
* Mokėjimas užbaigtas.

### Dalinis nurašymas

Dalinis nurašymas užbaigia tik dalį autorizuotos sumos.

#### Patikra

1. Gaukite autorizuotą mokėjimą.
2. Pateikite dalinio nurašymo užklausą.
3. Peržiūrėkite mokėjimo informaciją.

#### Tikėtinas rezultatas

* Dalinio nurašymo užklausa sėkminga.
* Nurašyta suma sutampa su prašoma suma.
* Likusi autorizuota suma atnaujinama pagal platformos elgseną.
* Nurašymų istorija išlieka prieinama audito tikslams.

### Atšaukti autorizavimą

Atšaukite autorizavimą, kad būtų atlaisvintos rezervuotos lėšos neužbaigiant mokėjimo.

#### Patikra

1. Gaukite autorizuotą mokėjimą.
2. Atšaukite autorizavimą.

   ```http
   PATCH /egw/v1/payments/{paymentId}/cancel
   ```
3. Gaukite mokėjimo informaciją.

#### Tikėtinas rezultatas

* Autorizavimas sėkmingai atšauktas.
* Mokėjimo būsena pasikeičia į `CANCELLED`.
* Rezervuotos lėšos atlaisvinamos pagal leidėjo ir schemos taisykles.
* Mokėjimo nebegalima nurašyti.

### Autorizuotas mokėjimas negrąžinamas

Grąžinimai negali būti kuriami autorizuotiems mokėjimams. Pirmiausia nurašykite mokėjimą, tada inicijuokite grąžinimą.

#### Patikra

1. Sukurkite autorizuotą mokėjimą.
2. Bandyti sukurti grąžinimą.

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

#### Tikėtinas rezultatas

* Grąžinimo užklausa atmetama.
* Mokėjimas lieka `AUTHORIZED` būsenoje.
* API grąžina validavimo klaidą.

Pavyzdinis atsakymas:

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

#### Reikalingas pardavėjo veiksmas

```
Autorizuota
    ↓
Nurašyti mokėjimą
    ↓
Nurašyta
    ↓
Sukurti grąžinimą
```

### Pardavėjo patikros sąrašas

Patikrinkite, kad:

* Autorizavimas sėkmingai užbaigiamas.
* Mokėjimas pereina į `AUTHORIZED` būsenoje.
* Mokėjimo ID ir autorizuotos sumos saugomos.
* Callback pranešimai apdorojami teisingai.
* Autorizuotus mokėjimus galima nurašyti arba atšaukti.
* Autorizuotų mokėjimų negalima grąžinti tiesiogiai.
* Mokėjimų API prieš kiekvieną operaciją tikrina būseną.
* Audito žurnaluose registruojamos mokėjimų operacijos.

## Grąžinimas

Naudokite Sandbox mokėjimus, kad patikrintumėte, ar jūsų integracija teisingai apdoroja grąžinimo operacijas.

Grąžinimai grąžina lėšas iš užbaigto mokėjimo. Kiekvieną grąžinimą susiekite su originaliu mokėjimu.

Saugokite grąžinimo informaciją ir palaikykite audito seką. Tai padeda suderinimui, klientų aptarnavimui ir finansinei atskaitomybei.

### Grąžinimo tinkamumas

Prieš kuriant grąžinimą, patikrinkite dabartinę mokėjimo būseną.

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

| Mokėjimo būsena | Grąžinimas leidžiamas |
| --------------- | --------------------- |
| `Inicijuota`    | Ne                    |
| `Autorizuota`   | Ne                    |
| `Nurašyta`      | Taip                  |
| `Atsiskaityta`  | Taip                  |
| `Nepavyko`      | Ne                    |
| `Atšaukta`      | Ne                    |
| `Nutraukta`     | Ne                    |

Grąžinimo tinkamumas taip pat priklauso nuo mokėjimo metodo ir pardavėjo konfigūracijos.

Naudojant Pay by Bank, patikrinkite šiuos dalykus:

* Mokėjimas buvo atsiskaitytas į pardavėjo SEB atsiskaitymo sąskaitą.
* Grąžinimas atliekamas per 180 dienų nuo originalaus mokėjimo.
* Grąžinimas grąžina lėšas pradiniam mokėtojui.
* Suma neviršija likusio grąžinamo balanso.

Mokėjimų vartai atmeta grąžinimus netinkamiems mokėjimams.

### Pilnas grąžinimas

Pilnas grąžinimas grąžina visą mokėjimo sumą.

#### Patikra

1. Užbaikite sėkmingą mokėjimą.
2. Patikrinkite, ar mokėjimas turi grąžinamą būseną.
3. Gaukite ir saugokite mokėjimo ID.
4. Inicijuokite grąžinimą visai mokėjimo sumai.

   ```http
   POST /egw/v1/refunds
   ```
5. Patikrinkite grąžinimo atsakymą ir vėlesnę mokėjimo būseną.

#### Tikėtinas rezultatas

* Grąžinimas sėkmingai sukurtas.
* Grąžinama visa mokėjimo suma.
* Grąžinimas susiejamas su originaliu mokėjimu.
* Pardavėjo ataskaitose ir audito žurnaluose registruojamas grąžinimas.

### Dalinis grąžinimas

Dalinis grąžinimas grąžina dalį originalios mokėjimo sumos.

#### Patikra

1. Užbaikite sėkmingą mokėjimą.
2. Gaukite ir saugokite mokėjimo ID.
3. Sukurkite dalinį grąžinimą.
4. Peržiūrėkite grąžinimo atsakymą.

#### Tikėtinas rezultatas

* Dalinis grąžinimas apdorojamas sėkmingai.
* Grąžinta suma sutampa su prašoma suma.
* Grąžinimas susiejamas su originaliu mokėjimu.
* Likęs grąžinamas balansas sumažinamas.

### Keli daliniai grąžinimai

Tame pačiame mokėjime galima sukurti kelis grąžinimus.

#### Patikra

1. Užbaikite sėkmingą mokėjimą.
2. Sukurkite dalinį grąžinimą.
3. Sukurkite vieną ar daugiau papildomų dalinių grąžinimų.
4. Peržiūrėkite grąžinimų istoriją ir likutį.

#### Tikėtinas rezultatas

* Kiekvienas grąžinimas apdorojamas atskirai.
* Grąžinimų istorija išlieka atsekama.
* Bendra grąžinta suma apskaičiuojama teisingai.
* Likęs grąžinamas balansas atnaujinamas po kiekvieno grąžinimo.

### Grąžinimo atsako ir gyvavimo ciklo patikra

Grąžinimai turi savo gyvavimo ciklą. Sėkmingas pateikimas gali grąžinti `PROCESSING` prieš pasiekiant `COMPLETED`.

Pavyzdinis užbaigto grąžinimo atsakymas:

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

#### Tikėtinas rezultatas

* Sugeneruojamas grąžinimo ID.
* Grąžinimas susiejamas su teisingu mokėjimo ID.
* Grąžinimo būsena pereina į `COMPLETED`.
* Grąžinimo suma ir valiuta sutampa su užklausa.
* Mokėjimo būsena pasikeičia į `Grąžinta`.
* Grąžinimo callback pranešimas gaunamas ir apdorojamas idempotentiškai.

### Grąžinimo sumos patikra

Grąžinimo užklausos neturi viršyti likusio grąžinamo balanso.

#### Patikra

1. Užbaikite sėkmingą mokėjimą.
2. Sukurkite vieną ar daugiau grąžinimų.
3. Bandyti grąžinti daugiau nei likęs balansas.

#### Tikėtinas rezultatas

* Grąžinimo užklausa atmetama.
* Papildomas grąžinimas nesukuriamas.
* Esami grąžinimo įrašai lieka nepakeisti.

Pavyzdinis atsakymas:

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

### Lygiagrečių grąžinimų patikra

Mokėjimų vartai gali atmesti grąžinimą, kol apdorojama kita grąžinimo užklausa.

#### Patikra

1. Sukurkite grąžinimą, kuris lieka `PROCESSING`.
2. Pateikite kitą grąžinimą tam pačiam mokėjimui.
3. Peržiūrėkite atsakymą ir grąžinimų istoriją.

#### Tikėtinas rezultatas

* Konfliktinė užklausa atmetama.
* Originalus grąžinimas išlieka atsekamas.
* Pasikartojantis grąžinimas nesukuriamas.

### Grąžinimas inicijuotam mokėjimui

Šiame scenarijuje bandoma grąžinti mokėjimą, kurio atsiskaitymas dar neužbaigtas.

#### Tikėtinas rezultatas

* Grąžinimo užklausa atmetama.
* Grąžinimas nesukuriamas.
* Mokėjimas lieka nepakeistas.

### Grąžinimas autorizuotam mokėjimui

Šiame scenarijuje bandoma grąžinti autorizuotą, dar nenurašytą mokėjimą.

#### Tikėtinas rezultatas

* Grąžinimo užklausa atmetama.
* Grąžinimas nesukuriamas.
* Mokėjimas lieka `Autorizuota`.

#### Pardavėjo veiksmas

Prieš kurdami grąžinimus, nurašykite autorizuotus mokėjimus. Kai lėšos lieka rezervuotos, naudokite autorizavimo atšaukimą.

```
Autorizuota
    ↓
Nurašyti mokėjimą
    ↓
Nurašyta
    ↓
Sukurti grąžinimą
```

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

### Grąžinimo atšaukimas

Grąžinimo atšaukimai palaikomi tik Account-to-Account (A2A) mokėjimams.

Jie nepalaikomi mokėjimams kortele ar piniginių mokėjimo metodams. Tai apima Google Pay, Apple Pay ir Click to Pay.

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

#### Patikra

1. Sukurkite grąžinimą.
2. Išsaugokite grąžinimo ID.
3. Bandyti atšaukti grąžinimą.
4. Peržiūrėkite API atsakymą ir mokėjimo būseną.

#### Tikėtinas rezultatas

* Atšaukimas sėkmingas tinkamiems A2A mokėjimams.
* Grąžinimų istorija išlieka atsekama.
* Audito žurnaluose registruojama atšaukimo veikla.
* Kai atšaukimas sėkmingas, grąžinimo būsena tampa Atšaukta.

### Grąžinimo atšaukimo apribojimai

Grąžinimo atšaukimai atmetami mokėjimams kortele, Google Pay, Apple Pay ir Click to Pay.

#### Tikėtinas rezultatas

* Atšaukimo užklausa atmetama.
* Originalus grąžinimas lieka nepakeistas.
* Papildoma operacija nesukuriama.
* Pardavėjas gauna aiškią validavimo klaidą.

### Pardavėjo patikros sąrašas

Patikrinkite, kad:

* Grąžinimams naudojamos tik tinkamos mokėjimo būsenos.
* Pay by Bank grąžinimo sąlygos patikrinamos.
* Grąžinimo ID ir mokėjimo ID saugomi.
* Grąžinimo sumos neviršija grąžinamo balanso.
* Grąžinimai susiejami su jų originaliais mokėjimais.
* Grąžinimų callback pranešimai apdorojami idempotentiškai.
* Grąžinimų istorija išlieka atsekama.
* Atmesti grąžinimai ir atšaukimai apdorojami teisingai.
* Suderinimas ir ataskaitos apima grąžinimo operacijas.

### Susijusios API

#### Gauti mokėjimą

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

Gaukite mokėjimo informaciją ir patikrinkite grąžinimo tinkamumą.

#### Inicijuoti grąžinimą

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

Sukurkite pilną arba dalinį grąžinimą.

#### Atšaukti grąžinimą

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

#### Nurašyti mokėjimą

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

Nurašykite autorizuotą mokėjimą.

#### Atšaukti mokėjimą

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

Atšaukite autorizuotą mokėjimą.


---

# 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/gaires/sandbox/testavimo-scenarijai/mokejimo-operacijos.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.
