Table of Contents

HPP Background Validation


About the Feature

The Background validation is a method of double-checking the result of transactions using a server-side POST. It is useful for Hosted Payment Page transactions, as the result of the transaction can sometimes fail, leaving the site without a result for the transaction even though the transaction may have been authorized.

This subfeature can be enable for each Terminal, when the Terminal is regitered by the Gateway Administrator, or by the Merchant, through the SelfCare System in the Terminal Setup section. If it's enabled, then all transactions sent through the Hosted Payment Page will be validated.

The Validation URL, used by the Background Validation POST request, should be set for the Terminal or sent in the Payment/ Pre-auth Request to the Payment Page. The Payment Gateway is going to use this URL to send an HTTP POST request with the transaction processing result and will expect to receive an “OK” in the HTTP response body (2 characters only, no HTML). Any other response or connection issue will be considered as not validated. The Payment Gateway will make further attempts to reach the Validation URL, until the maximum allowed time for validation has passed. If the maximum allowed time has passed and the transaction was not successfully validated, the transaction will be marked as expired and a notification e-mail will be sent to the merchant's e-mail address.

Request Body Fields

Filter:

FIELD DESCRIPTION
TERMINALID Same as informed at the transaction's request.
UNIQUEREF Generated reference that should be stored for tracking and remote XML refunding.
AMOUNT Same as informed at the transaction's request.
ORDERID Same as informed at the transaction's request.
RESPONSECODE Same as the one generated for the transaction's response.
RESPONSETEXT Same as the one generated for the transaction's response. Might be populated with an error, in case there was an issue during processing.
APPROVALCODE Same as the one generated for the transaction's response. Might be empty, if the transaction was not approved.
DATETIME Same as the one generated for the transaction's response. Format: YYYY-MM-DDTHH:MM:SS.
AVSRESPONSE Same as the one generated for the transaction's response.
CVVRESPONSE Same as the one generated for the transaction's response.
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.
CUSTOMFIELD Same as informed at the transaction's request. Returns all custom fields informed on request.



Notes and Details About the Request

ND001 - Hash Formation

The gerenal rule to build HASH field is given at the Special Fields and Parameters page, under the Special Fields and Parameters section.

For this specific feature, you should use the following formats:

When using a Single Currency Terminal, the string to generate the HASH field is going to formed using:

TERMINALID:ORDERID:AMOUNT:DATETIME:RESPONSECODE:RESPONSETEXT:SECRET

When using a Multi Currency Terminal, the string to generate the HASH field is going to formed using:

TERMINALID:ORDERID:CURRENCY:AMOUNT:DATETIME:RESPONSECODE:RESPONSETEXT:SECRET