Link and verify bank accounts. Verification can happen via instant
micro-deposits, or via Plaid Link / MX (verify/initiate_verification).
Linking a bank account automatically creates payment methods for every
rail it's eligible for (ACH debit/credit, RTP/instant, wire, etc).
Summary
Functions
Completes micro-deposit verification.
Completes verification with the data/code returned by the verification provider.
Unlinks a bank account.
Retrieves a single linked bank account.
Gets the current verification status for a linked bank account.
Initiates instant micro-deposit verification for a linked bank account.
Initiates verification (e.g. via Plaid/MX) for a linked bank account.
Links a bank account to an account.
Lists an account's linked bank accounts.
Functions
@spec complete_micro_deposits(Moov.Client.t(), String.t(), String.t(), map()) :: {:ok, map()} | {:error, Moov.Error.t()}
Completes micro-deposit verification.
params: %{amounts: [12, 34]} - the two deposit amounts in cents, in
any order.
@spec complete_verification(Moov.Client.t(), String.t(), String.t(), map()) :: {:ok, map()} | {:error, Moov.Error.t()}
Completes verification with the data/code returned by the verification provider.
@spec delete(Moov.Client.t(), String.t(), String.t()) :: {:ok, term()} | {:error, Moov.Error.t()}
Unlinks a bank account.
@spec get(Moov.Client.t(), String.t(), String.t()) :: {:ok, map()} | {:error, Moov.Error.t()}
Retrieves a single linked bank account.
@spec get_verification_status(Moov.Client.t(), String.t(), String.t()) :: {:ok, map()} | {:error, Moov.Error.t()}
Gets the current verification status for a linked bank account.
@spec initiate_micro_deposits(Moov.Client.t(), String.t(), String.t()) :: {:ok, map()} | {:error, Moov.Error.t()}
Initiates instant micro-deposit verification for a linked bank account.
@spec initiate_verification(Moov.Client.t(), String.t(), String.t(), map()) :: {:ok, map()} | {:error, Moov.Error.t()}
Initiates verification (e.g. via Plaid/MX) for a linked bank account.
@spec link(Moov.Client.t(), String.t(), map()) :: {:ok, map()} | {:error, Moov.Error.t()}
Links a bank account to an account.
params: :holder_name, :holder_type ("individual" or
"business"), :routing_number, :account_number, :bank_account_type
("checking" or "savings"), or :plaid_token / :mx_authorization_code
if linking through an aggregator instead of raw account numbers.
@spec list(Moov.Client.t(), String.t(), keyword()) :: {:ok, [map()]} | {:error, Moov.Error.t()}
Lists an account's linked bank accounts.