> 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/integracija/talpinamas-atsiskaitymas.md).

# Talpinamas atsiskaitymas

Priimkite internetinius mokėjimus per saugų atsiskaitymo puslapį, talpinamą el. prekybos mokėjimų vartų.

Hosted Checkout suteikia paruoštą naudoti mokėjimo sąsają, kurioje klientai gali pasirinkti galimą mokėjimo metodą, įvesti arba patvirtinti savo mokėjimo duomenis ir atlikti visą reikalingą autentifikavimą.

Jūsų serveris sukuria mokėjimą per Merchant API ir gauna mokėjimo ID bei atsiskaitymo URL. Jūs nukreipiate klientą į tą URL ir patvirtinate mokėjimo rezultatą per callback pranešimus bei Merchant API.

{% hint style="warning" %}
**Nelaikykite kliento grįžimo į jūsų svetainę ar programėlę mokėjimo patvirtinimu.** Naudokite callback pranešimą kaip signalą, gaukite esamą mokėjimo informaciją iš Gateway ir įvykdykite užsakymą tik patvirtinę reikiamą apmokėtą būseną.
{% endhint %}

### Kodėl verta naudoti Hosted Checkout?

Hosted Checkout yra geras pasirinkimas, kai norite priimti kelis mokėjimo metodus nesukurdami ir neprižiūrėdami savo mokėjimo sąsajos.

| Gateway apdoroja                                  | Jūs įgyvendinate                             |
| ------------------------------------------------- | -------------------------------------------- |
| Klientui matomą mokėjimo puslapį                  | Jūsų užsakymo ir atsiskaitymo srautą         |
| Mokėjimo metodo pasirinkimą                       | create-payment API užklausą                  |
| Mokėjimo duomenų surinkimą                        | Mokėjimo ID saugojimą                        |
| Kliento autentifikavimą                           | Kliento nukreipimą                           |
| Perdavimą bankams ir piniginės paslaugų teikėjams | Callback pranešimų apdorojimą                |
| Prisitaikančią atsiskaitymo patirtį               | Būsenos patvirtinimą ir užsakymo atnaujinimą |

Hosted Checkout gali sumažinti jūsų integravimo pastangas ir jūsų sistemų sąlytį su jautriais kortelės turėtojo duomenimis. Kadangi mokėjimo puslapis veikia Gateway aplinkoje, mokėjimo duomenų nereikia perduoti per jūsų programėlę. Už jums taikomas PCI DSS prievoles išliekate atsakingi jūs.

#### Apsvarstykite Hosted Checkout, kai norite

* Paruošto naudoti mokėjimo puslapio.
* Kelių mokėjimo metodų per vieną integraciją.
* Gateway valdomų autentifikavimo srautų.
* Prisitaikančios patirties staliniame ir mobiliuosiuose įrenginiuose.
* Konfigūracija pagrįsto prekės ženklo pritaikymo, o ne visiškai individualios mokėjimo vartotojo sąsajos.

#### Apsvarstykite kitą integraciją, kai jums reikia

* Visiškos mokėjimo puslapio išdėstymo ir elgsenos kontrolės.
* Rinkti mokėjimo informaciją savo sąsajoje.
* Individualizuotos atsiskaitymo logikos, kurios nėra Hosted Checkout konfigūracijoje.

Žr. **Pasirinkite savo integraciją** kad palygintumėte Hosted Checkout su Merchant API, Web Plugins ir Mobile SDK.

### Kaip

```mermaid
sequenceDiagram
    participant C as Klientas
    participant M as Prekybininkas
    dalyvis G kaip Ecommerce Payment Gateway
    dalyvis P kaip bankas / mokėjimo paslaugų teikėjas

    C->>M: Pradeda atsiskaitymą
    M->>G: Sukuria mokėjimą
    G-->>M: Mokėjimo ID + atsiskaitymo URL
    M->>M: Saugo mokėjimo ID

    M-->>C: Nukreipia į Hosted Checkout
    C->>G: Pasirenka mokėjimo metodą
    G->>P: Apdoroja mokėjimą / autentifikavimą
    P-->>G: Mokėjimo rezultatas

    G-->>C: Nukreipia atgal į prekybininką

    G-->>M: Callback pranešimas

    M->>G: Gaukite mokėjimo informaciją
    G-->>M: Dabartinė mokėjimo būsena

    M->>M: Atnaujina užsakymą
```

Srautas susideda iš penkių pagrindinių žingsnių:

1. Jūsų serveris sukuria kliento inicijuotą mokėjimą.
2. Gateway grąžina mokėjimo ID ir atsiskaitymo URL.
3. Jūs išsaugote mokėjimo ID ir nukreipiate klientą.
4. Klientas užbaigia mokėjimą Hosted Checkout aplinkoje.
5. Jūsų backend patvirtina rezultatą per callback ir Merchant API.

