> 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/celvezi/smilskaste/testa-scenariji/maksajumu-operacijas.md).

# Maksājumu operācijas

Pārbaudiet pēc maksājuma un autorizācijas darbības, kuras tirgotājs patiešām plāno izmantot.

## Autorizācija

Šī sadaļa attiecas uz maksājuma metodēm, kas atbalsta atsevišķas autorizācijas un iekasēšanas darbības.

Autorizācija rezervē klienta līdzekļus, nepabeidzot maksājumu. Tirgotājs vēlāk var veikt pilnu vai daļēju iekasēšanu vai to atcelt.

Tipiski lietošanas gadījumi ietver:

* Preču izsniegšana vēlākā datumā.
* Piegāde pēc krājumu apstiprināšanas.
* Viesnīcu, ceļojumu, priekšpasūtījumu un rezervāciju noformēšana.

### Autorizācijas dzīves cikls

Iekasēšana pabeidz autorizētu maksājumu:

```
Izveidot maksājumu
    ↓
Klients pabeidz maksājumu
    ↓
Autorizēts
    ↓
Iegrāmatošana
    ↓
Iekasēts
```

Atcelšana atbrīvo autorizāciju:

```
Izveidot maksājumu
    ↓
Klients pabeidz maksājumu
    ↓
Autorizēts
    ↓
Atcelt autorizāciju
    ↓
Atcelts
```

### Veiksmīga autorizācija

Klients pabeidz maksājumu, un vārteja autorizē summu.

#### Validācija

1. Izveidojiet maksājumu, kas konfigurēts autorizācijai.
2. Pabeidziet klienta maksājuma plūsmu.
3. Pārbaudiet, vai ir saņemts atpakaļizsaukuma paziņojums.
4. Iegūstiet maksājuma informāciju.

   ```http
   GET /egw/v1/payments/{paymentId}
   ```
5. Pārbaudiet maksājuma statusu.

#### Sagaidāmais rezultāts

* Maksājums ir veiksmīgi autorizēts.
* Maksājuma statuss ir `AUTHORIZED`.
* Tiek ģenerēts maksājuma ID.
* Tiek saņemts atpakaļizsaukuma paziņojums.
* Autorizētā summa atbilst pieprasītajai summai.
* Maksājumu var iekasēt vai atcelt.

Piemēra atbilde:

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

### Autorizācijas pārbaude

Pirms katras maksājuma darbības pārbaudiet jaunāko maksājuma statusu.

#### Validācija

1. Iegūstiet jaunākās maksājuma detaļas.

   ```http
   GET /egw/v1/payments/{paymentId}
   ```
2. Pārskatiet maksājuma atbildi.

#### Sagaidāmais rezultāts

* Maksājuma statuss tiek atgriezts veiksmīgi.
* Autorizētā summa ir pieejama.
* Maksājums ir saistīts ar atbilstošo pasūtījumu.
* Tirgotājs var noteikt, vai ir atļauta iekasēšana vai atcelšana.

### Iekasēt autorizētu maksājumu

Iekasēšana pārvērš autorizētu maksājumu pabeigtā maksājumā.

#### Validācija

1. Iegūstiet autorizētu maksājumu.
2. Iekasējiet maksājumu.

   ```http
   PATCH /egw/v1/payments/{paymentId}/capture
   ```
3. Iegūstiet maksājuma informāciju.

#### Sagaidāmais rezultāts

* Iekasēšanas pieprasījums ir veiksmīgs.
* Maksājuma statuss mainās no `AUTHORIZED` uz `CAPTURED`.
* Iekasētā summa atbilst pieprasītajai summai.
* Maksājums ir pabeigts.

### Daļēja iekasēšana

Daļēja iekasēšana pabeidz tikai daļu no autorizētās summas.

#### Validācija

1. Iegūstiet autorizētu maksājumu.
2. Iesniedziet daļējas iekasēšanas pieprasījumu.
3. Pārskatiet maksājuma informāciju.

