Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
developer:api_specification:xml_payment_features [2019/05/31 16:13]
vinayh [Examples for the Response]
developer:api_specification:xml_payment_features [2020/04/06 13:31]
robinc [Request Body Fields] added decline refund fields
Line 68: Line 68:
 | ENHANCED_DATA_TEMPLATE |  N  | Enhanced Data template name to be used when creating the transaction. It fills up any not provided transaction'​s enhanced data fields. \\ Note that if you use a template, but inform the data during the request, the gateway is just going to use the template to fill the gaps of whatever you didn't inform in your original request. Also, if you inform at least one item in LEVEL_3_DATA component, no item from the template is going to be applied. \\ This field should only be used if you desire to use one of your Enhanced Data Templates (see **[[merchant:​existing_merchant:​selfcare_system:​settings:​enhanced_data_templates|Enhanced Data Templates]]** for more details). \\ This field is only available for terminals with ** Transaction Enhanced Data** feature enabled. | | ENHANCED_DATA_TEMPLATE |  N  | Enhanced Data template name to be used when creating the transaction. It fills up any not provided transaction'​s enhanced data fields. \\ Note that if you use a template, but inform the data during the request, the gateway is just going to use the template to fill the gaps of whatever you didn't inform in your original request. Also, if you inform at least one item in LEVEL_3_DATA component, no item from the template is going to be applied. \\ This field should only be used if you desire to use one of your Enhanced Data Templates (see **[[merchant:​existing_merchant:​selfcare_system:​settings:​enhanced_data_templates|Enhanced Data Templates]]** for more details). \\ This field is only available for terminals with ** Transaction Enhanced Data** feature enabled. |
 | FRAUDREVIEWSESSIONID | N | This field should contain the value of THEIR_SESSION_ID parameter that a merchant integration uses to configure its session with Fraud Solution. See the **ND003 - Using Fraud Solution**, in the next section. | | FRAUDREVIEWSESSIONID | N | This field should contain the value of THEIR_SESSION_ID parameter that a merchant integration uses to configure its session with Fraud Solution. See the **ND003 - Using Fraud Solution**, in the next section. |
 +| CREDENTIALONFILE | N | Component of the request that can be added in case Credential on File feature is in use for the Terminal processing the Payment. See **ND008 - Credential on File**. |
 </​searchtable>​ </​searchtable>​
 \\ \\
Line 310: Line 310:
 \\ \\
  
 +
 +**ND008 - Credential on File**
 +
 +This feature is currently available to TSYS Saratoga terminals. The COF tags are required for the following usage:
 +  *   * Processing transaction in clear card but token vaulted externally (outside Nuvei Gateway).
 +
 +The fields will have the following behavior: Hidden - the gateway accepts the fields, if sent, and add them to the transaction,​ but does not show it to the customer.
 +
 +To provide a transaction with COF, your request needs to add the Credential on File component and its fields, as described below.
 +
 +(new table below note ND008)
 +
 +^ **FIELD** ^ **REQUIRED** ^ **DESCRIPTION** ^
 +| ORIGINALBRANDTXIDENTIFIER ​ | N | String, max length is 64, Merchant sends the transaction identifier if received from acquirer. |
 +| STOREDCREDENTIALTXTYPE | N | Possible values: FIRST_TXN_SUBSEQUENT_MERCHANT_INITIATED_TXN or SUBSEQUENT_CARDHOLDER_INITITATED_TXN |
 +| STOREDCREDENTIALUSE | N | Possible values: UNSCHEDULED,​ INSTALLMENT or RECURRING. |
 +
 +\\
 +Quick example:
 +
 +<code xml>
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​
 +<​PAYMENT>​
 +<​ORDERID>​CSV_99769707</​ORDERID>​
 +<​TERMINALID>​2366006</​TERMINALID>​
 +<​AMOUNT>​6.00</​AMOUNT>​
 +<​DATETIME>​11-09-2019:​14:​02:​49:​708</​DATETIME>​
 +<​CARDNUMBER>​4444333322221111</​CARDNUMBER>​
 +<​CARDTYPE>​VISA</​CARDTYPE>​
 +<​CARDEXPIRY>​1224</​CARDEXPIRY>​
 +<​CARDHOLDERNAME>​na</​CARDHOLDERNAME>​
 +<​HASH>​f048c44d0340af522d5796110675fb1a</​HASH>​
 +<​CURRENCY>​USD</​CURRENCY>​
 +<​TERMINALTYPE>​1</​TERMINALTYPE>​
 +<​TRANSACTIONTYPE>​1</​TRANSACTIONTYPE>​
 +<​AUTOREADY>​Y</​AUTOREADY>​
 +<​CVV>​123</​CVV>​
 +<​ADDRESS1>​ads</​ADDRESS1>​
 +<​ADDRESS2>​ads2</​ADDRESS2>​
 +<​POSTCODE>​123</​POSTCODE>​
 +<​CREDENTIALONFILE>​
 +<​ORIGINALBRANDTXIDENTIFIER>​1234567890</​ORIGINALBRANDTXIDENTIFIER>​
 +<​STOREDCREDENTIALTXTYPE>​SUBSEQUENT_MERCHANT_INITIATED_TXN</​STOREDCREDENTIALTXTYPE>​
 +<​STOREDCREDENTIALUSE>​UNSCHEDULED</​STOREDCREDENTIALUSE>​
 +</​CREDENTIALONFILE>​
 +</​PAYMENT>​
 +</​code>​
 ==== Response Body Fields ==== ==== Response Body Fields ====
  
