Read-only visibility into ACH transfers originated by a third party
outside of Treasury Prime (the reverse of TreasuryPrime.Ach, which is
for transfers you originate).
Treasury Prime doesn't create an TreasuryPrime.Ach object for these —
the resulting funds movement simply posts as a TreasuryPrime.Transaction
on the recipient's account (look for a desc starting with "INCOMING ACH"). This resource exists purely to expose descriptive detail about
that incoming transfer (originator name, addenda, etc.) and, where your
bank partner supports it, to initiate a return of an incoming credit
or debit you need to reject.
Returning an incoming ACH
Use return/3 with one of the supported NACHA return codes:
"R10"- customer advises not authorized"R20"- non-transaction account"R29"- corporate customer advises not authorized
Returns are subject to your bank partner's availability and NACHA timing rules (generally within 2 business days of receipt, or up to 60 days for unauthorized consumer debits).
Summary
Types
@type t() :: %TreasuryPrime.IncomingAch{ account_id: String.t() | nil, addenda: [String.t()] | nil, amount: String.t() | nil, created_at: String.t() | nil, description: String.t() | nil, direction: String.t() | nil, error: String.t() | nil, id: String.t() | nil, org_id: String.t() | nil, originator_name: String.t() | nil, sec_code: String.t() | nil, status: String.t() | nil, trace_number: String.t() | nil, updated_at: String.t() | nil, userdata: map() | nil }
Functions
@spec get(TreasuryPrime.Client.t(), String.t()) :: {:ok, t()} | {:error, TreasuryPrime.Error.t()}
Fetches a single incoming ACH transfer 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 incoming ACH transfers.
Filterable params
account_id, direction, status, trace_number.
@spec list!(TreasuryPrime.Client.t(), map()) :: TreasuryPrime.Page.t()
@spec return(TreasuryPrime.Client.t(), String.t(), String.t()) :: {:ok, t()} | {:error, TreasuryPrime.Error.t()}
Initiates a return for an incoming ACH transfer. return_code must be one
of "R10", "R20", or "R29". Availability depends on your bank partner.
@spec update(TreasuryPrime.Client.t(), String.t(), map()) :: {:ok, t()} | {:error, TreasuryPrime.Error.t()}
Updates an incoming ACH transfer (see return/3 for the common case).
@spec update!(TreasuryPrime.Client.t(), String.t(), map()) :: t()