API Reference
Supported Operations
- Fund (pull from customer bank account)
- Withdraw (push to customer bank account)
- Transaction status lookup
- Failed transaction retrieval
Endpoints
Fund
POST /api/v2/eft/fund
Debits funds from a customer's bank account and credits your VoPay account.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Amount | decimal | Yes | Transaction amount in CAD |
| FirstName | string | Yes | Customer's first name |
| LastName | string | Yes | Customer's last name |
| FinancialInstitutionNumber | string | Conditional | 3-digit bank institution number. Required if not using a token and DelayBankingInfo is false |
| BranchTransitNumber | string | Conditional | 5-digit branch transit number. Required if not using a token |
| AccountNumber | string | Conditional | Customer's bank account number. Required if not using a token |
| Token | string | Conditional | Tokenized bank account (from Flinks, Plaid, MX, or Inverite). Use instead of raw banking details |
| FlinksAccountID | string | Optional | Flinks account ID |
| FlinksLoginID | string | Optional | Flinks login ID |
| PlaidPublicToken | string | Optional | Plaid public token |
| PlaidAccountID | string | Optional | Plaid account ID |
| PlaidAccessToken | string | Optional | Plaid access token |
| PlaidProcessorToken | string | Optional | Plaid processor token |
| MxAuthorizationCode | string | Optional | MX authorization code |
| InveriteRequestGUID | string | Optional | Inverite request GUID |
| CompanyName | string | Optional | Customer's company name |
| DOB | string | Optional | Customer's date of birth (YYYY-MM-DD) |
| EmailAddress | string | Optional | Customer's email address |
| PhoneNumber | string | Optional | Customer's phone number |
| Address1 | string | Optional | Customer's street address |
| Address2 | string | Optional | Customer's address line 2 |
| City | string | Optional | Customer's city |
| Province | string | Optional | Customer's province |
| Country | string | Optional | Customer's country |
| PostalCode | string | Optional | Customer's postal code |
| IPAddress | string | Optional | Customer's IP address |
| ClientAccountID | string | Optional | Link transaction to a sub-account |
| ContactID | string | Optional | Link transaction to a contact |
| ClientReferenceNumber | string | Optional | Your internal reference number |
| TransactionLabel | string | Optional | Label shown on bank statement |
| TransactionTypeCode | string | Optional | CPA transaction type code |
| GLCode | string | Optional | General ledger code |
| Notes | string | Optional | Internal notes (not shown to customer) |
| IdempotencyKey | string | Optional | Unique key to prevent duplicate transactions |
| DelayBankingInfo | boolean | Optional | If true, banking info can be provided later |
| KYCPerformed | boolean | Optional | Indicates KYC was performed externally |
| KYCReferenceNumber | string | Optional | Reference number from external KYC |
Withdraw
POST /api/v2/eft/withdraw
Credits funds from your VoPay account to a customer's bank account.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Amount | decimal | Yes | Transaction amount in CAD |
| FirstName | string | Yes | Customer's first name |
| LastName | string | Yes | Customer's last name |
| FinancialInstitutionNumber | string | Conditional | 3-digit bank institution number. Required if not using a token |
| BranchTransitNumber | string | Conditional | 5-digit branch transit number. Required if not using a token |
| AccountNumber | string | Conditional | Customer's bank account number. Required if not using a token |
| Token | string | Conditional | Tokenized bank account. Use instead of raw banking details |
| CompanyName | string | Optional | Customer's company name |
| DOB | string | Optional | Customer's date of birth (YYYY-MM-DD) |
| EmailAddress | string | Optional | Customer's email address |
| PhoneNumber | string | Optional | Customer's phone number |
| Address1 | string | Optional | Customer's street address |
| Address2 | string | Optional | Address line 2 |
| City | string | Optional | Customer's city |
| Province | string | Optional | Customer's province |
| Country | string | Optional | Customer's country |
| PostalCode | string | Optional | Customer's postal code |
| IPAddress | string | Optional | Customer's IP address |
| ClientAccountID | string | Optional | Link transaction to a sub-account |
| ContactID | string | Optional | Link transaction to a contact |
| ClientReferenceNumber | string | Optional | Your internal reference number |
| TransactionLabel | string | Optional | Label shown on bank statement |
| TransactionTypeCode | string | Optional | CPA transaction type code |
| GLCode | string | Optional | General ledger code |
| Notes | string | Optional | Internal notes |
| IdempotencyKey | string | Optional | Unique key to prevent duplicate transactions |
| KYCPerformed | boolean | Optional | Indicates KYC was performed externally |
| KYCReferenceNumber | string | Optional | Reference number from external KYC |
Get Fund Transaction
GET /api/v2/eft/fund/transaction
Returns details of a single EFT fund transaction.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| TransactionID | string | Yes | The transaction ID returned from /eft/fund |
Get Withdraw Transaction
GET /api/v2/eft/withdraw/transaction
Returns details of a single EFT withdraw transaction.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| TransactionID | string | Yes | The transaction ID returned from /eft/withdraw |
Get Failed Transactions
POST /api/v2/eft/failures
Returns a list of failed EFT transactions within a date range.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| StartDate | string | Yes | Start of date range (YYYY-MM-DD) |
| EndDate | string | Yes | End of date range (YYYY-MM-DD) |
Updated 7 days ago