Customer API
Manage your customer information and payment details using the Customer API.
Overview
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 closed 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
, andpad
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 / orbusinessName
, as well as an optionalcellPhone
contact number for your customer. - A
billingAddress
andshippingAddress
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.
Updated 5 days ago