Packages

Production-grade Elixir SDK for the Rapyd fintech-as-a-service platform. Covers Collect, Disburse, Wallet, Issuing, Partner, Webhook, and Resource APIs with HMAC-SHA256 auth, full-jitter retry, structured errors, and typed responses.

Current section

Files

Jump to
rapyd lib rapyd client.ex
Raw

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