> 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/kiegeszito-szolgaltatasok/koenyveles-tamogatas-es-tranzakciok-penzuegyi-elszamolasa-paybook.md).

# Könyvelés támogatás és tranzakciók pénzügyi elszámolása (PayBook)

A *PayBook* szolgáltatás használatával lekérdezheti egy virtuális terminálon keletkezett tranzakciók pénzügyi kimutatásait. A *PayBook* azonosítja a kereskedő és a fizetési szolgáltató között létrejött pénzügyi elszámoláshoz tartozó tranzakciókat rendszerünkben, ezzel megkönnyíti a rendszerünkben keletkezett tranzakciók pénzügyi elszámolását.

### A lekérdezés időzítése

Felhívjuk a figyelmét, hogy egy adott nap kimutatásait csupán egy nappal később töltjük le a fizetési szolgáltatóktól. A letöltést és feldolgozást rendszerünk automatikusan végrehajtja, amennyiben az adott fizetési szolgáltató biztosítja a kimutatások elérését (pl. FTP tárhelyen, vagy API-n keresztül). A feldolgozás biztos lefutásához a kereskedőnek célszerű a lekérdezés pillanatához képest legalább 2 nappal korábbi kimutatásokat lekérdezni.

{% hint style="info" %}
A *PayBook* szolgáltatás használata megrendelés és díjköteles. A szolgáltatás igénybevételével kapcsolatos bővebb információért vegye fel a kapcsolatot az ügyfélszolgálatunkkal a <business@nevogate.com> címen.
{% endhint %}

A pénzügyi kimutatások lekérdezése a következő fizetési szolgáltatók esetén érhető el:

* *Teya RPG*
* *CIB Bank*
* *Global Payments*
* *GoPay*
* *K\&H SZÉP Kártya* (manuális feltöltés)
* *MBH SZÉP Kártya* (manuális feltöltés)
* *OTP SZÉP Kártya*
* *PayPal REST*
* *PayU REST*
* *SimplePay*
* *Viva Wallet* (manuális feltöltés)
* Worldline - Saferpay

{% hint style="info" %}
Egyes szolgáltatók esetén a kimutatásokat kizárólag **manuális feltöltés** után tudjuk feldolgozni. Manuális feltöltéshez előbb töltse le a kimutatást az adott fizetési szolgáltató felületéről (ha azt nem kapta meg email-ben), majd töltse fel ezeket a kimutatásokat a *PayBook* admin felületén, amit a következő hivatkozáson is elérhet:

