# Verifikáció inicializálása (Init)

### Működés

Használja az inicializálás (`Init`) funkciót egy új bankkártya-verifikáció kezdeményezésére. Az inicializálás során a kereskedő oldala átadja a tranzakció és a vásárló adatait rendszerünknek. Ennek hatására rendszerünk létrehoz egy új tranzakciós rekordot a kereskedőtől kapott adatok felhasználásával. Sikeres inicializálás esetén az új rekord mellett rendszerünk létrehoz egy új tranzakció azonosítót is (`TransactionId`), majd visszaadja ezt az azonosítót a kereskedő oldalának.

Verifikáció inicializálása során figyeljen a következőkre:

* **Ne adjon meg összeget** az `Init` kérés indítása során.
* Adja meg a kereskedő rendszerében tárolt, **egyedi** `UserId` paramétert **(megadása fizetőeszköz-verifikációnál kötelező)**. Az egyes vásárlók az inicializálás során átadott `UserId` paraméter segítségével azonosíthatók be (egy vásárló akár több fizetőeszközt is regisztrálhat).
* Használjon erős ügyfél-hitelesítést (*PSD2-SCA*) a vásárló adatainak átadásához. Erről a következő oldalon olvashat részletesebben: [Erős ügyfél-hitelesítés (PSD2/SCA)](/fizetoeszkoz-verifikacio/bankkartya-es-mobiltarca/eros-uegyfel-hitelesites-psd2-sca.md)
* Tárolja le az `Init` kérésre visszaadott tranzakció azonosítót, mivel később ennek segítségével hivatkozhat az adott tranzakcióra.

