Manual holds place a temporary hold on funds in an account — reducing its
available_balance (but not current_balance) by amount until the
hold is released or it expires. Commonly used to reserve funds for a
pending obligation (e.g. a check that hasn't cleared yet, a disputed
transaction under investigation) without actually moving money.
Creating a hold
{:ok, hold} =
TreasuryPrime.ManualHold.create(client, %{
account_id: "acct_1234567890",
amount: "250.00",
description: "Reserve for pending dispute"
})Releasing a hold early
TreasuryPrime.ManualHold.release(client, hold.id)
Summary
Functions
Places a hold on funds. Required: account_id, amount.
Fetches a single manual hold by id.
Lists manual holds.
Releases a hold before it would otherwise expire.
Updates a manual hold.
Types
Functions
@spec create(TreasuryPrime.Client.t(), map(), keyword()) :: {:ok, t()} | {:error, TreasuryPrime.Error.t()}
Places a hold on funds. Required: account_id, amount.
@spec create!(TreasuryPrime.Client.t(), map(), keyword()) :: t()
@spec get(TreasuryPrime.Client.t(), String.t()) :: {:ok, t()} | {:error, TreasuryPrime.Error.t()}
Fetches a single manual hold by id.
@spec get!(TreasuryPrime.Client.t(), String.t()) :: t()
@spec list(TreasuryPrime.Client.t(), map()) :: {:ok, TreasuryPrime.Page.t()} | {:error, TreasuryPrime.Error.t()}
Lists manual holds.
Filterable params
account_id, status.
@spec list!(TreasuryPrime.Client.t(), map()) :: TreasuryPrime.Page.t()
@spec release(TreasuryPrime.Client.t(), String.t()) :: {:ok, t()} | {:error, TreasuryPrime.Error.t()}
Releases a hold before it would otherwise expire.
@spec update(TreasuryPrime.Client.t(), String.t(), map()) :: {:ok, t()} | {:error, TreasuryPrime.Error.t()}
Updates a manual hold.
@spec update!(TreasuryPrime.Client.t(), String.t(), map()) :: t()