#### Sagaidāmais rezultāts

* Daļējās iekasēšanas pieprasījums ir veiksmīgs.
* Iekasētā summa atbilst pieprasītajai summai.
* Atlikušais autorizētais atlikums tiek atjaunināts atbilstoši platformas darbībai.
* Iekasēšanas vēsture paliek pieejama audita vajadzībām.

### Atcelt autorizāciju

Atceliet autorizāciju, lai atbrīvotu rezervētos līdzekļus, nepabeidzot maksājumu.

#### Validācija

1. Iegūstiet autorizētu maksājumu.
2. Atcelt autorizāciju

   ```http
   PATCH /egw/v1/payments/{paymentId}/cancel
   ```
3. Iegūstiet maksājuma informāciju.

#### Sagaidāmais rezultāts

* Autorizācija ir veiksmīgi atcelta.
* Maksājuma statuss mainās uz `CANCELLED`.
* Rezervētie līdzekļi tiek atbrīvoti saskaņā ar izdevēja un shēmas noteikumiem.
* Maksājumu vairs nevar iekasēt.

### Autorizācija nav piemērota atmaksai

Atmaksas nevar izveidot autorizētiem maksājumiem. Vispirms iekasējiet maksājumu, pirms uzsākat atmaksu.

#### Validācija

1. Izveidojiet autorizētu maksājumu.
2. Mēģiniet izveidot atmaksu.

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

#### Sagaidāmais rezultāts

* Atmaksas pieprasījums tiek noraidīts.
* Maksājums paliek `AUTHORIZED` statusā.
* API atgriež validācijas kļūdu.

Piemēra atbilde:

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

#### Nepieciešamā tirgotāja darbība

```
Autorizēts
    ↓
Iekasēt maksājumu
    ↓
Iekasēts
    ↓
Izveidot atmaksu
```

### Tirgotāja validācijas kontrolsaraksts

Pārliecinieties, ka:

* Autorizācija pabeidzas veiksmīgi.
* Maksājums nonāk `AUTHORIZED` statusā.
* Tiek saglabāti maksājuma ID un autorizētās summas.
* Atpakaļizsaukuma paziņojumi tiek apstrādāti pareizi.
* Autorizētos maksājumus var iekasēt vai atcelt.
* Autorizētos maksājumus nevar atmaksāt tieši.
* Maksājumu API pirms katras darbības pārbauda statusu.
* Audita žurnālos tiek reģistrētas maksājumu darbības.

## Atmaksa

Izmantojiet Sandbox maksājumus, lai pārliecinātos, ka jūsu integrācija pareizi apstrādā atmaksas darbības.

Atmaksas atgriež līdzekļus no pabeigta maksājuma. Katru atmaksu piesaistiet sākotnējam maksājumam.

Saglabājiet atmaksas informāciju un uzturiet audita pēdu. Tas palīdz saskaņošanai, klientu atbalstam un finanšu pārskatiem.

### Atmaksas piemērotība

Pirms atmaksas izveides pārbaudiet pašreizējo maksājuma statusu.

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

| Maksājuma statuss | Atmaksa atļauta |
| ----------------- | --------------- |
| `Inicializēts`    | Nē              |
| `Autorizēts`      | Nē              |
| `Iekasēts`        | Jā              |
| `Norēķināts`      | Jā              |
| `Neizdevies`      | Nē              |
| `Atcelts`         | Nē              |
| `Pamests`         | Nē              |

Atmaksas piemērotība ir atkarīga arī no maksājuma metodes un tirgotāja konfigurācijas.

Pay by Bank gadījumā pārbaudiet tālāk norādīto:

* Maksājums ir norēķināts tirgotāja SEB norēķinu kontā.
* Atmaksa tiek veikta 180 dienu laikā no sākotnējā maksājuma.
* Atmaksa atgriež līdzekļus sākotnējam maksātājam.
* Summa nepārsniedz atlikušo atmaksājamo atlikumu.

