Differences

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

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
developer:api_specification:xml_account_verification_features [2019/05/22 11:48]
robinc created Page
developer:api_specification:xml_account_verification_features [2019/05/22 15:35]
hanv [Request Body Fields]
Line 20: Line 20:
 ==== Request Body Fields ==== ==== Request Body Fields ====
  
 +^ **FIELD** ​        ^ **REQUIRED** ​ ^ **DESCRIPTION** ^
 +| TERMINALID ​        |Y| A Terminal ID provided by Nuvei. |
 +| CARDNUMBER ​        | Y|The payment card number. |
 +| CARDEXPIRY ​            |Y| A 4 digit expiry field (MMYY) |
 +| CARDHOLDERNAME ​        |Y| The name of the card holder. It should be as displayed on the front of the card.|
 +| CVV         | N|The security code entered by the card holder. |
 +| ADDRESS1 ​           |N| The first address. Required for AVS.|
 +| ADDRESS2 ​        |N| Second line of address. Required for AVS. Same as ADDRESS1|
 +| POSTCODE ​       | N|Post cde for the address. Required for AVS.|
 +| 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 give at the **ND001-Hash Formation**,​ in the next section.|
 +
 +==== Notes and Details About the Request ====
 +
 +ND001 - Hash Formation
 +
 +The general rule to build HASH field is given at the [[developer:​api_specification:​special_fields_and_parameters|Special Fields and Parameters]] page, under the Special Fields and Paramenters section. For this specific feature, you should use the following formats:
 +
 +<WRAP center box 100%>
 +TERMINALID:​CARDNUMBER:​CARDEXPIRY:​CARDHOLDERNAME:​DATETIME:​SECRET
 +</​WRAP>​
 +
 +**ND002 - Data Encoding for Request**
 +
 +All data sent to us should be correctly encoded using the UTF-8 as the character encoding.
 +
 +**ND003 - The Checking Variation**
 +
 +Depending on the Payment Processor used by the Terminal, the account verification can be performed in two distinct ways:
 +
 +  *  A 0.00 (zero) amount transaction or,
 +  * A 1.00 (one) currency unit amount transaction followed, when successful, by its voiding (both transactions will appear in your batch).
 +
 +==== Examples for a Request ====
 +
 +  * **Scenario**:​ Simple request to check a card. 
 +  * **Terminal**:​ <6491002
 +  * **Terminal Secret**: x4n35c32RT.
 +
 +<code xml>
 +<?xml version="​1.0"​ encoding="​UTF-8"?> ​
 +<​ACCOUNT_VERIFICATION>​
 +    <​TERMINALID>​6491002</​TERMINALID>​
 +    <​CARDNUMBER>​4916163721669613</​CARDNUMBER>​
 +    <​CARDEXPIRY>​1122</​CARDEXPIRY>​
 +    <​CARDHOLDERNAME>​acc verif</​CARDHOLDERNAME>​
 +    <​CVV>​999</​CVV>​
 +    <​ADDRESS1>​addr 1</​ADDRESS1>​
 +    <​ADDRESS2>​addr 2</​ADDRESS2>​
 +    <​POSTCODE>​postcode</​POSTCODE>​
 +    <​DATETIME>​23-01-2019:​09:​24:​16:​105</​DATETIME>​
 +    <​HASH>​821cb691de21380b42efa97276ab0cc829c9fdfbcb28f5890492622c6a78093eeb28862b4d721e0e2f8db3a521eefda052da51979da6f66578a7b704b7c8aed5</​HASH>​
 +</​ACCOUNT_VERIFICATION>​
 +</​code>​
 +
 +<WRAP center important 100%>
 +**REMEMBER** to change the Terminal ID and Terminal Secret for valid values. Verify the [[developer:​integration_docs|Integration Docs]] for viable examples or contact our support team.
 +</​WRAP>​
 +
 +==== Response Body Fields ====
 +
 +The response body fields will be:
 +
 +^ **FIELD** ​        ^ **DESCRIPTION** ^
 +| STATUS ​       | Verification result. VERIFIED when the check is successful or UNVERIFIED when the verification fails.|
 +| RESPONSE_DETAIL ​       |This field adds context to the verifation response, indicating in case or failure, the reason. ​ |
 +| DATETIME ​            | Request 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.|
 +
 +==== Notes and Details on the Response ====
 +
 +**ND001 - Hash Formation**
 +
 +THe general rule to build HASH field is given at the Special Fields and Parameters page, under the Special Fieds and Parameters section. For this specific feature, you should use the following formats:
 +
 +<WRAP center box 100%>
 +ERMINALID:​STATUS:​RESPONSE_DETAIL:​DATETIME:​SECRET
 +</​WRAP>​
 +
 +RESPONSE_DETAIL is only used if retured and TERMINALID refers to the request field used.
 +
 +**ND002 - Error Handling**
 +
 +If there is an error processing the transaction,​ 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 the initial simple request.
 +  * **Terminal**:​ 6491002
 +  * **Terminal Secret**: x4n35c32RT
 +
 +<code xml>
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​
 +<​ACCOUNT_VERIFICATION_RESPONSE>​
 +    <​STATUS>​UNVERIFIED</​STATUS>​
 +    <​RESPONSE_DETAIL>​CVV validation failed</​RESPONSE_DETAIL>​
 +    <​DATETIME>​29-04-2019:​15:​27:​45:​921</​DATETIME>​
 +    <​HASH>​d71730f0abb95321386bb7e29f13c0c55412c114ea8689f460a0ee68d0c23b300acecd5f88eae84366edcaee5dae121d356e2c10449b61e8319c7eedc19fe8f5</​HASH>​
 +</​ACCOUNT_VERIFICATION_RESPONSE>​
 +</​code>​
 +
 +<WRAP center important 100%>
 +**REMEMBER** to change the Terminal ID and Terminal Secret for valid values. Verify the [[developer:​integration_docs|Integration Docs]] for viable examples or contact our support team.
 +</​WRAP>​
  
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International