Skip to main content

Customer Vault

Customer APIs or Customer Vault allows a merchant to store details about a customer beyond simply storing payment method details. A Customer can be created through the APIs with two data elements returned in the response--- Customer ID and Customer Token. Customer ID is utilized to modify, view, and delete details within the Customaer Vault. Customer Token can be used as a payment token within the Payment APIs. This implementation utilizes the default payment token associated with the Customer Vault. Customer data is stored on Exact's secure platform thus reducing PCI scope for our Partners and their customers. Customer Vault is an ideal solution for any Partner or merchant which uses an internal customer ID for payment and billing processes including: billing systems, membership services and subscriptions.

Customer Vault enables secure storage of any relevant data including multiple shipping adresses (with labels) as well as multiple payment tokens (only tokens can be linked to the Customer Vault). Shipping addresses can be added at time of creation or any time thereafter. Payments tokens must be added after the fact utilizing the Customer ID.

In order to create a customer, the following JSON request is sufficient:

Create Customer
{
"addresses": [
{
"label": "Work",
"city": "Scottsdale",
"country": "United States",
"postalCode": "85251",
"state": "AZ",
"line1": "7272 Indian School Dr",
"isDefault": true
}
],
"name": "John Doe",
"email": "[email protected]",
"phone": "4801111111"
}
'

As mentioned Customer ID can be used to update the details, delete details, view details, or even delete the Customer account once created.

As an example, various payment tokens can be added using a JSON request as follows:

Add Payment Method for a Customer
     --url https://api.exactpaysandbox.com/customer/62d9be95cb27b92e42c9b0c0/payment-method \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"token": "9fd22452-a8ba-424c-bcce-9deb98f272a0",
"isDefault": true,
"label": "Visa Card"
}
'