Line 325: Line 372:
 | CVVRESPONSE ​        | The result of the CVV check. Check **[[merchant:​existing_merchant:​other_information:​transaction_responses|Transaction Responses]]**. | | CVVRESPONSE ​        | The result of the CVV check. Check **[[merchant:​existing_merchant:​other_information:​transaction_responses|Transaction Responses]]**. |
 | PROCESSINGTERMINAL ​ | If the transaction was performed on a "​routing terminal"​ then this is populated with processing terminal ID that the system selected to process the transaction.| | PROCESSINGTERMINAL ​ | If the transaction was performed on a "​routing terminal"​ then this is populated with processing terminal ID that the system selected to process the transaction.|
-| FRAUDREVIEWRESPONSE | Component of the response that is going to be added in case the Threat Metrix feature is in use for the Terminal processing the Payment. See **ND002 - ThreatMetrix ​Response** for more details. | +| FRAUDREVIEWRESPONSE | Component of the response that is going to be added in case the Threat Metrix feature is in use for the Terminal processing the Payment. See **ND002 - Fraud Solution ​Response** for more details. | 
 | ADDITIONAL_FIELD | This field is used to send back data of interest of the merchant received by the gateway during the transaction. See **ND003 - Additional Information on Response**| | ADDITIONAL_FIELD | This field is used to send back data of interest of the merchant received by the gateway during the transaction. See **ND003 - Additional Information on Response**|
 | CARDREFERENCE | This field represents the token generated for the Secure Card. It's going to be returned when the Settings related to this payment enable the automatic generation of Secure Cards within a Payment. Take a look at **ND004 - Secure Card Auto Registration**. | | CARDREFERENCE | This field represents the token generated for the Secure Card. It's going to be returned when the Settings related to this payment enable the automatic generation of Secure Cards within a Payment. Take a look at **ND004 - Secure Card Auto Registration**. |
Line 331: Line 378:
 | DATETIME | Response date and time for the transaction,​ created by the bank. Format: YYYY-MM-DDTHH:​MM:​SS. Note that this is intentionally in a different format to the request timestamp to highlight the fact that it is a different time.| | DATETIME | Response date and time for the transaction,​ created by the bank. Format: YYYY-MM-DDTHH:​MM:​SS. Note that this is intentionally in a different format to the request timestamp to highlight the fact that it is a different time.|
 | 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. | | 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. |
 +| BRANDTXIDENTIFIER | The gateway returns the transaction identifier received from Acquirer to the merchant in the response if Credential on File is used. |
 </​searchtable>​ </​searchtable>​
 \\ \\
