# API: fizetések

> Fizetések létrehozása, módosítása, lekérése, összegszámítás, fizetési link, visszatérítés és törlés az API-val.

A fizetések végpontjaival időpontokhoz, eseményekhez és csomagokhoz tartozó fizetéseket hozhatsz létre, módosíthatsz, kérdezhetsz le, téríthetsz vissza és törölhetsz.

Az API az Elite licenchez tartozik, használatához programozási ismeret kell, a szokásos támogatás nem terjed ki rá. A hitelesítés az **Amelia** fejlécben küldött API-kulccsal történik ([részletek](https://hub.hellowp.io/hu/plugins/ameliabooking/fejlesztoknek-api-attekintes/)). Az alap útvonal: `{{az_oldalad_URL-je}}/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1`.

| Művelet | Metódus | Útvonal |
|---|---|---|
| Fizetés hozzáadása foglaláshoz | `POST` | `/payments` |
| Fizetés módosítása | `POST` | `/payments/{{fizetes_id}}` |
| Egy fizetés lekérése | `GET` | `/payments/{{fizetes_id}}` |
| Fizetések listázása | `GET` | `/payments` |
| Tranzakció összegének lekérése | `GET` | `/payments/transaction/{{fizetes_id}}` |
| Fizetendő összeg kiszámítása | `POST` | `/payments/amount` |
| Fizetési link létrehozása | `POST` | `/payments/link` |
| Visszatérítés | `POST` | `/payments/refund/{{fizetes_id}}` |
| Fizetés törlése | `POST` | `/payments/delete/{{fizetes_id}}` |

## Fizetés hozzáadása foglaláshoz

Fizetési rekordot hoz létre egy meglévő foglaláshoz.

**Kötelező tulajdonságok**

| Tulajdonság | Típus | Leírás |
|---|---|---|
| `customerBookingId` | egész | A foglalás azonosítója, amelyhez a fizetés tartozik. |
| `amount` | szám | A fizetés összege. |
| `gateway` | szöveg | `onSite`, `payPal`, `stripe`, `wc`, `mollie` vagy `razorpay`. |
| `status` | szöveg | `paid`, `pending`, `partiallyPaid` vagy `refunded`. |
| `packageCustomerId` | egész | Csomagvásárláshoz tartozó fizetésnél kötelező. |
| `entity` | szöveg | `appointment`, `event` vagy `package`. |

**Opcionális tulajdonságok**

| Tulajdonság | Típus | Leírás |
|---|---|---|
| `dateTime` | szöveg | A fizetés ideje `ÉÉÉÉ-HH-NN ÓÓ:PP` formában. |
| `gatewayTitle` | szöveg | WooCommerce-fizetési módoknál a mód neve (például Stripe, utánvét, banki átutalás). |
| `actionsCompleted` | logikai | Lefutottak-e a foglalás utáni műveletek. |
| `wcOrderId` | egész | A WooCommerce-rendelés azonosítója. |
| `transactionId` | szöveg | Az online fizetési szolgáltató tranzakcióazonosítója, WooCommerce nélküli visszatérítéshez kell. |

```bash
curl --location 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/payments' \
--header 'Content-Type: application/json' \
--header 'Amelia: AZ_API_KULCSOD' \
--data '{
  "customerBookingId": 268,
  "amount": 10,
  "dateTime": "2026-01-14 15:00:00",
  "status": "paid",
  "gateway": "stripe",
  "data": {},
  "packageCustomerId": null,
  "entity": "appointment"
}'
```

## Fizetés módosítása

A `/payments/{{fizetes_id}}` végpont egy vagy több tulajdonságot módosít: csak azokat küldd el, amelyeket változtatni akarsz. Ugyanazok a mezők használhatók, mint a létrehozásnál (`customerBookingId`, `amount`, `gateway`, `status`, `packageCustomerId`, `entity`, `dateTime`, `gatewayTitle`, `actionsCompleted`, `wcOrderId`, `transactionId`), mindegyik opcionális.

```bash
curl --location 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/payments/280' \
--header 'Content-Type: application/json' \
--header 'Amelia: AZ_API_KULCSOD' \
--data '{
  "customerBookingId": 268,
  "amount": 15,
  "dateTime": "2026-02-03 15:00:00",
  "status": "paid",
  "gateway": "stripe",
  "actionsCompleted": 1
}'
```

## Fizetés és fizetések lekérése

Egy fizetést a `GET /payments/{{fizetes_id}}` ad vissza. A listát a `GET /payments` adja, ezekkel a lekérdezési paraméterekkel szűrhetsz:

| Paraméter | Típus | Leírás |
|---|---|---|
| `dates` | szöveg | Kezdő és záró dátum vesszővel elválasztva, például `2026-02-01,2026-02-28`. |
| `page` | egész | Az oldalszám. Az oldalankénti találatok számát az Amelia beállításai adják. |
| `customers` | szöveg | Vásárlóazonosítók vesszővel elválasztva. |
| `providers` | szöveg | Munkavállalóazonosítók vesszővel elválasztva. |
| `services` | szöveg | Szolgáltatásazonosítók vesszővel elválasztva. |
| `events` | szöveg | Eseményazonosítók vesszővel elválasztva. |
| `bookingTypes` | szöveg | Foglalástípusok vesszővel elválasztva (`appointment`, `package`, `event`). |

```bash
curl --location 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/payments&page=1&dates=2026-02-01,2026-02-28' \
--header 'Amelia: AZ_API_KULCSOD'
```

## Tranzakció összegének lekérése

A `GET /payments/transaction/{{fizetes_id}}` az online fizetési szolgáltatónál rögzített tranzakció összegét adja vissza az adott fizetéshez.

## Fizetendő összeg kiszámítása

A `POST /payments/amount` egy foglalási adatcsomagból kiszámítja a fizetendő összeget és a pénznemet.

| Tulajdonság | Típus | Leírás |
|---|---|---|
| `type` | szöveg | Kötelező. `appointment`, `event` vagy `package`. |
| `bookings` | tömb | Kötelező. A foglalások adatai (extrák, létszám, előleg, időtartam). |
| `bookingStart` | szöveg | Kötelező. A foglalás kezdete. |
| `locationId` | egész | Kötelező. A helyszín azonosítója. |
| `providerId` | egész | Kötelező. A munkavállaló azonosítója. |
| `serviceId` | egész | Kötelező. A szolgáltatás azonosítója. |
| `recurring` | tömb | Ismétlődő foglalásnál kötelező. |
| `couponCode` | szöveg | Opcionális. Kuponkód. |

```bash
curl --location 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/payments/amount' \
--header 'Content-Type: application/json' \
--header 'Amelia: AZ_API_KULCSOD' \
--data '{
  "type": "appointment",
  "bookings": [ { "extras": [ { "extraId": 4, "quantity": 1 } ], "deposit": true, "persons": 2, "duration": 1800 } ],
  "bookingStart": "2026-01-22 19:00",
  "locationId": 2,
  "providerId": 1,
  "serviceId": 1,
  "recurring": [],
  "couponCode": null
}'
```

## Fizetési link létrehozása

A `POST /payments/link` egy foglaláshoz és egy támogatott fizetési módhoz hoz létre fizetési linket.

| Tulajdonság | Típus | Leírás |
|---|---|---|
| `data` | objektum | Kötelező. Tartalmazza a `type` mezőt (`appointment`, `event`, `package`), és időpontnál vagy eseménynél a `bookingId`, csomagnál a `packageCustomerId` mezőt. |
| `paymentMethod` | szöveg | Kötelező. `payPal`, `stripe`, `mollie`, `razorpay` vagy `wc`. |
| `redirectUrl` | szöveg | Opcionális. Sikeres fizetés után ide irányít át; alapértelmezetten az Amelia beállításaiban megadott vásárlói felület címe. |

```bash
curl --location 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/payments/link' \
--header 'Content-Type: application/json' \
--header 'Amelia: AZ_API_KULCSOD' \
--data '{ "data": { "type": "appointment", "bookingId": 901 }, "paymentMethod": "payPal", "redirectUrl": null }'
```

## Visszatérítés

A `POST /payments/refund/{{fizetes_id}}` online fizetés visszatérítését kéri a fizetési szolgáltatón keresztül, a tárolt tranzakcióazonosító alapján.

A visszatérítés csak online fizetésekre vonatkozik. A helyszíni fizetést és a tranzakcióazonosító nélküli fizetést nem lehet a szolgáltatón keresztül visszatéríteni.

```bash
curl --location --request POST 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/payments/refund/917' \
--header 'Amelia: AZ_API_KULCSOD'
```

## Fizetés törlése

A `POST /payments/delete/{{fizetes_id}}` törli a fizetési rekordot.

Csak a fizetés törlődik, a hozzá tartozó foglalás nem. Ha a folyamatot nem kezeled helyesen, ez hibákhoz vezethet.

```bash
curl --location --request POST 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/payments/delete/313' \
--header 'Amelia: AZ_API_KULCSOD'
```