Vārteja noraida atmaksas par neatbilstošiem maksājumiem.

### Pilna atmaksa

Pilna atmaksa atgriež visu maksājuma summu.

#### Validācija

1. Pabeidziet veiksmīgu maksājumu.
2. Pārbaudiet, vai maksājumam ir atmaksājams statuss.
3. Iegūstiet un saglabājiet maksājuma ID.
4. Uzsāciet atmaksu par visu maksājuma summu.

   ```http
   POST /egw/v1/refunds
   ```
5. Pārbaudiet atmaksas atbildi un turpmāko maksājuma statusu.

#### Sagaidāmais rezultāts

* Atmaksa ir veiksmīgi izveidota.
* Tiek atmaksāta visa maksājuma summa.
* Atmaksa ir saistīta ar sākotnējo maksājumu.
* Tirgotāja pārskatos un audita žurnālos tiek reģistrēta atmaksa.

### Daļēja atmaksa

Daļēja atmaksa atgriež daļu no sākotnējās maksājuma summas.

#### Validācija

1. Pabeidziet veiksmīgu maksājumu.
2. Iegūstiet un saglabājiet maksājuma ID.
3. Izveidojiet daļēju atmaksu.
4. Pārskatiet atmaksas atbildi.

#### Sagaidāmais rezultāts

* Daļējā atmaksa ir veiksmīgi apstrādāta.
* Atmaksātā summa atbilst pieprasītajai summai.
* Atmaksa ir saistīta ar sākotnējo maksājumu.
* Atlikušais atmaksājamais atlikums tiek samazināts.

### Vairākas daļējas atmaksas

Par to pašu maksājumu var izveidot vairākas atmaksas.

#### Validācija

1. Pabeidziet veiksmīgu maksājumu.
2. Izveidojiet daļēju atmaksu.
3. Izveidojiet vienu vai vairākas papildu daļējas atmaksas.
4. Pārskatiet atmaksu vēsturi un atlikušo atlikumu.

#### Sagaidāmais rezultāts

* Katra atmaksa tiek apstrādāta atsevišķi.
* Atmaksu vēsture paliek izsekojama.
* Kopējā atmaksātā summa tiek aprēķināta pareizi.
* Pēc katras atmaksas atlikušais atmaksājamais atlikums tiek atjaunināts.

### Atmaksas atbildes un dzīves cikla pārbaude

Atmaksām ir savs dzīves cikls. Veiksmīga iesniegšana var atgriezt `PROCESSING` pirms sasniegšanas `COMPLETED`.

Piemēra pabeigtas atmaksas atbilde:

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

#### Sagaidāmais rezultāts

* Tiek ģenerēts atmaksas ID.
* Atmaksa ir saistīta ar pareizo maksājuma ID.
* Atmaksas statuss pāriet uz `COMPLETED`.
* Atmaksas summa un valūta atbilst pieprasījumam.
* Maksājuma statuss mainās uz `Atmaksāts`.
* Tiek saņemts atmaksas atpakaļizsaukuma paziņojums, un tas tiek apstrādāts idempotenti.

### Atmaksas summas validācija

Atmaksas pieprasījumi nedrīkst pārsniegt atlikušo atmaksājamo atlikumu.

#### Validācija

1. Pabeidziet veiksmīgu maksājumu.
2. Izveidojiet vienu vai vairākas atmaksas.
3. Mēģiniet atmaksāt vairāk nekā atlikušais atlikums.

#### Sagaidāmais rezultāts

* Atmaksas pieprasījums tiek noraidīts.
* Papildu atmaksa netiek izveidota.
* Esošie atmaksas ieraksti paliek nemainīgi.

Piemēra atbilde:

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

### Vienlaicīgas atmaksas validācija

Vārteja var noraidīt atmaksu, kamēr tiek apstrādāts cits atmaksas pieprasījums.

#### Validācija

1. Izveidojiet atmaksu, kas paliek `PROCESSING`.
2. Iesniedziet vēl vienu atmaksu par to pašu maksājumu.
3. Pārskatiet atbildi un atmaksu vēsturi.

