AdyenClient.Client (AdyenClient v1.0.0)

Copy Markdown View Source

Core HTTP client for AdyenClient.

Features:

  • Automatic retry with exponential backoff for retryable errors (5xx, 429)
  • Telemetry events on every request
  • Idempotency key injection for POST
  • Configurable timeouts
  • JSON encode/decode with Jason
  • Structured AdyenClient.Error on failure

Summary

Types

method()

@type method() :: :get | :post | :patch | :put | :delete

response()

@type response() :: {:ok, map() | list() | nil} | {:error, AdyenClient.Error.t()}

Functions

delete(url, opts \\ [])

@spec delete(
  String.t(),
  keyword()
) :: response()

get(url, opts \\ [])

@spec get(
  String.t(),
  keyword()
) :: response()

patch(url, body, opts \\ [])

@spec patch(String.t(), map(), keyword()) :: response()

post(url, body, opts \\ [])

@spec post(String.t(), map(), keyword()) :: response()

request(method, url, opts \\ [])

@spec request(method(), String.t(), keyword()) :: response()

Make an authenticated API request.

Options

  • :body — request body (map), JSON-encoded automatically
  • :query — map of query string params
  • :configAdyenClient.Config.t() (defaults to Config.load!())
  • :idempotency_key — override the auto-generated POST idempotency key