Line 474: Line 522:
 | ENHANCED_DATA_TEMPLATE |  N  | Enhanced Data template name to be used when creating the transaction. It fills up any not provided transaction'​s enhanced data fields. \\ Note that if you use a template, but inform the data during the request, the gateway is just going to use the template to fill the gaps of whatever you didn't inform in your original request. Also, if you inform at least one item in LEVEL_3_DATA component, no item from the template is going to be applied. \\ This field should only be used if you desire to use one of your Enhanced Data Templates (see **[[merchant:​existing_merchant:​selfcare_system:​settings:​enhanced_data_templates|Enhanced Data Templates]]** for more details.) \\ This field is only available for terminals with **Transaction Enhanced Data** feature enabled. | | ENHANCED_DATA_TEMPLATE |  N  | Enhanced Data template name to be used when creating the transaction. It fills up any not provided transaction'​s enhanced data fields. \\ Note that if you use a template, but inform the data during the request, the gateway is just going to use the template to fill the gaps of whatever you didn't inform in your original request. Also, if you inform at least one item in LEVEL_3_DATA component, no item from the template is going to be applied. \\ This field should only be used if you desire to use one of your Enhanced Data Templates (see **[[merchant:​existing_merchant:​selfcare_system:​settings:​enhanced_data_templates|Enhanced Data Templates]]** for more details.) \\ This field is only available for terminals with **Transaction Enhanced Data** feature enabled. |
 | APPROVALCODE | Y | Approval code provided by the Acquirer for the specific transaction | | APPROVALCODE | Y | Approval code provided by the Acquirer for the specific transaction |
 +| CREDENTIALONFILE | Y | Component of the request that can be added in case Credential on File feature is in use for the Terminal processing the Payment. See **ND008 - Credential on File**. |
  
 </​searchtable>​ </​searchtable>​
Line 628: Line 676:
 \\ \\
  
-==== Examples for a Request ====+**ND008 - Credential on File**
  
-  * **Scenario**:​ Simple request, only mandatory fields. +This feature is currently available to TSYS Saratoga terminalsThe COF tags are required for the following usage
-  * **Terminal**6491002. +  *   ​Processing transaction in clear card but token vaulted externally (outside Nuvei Gateway).
-  * **Terminal Secret**: x4n35c32RT.+
  
-<code xml> +The fields will have the following behavior: Hidden - the gateway accepts the fields, if sent, and adds them to the transaction,​ but does not show it for the customer.
-<?xml version="​1.0" encoding="​UTF-8"?>​ +
-<​OFFLINEPAYMENT>​ +
- <​ORDERID>​115010922465</​ORDERID>​ +
- <​TERMINALID>​6491002</​TERMINALID>​ +
- <​AMOUNT>​10</​AMOUNT>​ +
- <​CARDNUMBER>​4111111111111111</​CARDNUMBER>​ +
- <​CARDTYPE>​VISA</​CARDTYPE>​ +
- <​CARDEXPIRY>​0807</​CARDEXPIRY>​ +
- <​CARDHOLDERNAME>​Joe Bloggs</​CARDHOLDERNAME>​ +
- <​CURRENCY>​EUR</​CURRENCY>​ +
- <​TERMINALTYPE>​1</​TERMINALTYPE>​ +
- <​TRANSACTIONTYPE>​7</​TRANSACTIONTYPE>​ +
- <​APPROVALCODE>​DSIC234Fsdsfc35</​APPROVALCODE>​ +
- <​DATETIME>​12-06-2006:​11:​47:​04:​656</​DATETIME>​ +
- <​HASH>​33e51227ab83222cea0cc1f03532149319dae3ab8839ad278a82b16d0d15d49bec9e90df00b6504564e3075cb3d984e21471469315526f376a256c557b175a07</​HASH>​ +
-</​PAYMENT>​ +
-</​code>​ +
-\\+
  
-<WRAP center important 100%> +(new table below note ND008) 
-**REMEMBER** to change the Terminal ID and Terminal Secret for valid values. Consult the **[[developer:​integration_docs|Integration Docs]]** for examples or contact our support team+ 
-</​WRAP>​+**FIELD** **REQUIRED** ^ **DESCRIPTION** ^ 
 +| ORIGNALBRANDIXIDENTIFIER | N | String, max length is 64, Merchant sends the transaction identifier if received from acquirer| 
 +| STOREDCREDENTIALTXTYPE | N | Possible values: FIRST_TXN, SUBSEQUENT_MERCHANT_INITIATED_TXN or SUBSEQUENT_CARDHOLDER_INITIATED_TXN | 
 +| STOREDCREDENTIALUSE | N | Possible values: UNSCHEDULED,​ INSTALLMENT or RECURRING |
  
 \\ \\
