# 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*
* *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>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 %}


---

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