Authentication

POS Integration / Core Concepts

Authentication

Each merchant within the LevelUp ecosystem has a merchant account with LevelUp. This merchant account enables them to process payments, run campaigns and view their customer data.

A POS with LevelUp integration is essentially processing payments on behalf of a merchant and therefore needs to connect to that merchant’s account to be granted permission to do so.

The first step to interacting with the LevelUp API on behalf of a merchant is to obtain an authorization token for that LevelUp merchant. This is accomplished by making a POST request to the access token endpoint with your specific API Key, the merchant’s username, and merchant’s password.

Your POS should expose a simple login interface (for the merchant’s username & password) to enable merchants to connect their LevelUp merchant account to your POS. This will return an authorization token which can be used to process payments on behalf of that merchant. The merchant’s username and password should never be stored in your system, only the authorization token. Authorization tokens are long-lived and will only be invalidated if a merchant does so via manual action in their account dashboard.

You’ll also need to pair your system’s representation of a location to that of LevelUp’s. The merchant’s ID will also enable you to hit the managed locations endpoint to look up the locations that belong to that merchant, along with their addresses and IDs. These locations should be used to populate a drop-down menu so the merchant can select the active location. Do not allow the merchant to enter their location ID manually. To facilitate finding the correct location with ease, the dropdown entries should include location ID, description, and address. Furthermore, it is recommended that you provide some form of search functionality to filter the dropdown list by any of these attributes.

Config Tool

Once you have the merchant’s ID, locations and authorization token, your POS has configured itself and should be ready to process transactions.