Line 678: Line 710:
 | DATETIME | Response date and time for the transaction,​ created by the bank. Format: YYYY-MM-DDTHH:​MM:​SS. Note that this is intentionally in a different format to the request timestamp to highlight the fact that it is a different time.| | DATETIME | Response date and time for the transaction,​ created by the bank. Format: YYYY-MM-DDTHH:​MM:​SS. Note that this is intentionally in a different format to the request timestamp to highlight the fact that it is a different time.|
 | 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. | | 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. |
 +| BRANDTXIDENTIFIER | The gateway returns the transaction identifier received from Acquirer to the merchant in the response if Credential on File is used. |
 </​searchtable>​ </​searchtable>​
 \\ \\
Line 804: Line 837:
 | DATETIME |  Y  | Request date and time. Format: DD-MM-YYYY:​HH:​MM:​SS:​SSS. | | 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. | | 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. |
 +| CREDENTIALONFILE |  N  | Component of the request that can be added in case Credential on File feature is in use for the terminal processing the payment. See **ND008 - Credential on File**.|
 </​searchtable>​ </​searchtable>​
  
Line 1030: Line 1064:
 </​code>​ </​code>​
  
 +\\
 +**ND008 - Credential on File**
 +
 +This feature is current available to TSYS Saratoga terminals. The COF tags are required for the following usage:
 +  *   * Processing transaction in clear card but token vaulted externally (outside Nuvei Gateway)
 +
 +The fields will have the following behavior: Hidden - the gateway accepts, if sent, and adds them to the transaction,​ but does not show it for the customer.
 +
 +To provide a transaction with COF, your request needs to add the Credentials on File component and its fields, as described below.
 +
 +
 +<​searchtable>​
 +^ **FIELD** ^ **REQUIRED** ^ **DESCRIPTION** ^
 +| ORIGINALBRANDTXIDENTIFIER | N | String, max length is 64, Merchant send the transaction if received from acquirer.|
 +| STOREDCREDENTIALTXTYPE | N | Possible values: FIRST_TXN, SUBSEQUENT_MERCHANT_INITIATED_TXN or SUBSEQUENT_CARDHOLDER_INITIATED_TXN |
 +| STOREDCREDENTIALUSE | N | Possible values: UNSCHEDULED,​ INSTALLMENT or RECURRING |
 +</​searchtable>​
 \\ \\
  
Line 1035: Line 1086:
 **REMEMBER** to change the Terminal ID and Terminal Secret for valid values. Consult the **[[developer:​integration_docs|Integration Docs]]** for examples or contact our support team. **REMEMBER** to change the Terminal ID and Terminal Secret for valid values. Consult the **[[developer:​integration_docs|Integration Docs]]** for examples or contact our support team.
 </​WRAP>​ </​WRAP>​
- 
 \\ \\
 +Quick Example:
  
 +<code xml>
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​
 +<​PAYMENT>​
 +<​ORDERID>​CSV_99769707</​ORDERID>​
 +<​TERMINALID>​2366006</​TERMINALID>​
 +<​AMOUNT>​6.00</​AMOUNT>​
 +<​DATETIME>​11-09-2019:​14:​02:​49:​708</​DATETIME>​
 +<​CARDNUMBER>​4444333322221111</​CARDNUMBER>​
 +<​CARDTYPE>​VISA</​CARDTYPE>​
 +<​CARDEXPIRY>​1224</​CARDEXPIRY>​
 +<​CARDHOLDERNAME>​na</​CARDHOLDERNAME>​
 +<​HASH>​f048c44d0340af522d5796110675fb1a</​HASH>​
 +<​CURRENCY>​USD</​CURRENCY>​
 +<​TERMINALTYPE>​1</​TERMINALTYPE>​
 +<​TRANSACTIONTYPE>​1</​TRANSACTIONTYPE>​
 +<​AUTOREADY>​Y</​AUTOREADY>​
 +<​CVV>​123</​CVV>​
 +<​ADDRESS1>​ads</​ADDRESS1>​
 +<​ADDRESS2>​ads2</​ADDRESS2>​
 +<​POSTCODE>​123</​POSTCODE>​
 +<​CREDENTIALONFILE>​
 +<​ORIGINALBRANDTXIDENTIFIER>​1234567890</​ORIGINALBRANDTXIDENTIFIER>​
 +<​STOREDCREDENTIALTXTYPE>​SUBSEQUENT_MERCHANT_INITIATED_TXN</​STOREDCREDENTIALTXTYPE>​
 +<​STOREDCREDENTIALUSE>​UNSCHEDULED</​STOREDCREDENTIALUSE>​
 +</​CREDENTIALONFILE>​
 +</​PAYMENT>​
 +</​code>​
 ==== Response Body Fields ==== ==== Response Body Fields ====
  
