A fully automated statement communication tool designed to get your merchants paid. Our Customer Statements API allows you to perform a payment request via text or email, attach a base 64 encoded image of the eStatement, collect a payment, and retrieve payment results in real-time via a WebHook.
These terms will be used throughout the guide.
| Term | Definition |
|---|---|
| CX-API-Key | The value we use to authenticate your requests. A CX-API-Key is linked to a Service Location. |
| Service Location | A Service Location contains data that describes the business entity. |
| Customer | This is the person or entity that you’ll create, and subsequently, initiate Statement balance updates. |
| Statement | A Statement lets the Customer know how much they owe, and gives them an opportunity to easily pay that balance. |
| Payment | A Credit Card charge performed against the outstanding balance of a Statement. |
| primaryPhone | This primary phone number for a customer should be a number capable of receiving SMS Text messages (mobile or cell phone number). Phone numbers should be E.164 formatted. |
| Autocomplete | Allows a web browser or service to automatically populate credit card fields with card info (card number, expiry date, etc...). |
Checkout the Postman collection for more details:https://documenter.getpostman.com/view/10238133/2s93CGRb71
Once you have your credentials, you’ll need to create a Service Location.
To create a Service Location, send a POST request to the setServiceLocation endpoint. If everything is good, we’ll return a successful response with the info for your Service Location. Otherwise, we’ll return an error letting you know what went wrong.
Postman Example
Now it’s time to add a Customer to your Service Location.
To create a Customer, send a POST request to the setCustomer endpoint. If all is well, you’ll receive a response that includes an ID for the Customer you just created.
To update an existing Customer, include the Customer ID in your request payload.
If no ID is passed in the request, we create a new Customer record.
Keep in mind, we use the ‘primaryPhone’ and ‘primaryEmail’ attributes to determine where to send Statement Notifications (Phone is preferred, but we’ll use email if no Phone is provided).
Postman Example
Now that you have a Customer, it’s time to create a Statement for them.
To create a Statement, send a POST request to the setStatement endpoint. If successful, you’ll receive a response that includes an ID for that particular statement. We’ll automatically notify your Customer that they have a statement available.
Every Customer can have only 1 statement at a time, so their statement link will always show the newest info.
An attachment can be added to the statement in PDF format as a raw Base64 encoded string (See the Postman example showing ‘Statement with Attachment’)
Note on PDF Attachments:
PDF’s should meet the following criteria:
You can decrease PDF size by:
Any computer sending statements should have the correct date and time (most systems can sync with an external Time Server).
If you’d like to have the same link the Customer gets, include the ‘Location-As-Navigable-Url: true’ header in your Statement request.We’ll return the statement link as part of the response header, which includes a normal link and a tinylink.
The statement link is only for the Customer. A merchant user should never use that link! Autocomplete is enabled, and a merchant user's browser may autofill incorrect card details.
Postman Example
You can view the statement using the link in your Customer’s notification, or the link we return in the Statement request (see Step 3 for ‘Location-As-Navigable-Url’).

Click the ‘Pay Now’ button to make a Credit Card payment for that statement.

You can easily find out when a Payment is posted using the PUSH option below. (PULL is in pre-release)
PUSH
Example:
Send an updated Statement request whenever the Balance Due changes. This ensures your Customer's Statement is always up to date.
PUSH Postman Example
PULL (pre-release)
PULL Example (pre-release)
Always handle queue items in a timely manner. An item remains in the queue until it is handled.
PULL Postman Example
You can easily configure Customer Statements behavior and branding by using our Configuration UI (available via Token & Pop).
Token & Pop is an action driven service that creates User Interfaces. In other words, you tell us what you want to do, and we'll provide the UI to get it done.
For example, if you want to change some configuration settings for your Service Location:
Your existing administration or settings pages are a great place to embed the UI, as your users may already be familiar with those screens.
There are 2 Configuration actions available for Customer Statements:administerServiceLocationThis UI shows settings that only apply to a specific Service LocationThese settings override the settings at the Implementation Level.Example: This specific Service Location will send an email instead of a SMS.administerPartnerImplementationThis UI shows settings that apply to all Partner Service Locations by defaultA Service Location can override these settingsExample: By default, all Service Locations will send a SMS instead of an email
Postman Example