# `AdyenClient.Config`
[🔗](https://github.com/iamkanishka/adyen_client/blob/v1.0.0/lib/adyen_client/config.ex#L1)

Configuration management for AdyenClient.

## Configuration

    config :adyen_client,
      api_key: "AQEyhmfxK...",
      environment: :live,
      merchant_account: "YourMerchantECOM",
      timeout: 30_000,
      max_retries: 3

## Runtime override

    AdyenClient.Checkout.Sessions.create(%{...}, config: AdyenClient.Config.load!(%{api_key: "other"}))

# `t`

```elixir
@type t() :: %{
  api_key: String.t(),
  environment: :test | :live,
  merchant_account: String.t() | nil,
  timeout: non_neg_integer(),
  connect_timeout: non_neg_integer(),
  max_retries: non_neg_integer(),
  retry_delay: non_neg_integer(),
  checkout_api_version: String.t(),
  management_api_version: String.t(),
  terminal_api_version: String.t(),
  cloud_device_api_version: String.t(),
  bin_lookup_api_version: String.t(),
  disputes_api_version: String.t(),
  payout_api_version: String.t(),
  recurring_api_version: String.t(),
  balance_platform_api_version: String.t(),
  transfer_api_version: String.t(),
  legal_entity_api_version: String.t(),
  capital_api_version: String.t(),
  classic_payment_api_version: String.t(),
  classic_account_api_version: String.t(),
  classic_fund_api_version: String.t(),
  classic_hop_api_version: String.t(),
  classic_notification_api_version: String.t(),
  foreign_exchange_api_version: String.t(),
  open_banking_api_version: String.t(),
  webhook_hmac_key: String.t() | nil,
  user_agent: String.t()
}
```

# `balance_platform_url`

# `bin_lookup_url`

# `capital_url`

# `checkout_url`

# `classic_account_url`

# `classic_fund_url`

# `classic_hop_url`

# `classic_notification_config_url`

# `cloud_device_url`

# `disputes_url`

# `foreign_exchange_url`

# `legal_entity_url`

# `load`

```elixir
@spec load(map()) :: {:ok, t()} | {:error, String.t()}
```

Load and validate config from application env merged with optional overrides.

# `load!`

```elixir
@spec load!(map()) :: t()
```

Load config, raising on invalid.

# `management_url`

# `open_banking_url`

# `payment_url`

# `payments_app_url`

# `payout_url`

# `postfm_url`

Legacy PostFM terminal management URL.

# `recurring_url`

# `session_auth_url`

# `softpos_url`

# `terminal_sync_url`

# `transfers_url`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
