Alle fouten volgen RFC 7807. De responsebody is application/problem+json met de velden type, title, status, detail, request_id en eventueel reason of errors[].
{
"type": "https://www.kernelhost.com/en/reseller-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 | Betekenis |
|---|---|---|
| 400 | validation_failed | Invoervalidatie mislukt. Zie errors[] voor detail per veld. |
| 401 | auth_failed | Authenticatie mislukt. reason geeft de oorzaak aan: missing_headers, bad_key, bad_timestamp, timestamp_out_of_window, bad_nonce, bad_signature, signature_mismatch, replay_detected, unknown_or_locked_key, ip_not_allowed. |
| 402 | payment_required | Betaling vereist. reason zie hieronder. |
| 403 | forbidden_scope | Machtiging ontbreekt. reason: missing_scope. |
| 404 | not_found | Resource bestaat niet of is voor deze sleutel niet zichtbaar (voorkomt tenant-enumeratie). |
| 409 | idempotency_conflict | Idempotency-Key reeds gebruikt met een andere body. |
| 429 | rate_limited | Snelheidsbeperking overschreden. Header Retry-After respecteren. |
| 500 | internal_error | Interne serverfout. Geef request_id op voor correlatie met het auditlogboek wanneer u contact opneemt met de support. |
Redenen voor Payment Required (HTTP 402)
Wanneer de bestelling niet betaald kan worden, levert de API HTTP 402 met een machineleesbare reden in de JSON-body.
insufficient_credit_and_no_card(Tegoed onvoldoende en geen kaart opgeslagen. Oplossing: tegoed bijladen of kaart toevoegen in het klantenportaal.)card_declined(Kaart geweigerd door de bank of gateway. Oplossing: een andere kaart opslaan of contact opnemen met uw bank.)card_expired(Kaart verlopen. Oplossing: nieuwe kaart opslaan in het klantenportaal.)client_not_found(Account-id niet gevonden (zou praktisch nooit mogen voorkomen, neem contact op met de support).)

