Customers (Tokenization)

Our API allows you to store customers and associated payment information (ACH or Credit Card tokens).  Any type of payment valid in a transaction is also valid to tokenize.  All tokenization is provided through the customer functionality, so to create a token you must associate it with a customer (either by creating a new customer or adding an additional payment (token) to an existing customer).

A customer record contains:

  • An assigned Id (primary key)

  • At least one payment method (token)

  • An indicator for whether the customer is exempt from surcharge

  • Billing Address

  • Shipping Address

  • Description

  • Notes

  • Associated Recurring Payments

  • Associated Dynamic Invoices

  • Associated Manual Payments (Through the Virtual Terminal or this API)

Customer records can be accessed completely via the API, and transactions processed through the API can be associated with a customer.  They can also be accessed (viewed, edited, charged) through the Merchant Portal.

You cannot create a customer record without a payment.  The billing and shipping addresses are optional but at least one payment method (token) must be provided.  

Tokenizer Note: Tokens retrieved from the iframe (tokenizer) are only a one-time use, you can use them to create a payment method (token) on a customer though.  When you do a new token will be generated and will be multi-use.

Customer Search

POST URL_GOES_HERE/customer/search

Link to API Documentation for customer search

The Customer Search function allows for querying the customer records by the fields below, "limit" and "offset" would be sent for all requests while the fields below that can be used to search by the specified field.

limit  (Default 10)  --> Max records to return
offset  (Default 0)  --> Number of records to offset the return by
id  (optional)  --> customer id to search for
id.operator  (required for id search)  --> search operator '='
id.value  (required for id search)  --> value to search for
payment_method.id  (optional)  --> search customers with the provided default payment_method_id
payment_method.operator  (required for payment_method search)  --> search operator '='
payment_method.value  (required for payment_method search)  --> value to search for
billing_address_id.id  (optional)  --> search customers with the provided default billing_address_id
billing_address_id.operator  (required for billing_address_id search)  --> search operator '='
billing_address_id.value  (required for billing_address_id search)  --> value to search for
shipping_address_id.id  (optional)  --> search customers with the provided default shipping_address_id
shipping_address_id.operator  (required for shipping_address_id search)  --> search operator '='
shipping_address_id.value  (required for shipping_address_id search)  --> value to search for
created_at  (optional)  --> search for customers in the provided date range
created_at.start_date  (required for created_at)  --> start date in UTC
created_at.end_date  (required for created_at)  --> end date in UTC