Current section
Files
Jump to
Current section
Files
lib/rapyd/client.ex
defmodule Rapyd.Client do
@moduledoc """
Immutable configuration struct passed to every service call.
Build one with `Rapyd.new/1` or `Rapyd.new!/1` — do not construct this
struct directly.
"""
@enforce_keys [:access_key, :secret_key, :base_url]
defstruct [
:access_key,
:secret_key,
:base_url,
:merchant_account_id,
sandbox: true,
max_retries: 4,
timeout: 30_000,
http_client: Rapyd.HTTP.Client
]
@type t :: %__MODULE__{
access_key: String.t(),
secret_key: String.t(),
base_url: String.t(),
sandbox: boolean(),
merchant_account_id: String.t() | nil,
max_retries: non_neg_integer(),
timeout: non_neg_integer(),
http_client: module()
}
end