Line 1058: Line 1136:
 | DATETIME | Response date and time for the transaction,​ created by the bank. Format: YYYY-MM-DDTHH:​MM:​SS. Note that this is intentionally in a different format to the request timestamp to highlight the fact that it is a different time.| | DATETIME | Response date and time for the transaction,​ created by the bank. Format: YYYY-MM-DDTHH:​MM:​SS. Note that this is intentionally in a different format to the request timestamp to highlight the fact that it is a different time.|
 | 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. | | 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. |
 +| BRANDTXIDENTIFIER | The gateway returns the transaction identifier received from Acquirer to the merchant in the response if Credential on File is used. |
 </​searchtable>​ </​searchtable>​
 \\ \\
Line 1745: Line 1824:
 | CARDREFERENCE | N | Secure Card reference generated and returned by the Payment Gateway when created. Either CARDREFERENCE or CARDETAILS should be used on request, never both. | | CARDREFERENCE | N | Secure Card reference generated and returned by the Payment Gateway when created. Either CARDREFERENCE or CARDETAILS should be used on request, never both. |
 | CARDDETAILS ​  | N | Details of the card to which the refund is going to be done to. Take a look at **ND003 - Card Details** to see this tag's subelements. Either CARDREFERENCE or CARDETAILS should be used on request, never both. | | CARDDETAILS ​  | N | Details of the card to which the refund is going to be done to. Take a look at **ND003 - Card Details** to see this tag's subelements. Either CARDREFERENCE or CARDETAILS should be used on request, never both. |
 +| DECLINEDREFUNDUNIQUEREF | N | In the case where the merchant is performing an Unreferenced Refund and linking it to a Declined Online Refund.This tag must be included when the terminal uses UNIQUEREF. The card specified for this Unreferenced Refund must be different than that of the original Declined Refund. |
 +| DECLINEDREFUNDORDERID | N | In the case where the merchant is performing an Unreferenced Refund and linking it to a Declined Online Refund. - This tag must be included when the terminal does NOT use UNIQUEREF. - If this tag is provided when a terminal specifically uses UNIQUEREF, an error will be returned. - The card specified for this Unreferenced Refund must be different than that of the original Declined Refund. |
 | AMOUNT | Y | The amount of the transaction. A 2 digit decimal or an Integer value for JPY amounts. | | AMOUNT | Y | The amount of the transaction. A 2 digit decimal or an Integer value for JPY amounts. |
 | AUTOREADY | N | Y or N. If this is set to Y, Nuvei will automatically set the transaction to READY in the batch. If set to N then the transaction will go to a PENDING status. If not present, the terminal default will be used. | | AUTOREADY | N | Y or N. If this is set to Y, Nuvei will automatically set the transaction to READY in the batch. If set to N then the transaction will go to a PENDING status. If not present, the terminal default will be used. |
Line 2075: Line 2156:
 | LEVEL_2_DATA |  N  | Component of the request that can be added in case the Level II Data feature is in use for the Terminal processing the Payment. See **ND003 - Level 2 Data Validation**. | | LEVEL_2_DATA |  N  | Component of the request that can be added in case the Level II Data feature is in use for the Terminal processing the Payment. See **ND003 - Level 2 Data Validation**. |
 | LEVEL_3_DATA |  N  | Component of the request that can be added in case the Level III Data feature is in use for the Terminal processing the Payment. See **ND004 - Level 3 Data Validation**. | | LEVEL_3_DATA |  N  | Component of the request that can be added in case the Level III Data feature is in use for the Terminal processing the Payment. See **ND004 - Level 3 Data Validation**. |
