---
title: "eft/fund"
method: POST
path: "/eft/fund"
tags: ["EFT Endpoint"]
---

# eft/fund

`POST /eft/fund`

## Request

- Base URL: `https://earthnode-dev.vopay.com/api/v2`
- URL: `https://earthnode-dev.vopay.com/api/v2/eft/fund`
- Auth: none declared

This endpoint is used to fund your VoPay account by debiting funds from the specified customer's bank account. In the endpoint below, either CompanyName OR FirstName and LastName must be provided. 

 If either Token, Flinks (FlinksAccountID, FlinksLoginID), Inverite (InveriteRequestGUID), or Plaid (PlaidPublicToken/PlaidAccessToken, PlaidAccountID) is provided, the FinancialInstitutionNumber, BranchTransitNumber, and AccountNumber will not be required. 

 If the bank information is provided (FinancialInstitutionNumber, BranchTransitNumber, and AccountNumber), then the Address1, City, Country, and PostalCode and Province are required.

 If a ClientAccountID is provided, the client account's first/last name, address, and default bank account will be used for the transaction.

## Request body `application/x-www-form-urlencoded`

- object
  - `AccountID` string, required: Your account ID
  - `Key` string, required: API key for the account
  - `Signature` string, required: Hashed signature for the request
  - `ClientAccountID` string: Client Account ID
  - `ContactID` string: The ID of the contact to use for this transactions. The contacts payment method associated with this transaction type will be used.
  - `FirstName` string, required: Customer's first name
  - `LastName` string, required: Customer's last name
  - `CompanyName` string, required: Company's name
  - `Address1` string, required: Customer's address line 1
  - `City` string, required: Customer's city
  - `Province` string, required: Customer's province specified using two character abbreviations (eg. BC, AB)
  - `Country` string, required: Customer's country specified using full country name or ISO 3166-1 alpha-2 code.
  - `PostalCode` string, required: Customer's postal code.
  - `AccountNumber` string, required: Customer's bank account number for funds to be debited from.
  - `FinancialInstitutionNumber` string, required: Three digit institution number for a Canadian bank.
  - `BranchTransitNumber` string, required: Transit number for the customer's account.
  - `Amount` number, required: The amount to debit from the customer's bank account.
  - `Currency` string, required: 3 character currency code for the currency to fetch transactions for. If this is not specified the transaction will use the account's local currency. NOTE: Currently the eft/fund API endpoint only supports CAD and USD transactions.
  - `Iq11VerificationLevelID` integer: Iq11 verification level ID. Accepted values are: 1 (no NSF check), 2 (NSF check done at time of transaction), 3 (NSF check done prior to processing the transaction), and 4 (NSF check done at the time of transaction and prior to processing the transaction). Value is defaulted to the default value set on the account.
  - `ClientReferenceNumber` string: An optional reference number to associate with the transaction.
  - `FlinksAccountID` string: Used by clients with a Flinks account
  - `FlinksLoginID` string: Used by clients with a Flinks account
  - `Token` string: Your iQ11 Token that has been generated using Custom Iframe. See iQ11 API Endpoints.
  - `PlaidPublicToken` string: Used by clients with a Plaid account
  - `PlaidAccessToken` string: Used by clients with a Plaid account
  - `PlaidAccountID` string: Used by clients with a Plaid account
  - `PlaidProcessorToken` string: Used by clients with a Plaid account. If you use this field PlaidPublicToken, PlaidAccessToken, and PlaidAccountID are not neccesary
  - `MxAuthorizationCode` string: Used by clients with an MX account.
  - `InveriteRequestGUID` string: Used by clients with an Inverite account
  - `TransactionTypeCode` string: CPA transaction code. Use the /api/v2/account/transactions/codes endpoint to retrieve a list of valid transaction codes. If not specified, the transaction will be created using code 450 (miscellaneous).
  - `TransactionLabel` string: TransactionLabel overrides originator short name
  - `Notes` string: An optional note to associate with the transaction.
  - `IdempotencyKey` string: A unique key which the server can use to recognize and reject subsequent retries of the same request.
  - `GLCode` string: An optional unique identification general ledger code.
  - `WalletID` string: The ID of the wallet to associate with the transaction. Requires ClientAccountID to be provided.

## Response `200`

- object
  - `Success` boolean, required: True if the request was successful, false if it failed
  - `ErrorMessage` string, required: Contains a description of the error if the request failed
  - `TransactionID` integer, required: This ID should be saved as it is required in order to look up status information on the transaction.
  - `Flagged` string: Details on why the transaction was flagged, if applicable. Flagged transactions will need to be confirmed by using the /account/transaction/confirm endpoint.
  - `Iq11` boolean, required: True if the transaction was an iq11 transaction, false if it is not.

---

[API](https://skmtc.dev/vopay/apis/payment-rails.md) - [All operations](https://skmtc.dev/vopay/apis/payment-rails/llms.txt) - [OpenAPI document](https://skmtc.dev/vopay/apis/payment-rails/revisions/d6fe8969ddcf?raw)