Hosted Checkout gali rodyti korteles, skaitmenines pinigines, Pay by Bank ir kitus metodus, įgalintus parduotuvei ir taikomus šiam sandoriui. Tikslus kliento kelias priklauso nuo pasirinkto mokėjimo metodo, tačiau prekybininko integracija išlieka ta pati.

### Prieš pradėdami

Įsitikinkite, kad turite:

* Sandbox parduotuvę.
* Parduotuvės OAuth prisijungimo duomenis.
* Įgalintus reikiamus mokėjimo metodus.
* HTTPS URL, į kurį klientas gali grįžti.
* HTTPS Callback URL mokėjimo pranešimams.
* Prekybininko užsakymą, kurį galima susieti su Gateway mokėjimo ID.

Prieš pradėdami kūrimą sukonfigūruokite Sandbox prisijungimo duomenis, grįžimo URL, Callback URL ir mokėjimo metodus. Sandbox ir Production konfigūracijos valdomos atskirai.

Žr.:

* **greitą pradžią**
* **Integravimo kontrolinį sąrašą**
* **Merchant Portal — Parduotuvės nustatymai**
* **Autentifikavimas**
* **Testavimo/Sandbox vadovą**

### Integruokite Hosted Checkout

#### 1. Sukurkite mokėjimą

Savo backend aplinkoje naudokite Merchant API kliento inicijuotam mokėjimui sukurti.

Pateikite informaciją, reikalingą mokėjimui identifikuoti ir apdoroti, įskaitant:

* Jūsų parduotuvę.
* Jūsų prekybininko užsakymo numerį.
* Mokėjimo sumą ir valiutą.
* URL, į kurį klientas turi grįžti.

Jei taikoma, taip pat galite pateikti papildomą užsakymo, kliento, adreso, krepšelio, lokalės ir token setup informaciją.

Dabartinė Merchant API aprašo Hosted Checkout kaip vieną iš būdų tęsti kliento inicijuotą mokėjimą po jo sukūrimo. API naudoja OAuth 2.0 Client Credentials ir reikalauja unikalaus užklausos identifikatoriaus.

Žr. **Merchant API — sukurti kliento inicijuotą mokėjimą** visai užklausos schemai, validavimo taisyklėms ir pavyzdžiams.

{% hint style="info" %}
Mokėjimo sumą apskaičiuokite savo serveryje. Nepasitikėkite suma, kurią pateikia tik naršyklės arba mobiliojo kliento kodas.
{% endhint %}

#### 2. Išsaugokite mokėjimo ID

create-payment atsakymas identifikuoja mokėjimą ir pateikia URL, naudojamą Hosted Checkout atidaryti.

Prieš nukreipdami klientą, susiekite mokėjimo ID su savo prekybininko užsakymu.

Jo jums prireiks, kad:

* Gautumėte dabartinę mokėjimo būseną.
* Apdorotumėte callback pranešimus.
* Rastumėte mokėjimą Merchant Portal.
* Suderintumėte mokėjimą su užsakymu.
* Kartu su Support ištirtumėte sandorį.

{% hint style="info" %}
**Išsaugokite mokėjimo ID prieš nukreipdami klientą.**
{% endhint %}

Kiekvienam užsakymui naudokite unikalų prekybininko užsakymo numerį arba nuorodą, kad būtų lengviau suderinti ir šalinti problemas.

***

#### 3. Nukreipkite klientą

Nukreipkite kliento naršyklę į Gateway grąžintą atsiskaitymo URL.

Naudokite URL tiksliai taip, kaip grąžinta. Nekurkite, nekeiskite ir pakartotinai nenaudokite Hosted Checkout URL kitam užsakymui.

Hosted Checkout klientas gali:

1. Peržiūrėti mokėjimo informaciją.
2. Pasirinkti galimą mokėjimo metodą.
3. Įvesti arba patvirtinti mokėjimo duomenis.
4. Atlikti autentifikavimą, kai to reikia.
5. Grįžti į jūsų svetainę ar programėlę.

Puslapis talpinamas Gateway ir sukurtas veikti visuose palaikomuose staliniuose, planšetiniuose ir mobiliuosiuose įrenginiuose.

Klientui rodomi mokėjimo metodai gali priklausyti nuo:

* Prekybininko sutarties ir parduotuvės konfigūracijos.
* Valiutos ir rinkos.
* Kliento šalies.
* Įrenginio ir naršyklės palaikymo.
* Išorinio banko, piniginės ar paslaugų teikėjo prieinamumo.