[<mark style="color:blue;background-color:blue;">**Próbálja ki ezt a funkciót!**</mark>](https://demo.nevogate.com/views/?action=start)

{% hint style="info" %}
Az inicializációban a fizetési szolgáltatók nem vesznek részt, ez a folyamat kizárólag a kereskedő oldala és a *Nevogate* rendszere között zajlik.
{% endhint %}

{% hint style="warning" %}
Mobilalkalmazás fejlesztésnél biztosítsa, hogy az inicializációra a szerver oldalon kerüljön sor. Biztonsági okokból az **inicializáció nem történhet meg a mobilalkalmazásban**.
{% endhint %}

A fizetőeszköz-verifikáció esetén a Nevogate a kereskedőnél megvalósult fizetőeszköz-regisztráció céljából indított fizetési tranzakció adatai alapján egyedi tranzakciós lenyomatot, ún. **referencia tranzakciót hoz létre**. Ezt egyértelműen hozzárendeli a kereskedő által a tranzakció során átadott `UserId` paraméterhez, amely a vásárló egyedi azonosítására szolgál a kereskedő rendszerén belül.

{% hint style="danger" %}
A kereskedőnek a funkció igénybevétele során biztosítania kell, hogy **saját rendszerén belül minden vásárlójához egyedi** `UserId`**-t rendeljen**. Kiemelt fontosságú, hogy egy már kiosztott azonosító semmilyen körülmények között ne kerülhessen újra hozzárendelésre egy másik vásárlóhoz. Amennyiben ez nem teljesül, kritikus adatintegritási és biztonsági sebezhetőség jön létre: ha két vagy több vásárlóhoz ugyanaz az `UserId` tartozik, az egyikük által regisztrált fizetőeszközzel egy másik vásárló tranzakciói is teljesülhetnek.

A fenti utasítások be nem tartásából eredő hibáért és az ebből fakadó esetleges károkért a Nevogate-et felelősség nem terheli, azért **kizárólag a kereskedő felelős**.
{% endhint %}

{% hint style="warning" %}
Raiffeisen vPos szolgáltató esetén a fizetőeszköz regisztráció kizárólag abban az esetben lesz sikeres, amennyiben a fizető felületen megjelenő "Kártyaadatok biztonságos mentése" jelölőnégyzetet a vásárló bejelöli. Ennek elmúlasztása a tranzakció eredményét nem befolyásolja, de a regisztrált fizetőeszköz érvénytelen lesz. &#x20;
{% endhint %}

### **API kérés paraméterek**

#### Az API kérés általános információi

<table data-full-width="true"><thead><tr><th>Művelet</th><th>HTTP kérés</th><th>Adatok</th></tr></thead><tbody><tr><td><code>Init</code></td><td><code>POST</code></td><td>method=<code>Init</code><br><br>json={JSON encode-olt paraméterek}</td></tr></tbody></table>

{% hint style="info" %}
Az API kérésekhez kapcsolódó paramétereket két táblázatba soroljuk fel a könnyebb átláthatóság kedvéért. Természetesen az egyes paraméterek megjelenhetnek ugyanabban az API kérésben.

Az API paraméterek felosztása a következő:

* kötelező paraméterek
* opcionális paraméterek
  {% endhint %}

#### **Kötelező paraméterek**

<table data-full-width="true"><thead><tr><th width="280">Paraméter</th><th width="145">Típus</th><th>Érték</th><th>Leírás</th></tr></thead><tbody><tr><td><code>StoreName</code></td><td>string</td><td>A <em>Nevogate</em> szerződésben kerül meghatározásra.</td><td>Rendszerünkben tárolt egyedi bolt azonosító.</td></tr><tr><td><code>ProviderName</code></td><td>string</td><td><ul><li>GP (<em>Global Payments</em>)</li><li>RaiffeisenUPC</li></ul></td><td>A tranzakcióhoz kiválasztott fizetési szolgáltató.</td></tr><tr><td><code>ResponseUrl</code></td><td>string<br><br>(255 karakter)</td><td>szabadon választható</td><td>Visszatérési URL: verifikációt követően, rendszerünk erre a címre irányítja vissza a vásárlót.</td></tr><tr><td><code>NotificationUrl</code></td><td>string<br><br>(255 karakter)</td><td>szabadon választható</td><td>Rendszerünk ezen a címen értesíti a kereskedőt a tranzakció státuszának változásáról (<a href="/pages/8ZmW0IydOUGSo8avGvXw">URL értesítés</a>).</td></tr><tr><td><code>UserId</code></td><td>string<br><br>(255 karakter)</td><td>egyedi értékek<br><br>(kivéve e-mail címek, illetve személyes adatok)</td><td>A vásárló azonosítója a kereskedő áruházában.</td></tr><tr><td><code>PaymentRegistration</code></td><td>boolean</td><td><ul><li>true</li></ul></td><td>Jelzi a fizetőeszköz-regisztráció indítását.</td></tr><tr><td><code>PaymentRegistrationType</code></td><td><p>string<br></p><p>(3 karakter)</p></td><td><ul><li>CIT</li><li>MIT</li></ul></td><td><p>Meghatározza a (PSD2 szabványos) fizetőeszköz-regisztráció típusát.</p><ul><li>CIT: a rákövetkező tranzakciók a vásárló által indított egykattintásos (One-click) fizetést eredményeznek</li><li>MIT: a rákövetkező tranzakciók a kereskedő által indított fizetéseket eredményeznek</li></ul><p>Raiffeisen vPos fizetési szolgáltató esetén kizárólag MIT típusú tranzakció hozható létre.</p></td></tr><tr><td><code>Info</code></td><td>string</td><td>egyedi értékek</td><td>A vásárlás és a vásárló adatai az erős ügyfél-hitelesítéshez (<a href="/pages/iTkcnVcJ4wAvXtSxOgGw">PSD2/SCA</a>).<br><br>Verifikáció esetén a felhasználás alapú MIT fizetéstípushoz (<em>OnDemand</em>) hasonlóan kell a <code>RecurringPayment</code> objektumot átadni. További részletek: <a href="/pages/uVhBOuCGOLy2qgZ57XJb">MIT fizetéstípus adatai</a></td></tr></tbody></table>

#### **Opcionális paraméterek**

<table data-full-width="true"><thead><tr><th width="282">Paraméter</th><th width="142">Típus</th><th>Érték</th><th>Leírás</th></tr></thead><tbody><tr><td><code>Amount</code></td><td>number</td><td>0</td><td>Verifikációhoz ne adja át az <code>Amount</code> paramétert, vagy átadás esetén az értéke legyen nulla.</td></tr><tr><td><code>Currency</code></td><td>string<br><br>(3 karakter)</td><td><ul><li>HUF (alapért.)</li><li>EUR</li><li>USD</li><li>...</li></ul></td><td><p>A fizetés devizaneme.<br><br>Meghatározza a verifikációra hivatkozó rákövetkező tranzakciók pénznemét.<br></p><p>(Értékei fizetési szolgáltatónként és szerződésenként eltérőek lehetnek.)</p></td></tr><tr><td><code>OrderId</code></td><td>string<br><br>(255 karakter)</td><td>egyedi értékek<br><br>(kivéve e-mail címek, illetve személyes adatok)</td><td><p>A megrendelés azonosítója a kereskedő áruházában.</p><p>(Lehetővé teszi a tranzakció visszakeresését, használata erősen javasolt.)</p></td></tr><tr><td><code>Language</code></td><td>string<br><br>(2 karakter)</td><td><ul><li>HU (alapért.)</li><li>EN</li><li>DE</li><li>...</li></ul><p>(ISO 639-1 alapján)</p></td><td>A verifikációs (fizetési) felület nyelve.</td></tr><tr><td><code>AutoCommit</code></td><td>string</td><td><ul><li>“true” (alapért.)</li><li>"false"</li></ul></td><td><p>Jelzi, hogy a bank azonnal vagy később hajtja végre a tranzakciót.<br></p><p>Azonnali terhelés esetén a paraméter átadása elhagyható, ilyenkor a tranzakciót azonnal végrehajtja a bank.</p></td></tr><tr><td><code>Extra</code></td><td>string</td><td>egyedi értékek</td><td>Kiegészítő vagy szolgáltató specifikus adatok (<a href="/pages/XaOHnljbNm5MGxPqLjdh">extra paraméter használata</a>).</td></tr><tr><td><code>PaymentMethods</code></td><td>array</td><td><p></p><ul><li>apple_pay</li><li>google_pay</li><li>bank_card</li><li>...</li></ul></td><td><p>Megadható egyes szolgáltatók esetében, hogy mely fizetési módok legyenek engedélyezve.</p><p></p><p>Amennyiben ez a paraméter üresen marad, abban az esetben a fizetési szolgáltató oldalán az összes elérhető fizetési mód megjelenítésre kerül.</p><p></p><p>A fizetési módok kényszerített megjelenítését nem minden fizetési szolgáltató támogatja.</p><p><a href="https://docs.nevogate.com/segedlet/fizetesi-szolgaltato-specifikus-adatok">Az elérhető fizetési módokkal kapcsolatos információk a Fizetési szolgáltató specifikus adatoknál találhatók.</a></p></td></tr><tr><td><code>ModuleName</code></td><td>string<br><br>(32 karakter)</td><td>egyedi értékek</td><td>A kereskedő oldalán használt szervizcsomag, programnyelv, keretrendszer, modul, stb. megnevezése.</td></tr><tr><td><code>ModuleVersion</code></td><td>string<br><br>(8 karakter)</td><td>verziószám</td><td>A kereskedő oldalán használt szervizcsomag, programnyelv, keretrendszer, modul, stb. verziószáma.</td></tr></tbody></table>

#### **Mintakód**

Verifikáció inicializálása `Init` kérés használatával:

{% code overflow="wrap" %}

```php
curl --url 'https://system-test.paymentgateway.hu/api/payment/' \
  --user 'sdk_test:86af3-80e4f-f8228-9498f-910ad' \
  --user-agent 'Init | merchant-store.com | PHP | 7.3.0' \
  --request 'POST' \
  --data 'method=Init' \
  --data 'json=
    {
        "StoreName":"sdk_test",
        "ProviderName":"GP",
        "ResponseUrl":"https://demo.nevogate.com/response.php",
        "Currency":"HUF",
        "OrderId":"TEST-ORDER-ID-CARD-VERIFICATION",
        "UserId":"TEST-USER-ID-CARD-VERIFICATION",
        "PaymentRegistration":true,
        "PaymentRegistrationType":"CIT",
        "PaymentMethods":["bank_card", "google_pay"]
    }'
```

{% endcode %}

### **API válasz paraméterek**

Az `Init` kérés eredményét JSON formában válaszoljuk meg. A válasz a következő paramétereket tartalmazza:

<table data-full-width="true"><thead><tr><th width="263">Paraméter</th><th width="114">Típus</th><th>Érték</th><th>Leírás</th></tr></thead><tbody><tr><td><code>TransactionId</code></td><td>string</td><td><p>Sikeres inicializálás:</p><ul><li>32 karakter hosszú md5 hash</li></ul><p>Sikertelen inicializálás:</p><ul><li>null</li></ul></td><td>A tranzakció azonosítója a <em>Nevogate</em> rendszerében.</td></tr><tr><td><code>ResultCode</code></td><td>string</td><td><p>Sikeres inicializálás:</p><ul><li>SUCCESSFUL</li></ul><p>Sikertelen inicializálás:</p><ul><li>InactiveStore</li><li>InactiveProvider</li><li>MissingParameter</li><li>MissingRemoteAddress</li><li>UnauthorizedAccess</li><li>UnauthorizedRemoteAddress</li><li>UnknownParameter</li><li>UnknownProvider</li><li>UnknownProviderForStore</li><li>UnknownStore</li><li>WrongApikey</li><li>WrongParameter</li><li>WrongProviderSettings</li></ul></td><td><p>Jelzi a verifikáció inicializálás eredményét.<br><br>Sikertelen inicializálás esetén jelzi a hiba okát.</p><p><br>A felsoroltakon kívül további, szolgáltató specifikus eredménykódokat is tartalmazhat.</p></td></tr><tr><td><code>ResultMessage</code></td><td>string</td><td>leírás</td><td>Az egyes <code>ResultCode</code> értékek szöveges magyarázata.</td></tr><tr><td><code>ResponseId</code></td><td>integer</td><td>egyedi értékek</td><td>A válaszüzenet egyedi azonosítója a <em>Nevogate</em> rendszerében.</td></tr></tbody></table>

#### **Mintakód**

Sikeres verifikáció inicializálásra adott válasz:

{% code overflow="wrap" %}

```php
{
    "TransactionId": "992c8e75435e6d4dfdf6415f0714cae8",
    "ResultCode": "SUCCESSFUL",
    "ResultMessage": null,
    "ResponseId": "3202109280600047723"
}
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nevogate.com/fizetoeszkoz-verifikacio/bankkartya-es-mobiltarca/verifikacio-inicializalasa-init.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
