# Biztonsági kapuk

> A WooCommerce-képességek megerősítést kérő műveletei: végleges törlés, visszatérítés, kockázatos bolt-beállítás, zárolt rendelés.

A kockázatos WooCommerce-műveletek első hívásra nem hajtódnak végre. 409-es választ adnak, és csak akkor futnak le, ha a megerősítő kapcsolóval újraküldöd őket.

| Művelet | Megerősítés | Hiba nélküle |
|---|---|---|
| Végleges törlés: `force: true`, tömeges törlés, bármely törlés kikapcsolt kukánál, termék-kifejezés, szállítási zóna vagy módszer törlése | `confirm_delete: true` | `409 confirm_delete_required` |
| Visszatérítés rögzítése | `confirm_refund: true` | `409 confirm_refund_required` |
| Kockázatos bolt-beállítás: pénznem, tizedesek, adó, mértékegységek, alapország, értékesítési helyek, az utolsó fizetési mód kikapcsolása | `confirm_change: true` | `409 confirm_change_required` |

A kuka akkor számít kikapcsoltnak, ha a `wp-config.php`-ban `EMPTY_TRASH_DAYS` értéke 0.

## Visszatérítés

```bash title="Terminál"
curl -u "admin:xxxx xxxx xxxx xxxx xxxx xxxx" -X POST -H "Content-Type: application/json" \
  -d '{"input":{"order_id":1001,"amount":"2500","reason":"Sérült termék"}}' \
  "https://pelda.hu/wp-json/wp-abilities/v1/abilities/site-manager/wc-create-refund/run"
```

```json title="Válasz (409)"
{ "code": "confirm_refund_required", "message": "This records a refund of 2500 on order #1001; it cannot be undone here. Resend with confirm_refund: true once that is intended." }
```

Ugyanez `"confirm_refund": true`-val rögzíti a visszatérítést.

> **Pénzt nem küld vissza**
>
> A `wc-create-refund` csak rögzíti a visszatérítést a rendelésen. A fizetési szolgáltatón keresztül pénzt nem utal vissza.

Az összeg alapból a még visszatéríthető maradék, és nem lépheti túl.

## További szabályok

- A WooCommerce-képességek a WooCommerce saját jogosultságait kérik, és objektumonként is ellenőriznek.
- Nem létező **vagy** nem engedélyezett termék és rendelés egyformán `404 not_found_or_forbidden` választ ad.
- Lemondott, visszatérített vagy sikertelen rendelés nem módosítható: `409 order_locked` („Order #… is … and cannot be modified”).
- A rendelés-képességekhez WooCommerce 7.0 vagy újabb kell.