-| ENHANCED_DATA_TEMPLATE |  N  | Enhanced Data template name to be used when creating the transaction. It fills up any not provided transaction'​s enhanced data field. \\ Note that if you use a template, but inform the data during the request, the gateway is just going to use the template to fill the gaps of whatever you didn't inform in your original request. Also, if you inform at least one item in LEVEL_3_DATA component, no item from template is going to be applied. \\ This field should only be used if you desire to use one of your Enhanced Data Templates (see **[[merchant:​existing_merchant:​selfcare_system:​settings:​enhanced_data_templates|Enhanced Data Templates]]** for more details). \\ This field is only available for terminals with **Transaction Enhanced Data** feature enabled. |   +| ENHANCED_DATA_TEMPLATE |  N  | Enhanced Data template name to be used when creating the transaction. It fills up any not provided transaction'​s enhanced data field. \\ Note that if you use a template, but inform the data during the request, the gateway is just going to use the template to fill the gaps of whatever you didn't inform in your original request. Also, if you inform at least one item in LEVEL_3_DATA component, no item from template is going to be applied. \\ This field should only be used if you desire to use one of your Enhanced Data Templates (see **[[merchant:​existing_merchant:​selfcare_system:​settings:​enhanced_data_templates|Merchant ​Enhanced Data Templates]]** for more details). \\ This field is only available for terminals with **Transaction Enhanced Data** feature enabled. |   
 | DATETIME |  Y  | Request date and time. Format: DD-MM-YYYY:​HH:​MM:​SS:​SSS. | | 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. | | 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. |
Line 2087: Line 2168:
 </​WRAP>​ </​WRAP>​
  
-[1] For each LINEITEM added, it's necessary to add all of its details, then add the details of the next item until the last one. +**[1]** For each LINEITEM added, it's necessary to add all of its details, then add the details of the next item until the last one. 
  
 **ND002 - Data Encoding for Requests** **ND002 - Data Encoding for Requests**
Line 2312: Line 2393:
 </​WRAP>​ </​WRAP>​
 \\ \\
