# Visszatérítési igény beküldése (Refund)

A *SZÉP Refund* kiegészítő szolgáltatással *SZÉP Kártyás* tranzakciók esetén is beküldhető egy visszatérítési kérés (`Refund`) API hívás segítségével a rendszerünk felé. A *SZÉP Kártyás* visszatérítési kérésekről a beküldés másnapján egy csv állományt generálunk, mely tartalmazza a visszatérítés végrehajtásához szükséges információkat a fizetési szolgáltatók számára. Ezeket az állományokat naponta továbbítjuk a fizetési szolgáltatók felé email vagy SFTP segítségével. Igény esetén ezeket a csv állományokat a kereskedő számára is továbbítjuk e-mailben (befogadási e-mail cím megadását követően).

{% hint style="warning" %}
A visszatérítési igények sikeres beküldését követően a teljesítés minden esetben az adott fizetési szolgáltató hatáskörébe tartozik és akár több napot, vagy több hetet is igénybe vehet.
{% endhint %}

### Működés

Használja a `Refund` hívást egy sikeres tranzakció összegének teljes vagy részleges visszatérítésére.

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

### **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>Refund</code></td><td><code>POST</code></td><td>method=<code>Refund</code><br><br>json={JSON encode-olt paraméterek}</td></tr></tbody></table>

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

A `Refund` kérés a következő paraméterekkel rendelkezik (**a `TransactionId` és `Amount` átadása kötelező**):

<table data-full-width="true"><thead><tr><th>Paraméter</th><th width="111">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>32 karakter hosszú md5 hash</td><td>A tranzakció azonosítója a <em>Nevogate</em> rendszerében.</td></tr><tr><td><code>Amount</code></td><td>number</td><td>egyedi értékek</td><td>Visszatérítésre kerülő összeg az eredeti tranzakció pénznemében.</td></tr><tr><td><code>Extra</code></td><td>string</td><td>egyedi értékek</td><td><p>Egyéb illetve szolgáltató specifikus adatok.</p><p>(További részletekről az <a href="../../../segedlet/extra-parameter-szabalyok">Extra adatok</a> pontban olvashat.)<br></p></td></tr></tbody></table>

#### **Mintakód**

A tranzakció összegének részleges vagy teljes visszatérítése `Refund` 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 'Refund | merchant-store.com | PHP | 7.3.0' \
  --request 'POST' \
  --data 'method=Refund' \
  --data 'json=
    {
        "TransactionId":"a4d6f6f27f2116da21da62d705dbd7ef",
        "Amount":100
    }'
```

{% endcode %}

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

A `Refund` 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="277">Paraméter</th><th width="132">Típus</th><th width="284">Érték</th><th>Leírás</th></tr></thead><tbody><tr><td><code>TransactionId</code></td><td>string</td><td>32 karakter hosszú md5 hash</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>A visszatérítés beküldésének eredménye a következők egyike lehet:</p><ul><li>SUCCESSFUL</li></ul><p>Hiba esetén a következő eredménykódok jelölik a hiba okát:</p><ul><li>InactiveStore</li><li>MissingParameter</li><li>MissingRemoteAddress</li><li>UnauthorizedAccess</li><li>UnauthorizedRemoteAddress</li><li>UnknownStore</li><li>UnknownTransaction</li><li>WrongApikey</li></ul><p>(Továbbá a szolgáltatókra vonatkozó specifikus eredménykódok is megjelenhetnek itt.)</p></td><td><p>Jelzi a visszatérítés beküldésének eredményét:</p><ul><li>SUCCESSFUL: a visszatérítés beküldése sikeres</li></ul></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>RefundRequestId</code></td><td>string</td><td>egyedi értékek</td><td><p>A visszatérítés kérésének azonosítója a fizetési szolgáltató rendszerében.</p><p>(Egyes fizetési szolgáltatóknál nem rendelkezik értékkel.)</p></td></tr><tr><td><code>RefundTransactionId</code></td><td>string</td><td>egyedi értékek</td><td><p>A visszatérítés azonosítója a fizetési szolgáltató rendszerében.<br></p><p>(Egyes fizetési szolgáltatóknál nem rendelkezik értékkel.)</p></td></tr><tr><td><code>RefundAuthorizationCode</code></td><td>string</td><td>egyedi értékek</td><td><p>A visszatérítés engedélyszáma a fizetési szolgáltató rendszerében.<br></p><p>(Egyes fizetési szolgáltatóknál nem rendelkezik értékkel.)</p></td></tr><tr><td><code>RefundId</code></td><td>string<br><br>(35 karakter)</td><td>egyedi értékek</td><td>A visszatérítés egyedi azonosítója a <em>Nevogate</em> rendszerében.</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 `Refund` kérésre adott válasz:

{% code overflow="wrap" %}

```php
{
    "TransactionId": "a4d6f6f27f2116da21da62d705dbd7ef",
    "ResultCode": "SUCCESSFUL",
    "ResultMessage": null,
    "RefundRequestId": null,
    "RefundTransactionId": null,
    "RefundAuthorizationCode": null
    "RefundId": "rf_b0fd9b0381bb54568870a6c22d6a086f",
    "ResultMessage": null,
    "ResponseId": "3202109280600047707"
}
```

{% endcode %}
