API Reference
Supported Operations
- Fund (pull from customer US bank account)
- Withdraw (push to customer US bank account)
- Transaction status lookup
- Failed transaction retrieval
- NACHA validation
Endpoints
Fund
POST /api/v2/ach/fund
Debits funds from a customer's US bank account and credits your VoPay account.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Amount | decimal | Yes | Transaction amount in USD |
| Country | string | Yes | Must be US |
| State | string | Yes | Two-letter US state code |
| ABARoutingNumber | string | Conditional | 9-digit ABA routing 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 |
| PlaidProcessorToken | string | Conditional | Plaid processor token. Use instead of raw banking details |
| MxAuthorizationCode | string | Conditional | MX authorization code. Use instead of raw banking details |
| FirstName | string | Optional | Customer's first name |
| LastName | string | Optional | Customer's last name |
| CompanyName | string | Optional | Customer's company name |
| IsCompany | boolean | Optional | Set to true if the customer is a business |
| IdentificationNumber | string | Optional | Customer's government-issued ID number |
| 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 |
| ZipCode | string | Optional | Customer's ZIP code |
| IPAddress | string | Optional | Customer's IP address |
| SameDay | boolean | Optional | Set to true to request Same-Day ACH processing |
| SecCode | string | Optional | Nacha SEC code (e.g. PPD, CCD, WEB) |
| 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 for the transaction |
| TransactionTypeCode | string | Optional | 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 |
Withdraw
POST /api/v2/ach/withdraw
Credits funds from your VoPay account to a customer's US bank account.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Amount | decimal | Yes | Transaction amount in USD |
| Country | string | Yes | Must be US |
| State | string | Yes | Two-letter US state code |
| ABARoutingNumber | string | Conditional | 9-digit ABA routing 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 |
| PlaidProcessorToken | string | Conditional | Plaid processor token |
| MxAuthorizationCode | string | Conditional | MX authorization code |
| FirstName | string | Optional | Customer's first name |
| LastName | string | Optional | Customer's last name |
| CompanyName | string | Optional | Customer's company name |
| IsCompany | boolean | Optional | Set to true if the recipient is a business |
| IdentificationNumber | string | Optional | Customer's government-issued ID number |
| 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 |
| ZipCode | string | Optional | Customer's ZIP code |
| IPAddress | string | Optional | Customer's IP address |
| SameDay | boolean | Optional | Set to true to request Same-Day ACH processing |
| SecCode | string | Optional | Nacha SEC code (e.g. PPD, CCD, WEB) |
| 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 for the transaction |
| TransactionTypeCode | string | Optional | Transaction type code |
| GLCode | string | Optional | General ledger code |
| Notes | string | Optional | Internal notes |
| IdempotencyKey | string | Optional | Unique key to prevent duplicate transactions |
| ParentTransactionID | string | Optional | ID of a parent transaction to link this to |
| KYCPerformed | boolean | Optional | Indicates KYC was performed externally |
Get Fund Transaction
GET /api/v2/ach/fund/transaction
Returns details of a single ACH fund transaction.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| TransactionID | string | Yes | The transaction ID returned from /ach/fund |
Get Withdraw Transaction
GET /api/v2/ach/withdraw/transaction
Returns details of a single ACH withdraw transaction.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| TransactionID | string | Yes | The transaction ID returned from /ach/withdraw |
Get Failed Transactions
POST /api/v2/ach/failures
Returns a list of failed ACH 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) |
Validate NACHA
POST /api/v2/ach/validate-nacha
Triggers NACHA validation for an ACH transaction.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| TransactionID | string | Yes | The transaction ID to validate |
Updated 2 days ago