Merchant & Terminal Registration API
The TECS Merchant and Terminal Registration API enables users to:
- Automatically register new merchants and terminals on the TECS Platform
- Receive email and SMS notifications upon successful merchant registration
- Deactivate terminals if they are broken, stolen, or otherwise compromised
Overview
For merchant registration and the registration of the first terminal, use the Merchant and Terminal Registration call, registerNewMerchant
. The caller must provide the packageid, which is supplied by TECS and is constant for a specific terminal type.
The caller needs to store the packageorderuuid
received as a response parameter from the registerNewMerchant
call. This parameter must be provided as an input inregisterAdditionalTerminal
or registerAdditionalAcquiring
call if the caller wants to register an additional terminal or acquirer for an existing merchant.
If a terminal is broken, stolen, or otherwise compromised, it needs to be deactivated using the deactivateTerminal
call. A replacement terminal can be registered by calling registerAdditionalTerminal
.
API Endpoints
Register a New Merchant and Terminal
The registerNewMerchant
call enables the user to register both a merchant and an associated terminal.
Example Request
curl -X POST \
"https://test.tecs.at/merchantportalws/registerNewMerchant" \
-u User1:Password1 \
-H "accept: application/json" \
-H "content-type: application/json" \
-d "{
\"merchant_name\": \" Test merchant\",
\"business_reg_number\": \"345345345\",
\"country\": \"SVK\",
\"state\": null,
\"city\": \"Bratislava\",
\"street\": \"Palisady 12\",
\"zipcode\": \"81106\",
\"packageid\": \"87055654-3158-42fc-9838-74f1fc77f42b\",
\"productid\": \"1749b8f1-d049-45e0-86f2-762d803bb286\",
\"productid_acquirer\": \"874d84a8-a6f4-47fa-b594-944593fc394b\",
\"terminalid_acquirer\": \"66000001\",
\"terminal_location\": \"Palisady 12 BA\",
\"terminal_country_code\": \"SVK\",
\"terminal_language_code\": \"EN\",
\"terminal_serial_number\": \"325-320-924\",
\"currency\": \"EUR\",
\"vu-nummer\": \"9034520\",
\"merchant_category_code\": \"5999\",
\"sorting_code\": \"123456\",
\"account_number\": \"123456\",
\"username\": \"testuser\",
\"password\": \"testpassword\",
\"merchant_email\": \"[email protected]\",
\"merchant_phone_number\": \"+421910876567\",
\"user_email\": \"[email protected]\",
\"user_phone_number\": \"+421910876568\",
\"web_shop_url\": \"https://www.tecs.at\"\
\"additional_data\":
{
\"firstname\": \"John\",
\"surname\": \"Doe\",
\"type\": \"tx-300\",
\"version\": \"v1.2.3\"
}
}"
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
merchant_name | string (25AN) | required | The company name as it is officially incorporated |
business_reg_number | string (9AN) | required | Merchant business registration number as stated in company registry |
country | string (3AN) | required | Merchant's address: country; Must be in "ISO-3166 ALPHA-3" format |
state | string | optional | Merchant's address state |
city | string | required | Merchant's address city |
street | string | required | Merchant's address street and house number |
zipcode | string | required | Merchant's address postal code |
packageid | string | mandatory | Identifier of package in Tecs processing engine provided by TECS. |
productid | string | optional | Optional identifier of product in Tecs processing engine provided by TECS. If not specified, default product is used as defined in package definition. |
productid_acquirer | string | optional | Optional identifier of product provided by acquirer; if not specified, default product is used as specified in package definition |
terminalid_acquirer | string | optional | Terminal ID provided by the acquirer |
terminal_location | string | mandatory | Terminal location |
terminal_country_code | string (3AN) | mandatory | Terminal country code; must be in "ISO-3166 ALPHA-3" format |
terminal_language_code | string (2AN) | mandatory | Terminal language code; must be in "ISO 639-1" format |
terminal_serial_number | string (50AN) | conditional | Terminal serial number |
currency | string (3AN) | mandatory | Transaction currency; must be in "ISO 4217" format |
vu-nummer | string (15AN) | mandatory | Merchant contract number with acquirer |
merchant_category_code | int (4N) | mandatory | Merchant category code |
sorting_code | numeric (9N) | optional | Sorting code provided by acquirer |
account_number | numeric (9N) | optional | Account number provided by acquirer |
username | string | optional | Merchant username for MPOS; if it's not provided, it will be generated by TECS and provided as a response parameter |
password | string | optional | Merchant password for MPOS; if it's not provided, it will be generated by TECS and provided as a response parameter |
merchant_email | string | optional | Merchant's email address for receiving notifications |
merchant_phone_number | string | optional | Merchant's phone number for receiving notifications; Must be in international format: '+' country code phone number Example: +421910711234 |
user_email | string | optional | Email address of the user acting on behalf of the merchant |
user_phone_number | string | optional | Phone number of the user acting on behalf of the merchant; Must be in international format: '+' country code phone number Example: +421910711234 |
web_shop_url | string | optional | The web-shop url address for eCommerce terminal |
additional_data | array of (parameter:value) | optional | Additional information for acquirer |
Example Response
{
"response_code": "0",
"response_text": "OK",
"packageorderuuid": "16acb5a4-e573-423c-a024-fae90ea45d70",
"terminalid": "88091104",
"corporateuuid":"fd1b6927-9105-4e2a-92c0-07c6da71624d",
"username": "testuser",
"password": "testpassword"
}
Response Parameters
Parameter | Type | Description |
---|---|---|
responseCode | int | Response code (0 = OK, otherwise an error code) |
responseMessage | string | Human readable error description |
packageorderuuid | string | Unique identifier; can be used to register additional terminals for an existing merchant |
terminalid | numeric | The terminal identification code provided by TECS Platform |
corporateuuid | string | TECS-generated corporate identification code |
username | string | TECS-generated merchant username if not provided in request |
password | string | TECS-generated merchant password if not provided in request |
Error Codes
Error Code | Error Message |
---|---|
24000 | You don't have permissions (state User_HasNotRole) |
24001 | You don't have permissions (state Mandator_IsNotTheSame) |
24012 | Mandatory fields are not filled %1$s (state MandatoryFields_AreNotFilled) |
24014 | with arbitrary message (state Unexpected_Exception) |
24015 | merchant_name (must be present, in correct format) |
24016 | business_reg_number (must be present, in correct format) |
24017 | country (must be present, in correct format) |
24018 | city (must be present, in correct format) |
24019 | street (must be present, in correct format) |
24020 | zipcode (must be present, in correct format) |
24021 | packageid (must be present, in correct format) |
24022 | terminal_location (must be present, in correct format) |
24023 | terminal_country_code (must be present, in correct format) |
24024 | terminal_language_code (must be present, in correct format) |
24025 | terminal_serial_number (must be present, in correct format) |
24026 | currency (must be present, in correct format) |
24027 | vu_nummer (must be present, in correct format) |
24031 | merchant_category_code (must be present, in correct format) |
24032 | merchant_email (incorrect email address format) |
24033 | merchant_phone_number (incorrect phone number format) |
24034 | user_email (incorrect email address format) |
24035 | user_phone_number (incorrect phone number format) |
25000 | INTERNAL_SERVER_ERROR |
25001 | OAUTH_INTERACTION_FAILED |
25002 | OAUTH_INVALID_TOKEN |
25003 | UNAUTHORIZED |
25004 | BAD_REQUEST |
25005 | USER_INACTIVE |
25006 | CORPORATE_ACCOUNT_ERROR |
25007 | TECS_TERM_NOT_FOUND |
25008 | MANDATOR_NOT_FOUND |
25009 | INVALID_TEMPLATE |
25010 | INVALID_COUNTRY |
25011 | TECS_COMPANY_NOT_FOUND |
25012 | DATA_INTEGRITY_ERROR |
25013 | DATA_ACCESS_ERROR |
26030 | PIN_REQUIREMENT_FAILED |
26031 | PIN_ALREADY_EXISTS |
26032 | CONSUMER_NOT_PREREGISTERED_STATUS |
26033 | CONSUMER_EXISTS |
26034 | WRONG_PHONE_FORMAT |
26097 | General_ERROR |
26098 | INVALID_INPUT |
26099 | INVALID_CREDENTIALS |
27000 | INVALID_INPUT |
27002 | INVALID_PERMISSION |
27005 | BUSINESSREGNO_HAS_TO_BE_UNIQUE |
27006 | TID_HAS_TO_BE_UNIQUE |
27007 | WRONG_TID_FORMAT |
27008 | WRONG_PHONE_FORMAT |
27010 | WRONG_EMAIL_FORMAT |
Register a Terminal for an Existing Merchant
The registerAdditionalTerminal
call registers a terminal to an existing merchant.
Example Request
curl -X POST \
"https://test.tecs.at/merchantportalws/registerAdditionalTerminal" \
-u User1:Password1 \
-H "accept: application/json" \
-H "content-type: application/json" \
-d "{ \"packageorderuuid\": \"dccb9a6a-b02c-46e3-aef3-a28f0b7bf993\",
\"productid\": \"1749b8f1-d049-45e0-86f2-762d803bb286\",
\"terminal_location\": \"Palisady 12 BA\",
\"terminal_country_code\": \"SVK\",
\"terminal_language_code\": \"EN\",
\"terminal_serial_number\": \"325-320-924\",
\"terminalid_acquirer\": \"66000001\",
\"currency\": \"EUR\",
\"username\": \"testuser\",
\"password\": \"testpassword\",
\"user_email\": \"[email protected]\",
\"user_phone_number\": \"+421910876567\"
}"
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
packageorderuuid | string | required | Identifier of registered merchant in TECS system, provided in the response of the registerNewMerchant call |
productid | string | optional | Optional identifier of the product in TECS Platform; if it's not specified, a default product is used as specified in package definition |
terminal_location | string | required | Terminal location |
terminal_country_code | string (3AN) | required | Terminal country code; must be in "ISO-3166 ALPHA-3" format |
terminal_language_code | string (2AN) | required | Terminal language code; must be in "ISO 639-1" format |
terminal_serial_number | string (50AN) | optional | Terminal serial number |
terminalid_acquirer | string | optional | Terminal ID provided by the acquirer |
currency | string (3AN) | required | Transaction currency; must be in "ISO 4217" format |
username | string | optional | Merchant username for MPOS; if it's not provided, it will be generated by TECS and provided as a response parameter |
password | string | optional | Merchant password for MPOS; if it's not provided, it will be generated by TECS and provided as a response parameter |
user_email | string | optional | Email address of the user acting on behalf of the merchant |
user_phone_number | string | optional | Phone number of the user acting on behalf of the merchant; Must be in international format: '+' country code phone number Example: +421910711234 |
Example Response
{
"response_code": "0",
"response_text": "OK",
"terminalid": "88091105",
"username": "testuser",
"password": "testpassword"
}
Response Parameters
Parameter | Type | Description |
---|---|---|
responseCode | int | Response code (0 = OK, otherwise an error code) |
responseMessage | string | Human readable error description |
terminalid | numeric | The terminal identification code given by TECS Platform |
username | string | TECS-generated merchant username if not provided in the request |
password | string | TECS-generated merchant password if not provided in request |
Error Codes
Error Code | Error Message |
---|---|
24000 | You don't have permissions (state User_HasNotRole) |
24001 | You don't have permissions (state Mandator_IsNotTheSame) |
24012 | Mandatory fields are not filled %1$s (state MandatoryFields_AreNotFilled) |
24014 | with arbitrary message (state Unexpected_Exception) |
24021 | packageid (must be present, in correct format) |
24022 | terminal_location (must be present, in correct format) |
24023 | terminal_country_code (must be present, in correct format) |
24024 | terminal_language_code (must be present, in correct format) |
24025 | terminal_serial_number (must be present, in correct format) |
24026 | currency (must be present, in correct format) |
24034 | user_email (incorrect email address format) |
24035 | user_phone_number (incorrect phone number format) |
25000 | INTERNAL_SERVER_ERROR |
25001 | OAUTH_INTERACTION_FAILED |
25002 | OAUTH_INVALID_TOKEN |
25003 | UNAUTHORIZED |
25004 | BAD_REQUEST |
25005 | USER_INACTIVE |
25006 | CORPORATE_ACCOUNT_ERROR |
25007 | TECS_TERM_NOT_FOUND |
25008 | MANDATOR_NOT_FOUND |
25009 | INVALID_TEMPLATE |
25010 | INVALID_COUNTRY |
25011 | TECS_COMPANY_NOT_FOUND |
25012 | DATA_INTEGRITY_ERROR |
25013 | DATA_ACCESS_ERROR |
26030 | PIN_REQUIREMENT_FAILED |
26031 | PIN_ALREADY_EXISTS |
26032 | CONSUMER_NOT_PREREGISTERED_STATUS |
26033 | CONSUMER_EXISTS |
26034 | WRONG_PHONE_FORMAT |
26097 | General_ERROR |
26098 | INVALID_INPUT |
26099 | INVALID_CREDENTIALS |
27000 | INVALID_INPUT |
27002 | INVALID_PERMISSION |
27005 | BUSINESSREGNO_HAS_TO_BE_UNIQUE |
27006 | TID_HAS_TO_BE_UNIQUE |
27007 | WRONG_TID_FORMAT |
27008 | WRONG_PHONE_FORMAT |
27010 | WRONG_EMAIL_FORMAT |
Register An Acquirer
The registerAdditionalAcquiring
call can be used to register an acquirer to a terminal
Example Request
curl -X POST \
"https://dev.tecs.at/merchantportalws/registerAdditionalAcquiring" \
-u User1:Password1 \
-H "accept: */*" \
-H "Content-Type: application/json" \
-d "{ \"additionalData\": {\"firstname\": \"John\",\"surname\": \"Doe\",\"type\": \"tx-300\",\"version\": \"v1.2.3\"},
\"currency\": \"EUR\",
\"packageOrderUUID\": \"16acb5a4-e573-423c-a024-fae90ea45d70\",
\"productIdAcquirer\": \"874d84a8-a6f4-47fa-b594-944593fc394b\",
\"terminalIdAcquirer\": 66000001,
\"terminalIds\": [ 77000001, 77000002, 77000003 ],
\"vuNummer\": \"VU-20230501-00123\"
}"
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
additionalData | array | optional | Additional data to provide to the acquirer; Format: {parameter: value,….;}. |
currency | string (3AN) | required | Transaction currency; must be in "ISO 4217" format |
packageorderuuid | string | required | Identifier of registered merchant in TECS Platform, provided by TECS in "Merchant and terminal registration" call |
productIdAcquirer | string | required | Identifier of acquiring product in TECS namespace |
terminalid_acquirer | string | optional | Terminal ID provided by the acquirer |
terminalIds | string | optional | List of terminals IDs to be assigned to the acquirer. If not provided, acquiring will be activated for all terminals registered with the merchant. |
vu-nummer | string(15AN) | required | Merchant contract number with the acquirer |
Example Response
{
"response_code": "0",
"response_text": "OK"
}
Response Parameters
Parameter | Type | Description |
---|---|---|
responseCode | int | Response code (0 = OK, otherwise an error code) |
responseMessage | string | Human readable error description |
Error Codes
Error Code | Error Message |
---|---|
24000 | You don't have permissions (state User_HasNotRole) |
24001 | You don't have permissions (state Mandator_IsNotTheSame) |
24012 | Mandatory fields are not filled %1$s (state MandatoryFields_AreNotFilled) |
24014 | with arbitrary message (state Unexpected_Exception) |
24026 | currency (must be present, in correct format) |
24027 | vu_nummer (must be present, in correct format) |
24028 | packageorderuuid (must be present, in correct format) |
25000 | INTERNAL_SERVER_ERROR |
25001 | OAUTH_INTERACTION_FAILED |
25002 | OAUTH_INVALID_TOKEN |
25003 | UNAUTHORIZED |
25004 | BAD_REQUEST |
25005 | USER_INACTIVE |
25006 | CORPORATE_ACCOUNT_ERROR |
25007 | TECS_TERM_NOT_FOUND |
25008 | MANDATOR_NOT_FOUND |
25009 | INVALID_TEMPLATE |
25010 | INVALID_COUNTRY |
25011 | TECS_COMPANY_NOT_FOUND |
25012 | DATA_INTEGRITY_ERROR |
25013 | DATA_ACCESS_ERROR |
26030 | PIN_REQUIREMENT_FAILED |
26031 | PIN_ALREADY_EXISTS |
26032 | CONSUMER_NOT_PREREGISTERED_STATUS |
26033 | CONSUMER_EXISTS |
26034 | WRONG_PHONE_FORMAT |
26097 | General_ERROR |
26098 | INVALID_INPUT |
26099 | INVALID_CREDENTIALS |
Deactivate a Terminal
See an example of the deactivateTerminal
request and response below:
Example Request
curl -X POST \
"https://test.tecs.at/merchantportalws/deactivateTerminal" \
-u User1:Password1 \
-H "accept: application/json" \
-H "content-type: application/json" \
-d "{ \"terminalid\": \"88091105\",
\"reason_deactivation\": \"Terminal was stolen\"
}"
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
terminalid | numeric | required | The terminal identification code generated by TECS Platform |
reason_deactivation | string | required | The reason the terminal is being deactivated |
Example Response
{
"response_code": "0",
"response_text": "OK",
}
Response Parameters
Parameter | Type | Description |
---|---|---|
responseCode | int | Response code (0 = OK, otherwise an error code) |
responseMessage | string | Human readable error description |
Error Codes
Error Code | Error Message |
---|---|
24000 | You don't have permissions (state User_HasNotRole) |
24001 | You don't have permissions (state Mandator_IsNotTheSame) |
24012 | Mandatory fields are not filled %1$s (state MandatoryFields_AreNotFilled) |
24014 | with arbitrary message (state Unexpected_Exception) |
24029 | terminalid (must be present, in correct format) |
24030 | reason_deactivation (must be present, in correct format) |
25000 | INTERNAL_SERVER_ERROR |
25001 | OAUTH_INTERACTION_FAILED |
25002 | OAUTH_INVALID_TOKEN |
25003 | UNAUTHORIZED |
25004 | BAD_REQUEST |
25005 | USER_INACTIVE |
25007 | TECS_TERM_NOT_FOUND |
25008 | MANDATOR_NOT_FOUND |
25012 | DATA_INTEGRITY_ERROR |
25013 | DATA_ACCESS_ERROR |
Updated 5 months ago