TreasuryPrime.Wire (TreasuryPrime v1.0.0)

Copy Markdown View Source

Outgoing domestic and international wire transfers. For wires sent to you, see TreasuryPrime.IncomingWire.

Creating a wire

{:ok, wire} =
  TreasuryPrime.Wire.create(client, %{
    account_id: "acct_1234567890",
    counterparty_id: "cp_0987654321",
    amount: "10300.00"
  }, idempotency_key: TreasuryPrime.Idempotency.generate_key())

For international wires, purpose is required and the counterparty's wire.bank_address.country should be set accordingly. target_currency_code and fx_quote are populated by some bank partners for FX wires.

Summary

Functions

Convenience for update(client, id, %{status: "canceled"}).

Sends a wire transfer. Required: account_id, counterparty_id, amount.

Fetches a single wire transfer by id.

Lists wire transfers.

Updates a wire transfer (e.g. cancel while still "pending").

Types

t()

@type t() :: %TreasuryPrime.Wire{
  account_id: String.t() | nil,
  amount: String.t() | nil,
  bankdata: map() | nil,
  chips_ssn: String.t() | nil,
  counterparty_id: String.t() | nil,
  created_at: String.t() | nil,
  error: String.t() | nil,
  fx_quote: map() | nil,
  id: String.t() | nil,
  imad: map() | nil,
  instructions: String.t() | nil,
  intermediary: map() | nil,
  omad: map() | nil,
  org_id: String.t() | nil,
  purpose: String.t() | nil,
  status: String.t() | nil,
  target_currency_code: String.t() | nil,
  uetr: String.t() | nil,
  updated_at: String.t() | nil,
  userdata: map() | nil
}

Functions

cancel(client, id)

@spec cancel(TreasuryPrime.Client.t(), String.t()) ::
  {:ok, t()} | {:error, TreasuryPrime.Error.t()}

Convenience for update(client, id, %{status: "canceled"}).

create(client, params, opts \\ [])

@spec create(TreasuryPrime.Client.t(), map(), keyword()) ::
  {:ok, t()} | {:error, TreasuryPrime.Error.t()}

Sends a wire transfer. Required: account_id, counterparty_id, amount.

create!(client, params, opts \\ [])

@spec create!(TreasuryPrime.Client.t(), map(), keyword()) :: t()

get(client, id)

@spec get(TreasuryPrime.Client.t(), String.t()) ::
  {:ok, t()} | {:error, TreasuryPrime.Error.t()}

Fetches a single wire transfer by id.

get!(client, id)

@spec get!(TreasuryPrime.Client.t(), String.t()) :: t()

list(client, params \\ %{})

@spec list(TreasuryPrime.Client.t(), map()) ::
  {:ok, TreasuryPrime.Page.t()} | {:error, TreasuryPrime.Error.t()}

Lists wire transfers.

Filterable params

account_id, counterparty_id, status.

list!(client, params \\ %{})

update(client, id, params)

@spec update(TreasuryPrime.Client.t(), String.t(), map()) ::
  {:ok, t()} | {:error, TreasuryPrime.Error.t()}

Updates a wire transfer (e.g. cancel while still "pending").

update!(client, id, params)

@spec update!(TreasuryPrime.Client.t(), String.t(), map()) :: t()