# Elektronikus számlázás (PayBill)

A *PayBill* segítségével elektronikus számlákat készíthet a *Nevogate* rendszerében keletkezett **sikeres tranzakciókhoz**. A számlákat a *Számlázz.hu* állítja elő azokból az adatokból, amelyeket a kereskedő oldala az `Invoice` API hívásban ad át. A *PayBill* kiegészítő szolgáltatás használatához regisztrálni kell a *Számla Agent* szolgáltatására is a *Számlázz.hu* rendszerében.

Az elkészült számlákat az `Invoice` API hívás válaszában adjuk vissza egyszeri alkalommal. Az így létrehozott számlákat utólag (az egyszeri API válasz után) kizárólag a *Számlázz.hu* rendszerében lehet elérni.

{% hint style="info" %}
Speciális számlázási műveletek, mint például előleg számla készítése, sztornózás, stb., jelenleg nem elérhetők a *PayBill* szolgáltatásán keresztül.

Felhívjuk figyelmét, hogy a *Számla Agent* a *Számlázz.hu* szolgáltatása, így annak részleteiről és a regisztrációról kizárólag a *Számlázz.hu* nyújthat további információkat.
{% endhint %}

{% hint style="info" %}
A *PayBill* 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 %}

### Működés

Használja az `Invoice` műveletet elektronikus számlák elkészítéséhez a *PayBill* segítségével.

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

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

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

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

**Kötelező paraméterek**

<table data-full-width="true"><thead><tr><th width="182">Paraméter</th><th width="135">Típus</th><th>Érték</th><th>Leírás</th></tr></thead><tbody><tr><td><code>TransactionId</code></td><td><p>string</p><p>(32 karakter)</p></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>InvoiceData</code></td><td>JSON object</td><td>egyedi értékek</td><td><p>A számlázás adatai a <em>Számlázz.hu</em> előírásainak megfelelően.<br></p><p>A <em>Számlázz.hu</em> előírásokkal kapcsolatban a következő oldalakon tájékozódhat:</p><p><a href="https://www.szamlazz.hu/egyedi-megoldasok/szamla-agent/">https://www.szamlazz.hu/egyedi-megoldasok/szamla-agent/</a></p><p><a href="https://docs.szamlazz.hu/">https://docs.szamlazz.hu/</a></p></td></tr></tbody></table>

#### **Mintakód**

Számla készítése `Invoice` 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 'Invoice | merchant-store.com | PHP | 7.3.0' \
  --request 'POST' \
  --data 'method=Invoice' \
  --data 'json=
    {
        "TransactionId":"a4d6f6f27f2116da21da62d705dbd7ef",
        "InvoiceData":{
            "beallitasok":
            {
                "felhasznalo":"teszt01",
                "jelszo":"teszt01",
                "eszamla":"true",
                "szamlaLetoltes":"true",
                "szamlaLetoltesPld":2,
                "valaszVerzio":2
            },
            "fejlec":
            {
                "keltDatum":"2017-11-17",
                "teljesitesDatum":"2017-11-17",
                "fizetesiHataridoDatum":"2017-11-17",
                "fizmod":"Átutalás",
                "penznem":"HUF",
                "szamlaNyelve":"hu",
                "megjegyzes":"Számla megjegyzés",
                "rendelesSzam":"8169344",
                "elolegszamla":"false",
                "vegszamla":"false",
                "helyesbitoszamla":"false",
                "helyesbitettSzamlaszam":"",
                "dijbekero":"false",
                "szamlaszamElotag":"",
                "fizetve":"true"
            },
            "elado":
            {
                "bank":"OTP Bank",
                "bankszamlaszam":"11111111-22222222-33333333",
                "emailReplyto":"",
                "emailTargy":"",
                "emailSzoveg":"",
                "alairoNeve":""
            },
            "vevo":
            {
                "nev":"Kovács Bt.",
                "irsz":"2030",
                "telepules":"Érd",
                "cim":"Tárnoki út 23.",
                "adoszam":"12345678-1-42",
                "postazasiNev":"Kovács Bt. postázási név",
                "postazasiIrsz":"2040",
                "postazasiTelepules":"Budaörs",
                "postazasiCim":"Szivárvány utca 8. VI.em. 42.",
                "alairoNeve":"Vevő Aláírója",
                "telefonszam":"Tel:+3630-555-55-55, Fax:+3623-555-555",
                "megjegyzes":"A portáról felszólni a 214-es mellékre."
            },
            "tetelek":
            [
                {
                    "megnevezes":"Eladó izé",
                    "mennyiseg":"1.0",
                    "mennyisegiEgyseg":"db",
                    "nettoEgysegar":"10000",
                    "afakulcs":"25",
                    "nettoErtek":"10000.0",
                    "afaErtek":"2500.0",
                    "bruttoErtek":"12500.0",
                    "megjegyzes":"tétel megjegyzés 1"
                },
                {
                    "megnevezes":"Eladó izé",
                    "mennyiseg":"2.0",
                    "mennyisegiEgyseg":"db",
                    "nettoEgysegar":"10000",
                    "afakulcs":"25",
                    "nettoErtek":"20000.0",
                    "afaErtek":"5000.0",
                    "bruttoErtek":"25000.0",
                    "megjegyzes":"tétel megjegyzés 2"
                }
            ]
        }
    }'

