Parameters for Wallet Request in the FinancialAccounts API.
Build this struct with new!/1 and pass it to the corresponding function on
Inttegro.FinancialAccounts. Required keys are enforced immediately; optional values left as
nil are omitted from the request sent to Inttegro.
Creates, connects, and controls the accounts an application uses to move money.
A financial account represents a wallet, Ghana bank account, or Dosh account. The account owns its identity and verification state; push and pull are separate capabilities layered on top:
- Push allows Inttegro to send payouts and other supported transfers to the account.
- Pull allows supported payments to collect funds from the account. Enabling it records a mandate using the payer's real IP address and user agent.
Use create/3 when Inttegro should provision or manage the account and connect/3 when the
account already exists outside Inttegro. Both accept one of the concrete request types linked
from Inttegro.FinancialAccounts.CreateRequest.t/0. Connecting an account does
not imply that every money-movement capability is enabled; inspect push_configuration,
pull_configuration, and verification on the returned account.
Typical lifecycle
create or connect
-> complete any required verification
-> enable push, pull, or both
-> use the account for supported activity
-> disable a capability or disconnect the accountdisconnect/3 stops new activity without erasing the account's history. reconnect/3 restores
the relationship, but callers should still inspect which capabilities are active afterward.
All state-changing calls accept request options as their last argument. Supply a stable
:idempotency_key when retrying the same logical change after a timeout or connection failure.
Summary
Functions
Builds a Inttegro.FinancialAccounts.WalletRequest and raises KeyError when a required field is missing.
Types
@type t() :: %Inttegro.FinancialAccounts.WalletRequest{ currency: String.t(), custom_data: %{optional(String.t()) => term()} | nil, description: String.t() | nil, label: String.t(), owner: Inttegro.FinancialAccounts.OwnerInput.t(), pull_configuration: Inttegro.FinancialAccounts.WalletRequestPullConfiguration.t() | nil, push_configuration: Inttegro.FinancialAccounts.WalletRequestPushConfiguration.t() | nil, reference: String.t(), type: Inttegro.FinancialAccounts.Type.t(), wallet: Inttegro.FinancialAccounts.WalletRequestWallet.t() }
A validated wallet request request.
Functions
Builds a Inttegro.FinancialAccounts.WalletRequest and raises KeyError when a required field is missing.