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/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"
}
HTTPtypeBetekenis
400validation_failedInvoervalidatie mislukt. Zie errors[] voor detail per veld.
401auth_failedAuthenticatie mislukt. Het antwoord bevat altijd reason unauthorized (of ip_not_allowed als de sleutel tot andere IP-adressen beperkt is) en verraadt bewust niets meer. Controleer sleutel, secret, klok (±300 s), nonce en handtekening; support kan de exacte oorzaak via de request_id opzoeken.
402payment_requiredBetaling vereist. reason zie hieronder.
403forbidden_scopeMachtiging ontbreekt. reason: missing_scope.
404not_foundResource bestaat niet of is voor deze sleutel niet zichtbaar (voorkomt tenant-enumeratie).
409idempotency_conflict, order_in_progress, service_not_activeConflict. Ofwel is de Idempotency-Key al gebruikt met een andere body of een ander endpoint (idempotency_conflict, reason in_progress zolang de eerste aanvraag nog loopt), ofwel wordt er voor uw account nog een andere bestelling verwerkt (reason order_in_progress, Retry-After respecteren), ofwel bevindt de service zich niet in een toestand die de actie toestaat (service_not_active, zie service_status).
413payload_too_largeRequest-body groter dan 65.536 bytes. Deze wordt al vóór de authenticatie geweigerd.
422unprocessableBegrepen maar niet uitvoerbaar. reason billing_cycle_not_available: het product wordt niet in deze factureringscyclus aangeboden. reason zero_total_not_allowed: de bestelling zou zonder geldige reden, zoals een promotiecode, gratis zijn.
429rate_limitedSnelheidsbeperking overschreden. Header Retry-After respecteren.
500internal_errorInterne 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.)
  • credit_apply_failed (Het tegoed kon niet op de factuur worden toegepast. Er is niets afgeschreven en de bestelling is geannuleerd. Probeer het opnieuw met een nieuwe Idempotency-Key of neem contact op met support.)
  • client_not_found (Account-id niet gevonden (zou praktisch nooit mogen voorkomen, neem contact op met de support).)