Customers
Track customer information and payments in the Helcim system.
The customer object
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
customerCodevalue to be used as a reference for your customer in the Helcim system. - A required
contactNameand / orbusinessName, as well as an optionalcellPhonecontact number for your customer. - A
billingAddressandshippingAddresssub-object to store your customers billing and shipping details.
// Example customer object
{
"id": 24332090,
"customerCode": "CST1049",
"businessName": "Helcim",
"contactName": "John Doe",
"dateCreated": "2024-09-18 15:26:25",
"dateUpdated": "2024-09-18 15:26:26",
"cellphone": "1234567899",
"billingAddress": {
"name": "John Doe",
"street1": "123 Test Street",
"street2": "Suite 2",
"city": "Calgary",
"province": "AB",
"country": "CAN",
"postalCode": "H0H0H0",
"phone": "1234567899",
"email": "[email protected]"
},
"shippingAddress": {
"name": "John Doe",
"street1": "123 Test Street",
"street2": "Suite 2",
"city": "Calgary",
"province": "AB",
"country": "CAN",
"postalCode": "H0H0H0",
"phone": "1234567899",
"email": "[email protected]"
},
"cards": []
}
Retrieving objects in the cards arrayTo retrieve
cardobjects associated with a customer in the Helcim system, you can use the following endpoints.
Creating a customer
There are a few different ways to create a customer in the Helcim system, including:
- Using the Create customer endpoint in the Customer API.
- Using the
customerRequestobject in your HelcimPay.js initialize request. - Using the default Helcim system functionality that will create a basic
customerobject for any payments processed where an existing customer is not linked to the transaction.
Either a contactName or businessName parameter (or both) are the minimum required body parameters when creating a customer object.
The optional body parameters can include the following values.
| Key | Type | Description |
|---|---|---|
customerCode | string | A string value used as a reference for the customer in the Helcim system. If not passed, the Helcim system will automatically generate this value based on your Customer Settings. |
cellPhone | string | A string value between 10 and 16 characters long, used to store the customer contact phone number. |
billingAddress | object | A sub-object used to store the customers billing information. A valid billingAddress object must contain name, street1, and postalCode string values. |
shippingAddress | object | A sub-object used to store the customers shipping information. A valid shippingAddress object must contain name, street1, and postalCode string values. |
Setting thebillingAddressandshippingAddressprovince and country values
- The
provinceandcountryvalues for acustomerobject are used for tax calculation purposes, when tax is calculated using customer location in the Helcim system.- It is optional to send these values, but if you send either a
provinceorcountryvalue for the United States or Canada, the other value becomes required and must also be sent.
Associated objects
A customer object created in the Helcim system can be linked to invoice, transaction, and subscription objects, allowing for a history of customer payments and records.
You can link an existing customer to the following types of objects.
- Transactions created through the Payment API or HelcimPay.js using the
customerCode. - Transactions created through the ACH Payment API using the
customerId. - Invoices created through the Invoice API using the
customerId. - Subscriptions created through the Recurring API using the
customerCode.
Customer settings
Your Helcim account Customer Settings will impact the customerCode created for any default customer object created by payments through the Payment API or HelcimPay.js.
These settings, located under All Tools and then Settings, control the default Prefix and Number Length of your customerCode values.

Updated 5 months ago