-{/gateway}+===== Transaction Retrieving =====
  
 +This feature allows you to retrieve a transaction already processed. You need to know the existing transaction before sending your request.
 +
 +  * **Main Request body Tag**: <​GET_TRANSACTION_DETAILS> ​
 +  * **Main Response body Tag**: <​GET_TRANSACTION_DETAILS_RESPONSE> ​
 +
 +==== Request Body Fields ====
 +
 +<​searchtable>​
 +^ **FIELD** ^ **REQUIRED** ^ **DESCRIPTION** ^
 +| TERMINALID | Y | A Terminal ID provided by %CompanyName. NB - Please contact %CompanyName to be issued with a test terminal ID. |
 +| UNIQUEREF | Y | Refers the UNIQUEREF generate for the original transaction response. |
 +| 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. | ​
 +</​searchtable>​
 +\\
 +
 +==== Notes and Details About the Request ====
 +
 +**ND001 - Hash Formation**
 +
 +The general rule to build the HASH field is given on the **[[developer:​api_specification:​special_fields_and_parameters|Special Fields and Parameters]]** page, under the **[[developer:​api_specification:​special_fields_and_parameters#​the_hash_parameter|Special Fields and Parameters]]** section. For this specific feature, you should use the following formats:
 +
 +<WRAP center box 100%>
 +TERMINALID:​UNIQUEREF:​DATETIME:​SECRET
 +</​WRAP>​
 +
 +\\
 +
 +**ND002 - Data Encoding for Requests**
 +
 +All data sent to us should be correctly encoded using **UTF-8** as the character encoding.
 +
 +\\
 +==== Examples for a Request ====
 +
 +  * **Scenario**:​ Simple request, minimum data.
 +  * **Terminal**:​ 6491002.
 +  * **Terminal Secret**: x4n35c32RT.
 +  ​
 +<code xml>
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​
 +<​GET_TRANSACTION_DETAILS>​
 +    <​TERMINALID>​6491002</​TERMINALID>​
 +    <​UNIQUEREF>​GCNQAWUUVZ</​UNIQUEREF>​
 +    <​DATETIME>​06-03-2018:​17:​41:​08:​273</​DATETIME>​
 +    <​HASH>​73e340cfb2b7424252d1ced917e4f74704aaa66a9600039f4800434cefe87d721c342d2b915c6e2aeea88b34e749ba97665f7d9e50b1144ca0f0745361fc4896</​HASH>​
 +</​GET_TRANSACTION_DETAILS>​
 +</​code>​
 +
 +\\
 +==== Response Body Fields ====
 +
 +<​searchtable>​
 +^ **FIELD** ^ **DESCRIPTION** ^
 +| TERMINALID | Terminal to which the transaction was submitted. |
 +| UNIQUEREF | Transaction'​s unique referenced. Same as provided at the request. |
 +| TRANSACTION_STATUS | Current status of the transaction. |
 +| TRANSACTION_DATE | Date time of the transaction'​s processing. |
 +| OPERATOR | An identifier for who executed this transaction. |
 +| TRANSACTION_TYPE | Indicates if the transaction is a **SALE**, a **REFUND**, a **PREAUTH** or a pre-auth **COMPLETION**. |
 +| CURRENCY | Transaction'​s currency. |
 +| AUTHORIZEDAMOUNT | Amount authorized for the transaction. |
 +| ADDITIONAL_DETAILS | Additional details on the transaction,​ like the result information,​ custom fields, batch, among other. |
 +| BATCH_NUMBER | Subfield of ADDITIONAL_DETAILS. Indicates the batch number of the transaction,​ if not in open batch anymore. |
 +| BULK_NUMBER | Subfield of ADDITIONAL_DETAILS. Indicates the number of the bulk in which the transaction was send (only if the transaction was part of a bulk). |
 +| PROCESSINGTERMINAL | Subfield of ADDITIONAL_DETAILS. Indicates the number of the processing terminal of this transaction. Might differ from the TERMINALID if the transaction was submitted to a routing terminal (once the transaction is routed, it goes to a processing terminal). |
 +| RESPONSECODE | Subfield of ADDITIONAL_DETAILS. **A**: (APPROVED/ AUTHORIZED/ ACCEPTED, respectively). \\ **E**: (ACCEPTED for later processing, but result currently unknown - specifically for China Union Pay). \\ **D**: (DECLINED). \\ **R**: (REFERRED, also considered as PICKUP). \\ **C**: (PICKUP, also known as Referral A or Referral B). \\ For more details, visit at **[[merchant:​existing_merchant:​other_information:​transaction_responses|Transaction Responses]]**. |
 +| RESPONSETEXT | Subfield of ADDITIONAL_DETAILS. The text of the authorization. |
 +| APPROVALCODE | Subfield of ADDITIONAL_DETAILS. A six digit AuthCode. |
 +| FOREIGNCURRENCYINFORMATION | Subfield of ADDITIONAL_DETAILS. Tag contains Dynamic Currency Conversion information. It has to be present in the eDCC enabled transactions. |
 +| CARDCURRENCY | Subfield of FOREIGNCURRENCYINFORMATION. Cardholder card's currency code. |
 +| CARDAMOUNT | Subfield of FOREIGNCURRENCYINFORMATION. Amount which is supposed to be charged in the home currency. |
 +| CONVERSIONRATE | Subfield of FOREIGNCURRENCYINFORMATION. Value of the Conversion Rate on original request. |
 +| DESCRIPTION | Subfield of ADDITIONAL_DETAILS. |
 +| TRANSACTION_CUSTOM_FIELDS | Subfield of ADDITIONAL_DETAILS. List of TRANSACTION_CUSTOM_FIELD used with the transaction. |
 +| NAME | Subfield of each TRANSACTION_CUSTOM_FIELD. Name of the custom field used. |
 +| VALUE | Subfield of each TRANSACTION_CUSTOM_FIELD. Value provided for the custom field used. |
 +| DATETIME | Response date and time for the transaction,​ created by the bank. Format: YYYY-MM-DDTHH:​MM:​SS. Note that this is intentionally in a different format to the request timestamp to highlight the fact that it is a different time. |
 +| 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. |
 +</​searchtable>​
 +\\
 +==== Notes and Details on the Response ====
 +
 +**ND001 - Hash Formation**
 +
 +The general rule to build the HASH field is given on the **[[developer:​api_specification:​special_fields_and_parameters|Special Fields and Parameters]]** page, under the **[[developer:​api_specification:​special_fields_and_parameters#​the_hash_parameter|Special Fields and Parameters]]** section. For this specific feature, you should use the following formats:
 +
 +<WRAP center box 100%>
 +TERMINALID:​UNIQUEREF:​ORDERID:​TRANSACTION_STATUS:​TRANSACTION_DATE:​OPERATOR:​TRANSACTION_TYPE:​CURRENCY:​AUTHORIZEDAMOUNT:​BATCH_NUMBER:​BULK_NUMBER:​PROCESSINGTERMINAL:​RESPONSECODE:​RESPONSETEXT:​APPROVALCODE:​CARDCURRENCY:​CARDAMOUNT:​CONVERSIONRATE:​DESCRIPTION:​DATETIME:​SECRET
 +</​WRAP>​
 +
 +\\
 +
 +**ND002 - Error Handling**
 +
 +If there is an error processing the request, the error string is returned in an XML message with the simple tags:
 +<code xml>
 +<​ERROR>​
 +    <​ERRORSTRING>​This is the error generated!</​ERRORSTRING>​
 +</​ERROR>​
 +</​code>​
 +\\
 +==== Examples for the Response ====
 +
 +  * **Scenario**:​ Response to a simple request.
 +  * **Terminal**:​ 3614008.
 +  * **Terminal Secret**: x4n35c32RT.
 +  ​
 +<code xml>
 +<?xml version="​1.0"​ encoding="​UTF-8"​ standalone="​yes"?>​
 +<​GET_TRANSACTION_DETAILS_RESPONSE>​
 +    <​TERMINALID>​3614008</​TERMINALID>​
 +    <​UNIQUEREF>​E4RGZYVCME</​UNIQUEREF>​
 +    <​TRANSACTION_STATUS>​REVIEW</​TRANSACTION_STATUS>​
 +    <​TRANSACTION_DATE>​26-04-2019:​17:​19:​18:​000</​TRANSACTION_DATE>​
 +    <​OPERATOR>​CardHolder Payment</​OPERATOR>​
 +    <​TRANSACTION_TYPE>​SALE</​TRANSACTION_TYPE>​
 +    <​CURRENCY>​USD</​CURRENCY>​
 +    <​AUTHORIZEDAMOUNT>​52.03</​AUTHORIZEDAMOUNT>​
 +    <​ADDITIONAL_DETAILS>​
 +        <​RESPONSECODE>​A</​RESPONSECODE>​
 +        <​RESPONSETEXT>​APPROVAL</​RESPONSETEXT>​
 +        <​APPROVALCODE>​VVVVWM</​APPROVALCODE>​
 +        <​TRANSACTION_CUSTOM_FIELDS>​
 +            <​TRANSACTION_CUSTOM_FIELD>​
 +                <​NAME>​Promocode</​NAME>​
 +                <​VALUE>​sevr9w409vw4v59w45v</​VALUE>​
 +            </​TRANSACTION_CUSTOM_FIELD>​
 +        </​TRANSACTION_CUSTOM_FIELDS>​
 +    </​ADDITIONAL_DETAILS>​
 +    <​DATETIME>​30-04-2019:​14:​34:​47:​707</​DATETIME>​
 +    <​HASH>​61a587361fa4631a72af9d47395ad0ab81cb6b5928ed8b41ab0860e7cd52c4bc55361f3d3c0b8cf52add999c0c5c07acd6f8f26c0b045d33c0d97489b3f6be9a</​HASH>​
 +</​GET_TRANSACTION_DETAILS_RESPONSE>​
 +</​code>  ​
 +
 +<WRAP center important 100%>
 +**REMEMBER** to change the Terminal ID and Terminal Secret for valid values. Consult the **[[developer:​integration_docs|Integration Docs]]** for examples or contact our support team.
 +</​WRAP>​
 +\\
 +
 +<WRAP center important 100%>
 +Not all the transaction will return the same fields. Mostly they are similar, but some of them might have less data than what is described by the response field table.
 +</​WRAP>​
 \\ \\
  
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International