Žr. **Mokėjimo būdai** konkretaus metodo prieinamumui, autentifikavimui, būsenoms ir kliento kelionėms.

### Apdorokite mokėjimo rezultatą

Hosted Checkout naudoja du atskirus grįžimo kelius.

| Grįžimas per naršyklę                         | Callback pranešimas                                 |
| --------------------------------------------- | --------------------------------------------------- |
| Grąžina klientą į jūsų svetainę ar programėlę | Praneša jūsų backend, kad mokėjimo būsena pasikeitė |
| Naudojamas kliento patirčiai                  | Naudojamas užsakymo apdorojimui suaktyvinti         |
| Priklauso nuo kliento naršyklės               | Pateikiamas nepriklausomai nuo kliento              |
| Klientas gali niekada negrįžti                | Nepristatymo klaida kartojama                       |
| Nėra mokėjimo patvirtinimas                   | Turi būti atlikta mokėjimo informacijos peržiūra    |

Klientas gali uždaryti naršyklę, prarasti ryšį arba palikti mokėjimo procesą negrįždamas į jūsų svetainę. Todėl jūsų užsakymas neturi priklausyti vien nuo naršyklės nukreipimo.

#### Kai klientas grįžta

Grįžimo puslapyje parodykite tinkamą pranešimą, pavyzdžiui:

* Mokėjimas sėkmingas.
* Mokėjimas vis dar apdorojamas.
* Mokėjimas atšauktas.
* Mokėjimas nepavyko.

Jūsų grįžimo puslapis gali paprašyti backend pateikti naujausią žinomą užsakymo būseną. Jis neturi savarankiškai įvykdyti užsakymo vien todėl, kad klientas pasiekė puslapį.

Kai galutinė būsena dar nėra prieinama, palikite užsakymą laukimo būsenoje ir informuokite klientą, kad patvirtinimas dar vyksta.

#### Kai gaunate callback

Gavus callback:

1. Patvirtinkite pranešimo gavimą.
2. Gaukite dabartinę mokėjimo informaciją per autentifikuotą API.
3. Patikrinkite, ar mokėjimas priklauso tikėtam užsakymui ir parduotuvei.
4. Atnaujinkite užsakymą pagal patvirtintą mokėjimo būseną.
5. Užtikrinkite, kad įvykdymas būtų atliktas tik vieną kartą.

Callback identifikuoja mokėjimą ir jo naują būseną. Gateway dokumentacijoje prekybininkams nurodoma po pranešimo gavimo gauti atnaujintas mokėjimo detales. Nesėkmingi callback pristatymai kartojami didėjančiais intervalais.

Nenaudokite vien callback turinio kaip vienintelio tiesos šaltinio. Callback apdorojimas, pakartotiniai bandymai, dubliuotas pristatymas, idempotentiškumas ir suderinimas aptariami **Atgaliniai pranešimai**.

### Įvykdykite užsakymą

Įvykdykite užsakymą tik po to, kai gausite ir patvirtinsite tinkamą apmokėtą būseną.

| Patvirtinta būklė                                  | Rekomenduojamas veiksmas                    |
| -------------------------------------------------- | ------------------------------------------- |
| Kortelės mokėjimas yra nuskaitytas                 | Laikykite užsakymą apmokėtu                 |
| Pay by Bank mokėjimas yra užbaigtas                | Laikykite užsakymą apmokėtu                 |
| Mokėjimas vis dar apdorojamas                      | Palikite užsakymą laukimo būsenoje          |
| Mokėjimas autorizuotas, bet nenuskaitytas          | Nelaikykite jo visiškai apmokėtu            |
| Mokėjimas atšauktas, nepavyko arba buvo nutrauktas | Nevykdykite                                 |
| Mokėjimas grąžintas                                | Atnaujinkite užsakymą ir finansinius įrašus |

Apmokėta būsena skiriasi priklausomai nuo mokėjimo metodo. Pavyzdžiui, Pay by Bank mokėjimui naudojama `SETTLED` o ne kortelėms būdinga `AUTHORIZED` ir `CAPTURED` modelį.

Žr.:

* **Mokėjimo būsenos**
* **Kortelės**
* **Pay by Bank**
* **Atgaliniai pranešimai**

### Kliento patirtis ir pritaikymas

Hosted Checkout galima sukonfigūruoti taip, kad jis atspindėtų jūsų vizualinį identitetą pagal jūsų parduotuvei įgalintas parinktis.

Priklausomai nuo jūsų konfigūracijos ir prieigos teisių, pritaikymas gali apimti:

* Prekybininko logotipą.
* Pagrindines ir antrines spalvas.
* Palaikomus šriftus.
* Mygtukų ir kampų stilius.
* Numatytąją kalbą.
* Mokėjimo metodų matomumą, rikiavimą ir grupavimą.
* Darbalaukio ir mobilųjį peržiūros vaizdą.

