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-d070e66e6adbTSYS 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.

