This feature enables your integration to retrieve a terminal's configuration. This was introduced to facilitate the configuration of your integrations, enabling your solution to verify settings before sending requests and to avoid wrong requests and inconsistencies while integrating with the Payment Gateway.
The following resources are the same for all the requests and responses you find in this page:
TYPE | URL |
---|---|
Request URL | https://testpayments.nuvei.com/merchant/xmlpayment |
XML XSD descriptor | https://testpayments.nuvei.com/merchant/gateway.xsd |
Use the Request URL and the Request Body Fields to perform a request for this feature, then prepare your integration to receive the response, as defined by the Response Body Fields.
During the boarding process of a Merchant, one or a set of terminals is configured to process transactions. Many important settings, which could change over time to adapt to the Merchant's needs, are kept in these terminals' configuration section.
Using this solution, you can consult a terminal's configuration in order to apply specific conditions and rules dynamically, without having to manually manage the changes in the terminal's configurations.
FIELD | REQUIRED | DESCRIPTION |
---|---|---|
TERMINALID | Y | The merchant's terminal ID. |
CUSTOM_FIELD_LANGUAGE | N | Language in which the custom fields of this given terminal should be retrieved in. Code, between 2 and 5 characters. |
DATETIME | Y | Request date and time. Format: DD-MM-YYYY:HH:MM:SS:SSS. |
HASH | Y | A HASH code formed by part of the request fields. The formation rule is given at the ND001 - Hash Formation, in the next section. |
ND001 - Hash Formation
The general rule to build the HASH field is given at the Special Fields and Parameters page, under the Hash Parameter section. For this specific feature, you should use the following formats:
For this specific feature, you should consider the following format:
TERMINALID:CUSTOM_FIELD_LANGUAGE:DATETIME:SECRET
<?xml version="1.0" encoding="UTF8"?> <TERMINAL_CONFIGURATION> <TERMINALID>3614006</TERMINALID> <DATETIME>06-03-2018:17:41:08:273</DATETIME> <HASH>44ada4060336a13b8d8a145c3f65865c</HASH> </TERMINAL_CONFIGURATION>
REMEMBER to replace the TERMINALID and Terminal Secret with valid values.
The response body will contain many of the main terminal settings. The Payment Gateway is going to send back the response and you need to prepare your integration to extract those settings. The response body fields will be:
FIELD | DESCRIPTION |
---|---|
TERMINALID | Same value as the one provided at the request. |
CURRENCY | Currency in which the terminal was configured to process transactions. A 3 character code following the ISO 4217 Currency Code. |
ALLOW_MULTICURRENCY | Boolean defining if the terminal allows multicurrency processing. |
ALLOW_EMCP - mandatory | Boolean defining if the terminal allows eMCP currency processing. |
ALLOW_MOTO - mandatory | Boolean defining if the terminal allows MOTO operation. |
ALLOW_INTERNET | Boolean defining if the terminal allows INTERNET integration. |
ALLOW_EDCC | Boolean defining if the terminal allows eDCC currency processing. |
ALLOW_CHP | Boolean defining if the terminal allows CHP transaction processing. |
SUPPORTED_CURRENCIES | List of currencies suported by the Terminal to multicurrency processing of any kind. |
(SECURE_CARD_STORAGE) ENABLED | Boolean defining if the terminal can store Secure Cards. |
(SECURE_CARD_STORAGE) ALLOW_SUBSCRIPTION | Boolean defining if the terminal can register Subscriptions. |
(LEVEL_II_DATA) ENABLED | Boolean defining if the terminal allows the transaction Level II Data Validation. |
(LEVEL_II_DATA) COMPULSORY | Text defining, in case the terminal allows Level II Data Validation, the address mode to be used for validation (can be EXACT or POSTAL). |
SHOW_CVV - mandatory | Boolean defining if the terminal should show CVV on requests for transactions. |
(AVS) ENABLED | Boolean defining if the terminal has AVS service enabled for transactions. |
(AVS) COMPULSORY | Boolean defining, in case the terminal has the AVS service enabled, if the information of its fields is mandatory in requests. |
(AVS) API_ADDRESS_MODE | Text defining, in case the terminal has the AVS service enabled, the address mode to be used for validation (can be EXACT or POSTAL). |
ALLOW_MAX_MIND | Boolean defining if the terminal has the MaxMind service enabled. |
(SENTINEL_DEFEND) ENABLED | No longer supported. |
(SENTINEL_DEFEND) ORGANIZATION_ID | No longer supported. |
(SENTINEL_DEFEND) FRAUDREVIEWSESSIONID | No longer supported. |
ENABLE_BACKGROUND_VALIDATION | Boolean defining if the terminal has the background validation feature enabled for HPP transactions. |
ALLOW_ACH_JH | Boolean defining if the terminal allows processing of transactions via ACH Jack Henry. |
CUSTOM_FIELDS | List of custom fields configured for the terminal, where each custom field is composed by: NAME/ DISPLAY_NAME/ DISPLAY_ORDER/ TYPE/ PAYMENT_PAGE/ MANDATORY. |
DATETIME | Response date and time. Format: DD-MM-YYYY:HH:MM:SS:SSS. |
HASH | A HASH code formed by part of the request fields. The formation rule is given at the ND001 - Hash Formation, in the next section. |
ND001 - Hash Formation
The general rule to build HASH field is given at the Special Fields and Parameters page, under the Hash Parameter section.
For this specific feature, you should consider the following format:
TERMINALID:CURRENCY:ALLOW_MULTICURRENCY:ALLOW_EMCP:ALLOW_EDCC:ALLOW_MOTO:ALLOW_CHP:ALLOW_INTERNET:SUPPORTED_CURRENCIES[1]:SECURE_CARD_STORAGE[2]:LEVEL_II_DATA[3]:SHOW_CVV:AVS[4]: ALLOW_MAX_MIND:ENABLE_BACKGROUND_VALIDATION:ALLOW_ACH_JH:CUSTOM_FIELDS[5]+ DATETIME:SECRET
ND002 - Response Codes - Errors
ERROR CODE | DESCRIPTION |
---|---|
- | Invalid TERMINALID field |
- | Terminal is not configured |
<?xml version="1.0" encoding="UTF-8"?> <TERMINAL_CONFIGURATION_RESPONSE> <TERMINALID>3614006</TERMINALID> <BANK_SETTINGS> <CURRENCY>EUR</CURRENCY> <ALLOW_MULTICURRENCY>false</ALLOW_MULTICURRENCY> <ALLOW_EMCP>false</ALLOW_EMCP> <ALLOW_EDCC>true</ALLOW_EDCC> <ALLOW_MOTO>true</ALLOW_MOTO> <ALLOW_CHP>false</ALLOW_CHP> <ALLOW_INTERNET>true</ALLOW_INTERNET> </BANK_SETTINGS> <SUPPORTED_CURRENCIES> <CURRENCY>EUR</CURRENCY> </SUPPORTED_CURRENCIES> <FEATURES> <SECURE_CARD_STORAGE> <ENABLED>true</ENABLED> <ALLOW_SUBSCRIPTION>true</ALLOW_SUBSCRIPTION> </SECURE_CARD_STORAGE> <LEVEL_II_DATA> <ENABLED>false</ENABLED> <COMPULSORY>false</COMPULSORY> </LEVEL_II_DATA> </FEATURES> <SECURITY_FRAUD> <SHOW_CVV>true</SHOW_CVV> <AVS> <ENABLED>false</ENABLED> <COMPULSORY>false</COMPULSORY> </AVS> <ALLOW_MAX_MIND>false</ALLOW_MAX_MIND> </SECURITY_FRAUD> <INTEGRATION> <ENABLE_BACKGROUND_VALIDATION>true</ENABLE_BACKGROUND_VALIDATION> </INTEGRATION> <ALLOW_ACH_JH>false</ALLOW_ACH_JH> <CUSTOM_FIELDS> <CUSTOM_FIELD> <NAME>PRODUCT_SKU</NAME> <DISPLAY_NAME>Product SKU</DISPLAY_NAME> <DISPLAY_ORDER>1</DISPLAY_ORDER> <TYPE>STRING</TYPE> <PAYMENT_PAGE>true</PAYMENT_PAGE> <MANDATORY>false</MANDATORY> </CUSTOM_FIELD> <CUSTOM_FIELD> <NAME>AFFILIATE_ID</NAME> <DISPLAY_NAME>Affiliate ID</DISPLAY_NAME> <DISPLAY_ORDER>2</DISPLAY_ORDER> <TYPE>STRING</TYPE> <PAYMENT_PAGE>true</PAYMENT_PAGE> <MANDATORY>false</MANDATORY> </CUSTOM_FIELD> </CUSTOM_FIELDS> <DATETIME>29-03-2018:17:58:31:686</DATETIME> <HASH>44adsokrv986a13b8d8a145c92jsue12</HASH> </TERMINAL_CONFIGURATION_RESPONSE>
REMEMBER to replace the TERMINALID and Terminal Secret with valid values.