Boarding an Account

In our hierarchy, one Account can have many Merchants, and each Merchant can have many Terminals. You can think of the mapping roughly as follows:

Account = Your merchant's main corporate entity
Merchant = A particular branch
Terminal = A point-of-sale within a particular branch

To create a new merchant account, you will need to send a request to the Onboarding API.

Below is a sample request containing the bare minimum required to create a new account.

Complete details of the API, and the response object, are available at the Accounts documentation.

POST /accounts
{
  "business_entity": {
    "name": "Bob's Builders",
    "address": {
      "line1": "4665 Kerry Way",
      "city": "New York",
      "state": "NY",
      "postal_code": "10001",
      "country_code": "USA"
    }
  }
}

This will result in an Account being created for your merchant, ready for you to add Merchant and Terminal entities.

We need to add at least one Merchant to our account. You will need to have the relevant identifiers issued by the backend processor, commonly provided on a merchant's VAR sheet. This example is configured to process through Fiserv, though we also support Elavon as a backend processor.

Complete details of the API, and the response object, are available at the Merchants documentation.

POST /accounts/account_id/merchants
{
  "name": "Location 1",
  "processor_details": {
    "fiserv": {
      "mid": "1234567890"
    }
  }
}

We also need to add at least one Terminal to each Merchant. Again, the relevant processor identifiers are required and the backend processor for the Terminal must match that of the Merchant it is being created under.

The Terminal entity is more detailed and allows you to enable various features and support for different card brands.

Complete details of the API, and the response object, are available at the Terminals documentation.

POST /accounts/account_id/merchants/merchant_id/terminals
{
  "name": "POS 5",
  "time_zone": "PST",
  "processor_details": {
    "fiserv": {
      "division_id": "12345678"
    }
  },
  "card_brands": [
    {
      "brand": "visa",
      "mcc": 7123
    },
    {
      "brand": "mastercard",
    }
  ],
  "features" {
    "apple_pay": true,
    "google_pay": true,
    "soft_descriptors": true
  }
}

Finally, in order for your merchant to be able to log in to the Exact Gateway Admin UI and manage their account, we need to add an Admin User to the Account.

Complete details of the API, and the response object, are available at the Admin Users documentation.

POST /accounts/account_id/users
{
  "first_name": "Bob",
  "last_name": "Builder",
  "email": "[email protected]",
  "phone": "5551234567"
}

The response from the API will contain some key pieces of information which you will need to provide to your merchant to allow them to complete their signup process and start using the Exact Admin Gateway.

The important pieces of information are:

  • the activation_url
  • the email
  • the ID of the account to which you added this user

Your merchant will need to visit the activation_url in their browser to complete their signup process, including choosing a password and setting their security questions. They will be asked for the account ID when they visit that link.

For future logins to the Gateway Admin UI, they will use the email as their username, plus the password they created themselves.

To use any of our merchant APIs, eg: Payments API, Tokens API or Orders API, the Merchant Admin will need to create the relevant API key for the account. Details on how to do so are available in our API Access Set-up guide.