Bank accounts

Store customer bank accounts for quick and easy processing.

The bank account object

A bank object is created and stored against a customer object, when any payment is processed through the Helcim system with ACH bank details. A customer's bank information can be saved through a range of Helcim payment tools, including HelcimPay.js, Payment Pages, Virtual Terminal, and more.

A bank account stores a number of core payment details for the customer, including:

  • Non-sensitive bank holder details, such as account type, institution and transit numbers for Canadian bank details, or routing for US bank details, as well as the last 4 digits of the bank account number.
  • A unique bankToken value to allow processing within the ACH Payment API.
  • A range of date values indicating when the bank account was created, last updated, last used, and verified.
  • Whether the bank account details are verified and ready to process payments.
  • Address details for the bank account details.
// Example bank account object

{
  "id": 53539,
  "customerId": 22745923,
  "dateCreated": "2024-07-05 09:50:13",
  "dateUpdated": "2024-07-05 09:50:13",
  "dateLastUsed": "0000-00-00 00:00:00",
  "dateVerified": "2024-07-05 09:50:13",
  "bankToken": "d6ad2df48c348351152bbd",
  "accountType": "CHECKING",
  "accountCorporate": "PERSONAL",
  "verified": 1,
  "ready": 1,
  "bankIdNumber": "003",
  "transitNumber": "23456",
  "routingNumber": "",
  "bankAccountNumberL4": "6789",
  "address": {
    "name": "John Doe",
    "street1": "123 Test Street",
    "street2": "",
    "city": "Calgary",
    "province": "AB",
    "country": "CAN",
    "postalCode": "H0H0H0",
    "phone": "",
    "email": ""
  }
}

Capturing customer bank account details

The Helcim system will verify and tokenize any bank account information used to process a payment through our payment tools, storing this against a customer for later processing.

  • If a payment is linked to an existing customer before processing, the payment and bank account details used for that payment will also be stored against the customer object.
  • If a payment is not linked to an existing customer before processing, the Helcim system will create a basic customer object to store the payment details against.

📘

Using the ACH Payment API or HelcimPay.js to capture bank account details

Capturing customer bank account details can be completed using the ACH Payment API or HelcimPay.js, to create a unique bankToken value that can be used to process payments within the Helcim system.

Understanding verified and ready statuses

A bank object in the Helcim system has two parameters that dictate whether the bank account information is valid and ready to process payments.

ParameterDescription
verifiedBanking that is verified has been validated and signed off by the Helcim team. ACH payments will still go through a second level of verification by the customers bank during the settlement process.
readyBanking that is ready has been approved by the customer through an authorized PAD agreement.

Bank account endpoints

Create, request, and retrieve bank account information, and set a new default bank account for a customer, using the following endpoints.

EndpointDescriptionVersion
Create a bank accountCreate a new bank object for a customer to process ACH bank payments.V2.2
Request bank account information from a customerRequest bank account information from a customer to create a new bank object for processing ACH bank payments.V2.2
Get customer bank accountRetrieve a customer bank object, based on customerId and bankAccountId.V2.1
Get customer bank accountsRetrieve an array of customer bank objects, based on customerId.V2.1
Set customer bank account as defaultSet a customer bank account as the default account for processing. Default accounts will be used for all recurring payments and display as the primary account in many Helcim payment tools.V2.1