[PayBook - Kimutatás feltöltése **(tesztrendszer)**](https://admin-test.paymentgateway.hu/admin/settlements/upload)

[PayBook - Kimutatás feltöltése **(éles rendszer)**](https://admin.paymentgateway.hu/admin/settlements/upload)

**A manuális feltöltéshez kövesse ezeket a lépéseket:**

1. Válassza ki a kimutatáshoz tartozó boltot, szolgáltatót és a terminált a legördülő menükből,
2. adja meg meg a fizetési szolgáltatótól letöltött kimutatás létrehozásának idejét,
3. majd válassza ki a megfelelő kimutatást és töltse fel rendszerünkbe.

A korábban feltöltött és feldolgozott kimutatások megtekintésére is lehetőség nyílik az *PayBook* admin felületen. A megfelelő szűréshez a fenti lépéseken túl ki kell választani a pénznemet és opcionálisan megadható egy kimutatáshoz tartozó banki utalási közlemény is. A kimutatások áttekintését erről a hivatkozásról is elérheti:

[PayBook - Kimutatások áttekintése](https://admin-test.paymentgateway.hu/admin/settlements/details)
{% endhint %}

### Működés

Használja a `Settlement` funkciót az adott terminálon létrejött pénzügyi kimutatások lekérdezéséhez.

### **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>Settlement</code></td><td><code>POST</code></td><td>method=<code>Settlement</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ázatban soroljuk fel a könnyebb átláthatóság kedvéért. Természetesen az egyes paraméterek megjelenhetnek ugyanabban az API kérésben.
{% endhint %}

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

* kötelező paraméterek
* opcionális paraméterek

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

<table data-full-width="true"><thead><tr><th>Paraméter</th><th width="123">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><em>A Nevogate</em> szerződésben kerül meghatározásra.</td><td>Meghatározza a lekérdezett kimutatásokhoz tartozó kereskedői boltot.</td></tr><tr><td><code>ProviderName</code></td><td>string</td><td><ul><li>Borgun2 (Teya RPG)</li><li>CIB</li><li>GoPay</li><li>GP (<em>Global Payments</em>)</li><li>KHBSZEP</li><li>MKBSZEP</li><li>OTP</li><li>OTPSimple (<em>SimplePay</em>)</li><li>PayPalRest</li><li>PayURest</li><li>RawMBHSZEP</li><li>RawOTPSZEP</li><li>Saferpay (Worldline)</li><li>VivaWallet</li></ul></td><td>A kimutatáshoz/elszámoláshoz kiválasztott fizetési szolgáltató.</td></tr><tr><td><code>TerminalId</code></td><td>string</td><td>egyedi értékek</td><td>A kereskedő virtuális termináljának (VPOS) egyedi azonosítója.</td></tr><tr><td><code>TransactionCurrency</code></td><td>string<br><br>(3 karakter)</td><td><ul><li>HUF</li><li>EUR</li><li>USD</li><li>...</li></ul></td><td>Az adott terminálhoz beállított devizanem (azonos azzal a devizanemmel amiben a tranzakció létrejött).</td></tr><tr><td><code>Limit</code></td><td>number</td><td>maximum 1000 tétel</td><td><p>Az adott lekérdezés során visszaadott tételek maximális száma.</p><p>(Opcionálisan használhatja az <code>Offset</code> paramétert további tételek lekérdezésére, amennyiben az aktuális lekérdezéshez több tétel tartozik, mint a <code>Limit</code> paraméterben megadott érték.)</p></td></tr></tbody></table>

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

{% hint style="warning" %}
Felhívjuk figyelmét, hogy a következő paraméterek **valamelyikének megadása opcionálisan kötelező**:

* `SettlementDate`
* `TransferNotice`
* `SettlementBatchId`
  {% endhint %}

<table data-full-width="true"><thead><tr><th>Paraméter</th><th width="129">Típus</th><th>Érték</th><th>Leírás</th></tr></thead><tbody><tr><td><code>SettlementDate</code></td><td>string<br><br>(10 karakter)</td><td><p>dátum, a következő formátumban:<br></p><p>ÉÉÉÉ-HH-NN</p></td><td><p>A kimutatás létrehozásának ideje.<br></p><p>Megadása <strong>kötelező, amennyiben</strong> a <code>TransferNotice</code> és a <code>SettlementBatchId</code> paraméterek egyike sem kerül átadásra.</p></td></tr><tr><td><code>TransferNotice</code></td><td>string</td><td><p>egyedi értékek<br></p><p>(<em>SimplePay</em> esetén, az utalási közleményben található, első szóközt követő rész.)</p></td><td><p>A bank utalási közleménye.<br></p><p>Megadása <strong>kötelező, amennyiben</strong> a <code>SettlementDate</code> és a <code>SettlementBatchId</code> paraméterek egyike sem kerül átadásra.</p></td></tr><tr><td><code>SettlementBatchId</code></td><td>number<br><br>(8 karakter)</td><td>egyedi érték</td><td>Köteg azonosító.<br><br>Megadása <strong>kötelező, amennyiben</strong> a <code>SettlementDate</code> és a <code>TransferNotice</code> paraméterek egyike sem kerül átadásra.</td></tr><tr><td><code>GetBatches</code></td><td>boolean</td><td><ul><li>true (alapért.)</li><li>false</li></ul></td><td>Meghatározza, hogy a lekérdezett válasz tartalmazzon vagy ne tartalmazzon köteg adatokat.</td></tr><tr><td><code>GetItems</code></td><td>boolean</td><td><ul><li>true (alapért.)</li><li>false</li></ul></td><td>Meghatározza, hogy a lekérdezett válasz tartalmazzon vagy ne tartalmazzon tétel adatokat.</td></tr><tr><td><code>Offset</code></td><td>number</td><td>egyedi értékek</td><td><p>Jelzi a lekérdezett tételek számához tartozó eltolást.<br></p><p>Abban az esetben, amikor egy kötegben a tételek száma (<code>NumberOfItems</code>) meghaladja a lekérdezésben beállított limitet (<code>Limit</code>), használja az eltolást a limitet meghaladó további tételek lekérdezéséhez.</p></td></tr></tbody></table>

#### **Mintakód**

Kimutatás lekérdezése `Settlement` 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 'Settlement | merchant-store.com | PHP | 7.3.0' \
  --request 'POST' \
  --data 'method=Settlement' \
  --data 'json=
    {
        "StoreName":"sdk_test",
        "ProviderName":"OTPSimple",
        "TerminalId":"P000401",
        "SettlementDate":"2019-03-25",
        "TransactionCurrency":"HUF",
        "Limit":1000
    }'
```

{% endcode %}

### API válasz paraméterek

A `Settlement` 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="254">Paraméter</th><th width="126">Típus</th><th>Érték</th><th>Leírás</th></tr></thead><tbody><tr><td><code>Data</code></td><td>JSON string</td><td>egyedi érték</td><td>Sikeres lekérdezés esetén tartalmazza a <a href="/pages/WiBs5IGvyxnI16jE8KKe">köteg (Batches) és tétel (Items) adatok</a>at.</td></tr><tr><td><code>ResultCode</code></td><td>string</td><td><ul><li>SUCCESSFUL (a pénzügyi kimutatás lekérdezése sikeres volt)<br></li></ul><p>Hiba esetén a következő eredménykódok jelölik a hiba okát:</p><ul><li>FunctionNotImplemented</li><li>InactiveStore</li><li>MissingParameter</li><li>MissingRemoteAddress</li><li>UnauthorizedAccess</li><li>UnauthorizedRemoteAddress</li><li>UnknownProvider</li><li>UnknownProviderForStore</li><li>UnknownStore</li><li>WrongApikey</li><li>WrongParameter</li></ul></td><td>Jelzi a pénzügyi lekérdezés eredményét.</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**

A fenti `Settlement` kérésre adott válasz:

{% code overflow="wrap" %}

```php
{
    "Data":"
    {
        \"Batches\":[
            {
                \"SettlementBatchId\":\"5\",
                \"SettlementDate\":\"2019-03-25\",
                \"ProviderName\":\"OTPSimple\",
                \"TerminalId":\"P000401\",
                \"TransferNotice\":\"P000401_84_060426\",
                \"NumberOfItems\":\"5\",
                \"TransactionCurrency\":\"HUF\",
                \"TotalTransactionNonRefundAmount\":\"6000.00\",
                \"TotalTransactionRefundAmount\":\"-700.00\",
                \"TotalTransactionAmount\":\"5300.00\",
                \"SettlementCurrency\":\"HUF\",
                \"TotalSettlementNonRefundAmount\":\"6000.00\",
                \"TotalSettlementRefundAmount\":\"-700.00\",
                \"TotalSettlementAmount\":\"5300.00\",
                \"TotalSettlementCommissionAmount\":\"-60.00\",
                \"TotalSettlementCommissionReducedAmount\":\"5240.00\",
                \"TotalChargebackAmount\":null,
                \"PreviousAccumulatedAmount\":null,
                \"CurrentAccumulatedAmount\":null,
                \"TransferredAmount\":\"5240.00\"
            }
        ],
        \"Items\":[
            {
                \"SettlementBatchId\":\"5\",
                \"SettlementDate\":\"2019-03-25\",
                \"ProviderName\":\"OTPSimple\",
                \"TerminalId\":\"P000401\",
                \"TransferNotice\":\"P000401_84_060426\",
                \"SettlementFileName\":\"P000401_84_060426.csv\",
                \"SettlementId\":null,
                \"AuthCode\":\"\",
                \"SettlementTransactionId\":\"99573216\",
                \"ProviderTransactionId\":\"99573216\",
                \"TransactionId\":\"aaca335d825d6c2dde6a8c43ef663b55\",
                \"OrderId\":\"TEST-ORDER-ID-1\",
                \"UserId\":\"TEST-USER-ID-1\",
                \"StoreName\":\"sdk_test\",
                \"TransactionCreatedTime\":\"2019-03-21 07:48:20\",
                \"ProviderTransactionCreatedTime\":\"2019-03-21 07:48:20\",
                \"TransactionCurrency\":\"HUF\",
                \"TransactionAmount\":\"1000\",
                \"SettlementCurrency\":\"HUF\",
                \"SettlementAmount\":\"1000\",
                \"SettlementCommissionAmount\":\"-10\",
                \"SettlementCommissionReducedAmount\":\"990\"
            },
            {
                \"SettlementBatchId\":\"5\",
                \"SettlementDate\":\"2019-03-25\",
                \"ProviderName\":\"OTPSimple\",
                \"TerminalId\":\"P000401\",
                \"TransferNotice\":\"P000401_84_060426\",
                \"SettlementFileName\":\"P000401_84_060426.csv\",
                \"SettlementId\":null,
                \"AuthCode\":\"\",
                \"SettlementTransactionId\":\"99573217\",
                \"ProviderTransactionId\":\"99573216\",
                \"TransactionId\":\"aaca335d825d6c2dde6a8c43ef663b55\",
                \"OrderId\":\"TEST-ORDER-ID-1\",
                \"UserId\":\"TEST-USER-ID-1\",
                \"StoreName\":\"sdk_test\",
                \"TransactionCreatedTime\":\"2019-03-21 07:48:20\",
                \"ProviderTransactionCreatedTime\":\"2019-03-21 07:48:32\",
                \"TransactionCurrency\":\"HUF\",
                \"TransactionAmount\":\"-300\",
                \"SettlementCurrency\":\"HUF\",
                \"SettlementAmount\":\"-300\",
                \"SettlementCommissionAmount\":\"0\",
                \"SettlementCommissionReducedAmount\":\"-300\"
            },
            ...
        ]
    }",
    "ResultCode": "SUCCESSFUL",
    "ResultMessage": null,
    "ResponseId": "3202109280600047729"
}
```

{% endcode %}
