Přejít na hlavní obsah

Zpracování chyb

Rozlišujte chyby konfigurace (GoPayConfigError) a odpovědi API (GoPayApiError) — liší se logováním, alerty a strategií opakování.
SDK používá samostatné třídy chyb pro API a konfiguraci.

Třídy chyb

GoPayApiError

Vyhozena při HTTP odpovědi jiné než 2xx z endpointů GoPay. Užitečná pole:
  • status: HTTP kód
  • endpoint: plná URL nebo cesta
  • errors: parsované chyby polí GoPay (pokud jsou)
  • rawResponse: JSON nebo text odpovědi

GoPayConfigError

Neplatná konfigurace klienta (např. gatewayUrl, chybějící přihlašovací údaje).

Doporučený vzor

import { GoPayApiError, GoPayConfigError } from 'gopay-sdk';

try {
  // volání SDK...
} catch (error) {
  if (error instanceof GoPayConfigError) {
    throw error;
  }

  if (error instanceof GoPayApiError) {
    if (error.status >= 500) {
      console.error('Přechodná chyba GoPay', error.endpoint, error.rawResponse);
    } else {
      console.error('Požadavek zamítnut', error.status, error.errors);
    }
    throw error;
  }

  throw error;
}

Opakování (retry)

  • Ve výchozím stavu opakujte jen bezpečné/idempotentní operace (např. getPayment)
  • Omezený počet pokusů s exponenciálním backoff a jitterem
  • Neopakujte slepě validační chyby (4xx s jasnými chybami polí)

Logování

Nelogujte tajemství (clientSecret, bearer tokeny), celá čísla karet ani zbytečné osobní údaje. Preferujte strukturovaná pole jako paymentId, order_number a korelační ID.
  • Logujte endpoint, status a sanitizovaná metadata (ne celá těla s PII).
  • Ke každému logu přidejte korelační nebo request ID.