Pritaikymas ribojamas Gateway pateiktomis parinktimis. Jis neleidžia keisti saugumo valdiklių, autentifikavimo srautų, mokėjimo apdorojimo logikos ar teikėjo valdomų sąsajų.

Hosted Checkout pradinėje sprendimo apimtyje palaiko anglų, latvių, estų ir lietuvių kalbas. Anglų kalba naudojama kaip atsarginė kalba. Puslapis gali pasirinkti palaikomą kalbą pagal sukonfigūruotą nuostatą arba kliento naršyklės ar įrenginio lokalę.

Išoriniai ekranai gali atrodyti kitaip nei Hosted Checkout. Pavyzdžiui, klientas gali būti nukreiptas į:

* Savo kortelės išdavėją dėl 3-D Secure patvirtinimo užduoties.
* Savo banką Pay by Bank autentifikavimui.
* Piniginės paslaugų teikėją, pavyzdžiui, PayPal, Apple Pay arba Google Pay.

Žr. **Merchant Portal — Atsiskaitymo puslapio kūrimo įrankis** dėl galimų konfigūracijos parinkčių.

### Ištestuokite savo integraciją

Visą kūrimą ir validavimą užbaikite Sandbox aplinkoje prieš prašydami Production aktyvavimo.

Hosted Checkout atveju išbandykite bent:

* Sėkmingą mokėjimą.
* Atmestą arba nepavykusį mokėjimą.
* Kliento atšaukimą.
* Kliento pasitraukimą.
* Klientą, kuris sumoka, bet negrįžta į jūsų svetainę.
* Callback pristatymą ir mokėjimo būsenos gavimą.
* Kiekvieną jūsų parduotuvėje įgalintą mokėjimo metodą.
* Klientų patirtį staliniuose ir mobiliuosiuose įrenginiuose.

Bendras integravimo kontrolinis sąrašas taip pat reikalauja, kai taikoma, ištestuoti nukreipimus, callback pranešimus, užsakymo patvirtinimą, grąžinimus, nuskaitymus, atšaukimus ir dubliavimų tvarkymą.

Sandbox suteikia ribotą Hosted Checkout patirtį ir nebūtinai apima visas Production funkcijas ar mokėjimo metodus.

Žr. **Testavimo/Sandbox vadovą** dėl:

* Testinių mokėjimo duomenų.
* Sandbox palaikomų mokėjimo metodų.
* Autentifikavimo scenarijų.
* Tikėtinų būsenų.
* Klaidų ir atšaukimo atvejų.
* Callback atsparumo testavimo.

### Paleiskite į gamybą

Prieš apdorodami tikrus mokėjimus:

* Užbaikite **Paleidimo į gamybą kontrolinis sąrašas**.
* Aktyvuokite ir sukonfigūruokite Production parduotuvę.
* Sugeneruokite Production prisijungimo duomenis.
* Sukonfigūruokite Production grįžimo ir Callback URL.
* Patvirtinkite įgalintus mokėjimo metodus ir valiutas.
* Peržiūrėkite Hosted Checkout prekės ženklo elementus ir kalbas.
* Atlikite kontroliuojamą mažos vertės Production mokėjimą.
* Patikrinkite callback apdorojimą, užsakymų atnaujinimus ir suderinimą.

Nenaudokite Sandbox prisijungimo duomenų ar galinių taškų Production aplinkoje.

### Kiti žingsniai

Tęskite dokumentaciją, susijusią su jūsų įgyvendinimu:

* **Prekybininko API** — kurti mokėjimus ir gauti mokėjimo informaciją.
* **Atgaliniai pranešimai** — patikimai apdoroti mokėjimo būsenos pasikeitimus.
* **Testavimo/Sandbox vadovą** — testiniai duomenys ir end-to-end scenarijai.
* **Mokėjimo būdai** — kortelės, piniginės ir Pay by Bank.
* **Mokėjimo būsenos** — suprasti mokėjimo gyvavimo ciklą ir prekybininko veiksmus.
* **Merchant Portal — Parduotuvės nustatymai** — prisijungimo duomenys ir techniniai URL.
* **Merchant Portal — Atsiskaitymo puslapio kūrimo įrankis** — prekės ženklo ir atsiskaitymo konfigūracija.
* **Sauga ir atitiktis** — PCI DSS ir prekybininko saugumo atsakomybės.
* **Paleidimo į gamybą kontrolinis sąrašas** — paruošti savo integraciją Production aplinkai.


---

# 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/integracija/talpinamas-atsiskaitymas.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.
