Column.RealtimeTransfers (Column v1.0.0)

Copy Markdown View Source

Instant payments via RTP (The Clearing House) and FedNow.

Realtime transfers settle in seconds, 24/7/365. Supports Request for Payment (RFP) to pull funds from a counterparty, and return request flows.

Sending a realtime payment

{:ok, transfer} = Column.RealtimeTransfers.create(%{
  bank_account_id: "bacc_123",
  counterparty_id: "cpty_456",
  amount: 25_000,
  currency_code: "USD",
  description: "Rent payment"
})

Request for Payment (RFP)

{:ok, rfp} = Column.RealtimeTransfers.create_rfp(%{
  bank_account_id: "bacc_123",
  counterparty_id: "cpty_456",
  amount: 500_00,
  currency_code: "USD",
  expiration: "2024-06-30T00:00:00Z"
})

# Counterparty accepts or rejects via their bank
Column.RealtimeTransfers.accept_rfp(rfp["id"])

Summary

Functions

Accept a realtime return request.

Create a realtime transfer.

Create a realtime return request.

Create a realtime Request for Payment.

Get a realtime transfer by ID.

Get a realtime return request.

Get a realtime RFP by ID.

List all realtime transfers.

List all realtime return requests.

List all realtime RFPs.

Reject a realtime return request.

Return an incoming realtime transfer.

Types

id()

@type id() :: String.t()

opts()

@type opts() :: keyword()

params()

@type params() :: map()

result()

@type result() :: {:ok, map()} | {:error, Column.Error.t()}

Functions

accept_return_request(id, params \\ %{}, opts \\ [])

@spec accept_return_request(id(), params(), opts()) :: result()

Accept a realtime return request.

accept_rfp(id, params \\ %{}, opts \\ [])

@spec accept_rfp(id(), params(), opts()) :: result()

Accept a realtime RFP.

create(params, opts \\ [])

@spec create(params(), opts()) :: result()

Create a realtime transfer.

create_return_request(params, opts \\ [])

@spec create_return_request(params(), opts()) :: result()

Create a realtime return request.

create_rfp(params, opts \\ [])

@spec create_rfp(params(), opts()) :: result()

Create a realtime Request for Payment.

get(id, opts \\ [])

@spec get(id(), opts()) :: result()

Get a realtime transfer by ID.

get_return_request(id, opts \\ [])

@spec get_return_request(id(), opts()) :: result()

Get a realtime return request.

get_rfp(id, opts \\ [])

@spec get_rfp(id(), opts()) :: result()

Get a realtime RFP by ID.

list(opts \\ [])

@spec list(opts()) :: result()

List all realtime transfers.

list_return_requests(opts \\ [])

@spec list_return_requests(opts()) :: result()

List all realtime return requests.

list_rfps(opts \\ [])

@spec list_rfps(opts()) :: result()

List all realtime RFPs.

reject_return_request(id, params \\ %{}, opts \\ [])

@spec reject_return_request(id(), params(), opts()) :: result()

Reject a realtime return request.

reject_rfp(id, params \\ %{}, opts \\ [])

@spec reject_rfp(id(), params(), opts()) :: result()

Reject a realtime RFP.

return_incoming(id, params \\ %{}, opts \\ [])

@spec return_incoming(id(), params(), opts()) :: result()

Return an incoming realtime transfer.