TSYS terminal boarding

Processor configurations

Boarding requires a processor_config_id available to your account in the same environment. List available configurations before choosing an ID.

Configuration UAT processor_config_id Production processor_config_id
TSYS (no PIN) dcc6d302-2406-4973-b555-d070e66e6adb
TSYS AWS (no PIN): c614b77b-875f-403a-b7f6-5aaea09b340c
0571c931-c150-4520-ba18-5466ce52929b
TSYS with PIN 1f402cde-38c2-43fa-a665-c7a0440f5051 a9ca2524-5bff-4778-8833-11ee3aad4d0d
Netevia 8363f0d7-10b0-4b90-add1-5b9ed6b01e5d fea3db59-3964-4f23-8ad7-a907e147f993

For access to TSYS with PIN, contact support@koard.com.

For production access to TSYS (no PIN) and Netevia, contact support@koard.com.

Examples with listed IDs use UAT. For production, use the production API URL, API key and configuration ID.

Use POST /v2/terminals with the merchant's account_id, the assigned processor_config_id, and a var_sheet containing the TSYS values below. name is an optional terminal display name; terminal_name is also accepted.

TSYS (no PIN) and TSYS with PIN are different configurations. Use the corresponding processor_config_id from the table above; they have separate request examples below. TSYS with PIN access requires contacting support@koard.com.

The same VAR-sheet fields apply to TSYS with PIN and Netevia configurations.

Required VAR-sheet fields

Field What to send
acquirer_bin Six-digit acquirer BIN
merchant_number Twelve-digit merchant number
store_number Four-digit store number assigned in the VAR sheet
terminal_number Four-digit terminal number assigned in the VAR sheet
merchant_category_code Four-digit merchant category code
merchant_name Merchant business name
merchant_location Merchant city
merchant_state Two-letter US state code
city_code Merchant ZIP code
acceptor_street_address Merchant street address
industry_code Industry code assigned for the merchant, such as R for retail
acceptor_phone Merchant phone number

Use the assigned store and terminal numbers, including leading zeros. 0001 is an example and should be used only when it is the assigned value.

API phone inputs accept formatted US numbers, including a leading +1, and normalize to ten digits. For example, +1 (212) 555-0100 becomes 2125550100.

Optional VAR-sheet fields

Field Behavior
acceptor_customer_service_phone Defaults to acceptor_phone; uses the same phone normalization
country_code Defaults to USA; US, 840, and null also become USA
currency_code Defaults to 840 for US dollars
language_indicator Defaults to 00
time_zone_diff Three-digit TSYS time-zone value; defaults to 705. Use the assigned value for your merchant.
authentication_code Terminal authentication code, when needed to obtain a new key
gen_key Previously issued terminal key. Send either this or authentication_code, not both.

Snake_case and camelCase VAR-sheet names are accepted. merchant_location means city, and city_code means ZIP. See shared address rules.

Request examples

Send these request bodies to POST /v2/terminals with your Koard API key in the X-Koard-apikey header.

Processor configuration IDs are listed by environment above. Merchant account IDs, credentials and merchant details below are fictional placeholders; replace them with your merchant's values. Preserve leading zeros.

TSYS (no PIN)

UAT example. Use your assigned VAR-sheet values. Store and terminal numbers must retain their leading zeros; the values below are examples, not defaults.

{
  "account_id": "00000000-0000-4000-8000-000000000001",
  "processor_config_id": "dcc6d302-2406-4973-b555-d070e66e6adb",
  "name": "Example Coffee",
  "var_sheet": {
    "acquirer_bin": "123456",
    "merchant_number": "123456789012",
    "store_number": "0001",
    "terminal_number": "0002",
    "merchant_category_code": "5812",
    "merchant_name": "Example Coffee",
    "merchant_location": "New York",
    "merchant_state": "NY",
    "city_code": "10016",
    "acceptor_street_address": "123 Main Street",
    "industry_code": "R",
    "acceptor_phone": "2125550100",
    "acceptor_customer_service_phone": "2125550101",
    "currency_code": "840",
    "country_code": "USA",
    "language_indicator": "00",
    "time_zone_diff": "705"
  }
}

TSYS with PIN

UAT example. Use your assigned VAR-sheet values. Store and terminal numbers must retain their leading zeros; the values below are examples, not defaults.

{
  "account_id": "00000000-0000-4000-8000-000000000001",
  "processor_config_id": "1f402cde-38c2-43fa-a665-c7a0440f5051",
  "name": "Example Coffee",
  "var_sheet": {
    "acquirer_bin": "123456",
    "merchant_number": "123456789012",
    "store_number": "0001",
    "terminal_number": "0002",
    "merchant_category_code": "5812",
    "merchant_name": "Example Coffee",
    "merchant_location": "New York",
    "merchant_state": "NY",
    "city_code": "10016",
    "acceptor_street_address": "123 Main Street",
    "industry_code": "R",
    "acceptor_phone": "2125550100",
    "acceptor_customer_service_phone": "2125550101",
    "currency_code": "840",
    "country_code": "USA",
    "language_indicator": "00",
    "time_zone_diff": "705"
  }
}

Netevia

UAT example. Use your assigned VAR-sheet values. Store and terminal numbers must retain their leading zeros; the values below are examples, not defaults.

{
  "account_id": "00000000-0000-4000-8000-000000000001",
  "processor_config_id": "8363f0d7-10b0-4b90-add1-5b9ed6b01e5d",
  "name": "Example Coffee",
  "var_sheet": {
    "acquirer_bin": "123456",
    "merchant_number": "123456789012",
    "store_number": "0001",
    "terminal_number": "0002",
    "merchant_category_code": "5812",
    "merchant_name": "Example Coffee",
    "merchant_location": "New York",
    "merchant_state": "NY",
    "city_code": "10016",
    "acceptor_street_address": "123 Main Street",
    "industry_code": "R",
    "acceptor_phone": "2125550100",
    "acceptor_customer_service_phone": "2125550101",
    "currency_code": "840",
    "country_code": "USA",
    "language_indicator": "00",
    "time_zone_diff": "705"
  }
}

Update a terminal

Use PUT /v2/terminals/{terminal_id} with only the fields you want to change:

{
  "var_sheet": {
    "merchant_name": "Example Coffee Downtown",
    "acceptor_street_address": "456 Main Street"
  }
}

Omitted address fields keep their current values. See automated batch scheduling to configure an automatic batch schedule.