====== XML Account Verification Features ====== ~~TOC~~ \\ The features presented in this page will allow your integration to check card accounts. This is a useful service for cases when you need to be sure a card is valid before using or storing it. The following resources are the same for all the requests and responses you find in this page: ^ **TYPE** ^ **URL** ^ | Request URL | %URLXMLPayments | | XML XSD descriptor | %URLGateway | 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. \\ ===== Verification ===== This feature allows you to check the vlidity of a card account. * **Main Request body Tag**: * **Main Response body Tag**: ==== Request Body Fields ==== ^ **FIELD** ^ **REQUIRED** ^ **DESCRIPTION** ^ | TERMINALID | Y | A Terminal ID provided by %CompanyName. | | 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 code 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 given 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 **[[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: TERMINALID:CARDNUMBER:CARDEXPIRY:CARDHOLDERNAME:DATETIME:SECRET \\ **ND002 - Data Encoding for Requests** All data sent to us should be correctly encoded using **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. 6491002 4916163721669613 1122 acc verif 999 addr 1 addr 2 postcode 23-01-2019:09:24:16:105 821cb691de21380b42efa97276ab0cc829c9fdfbcb28f5890492622c6a78093eeb28862b4d721e0e2f8db3a521eefda052da51979da6f66578a7b704b7c8aed5 **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. \\ ==== 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 verification response, indicating in case or failure, the reason. | | 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. | \\ ==== Notes and Details on the Response ==== **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 **[[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: TERMINALID:STATUS:RESPONSE_DETAIL:DATETIME:SECRET RESPONSE_DETAIL is only used if returned and TERMINALID refers 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: This is the error generated! \\ ==== Examples for the Response ==== * **Scenario**: Response to the initial simple request. * **Terminal**: 6491002. * **Terminal Secret**: x4n35c32RT. UNVERIFIED CVV validation failed 29-04-2019:15:27:45:921 d71730f0abb95321386bb7e29f13c0c55412c114ea8689f460a0ee68d0c23b300acecd5f88eae84366edcaee5dae121d356e2c10449b61e8319c7eedc19fe8f5 **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. \\