> For the complete documentation index, see [llms.txt](https://docs.nevogate.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nevogate.com/fizetoeszkoz-verifikacio/bankkartya-es-mobiltarca/verifikacios-folyamat-fizetoeszkoez-regisztraciohoz.md).

# Verifikációs folyamat (fizetőeszköz-regisztrációhoz)

A verifikációs folyamat leírását három részre bontottuk a könnyebb átláthatóság miatt. Az elválasztás alapját a kereskedő boltjából indított három fő lépés adja, ezek a lépések a következők:

A. **`Init`** - verifikációs tranzakció inicializálása és a vásárló adatainak átadása rendszerünknek\
B. **`Start`** - verifikációs tranzakció indítása és a vásárló átirányítása a fizetési szolgáltatóhoz\
C. **`Result`** - verifikációs tranzakció eredményének lekérése rendszerünkből

{% hint style="info" %}
A hármas felosztás ellenére a felsorolt pontok együttesen adják ki a teljes verifikációs folyamatot. A felsorolt pontok egy sikeres verifikációs folyamatot írnak le.
{% endhint %}

#### **A. `Init` -** verifikációs **tranzakció inicializálása és a vásárló adatainak átadása rendszerünknek**

1. A kereskedő oldala rögzíti a vásárló verifikációs szándékát,
2. ezután a kereskedő oldala új verifikációs tranzakciót kezdeményez rendszerünkben.
3. Rendszerünk hitelesíti a beérkezett kérést (autentikáció),
4. ezután rendszerünk egy egyedi tranzakció azonosítót (`TransactionId`) küld vissza a kereskedőnek (sikeres hitelesítés esetén). Ez a tranzakció azonosító lesz a referencia tranzakció azonosító, amit később a rákövetkező fizetéseknél meg kell adni.
5. A kereskedő oldala tárolja az egyedi tranzakció azonosítót.

Hitelesítés (autentikáció) során rendszerünk a következőket ellenőrzi:

* a kereskedő boltja szerepel rendszerünkben a megadott boltnév (`StoreName`) és API kulcs (`ApiKey`) párossal
* az API kérés a kereskedő által előre megadott IP címről érkezik (az engedélyezett IP címeket a *PayAdmin* felületén adhatja meg a megfelelő jogosultsággal rendelkező felhasználó)
* a kereskedő boltjához hozzá van rendelve a tranzakcióban szereplő szolgáltatás, devizanem és végrehajtási mód (a szolgáltatás ebben az esetben a fizetési szolgáltatót takarja, a végrehajtási mód pedig az azonnali vagy későbbi terhelést jelöli)
* a kereskedő boltjánál engedélyezve van a CIT/MIT funkció

{% hint style="info" %}
A `TransactionId` olyan egyedi azonosító melyet a *Nevogate* rendszere hoz létre. Segítségével egy tranzakció egyértelműen beazonosítható rendszerünkben és a *PayAdmin* felületén. Fontos, hogy a `TransactionId` nem azonos a `ProviderTransactionId` azonosítóval. Utóbbi az egyes fizetési szolgáltatók saját rendszereiben azonosítja be az adott tranzakciót.
{% endhint %}

#### **B. `Start` -** verifikációs **tranzakció indítása és a vásárló átirányítása a fizetési szolgáltatóhoz**

1. A kereskedő oldala átirányítja a vásárlót rendszerünkbe (HTTP Redirect) a tárolt tranzakció azonosítóval.
2. Rendszerünk ellenőrzi a tranzakció azonosítót és átirányítja a vásárlót a fizetési szolgáltatóhoz (sikeres ellenőrzés esetén).
3. A vásárló megadja bankkártya adatait (vagy kiválasztja a megfelelő mobiltárcát) a fizetési szolgáltató oldalán. (Ezen a ponton a vásárló átirányításra kerülhet a kártyakibocsátó bankhoz, ahol személyazonosságát 3DS hitelesítési folyamattal igazolhatja.)
4. A fizetési szolgáltató eltárolja a fizetőeszköz adatait és visszairányítja a vásárlót rendszerünkbe, a verifikáció befejezése után.
5. Rendszerünk lekérdezi a verifikációs tranzakció eredményét a fizetési szolgáltatótól, majd beállítja a tranzakció végleges státuszát a fizetési szolgáltató válasza alapján,
6. ezután rendszerünk a tranzakció azonosítóval visszairányítja a vásárlót a kereskedő oldalára (az inicializáció (`Init`) során megadott visszatérési URL címre (`ResponseUrl`)).
7. Ezzel párhuzamosan rendszerünk a tranzakció végstátuszának beállítását követően aszinkron módon meghívja az inicializáció (`Init`) során átadott `NotificationUrl` címet is.

{% hint style="info" %}
A **B.3.** lépésben leírt 3DS hitelesítési folyamat (3D Secure vagy 3D Secure Code) a pénzügyi visszaélések megakadályozását célzó megoldás. Fizetés során a 3DS a kötelező kártyaadatok bekérésén túl egy egyszer használatos kóddal biztosítja a kártyabirtokos védelmét visszaélésekkel szemben. Használata egyszerű, a vásárlónak mindössze egy mobiltelefonra van szüksége.
{% endhint %}

#### **C. `Result` -** verifikációs **tranzakció eredményének lekérése rendszerünkből**

1. A kereskedő oldala a `ResponseUrl` hívás hatására egy tranzakció azonosítót tartalmazó `Result` kéréssel lekérdezi a verifikáció eredményét rendszerünkből.
2. Rendszerünk ellenőrzi a tranzakció azonosítót,
3. ezután rendszerünk megválaszolja a verifikációs tranzakció státuszát a kereskedő oldalának (sikeres ellenőrzés esetén).
4. A kereskedő oldala tárolja a tranzakció státuszát és értesíti a vásárlót a verifikációs eredményéről.

{% hint style="warning" %}
Figyeljen arra, hogy minden `NotificationUrl` hívást követően is indítson egy `Result` kérést rendszerünk felé.
{% endhint %}
