Execute a transaction using an e-wallet

POST /wallet/transaction/execute

Execute a transaction using the specified e-wallet. Specify the e-wallet to debit from, the counterparty to credit to, the idempotency key to prevent duplicate transactions, the amount and reference for the transaction. Transactions will settle in seconds to several days, depending on the underlying payment rail.

Request Body

Required

WalletTransactionExecuteRequest defines the request schema for /wallet/transaction/execute

Parameters

client_id
string
Your Plaid API client_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.
secret
string
Your Plaid API secret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.
idempotency_key
required, string
A random key provided by the client, per unique wallet transaction. Maximum of 128 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. If a request to execute a wallet transaction fails due to a network connection error, then after a minimum delay of one minute, you can retry the request with the same idempotency key to guarantee that only a single wallet transaction is created. If the request was successfully processed, it will prevent any transaction that uses the same idempotency key, and was received within 24 hours of the first request, from being processed.
wallet_id
required, string
The ID of the e-wallet to debit from
counterparty
required, object
An object representing the e-wallet transaction’s counterparty
name
required, string
The name of the counterparty
numbers
required, object
The counterparty’s bank account numbers. Exactly one of IBAN or BACS data is required.
bacs
object
The account number and sort code of the counterparty’s account
international
object
International Bank Account Number for a Wallet Transaction
iban
string
International Bank Account Number (IBAN).
address
object
The optional address of the payment recipient’s bank account. Required by most institutions outside of the UK.
street
required, array[string]
An array of length 1-2 representing the street address where the recipient is located. Maximum of 70 characters.
city
required, string
The city where the recipient is located. Maximum of 35 characters.
postal_code
required, string
The postal code where the recipient is located. Maximum of 16 characters.
country
required, string
The ISO 3166-1 alpha-2 country code where the recipient is located.
date_of_birth
string
The counterparty’s birthdate, in ISO 8601 (YYYY-MM-DD) format.
amount
required, object
The amount and currency of a transaction
iso_currency_code
required, string
An ISO-4217 currency code, used with e-wallets and transactions.
value
required, number
The amount of the transaction. Must contain at most two digits of precision e.g. 1.23.
reference
required, string
A reference for the transaction. This must be an alphanumeric string with 6 to 18 characters and must not contain any special characters or spaces. Ensure that the reference field is unique for each transaction.
originating_fund_source
object
The original source of the funds. This field is required by local regulation for certain businesses (e.g. money remittance) to send payouts to recipients in the EU and UK.
full_name
required, string
The full name associated with the source of the funds.
address
required, object
The optional address of the payment recipient’s bank account. Required by most institutions outside of the UK.
street
required, array[string]
An array of length 1-2 representing the street address where the recipient is located. Maximum of 70 characters.
city
required, string
The city where the recipient is located. Maximum of 35 characters.
postal_code
required, string
The postal code where the recipient is located. Maximum of 16 characters.
country
required, string
The ISO 3166-1 alpha-2 country code where the recipient is located.
account_number
required, string
The account number from which the funds are sourced.
bic
required, string
The Business Identifier Code, also known as SWIFT code, for this bank account.

Response

WalletTransactionExecuteResponse defines the response schema for /wallet/transaction/execute

Response Properties

transaction_id
required, string
A unique ID identifying the transaction
status
required, string
The status of the transaction. AUTHORISING: The transaction is being processed for validation and compliance. INITIATED: The transaction has been initiated and is currently being processed. EXECUTED: The transaction has been successfully executed and is considered complete. This is only applicable for debit transactions. SETTLED: The transaction has settled and funds are available for use. This is only applicable for credit transactions. A transaction will typically settle within seconds to several days, depending on which payment rail is used. FAILED: The transaction failed to process successfully. This is a terminal status. BLOCKED: The transaction has been blocked for violating compliance rules. This is a terminal status.
request_id
required, string
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.