Remote Deposit Capture (RDC) — deposit a check by uploading photos of the front and back.
Images must first be uploaded via TreasuryPrime.File.upload/3
(JPEG or PNG) to obtain front_image_file_id / back_image_file_id,
which are then referenced here.
Depositing a check
{:ok, front_file} = TreasuryPrime.File.upload(client, front_image_binary, "image/jpeg")
{:ok, back_file} = TreasuryPrime.File.upload(client, back_image_binary, "image/jpeg")
{:ok, deposit} =
TreasuryPrime.CheckDeposit.create(client, %{
account_id: "acct_1234567890",
amount: "100.00",
front_image_file_id: front_file.id,
back_image_file_id: back_file.id,
person_id: "psn_1234567890",
device: %{os_name: "ios", os_version: "18"}
}, idempotency_key: TreasuryPrime.Idempotency.generate_key())The OCR fields (ocr_amount, ocr_account_number, ocr_routing_number,
ocr_check_number) are populated by the RDC provider once the deposit is
processed and are useful for reconciling against the amount you
submitted (see amount_discrepancy_detected).
Summary
Functions
Submits a check deposit. Required: account_id, amount,
front_image_file_id, back_image_file_id.
Fetches a single check deposit by id.
Lists check deposits.
Updates a check deposit.
Types
@type t() :: %TreasuryPrime.CheckDeposit{ account_id: String.t() | nil, amount: String.t() | nil, amount_discrepancy_detected: boolean() | nil, back_image_file_id: String.t() | nil, created_at: String.t() | nil, decision_data: map() | nil, device: map() | nil, error: String.t() | nil, front_image_file_id: String.t() | nil, id: String.t() | nil, ocr_account_number: String.t() | nil, ocr_amount: String.t() | nil, ocr_check_number: String.t() | nil, ocr_routing_number: String.t() | nil, org_id: String.t() | nil, person_id: String.t() | nil, rdc_provider_full: map() | nil, review_information: list() | nil, risk_rating: String.t() | nil, risk_rating_description: String.t() | nil, status: String.t() | nil, updated_at: String.t() | nil, userdata: map() | nil }
Functions
@spec create(TreasuryPrime.Client.t(), map(), keyword()) :: {:ok, t()} | {:error, TreasuryPrime.Error.t()}
Submits a check deposit. Required: account_id, amount,
front_image_file_id, back_image_file_id.
@spec create!(TreasuryPrime.Client.t(), map(), keyword()) :: t()
@spec get(TreasuryPrime.Client.t(), String.t()) :: {:ok, t()} | {:error, TreasuryPrime.Error.t()}
Fetches a single check deposit 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 check deposits.
Filterable params
account_id, person_id, status.
@spec list!(TreasuryPrime.Client.t(), map()) :: TreasuryPrime.Page.t()
@spec update(TreasuryPrime.Client.t(), String.t(), map()) :: {:ok, t()} | {:error, TreasuryPrime.Error.t()}
Updates a check deposit.
@spec update!(TreasuryPrime.Client.t(), String.t(), map()) :: t()