Přejít na hlavní obsah

Konfigurace

Nikdy necommitujte clientSecret ani ostré přihlašovací údaje. V každém prostředí používejte proměnné prostředí nebo správce tajemství.
Klienta SDK vytvoříte pomocí createGoPayClient.
import { Language, TokenScope, createGoPayClient } from 'gopay-sdk';

const client = createGoPayClient({
  goid: 8123456789,
  clientId: process.env.GOPAY_CLIENT_ID!,
  clientSecret: process.env.GOPAY_CLIENT_SECRET!,
  gatewayUrl: 'https://gw.sandbox.gopay.com/api',
  scope: TokenScope.ALL,
  language: Language.EN,
  timeoutMs: 30_000,
  customUserAgent: 'my-service/1.0.0',
  tokenRefreshMarginSeconds: 30,
});

Pole konfigurace

goid: number | string

ID účtu obchodníka GoPay. Hodnoty se normalizují na number.

clientId: string

OAuth2 identifikátor klienta z GoPay.

clientSecret: string

OAuth2 tajný klíč z GoPay.

gatewayUrl: string

Základní URL brány GoPay API. Běžné hodnoty:
  • Sandbox: https://gw.sandbox.gopay.com/api
  • Produkce: https://gate.gopay.cz/api
SDK hodnotu normalizuje a zajistí koncové /api.

scope?: TokenScope

OAuth rozsah pro požadavky na access token.
  • TokenScope.ALL (payment-all) — výchozí
  • TokenScope.CREATE_PAYMENT (payment-create)

language?: Language

Výchozí jazyk SDK v hlavičkách a u výchozích hodnot plateb. Výchozí: Language.EN.

timeoutMs?: number

HTTP timeout jednotlivého požadavku v milisekundách. Výchozí: 30000.

customUserAgent?: string

Vlastní hlavička User-Agent. Výchozí: gopay-sdk-ts/1.0.0.

tokenRefreshMarginSeconds?: number

Jak brzy před skutečnou expirací obnovit token. Výchozí: 30.

Druhý argument: volby

Vlastní TokenCache sdílí tokeny mezi workery, vlastní HttpTransport pro proxy, tracing nebo jiný HTTP stack než fetch — viz Rozšiřitelnost.
import { createGoPayClient, type HttpTransport, type TokenCache } from 'gopay-sdk';

const tokenCache: TokenCache = {
  get: (key) => undefined,
  set: (key, value) => {},
  delete: (key) => {},
};

const transport: HttpTransport = {
  execute: async (request) => fetch(request.url, request),
};

const client = createGoPayClient(config, {
  tokenCache,
  transport,
});

Validace

SDK vyhodí GoPayConfigError při:
  • chybějícím clientId nebo clientSecret
  • nečíselném goid
  • prázdné nebo neplatné gatewayUrl
  • timeoutMs <= 0
  • tokenRefreshMarginSeconds < 0