```

{% endcode %}

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

Az `Invoice` 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="252">Paraméter</th><th width="129">Típus</th><th>Érték</th><th>Leírás</th></tr></thead><tbody><tr><td><code>Data</code></td><td>JSON object</td><td>egyedi értékek</td><td>Tartalmazza a számlázási adatokat és az elkészített PDF számlát base 64 kódolt formátumban (sikeres számla generálás esetén).</td></tr><tr><td><code>ResultCode</code></td><td>string</td><td><ul><li>OK (a számla generálása sikeresen megtörtént)</li><li><em>Számlázz.hu</em> hibakódok</li></ul><p>Hiba esetén a következő eredménykódok jelölik a hiba okát a <em>Nevogate</em> rendszerében:</p><ul><li>AlreadyInvoicedTransaction</li><li>CurrencyError</li><li>InactiveStore</li><li>MissingParameter</li><li>MissingRemoteAddress</li><li>UnauthorizedAccess</li><li>UnauthorizedRemoteAddress</li><li>UnknownStore</li><li>UnknownTransaction</li><li>WrongApikey</li><li>WrongParameter</li><li>WrongTransactionStatus</li></ul></td><td>Jelzi a számla generálá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 `Invoice` kérésre adott válasz (formázást követően):

{% code overflow="wrap" %}

```php
{
    "Data":
    {
        "header":"
            HTTP/1.1 100 Continue

            HTTP/1.1 200 OK
            Date: Fri, 17 Nov 2017 14:07:00 GMT
            Server: Apache/2.4.10 (Debian)
            Set-Cookie: JSESSIONID=3AF1FB51D96C6540CAC76FDD91C7F534.sas2; Path=/szamla/; Secure; HttpOnly
            Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, max-age=0
            Pragma: public
            Set-Cookie: cookie_is_member=true; Expires=Sat, 17-Nov-2018 14:07:01 GMT; Path=/; Secure
            szlahu_kintlevoseg: 0
            szlahu_vevoifiokurl: https://www.szamlazz.hu/szamla/?page=vevoifiokpay&partguid=gbjx4pbzfmuaup98mv4r6d8jirii8y5yyyaa&szfejguid=vn8aibjtfdk8h548uxx5ixyg
            szlahu_nettovegosszeg: 30000
            szlahu_szamlaszam: E-2017-282
            szlahu_bruttovegosszeg: 37500
            Content-Disposition: attachment; filename=752_E-2017-282_782ebu7zrmqtmn9ycifgffh4.xml
            Content-Type: application/octet-stream
            Content-Length: 202488
            Expires: Fri, 17 Nov 2017 14:07:00 GMT",
        "xml":
        {
            "sikeres":"true",
            "szamlaszam":"E-2017-282",
            "szamlanetto":"30000",
            "szamlabrutto":"37500",
            "pdf":"\nJVBERi0xLjUKJdDUxdgKN
                ...
                yAw0OTM0MwolJUVPRgo=\n"
        }
    },
    "ResultCode":"OK",
    "ResultMessage":null,
    "ResponseId": "3202109280600047708"
}
```

{% endcode %}
