# Erős ügyfél-hitelesítés (PSD2/SCA)

Minden elindított tranzakció esetén át kell adni a vásárló és a tranzakció adatait rendszerünknek. Rendszerünk továbbítja ezeket az adatokat a fizetési szolgáltató felé. A vásárló adatainak átadása törvényi kötelezettség a kereskedő számára.

### Működés

Használja az `Info` paramétert az ügyfél adatainak átadásához.

{% hint style="info" %}
A PSD2 *(Payment Services Directive 2)* az Európai Unió egyik irányelve, mely a pénzügyi szolgáltatások piacát szabályozza.

A PSD2-SCA *(Strong Customer Authentication)*, ügyfél-hitelesítési folyamat, mely a visszaélések megelőzését és a kártyacsalások felderítését segíti elő. A tranzakció létrehozása során az erős ügyfél-hitelesítéshez átadott adatokat a tranzakció végstátuszának rendszerünkben történő beállításától számított 48 óra elteltével töröljük rendszerünkből.
{% endhint %}

#### **Adatok lekérdezése**

Használja a `GetInfoData` paramétert az erős ügyfél-hitelesítés során átadott adatok lekérdezéséhez a következő API hívásokban:

* `Details`
* `PaymentLinkDetails`

#### **Adatok átadása az `Info` objektumban**

Készítse elő a vásárló és a tranzakció adatait, majd használja az `Info` több szintű objektumot az adatok átadásához a következő API hívások során:

* `Init`
* `InitRP`
* `PaymentLinkCreate`
* `Payout`

#### **Előkészületek**

Figyeljen a következőkre, hogy az `Info` mező megfelelő értéket vegyen fel:

1. tárolja az adatokat JSON kódolt objektumban
2. kódolja az így kapott string tartalmát base64 segítségével
3. cserélje le a következő karaktereket a base64 kódolt string-ben

<table data-full-width="true"><thead><tr><th align="center">A base64 kódolt string eredeti karaktere</th><th align="center">Csere karakter az Info paraméter számára</th></tr></thead><tbody><tr><td align="center">+</td><td align="center">-</td></tr><tr><td align="center">/</td><td align="center">_</td></tr><tr><td align="center">=</td><td align="center">.</td></tr></tbody></table>

Adja át az így keletkezett karakterláncot az `Info` paraméterben.

#### **Az `Info` objektum felépítése**

Az `Info` objektum számos különböző adatot tartalmaz, melyek két nagy csoportra bonthatók fel, a következő módon:

#### **Vásárlói adatok**

* általános adatok
* bolt specifikus adatok
* böngésző adatok

#### **Rendelési adatok**

* általános adatok
* számlázási adatok
* szállítási adatok
* termékadatok

Táblázatos formában összefoglalva

<table data-full-width="true"><thead><tr><th>Paraméter</th><th width="134">Típus</th><th width="111">Érték</th><th>Leírás</th></tr></thead><tbody><tr><td><code>Info: Customer: General</code></td><td>JSON object</td><td><a href="eros-uegyfel-hitelesites-psd2-sca/vasarloi-adatok/altalanos-vasarloi-adatok">részletek</a></td><td>A vásárló általános adatai.</td></tr><tr><td><code>Info: Customer: StoreSpecific</code></td><td>JSON object</td><td><a href="eros-uegyfel-hitelesites-psd2-sca/vasarloi-adatok/bolt-specifikus-adatok">részletek</a></td><td>A vásárló bolt specifikus adatai.</td></tr><tr><td><code>Info: Customer: Browser</code></td><td>JSON object</td><td><a href="eros-uegyfel-hitelesites-psd2-sca/vasarloi-adatok/boengeszo-adatok">részletek</a></td><td>A vásárló böngészőjének adatai.</td></tr><tr><td><code>Info: Order: General</code></td><td>JSON object</td><td><a href="eros-uegyfel-hitelesites-psd2-sca/rendelesi-adatok/altalanos-rendelesi-adatok">részletek</a></td><td>A megrendelés általános adatai.</td></tr><tr><td><code>Info: Order: BillingData</code></td><td>JSON object</td><td><a href="eros-uegyfel-hitelesites-psd2-sca/rendelesi-adatok/szamlazasi-adatok">részletek</a></td><td>A számlázás adatai.</td></tr><tr><td><code>Info: Order: ShippingData</code></td><td>JSON object</td><td><a href="eros-uegyfel-hitelesites-psd2-sca/rendelesi-adatok/szallitasi-adatok">részletek</a></td><td>A szállítás adatai.</td></tr><tr><td><code>Info: Order: ProductItems</code></td><td>JSON object</td><td><a href="eros-uegyfel-hitelesites-psd2-sca/rendelesi-adatok/termekadatok">részletek</a></td><td>A vásárolt termékek adatai.</td></tr></tbody></table>

#### **Mintakód**

{% code overflow="wrap" %}

```php
{
    ...,
    "Extra": 
    {
        ...
    },
    "Info":
    {
        "Customer":
        {
            "General": { ... },
            "StoreSpecific": { ... },
            "Browser": { ... }
        },
        "Order":
        {
            "General": { ... },
            "BillingData": { ... },
            "ShippingData": { ... },
            "ProductItems": [ { ... }, { ... }, ... ]
        }
    }
}
```

{% endcode %}
