> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zabcik.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Zpracování chyb

> GoPay API chyby a chyby konfigurace SDK v TypeScriptu.

# Zpracování chyb

<Info>
  Rozlišujte **chyby konfigurace** (`GoPayConfigError`) a **odpovědi API** (`GoPayApiError`) — liší se logováním, alerty a strategií opakování.
</Info>

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

```ts theme={null}
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í

<Warning>
  Nelogujte tajemství (`clientSecret`, bearer tokeny), celá čísla karet ani zbytečné osobní údaje. Preferujte strukturovaná pole jako `paymentId`, `order_number` a korelační ID.
</Warning>

* Logujte `endpoint`, `status` a sanitizovaná metadata (ne celá těla s PII).
* Ke každému logu přidejte korelační nebo request ID.
