Customer API

Manage your customer information and payment details using the Customer API.

The Customer API allows you to create, retrieve, and update a range of customer objects and sub-objects in the Helcim system.

With the Customer API, you can track and manage payments for specific customers, keep up to date customer records for things like billing and shipping address details, or retrieve specific information for the customer such as their stored credit card or banking details.

📘

V2.2 of the Customer API and ACH payment

Please note that a number of the endpoints documented in the V2.1 Customer API guides are available as part of the ACH Payment API beta. Switch to V2.2 to view documentation related to the ACH Payment API.

Customer API use cases

  • Integrate your customer registration process or existing CRM with Helcim, to keep up to date contact, billing, and shipping details for customer payments.
  • Change the default credit card or bank account payment details for a customer to be used with recurring payments through the Subscription Manager.
  • Looking to track customer credit card or ACH payments, invoices, and payment information against specific customers? A customer object allows you to link multiple payments to customers for accurate record keeping and reconciliation.
  • Looking to speed up the checkout process for returning customers through your websites ecommerce store? Prepopulate stored credit card and bank details, making return checkouts through HelcimPay faster
  • Looking to integrate with the ACH Payment API to process ACH payments? Use the Customer API to create, request, or update bank objects for payment through the ACH Payment API.
  • Looking to display customers available credit card or banking information directly within your system? Through the Customer API you can retrieve existing customer card, bank, and pad objects.

Customer API functionality

The Customer API allows you to manage all of the required objects needed for your customer information and payment details in the Helcim system.

Customers

A customer object represents a unique customer in the Helcim system, which could be either an individual or a business.

The customer stores a number of the core attributes that apply to customers, including:

  • A unique customerCode value to be used as a reference for your customer in the Helcim system.
  • A required contactName and / or businessName, as well as an optional cellPhone contact number for your customer.
  • A billingAddress and shippingAddress sub-object to store your customers billing and shipping details.

Cards

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

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

  • Non-sensitive cardholder details, such as cardholder name, first 6 and last 4 of the card number, and the card expiry date.
  • Unique cardToken value to allow for processing within the Payment API.
  • A range of date values indicating when the card was created and last updated.

Bank accounts

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.

PAD agreements

A pad object is created and stored against a customers bank object, as an indication that the banking details have been verified and payments using these details have been authorized by the customer. A PAD agreement can be created and authorized through a range of payment tools, such as HelcimPay.js, the ACH Payment API, or within the Customer section of your Helcim account.

A PAD agreement stores a number of core payment details for the customers bank authorization, including:

  • Details on which bank account and customer the PAD agreement is for.
  • A range of date values indicating when the PAD agreement was created, accepted, revoked, updated, and when the earliest debit from the bank account can occur.
  • The status of the PAD agreement, indicating whether it i spending, has been accepted, or has been revoked.

Customer API endpoints

Create, retrieve and update customer objects using the following endpoints.

Retrieve customer card and bank objects using the following endpoints.

Create or update a customer bank object using the following endpoints.

👍

New Customer API endpoints

The beta V2.2 of the Customer API contains a range of additional endpoints to assist you in managing your customers in the Helcim system. Review the updated endpoints here.