Minden hiba az RFC 7807 szabványt követi. A törzs application/problem+json a type, title, status, detail, request_id és opcionálisan reason vagy errors[] mezőkkel.
{
"type": "https://www.kernelhost.com/en/kernelhost-api/errors/payment_required",
"title": "Payment required",
"status": 402,
"detail": "The order could not be paid.",
"request_id": "01HX7Z3K8Q...",
"reason": "insufficient_credit_and_no_card"
}
| HTTP | type | Jelentés |
|---|---|---|
| 400 | validation_failed | A bemeneti ellenőrzés sikertelen. Mezőnkénti részletekért lásd az errors[] tömböt. |
| 401 | auth_failed | Sikertelen hitelesítés. A válasz mindig reason unauthorized értéket tartalmaz (illetve ip_not_allowed értéket, ha a kulcs más IP-címekre van korlátozva), és szándékosan nem árul el többet. Ellenőrizze a kulcsot, a secretet, az órát (±300 s), a nonce-t és az aláírást; az ügyfélszolgálat a request_id alapján megtalálja a pontos okot. |
| 402 | payment_required | Fizetés szükséges. A reason lentebb látható. |
| 403 | forbidden_scope | Hiányzó jogosultság. reason: missing_scope. |
| 404 | not_found | Az erőforrás nem létezik vagy nem látható ennek a kulcsnak (megakadályozza a bérlők felderítését). |
| 409 | idempotency_conflict, order_in_progress, service_not_active | Ütközés. Vagy az Idempotency-Key értéket már más törzzsel, illetve más végponton használták (idempotency_conflict, reason in_progress, amíg az első kérés még fut), vagy a fiókjához tartozó másik megrendelés feldolgozása még folyamatban van (reason order_in_progress, tartsa be a Retry-After fejlécet), vagy a szolgáltatás olyan állapotban van, amely nem engedi a műveletet (service_not_active, lásd service_status). |
| 413 | payload_too_large | A kérés body-ja nagyobb 65 536 bájtnál. Már a hitelesítés előtt elutasításra kerül. |
| 422 | unprocessable | A kérés érthető, de nem hajtható végre. reason billing_cycle_not_available: a termék ebben a számlázási ciklusban nem rendelhető. reason zero_total_not_allowed: a rendelés érvényes ok, például promóciós kód nélkül ingyenes lenne. |
| 429 | rate_limited | Sebességkorlát túllépve. Tartsa be a Retry-After fejlécet. |
| 500 | internal_error | Belső szerverhiba. Adja meg a request_id azonosítót az audit-naplóval való összevetéshez, amikor a támogatáshoz fordul. |
Fizetés-szükséges indoklások (HTTP 402)
Ha a megrendelést nem lehet kifizetni, az API HTTP 402 választ ad gépi olvasásra alkalmas reason mezővel a JSON-törzsben.
insufficient_credit_and_no_card(Nincs elegendő egyenleg és nincs eltárolt kártya. Megoldás: töltse fel egyenlegét vagy adjon hozzá kártyát az ügyfélportálon.)card_declined(A bank vagy az átjáró elutasította a kártyát. Megoldás: próbáljon másik kártyát vagy lépjen kapcsolatba bankjával.)credit_apply_failed(A jóváírást nem sikerült a számlára alkalmazni. Semmi nem lett terhelve, a rendelés törölve lett. Próbálja újra új Idempotency-Key-jel, vagy forduljon az ügyfélszolgálathoz.)client_not_found(A fiókazonosító nem található (gyakorlatilag soha nem fordulhat elő, lépjen kapcsolatba a támogatással).)