#### Sagaidāmais rezultāts

* Konfliktējošais pieprasījums tiek noraidīts.
* Sākotnējā atmaksa paliek izsekojama.
* Dublikāta atmaksa netiek izveidota.

### Atmaksa inicializētam maksājumam

Šajā scenārijā tiek mēģināts atmaksāt maksājumu, kura noformēšana vēl nav pabeigta.

#### Sagaidāmais rezultāts

* Atmaksas pieprasījums tiek noraidīts.
* Atmaksa netiek izveidota.
* Maksājums paliek nemainīgs.

### Atmaksa autorizētam maksājumam

Šajā scenārijā tiek mēģināts atmaksāt autorizētu, bet neiekasētu maksājumu.

#### Sagaidāmais rezultāts

* Atmaksas pieprasījums tiek noraidīts.
* Atmaksa netiek izveidota.
* Maksājums paliek `Autorizēts`.

#### Tirgotāja darbība

Iekasējiet autorizētos maksājumus pirms atmaksu izveides. Izmantojiet autorizācijas atgriešanu, ja līdzekļi joprojām ir rezervēti.

```
Autorizēts
    ↓
Iekasēt maksājumu
    ↓
Iekasēts
    ↓
Izveidot atmaksu
```

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

### Atmaksas atgriešana

Atmaksas atgriešana tiek atbalstīta tikai Account-to-Account (A2A) maksājumiem.

Tā netiek atbalstīta karšu maksājumiem vai digitālā maka maksājuma metodēm. Tas ietver Google Pay, Apple Pay un Click to Pay.

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

#### Validācija

1. Izveidojiet atmaksu.
2. Saglabājiet atmaksas ID.
3. Mēģiniet atgriezt atmaksu.
4. Pārskatiet API atbildi un maksājuma statusu.

#### Sagaidāmais rezultāts

* Atgriešana ir veiksmīga piemērotiem A2A maksājumiem.
* Atmaksu vēsture paliek izsekojama.
* Audita žurnālos tiek reģistrēta atgriešanas darbība.
* Ja atgriešana ir veiksmīga, atmaksas statuss kļūst par Reverted.

### Atmaksas atgriešanas ierobežojumi

Atmaksas atgriešana tiek noraidīta karšu maksājumiem, Google Pay, Apple Pay un Click to Pay.

#### Sagaidāmais rezultāts

* Atgriešanas pieprasījums tiek noraidīts.
* Sākotnējā atmaksa paliek nemainīga.
* Papildu transakcija netiek izveidota.
* Tirgotājs saņem skaidru validācijas kļūdu.

### Tirgotāja validācijas kontrolsaraksts

Pārliecinieties, ka:

* Atmaksās tiek izmantoti tikai piemēroti maksājuma statusi.
* Pay by Bank atmaksas nosacījumi tiek validēti.
* Tiek saglabāti atmaksas ID un maksājuma ID.
* Atmaksas summas nepārsniedz atmaksājamo atlikumu.
* Atmaksas ir saistītas ar sākotnējiem maksājumiem.
* Atmaksas atpakaļizsaukumi tiek apstrādāti idempotenti.
* Atmaksu vēsture paliek izsekojama.
* Noraidītas atmaksas un atgriešanas tiek apstrādātas pareizi.
* Saskaņošana un pārskati ietver atmaksas darbības.

### Saistītās API

#### Iegūt maksājumu

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

Iegūstiet maksājuma informāciju un pārbaudiet atmaksas piemērotību.

#### Uzsākt atmaksu

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

Izveidojiet pilnu vai daļēju atmaksu.

#### Atgriezt atmaksu

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

#### Iekasēt maksājumu

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

Iekasēt autorizētu maksājumu.

#### Atcelt maksājumu

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

Atcelt autorizētu maksājumu.


---

# 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/celvezi/smilskaste/testa-scenariji/maksajumu-operacijas.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.
