UNPKG

@alexasomba/paystack-browser

Version:

A browser-compatible Paystack SDK - Complete, Type-safe, and Fetch-ready with full OpenAPI coverage.

45 lines (34 loc) 1.49 kB
--- name: paystack-browser-retries-idempotency description: Use when configuring Paystack Browser SDK retries, Retry-After behavior, idempotency keys, timeouts, and browser-safe retry semantics for transactions or other API calls. license: MIT compatibility: "Modern browsers and bundlers; package tooling/SSR builds require Node.js >=22.0.0; ESM package; public-key frontend runtime only." --- # Paystack Browser Retries and Idempotency The browser SDK can retry transient failures and add browser-safe idempotency keys for POST requests. ```ts const paystack = createPaystack({ apiKey: "pk_test_...", timeoutMs: 15_000, retry: { retries: 2, retryOnStatuses: [408, 429, 503], }, idempotencyKey: "auto", }); ``` The SDK respects `Retry-After` for `429` responses when present. ## Helper exports The SDK exports lower-level idempotency helpers for tests and custom transport utilities: - `DEFAULT_IDEMPOTENCY_HEADER` - `createIdempotencyKey()` - `resolveIdempotencyKey(input)` - `hasHeader(headers, name)` - `setHeader(headers, name, value)` Prefer `createPaystack({ idempotencyKey })` for normal browser application code. ## Best practices - Keep retry counts lower in the browser to avoid poor UX. - Use idempotency for browser POST retries. - Do not retry workflows that should be initialized on the backend instead. - Surface pending state clearly while a payment request is in flight. - Store authoritative payment state on the server, not in browser memory.