Retrieve 3DS Result
Retrieves the 3DS Operation identified by the Merchant and the 3DSecureID listed in the URL.
URL | https://secure.uat.tnspayments.com/api/nvp/version/45 |
HTTP Method | POST |
Authentication |
This operation requires authentication via one of the following methods:
|
Request Parameters
3DSecureId ASCII Text = COMPULSORY
A unique identifier supplied by the merchant for the authentication.
It is first defined in the check3DSEnrollment operation, and then included in subsequent operations.It is not used when the authentication is performed externally.
Existence
COMPULSORY
Fixed value
Validation Rules
Data consists of ASCII characters
XSD type
string
minimum length
1
maximum length
64
apiOperation String =RETRIEVE_3DS_RESULT FIXED
Existence
FIXED
Fixed value
RETRIEVE_3DS_RESULT
Validation Rules
Any sequence of zero or more unicode characters.
XSD type
string
merchant Alphanumeric + additional characters = COMPULSORY
The unique identifier issued to you by your payment provider.
Existence
COMPULSORY
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
XSD type
string
minimum length
1
maximum length
40
3DSecureId ASCII Text = COMPULSORY
A unique identifier supplied by the merchant for the authentication.
It is first defined in the check3DSEnrollment operation, and then included in subsequent operations.It is not used when the authentication is performed externally.
Existence
COMPULSORY
Fixed value
Validation Rules
Data consists of ASCII characters
XSD type
string
minimum length
1
maximum length
64
apiOperation String =RETRIEVE_3DS_RESULT FIXED
Existence
FIXED
Fixed value
RETRIEVE_3DS_RESULT
Validation Rules
Any sequence of zero or more unicode characters.
XSD type
string
correlationId String = OPTIONAL
A transient identifier for the request, that can be used to match the response to the request.
The value provided is not validated, does not persist in the gateway, and is returned as provided in the response to the request.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
XSD type
string
minimum length
1
maximum length
100
merchant Alphanumeric + additional characters = COMPULSORY
The unique identifier issued to you by your payment provider.
Existence
COMPULSORY
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
XSD type
string
minimum length
1
maximum length
40
Response Parameters
3DSecure = Always Provided
Data representing the 3DS results or enrollment state
Fixed value
3DSecure.summaryStatus Enumeration = Always Provided
The summarized response from the card issuer and the payment gateway indicating the overall status of the attempt to authenticate the cardholder.
For detailed information on the authentication result, see gatewayCode.
Existence
Always Provided
Fixed value
Validation Rules
XSD type
string
Value must be a member of the following list. The values are case sensitive.
AUTHENTICATION_ATTEMPTED
Authentication was attempted but the card issuer did not perform the authentication
AUTHENTICATION_FAILED
The cardholder failed the authentication.
AUTHENTICATION_NOT_AVAILABLE
An internal error occurred and Authentication is not currently available.
AUTHENTICATION_SUCCESSFUL
The cardholder was successfully authenticated.
CARD_DOES_NOT_SUPPORT_3DS
The card does not support 3DS authentication.
CARD_ENROLLED
The card is enrolled for 3DS authentication.
CARD_NOT_ENROLLED
The card is not enrolled for 3DS authentication.
3DSecureId ASCII Text = Always Provided
A unique identifier supplied by the merchant for the authentication.
It is first defined in the check3DSEnrollment operation, and then included in subsequent operations.
It is not used when the authentication is performed externally.
It is not used when the authentication is performed externally.
Existence
Always Provided
Fixed value
Validation Rules
Data consists of ASCII characters
XSD type
string
minimum length
1
maximum length
64
merchant Alphanumeric + additional characters = Always Provided
The unique identifier issued to you by your payment provider.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
XSD type
string
minimum length
1
maximum length
40
response = Always Provided
A collection of information that is specific to responses from the API.
Fixed value
response.3DSecure = Always Provided
The response code which indicates the status.
Fixed value
response.3DSecure.gatewayCode Enumeration = Always Provided
The detailed response from the payment gateway to indicate the status of the 3DS authentication.
Existence
Always Provided
Fixed value
Validation Rules
The result of a 3DS request to the gateway.
XSD type
string
Value must be a member of the following list. The values are case sensitive.
ACS_SESSION_TIMEOUT
The session with the Issuer's ACS timed out. The cardholder did not return from the ACS session.
AUTHENTICATION_ATTEMPTED
The Merchant attempted to authenticate the cardholder with the card Issuer, but the card Issuer did not perform authentication of the card. Proof of authentication attempt was provided.
AUTHENTICATION_FAILED
The cardholder failed authentication by the card Issuer.
AUTHENTICATION_NOT_AVAILABLE_ERROR_DETAILS_PROVIDED
The response received from the card issuer's ACS (PARes) indicated that authentication of the cardholder could not be completed as technical or other issues were encountered by the Issuer's ACS. Error details (IReq) provided.
AUTHENTICATION_NOT_AVAILABLE_NO_ERROR_DETAILS
The response received from the card issuer's ACS (PARes) indicated that authentication of the cardholder could not be completed as technical or other issues were encountered by the Issuer's ACS. No error details (IReq) were provided.
AUTHENTICATION_SUCCESSFUL
The cardholder was successfully authenticated by the card Issuer.
CARD_DOES_NOT_SUPPORT_3DS
The card does not support 3D Secure authentication.
CARD_ENROLLED
Card holder is enrolled.
ENROLLMENT_STATUS_UNDETERMINED_ERROR_DETAILS_PROVIDED
The Issuer's ACS was not able to process the request to check enrollment or the card is ineligible (e.g. it is a Commercial card). The ACS did not provide any further details in the response.
ENROLLMENT_STATUS_UNDETERMINED_NO_ERROR_DETAILS
The Issuer's ACS was not able to process the request to check enrollment or the card is ineligible (e.g. it is a Commercial card). The ACS did not provide any further details in the response.
ERROR_COMMUNICATING_WITH_DIRECTORY_SERVER
An error communicating with the Directory Server was encountered.
ERROR_PARSING_AUTHENTICATION_RESPONSE
Error parsing Payer Authentication Response (PARes) received from the ACS.
ERROR_PARSING_CHECK_ENROLLMENT_REQUEST
Occurs when the request is incorrectly formatted. For example, the Merchant Id is longer than maximum allowed. Will generally only occur as a result of a defect in PS.
ERROR_PARSING_CHECK_ENROLLMENT_RESPONSE
Error parsing Verify Enrollment Response (VERes) received from the ACS.
INVALID_DIRECTORY_SERVER_CREDENTIALS
Merchant ID and Password failed authentication with the Directory Server (Contact Support to rectify)
INVALID_SIGNATURE_ON_AUTHENTICATION_RESPONSE
Error validating signature on response received from the ACS.
MPI_PROCESSING_ERROR
Internal processing error
NOT_ENROLLED_ERROR_DETAILS_PROVIDED
Card holder is not enrolled. Error details were returned by the Directory Server.
NOT_ENROLLED_NO_ERROR_DETAILS
Card holder is not enrolled. No error details were returned by the Directory Server.
3DSecure = Always Provided
Data representing the 3DS results or enrollment state
Fixed value
3DSecure.acsEci Alphanumeric = CONDITIONAL
The Electronic Commerce Indicator returned by the card issuer in the authentication response message.
It indicates the level of security and authentication of the transaction.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
XSD type
string
minimum length
1
maximum length
100
3DSecure.authenticationRedirect = Always Provided
A collection of parameters required to build the HTML form that is redirected to the ACS.
There are two options to generate the redirect page used to transfer the cardholder to the card Issuer's Access Control Server (ACS) for authentication:
1. Simple: submit the form generated by the gateway. In this case, only the htmlBodyContent parameter is required.
2. Customized: for those merchants who wish to customise the submission. In this case, the acsURL and paReq parameters will be required to formulate the submission.
1. Simple: submit the form generated by the gateway. In this case, only the htmlBodyContent parameter is required.
2. Customized: for those merchants who wish to customise the submission. In this case, the acsURL and paReq parameters will be required to formulate the submission.
Fixed value
3DSecure.authenticationRedirect.customized = CONDITIONAL
The customized field is the response returned for those merchants who wish to customise the submission.
In this case, the acsURL and paReq parameters will be required to formulate the submission.
Fixed value
3DSecure.authenticationRedirect.customized.acsUrl Url = Always Provided
The URL of the card Issuer's Access Control Server (ACS) where the cardholder can be authenticated.
Existence
Always Provided
Fixed value
Validation Rules
Ensure that the URL begins with 'https' and is longer than 11 characters.
XSD type
string
3DSecure.authenticationRedirect.customized.paReq ASCII Text = Always Provided
The Payer Authentication Request (PAReq) message that is sent to the card Issuer's Access Control Server (ACS) to initiate authentication of the cardholder.
It contains all of the information required by the ACS to perform the authentication. PAReq should be sent to the ACS URL unaltered.
Existence
Always Provided
Fixed value
Validation Rules
Data consists of ASCII characters
XSD type
string
minimum length
0
maximum length
4000
3DSecure.authenticationRedirect.simple = CONDITIONAL
The simple field is the response returned to those merchants who have chosen the simple option for form submission.
In this case, only the htmlBodyContent parameter is required to formulate the submission.
Fixed value
3DSecure.authenticationRedirect.simple.htmlBodyContent String = Always Provided
The generated form to post to the cardholder's browser.
The form will redirect the browser to card Issuer's Access Control Server (ACS) where the cardholder can be authenticated. The form contains all of the information required by the ACS for authentication.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
XSD type
string
minimum length
0
maximum length
40960
3DSecure.authenticationToken Base64 = CONDITIONAL
The base64 encoded value generated by the card issuer.
Included in subsequent transaction request messages and used by the card scheme to verify that the authentication occurred and the values provided are valid. The token should be used unaltered.
This field corresponds to the Cardholder Authentication Verification Value (CAVV) for Visa, the Accountholder Authentication Value (AAV) for MasterCard and JCB, or the American Express Verification Value (AEVV) for American Express.
This field corresponds to the Cardholder Authentication Verification Value (CAVV) for Visa, the Accountholder Authentication Value (AAV) for MasterCard and JCB, or the American Express Verification Value (AEVV) for American Express.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is Base64 encoded
XSD type
string
minimum length
28
maximum length
32
3DSecure.summaryStatus Enumeration = Always Provided
The summarized response from the card issuer and the payment gateway indicating the overall status of the attempt to authenticate the cardholder.
For detailed information on the authentication result, see gatewayCode.
Existence
Always Provided
Fixed value
Validation Rules
XSD type
string
Value must be a member of the following list. The values are case sensitive.
AUTHENTICATION_ATTEMPTED
Authentication was attempted but the card issuer did not perform the authentication
AUTHENTICATION_FAILED
The cardholder failed the authentication.
AUTHENTICATION_NOT_AVAILABLE
An internal error occurred and Authentication is not currently available.
AUTHENTICATION_SUCCESSFUL
The cardholder was successfully authenticated.
CARD_DOES_NOT_SUPPORT_3DS
The card does not support 3DS authentication.
CARD_ENROLLED
The card is enrolled for 3DS authentication.
CARD_NOT_ENROLLED
The card is not enrolled for 3DS authentication.
3DSecure.xid Base64 = CONDITIONAL
A unique transaction identifier generated by the Payment Gateway on behalf of the merchant to identify the 3DS transaction.
This field is mandatory for Verified By Visa transactions if authentication was available. The XID should be used in operation requests unaltered.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is Base64 encoded
XSD type
string
minimum length
28
maximum length
28
3DSecureId ASCII Text = Always Provided
A unique identifier supplied by the merchant for the authentication.
It is first defined in the check3DSEnrollment operation, and then included in subsequent operations.
It is not used when the authentication is performed externally.
It is not used when the authentication is performed externally.
Existence
Always Provided
Fixed value
Validation Rules
Data consists of ASCII characters
XSD type
string
minimum length
1
maximum length
64
correlationId String = CONDITIONAL
A transient identifier for the request, that can be used to match the response to the request.
The value provided is not validated, does not persist in the gateway, and is returned as provided in the response to the request.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
XSD type
string
minimum length
1
maximum length
100
currencyConversion = CONDITIONAL
Information specific to the use of dynamic currency conversion (DCC).
If you requested a rate quote via the gateway, provide the requestId as returned in the PAYMENT_OPTIONS_INQUIRY response. For rate quote requests performed outside the gateway, you must at least provide payer amount, payer currency, provider and payer exchange rate.
You can only provide DCC information on the initial transaction for an order. If provided on subsequent transactions or an order, DCC information will be ignored.
You can only provide DCC information on the initial transaction for an order. If provided on subsequent transactions or an order, DCC information will be ignored.
Fixed value
currencyConversion.exchangeRateTime DateTime = CONDITIONAL
The timestamp of when the conversion rate is effective.
The timestamp may need to be displayed to the payer on the merchant site to satisfy regulatory requirements.
Existence
CONDITIONAL
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
XSD type
string
currencyConversion.marginPercentage Decimal = CONDITIONAL
The foreign exchange markup applied as a percentage to the transaction amount for providing the conversion service.
The margin percentage may need to be displayed to the payer on the merchant site to satisfy regulatory requirements.
Existence
CONDITIONAL
Fixed value
Validation Rules
A sequence of digits 0-9 separated by a '.' as a decimal indicator. Leading and trailing zeroes are optional. If the fractional part is zero, the '.' and following zero(es) can be omitted. (For a complete description, see http://www.w3.org/TR/xmlschema-2/#decimal.)
XSD type
decimal
maximum value
10000000
minimum value
0
maximum post-decimal digits
5
currencyConversion.payerAmount Decimal = CONDITIONAL
The total amount of the transaction in the payer's currency.
You must include this field if the payer accepted the DCC offer you presented to them.
Existence
CONDITIONAL
Fixed value
Validation Rules
A sequence of digits 0-9 separated by a '.' as a decimal indicator. Leading and trailing zeroes are optional. If the fractional part is zero, the '.' and following zero(es) can be omitted. (For a complete description, see http://www.w3.org/TR/xmlschema-2/#decimal.)
XSD type
decimal
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3
currencyConversion.payerCurrency Upper case alphabetic text = CONDITIONAL
The currency of the DCC rate quote provided by your DCC Service Provider.
The currency must be expressed as an ISO 4217 alpha code, e.g. USD and must be different to that provided for transaction currency. You must include this field if the payer accepted the DCC offer you presented to them.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
XSD type
string
minimum length
3
maximum length
3
currencyConversion.payerExchangeRate Decimal = CONDITIONAL
The exchange rate used to convert the transaction amount into the payer's currency.
The payer exchange rate includes the foreign exchange markup (marginPercentage). The payer exchange rate is displayed to the payer on the merchant site.
Existence
CONDITIONAL
Fixed value
Validation Rules
A sequence of digits 0-9 separated by a '.' as a decimal indicator. Leading and trailing zeroes are optional. If the fractional part is zero, the '.' and following zero(es) can be omitted. (For a complete description, see http://www.w3.org/TR/xmlschema-2/#decimal.)
XSD type
decimal
maximum value
1000000000000000000
minimum value
0
maximum post-decimal digits
12
currencyConversion.provider Enumeration = CONDITIONAL
This identifies the name of the provider of the DCC quote.
This data is for information purposes, and may be useful if you use multiple DCC providers.
Existence
CONDITIONAL
Fixed value
Validation Rules
XSD type
string
Value must be a member of the following list. The values are case sensitive.
FEXCO
TRAVELEX_CURRENCY_SELECT
currencyConversion.providerReceipt String = CONDITIONAL
The quote provider's unique reference to the rate quote.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
XSD type
string
minimum length
1
maximum length
100
currencyConversion.uptake Enumeration = Always Provided
Indicates how DCC applies to the order.
If not provided, this value defaults to NOT_REQUIRED.
Existence
Always Provided
Fixed value
Validation Rules
XSD type
string
Value must be a member of the following list. The values are case sensitive.
ACCEPTED
The payer accepted the DCC offer and pays in their own currency. The conditions of the rate quote are applied in the processing of this transaction.
DECLINED
The payer declined the DCC offer and pays in your transaction currency.
NOT_AVAILABLE
A rate quote was requested, but no DCC offer was provided. For rate quotes via the gateway the PAYMENT_OPTION_INQUIRY response contains a currencyConversion.gatewayCode other than QUOTE_PROVIDED.
NOT_REQUIRED
DCC is not required for this transaction.
merchant Alphanumeric + additional characters = Always Provided
The unique identifier issued to you by your payment provider.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
XSD type
string
minimum length
1
maximum length
40
response = Always Provided
A collection of information that is specific to responses from the API.
Fixed value
response.3DSecure = Always Provided
The response code which indicates the status.
Fixed value
response.3DSecure.gatewayCode Enumeration = Always Provided
The detailed response from the payment gateway to indicate the status of the 3DS authentication.
Existence
Always Provided
Fixed value
Validation Rules
The result of a 3DS request to the gateway.
XSD type
string
Value must be a member of the following list. The values are case sensitive.
ACS_SESSION_TIMEOUT
The session with the Issuer's ACS timed out. The cardholder did not return from the ACS session.
AUTHENTICATION_ATTEMPTED
The Merchant attempted to authenticate the cardholder with the card Issuer, but the card Issuer did not perform authentication of the card. Proof of authentication attempt was provided.
AUTHENTICATION_FAILED
The cardholder failed authentication by the card Issuer.
AUTHENTICATION_NOT_AVAILABLE_ERROR_DETAILS_PROVIDED
The response received from the card issuer's ACS (PARes) indicated that authentication of the cardholder could not be completed as technical or other issues were encountered by the Issuer's ACS. Error details (IReq) provided.
AUTHENTICATION_NOT_AVAILABLE_NO_ERROR_DETAILS
The response received from the card issuer's ACS (PARes) indicated that authentication of the cardholder could not be completed as technical or other issues were encountered by the Issuer's ACS. No error details (IReq) were provided.
AUTHENTICATION_SUCCESSFUL
The cardholder was successfully authenticated by the card Issuer.
CARD_DOES_NOT_SUPPORT_3DS
The card does not support 3D Secure authentication.
CARD_ENROLLED
Card holder is enrolled.
ENROLLMENT_STATUS_UNDETERMINED_ERROR_DETAILS_PROVIDED
The Issuer's ACS was not able to process the request to check enrollment or the card is ineligible (e.g. it is a Commercial card). The ACS did not provide any further details in the response.
ENROLLMENT_STATUS_UNDETERMINED_NO_ERROR_DETAILS
The Issuer's ACS was not able to process the request to check enrollment or the card is ineligible (e.g. it is a Commercial card). The ACS did not provide any further details in the response.
ERROR_COMMUNICATING_WITH_DIRECTORY_SERVER
An error communicating with the Directory Server was encountered.
ERROR_PARSING_AUTHENTICATION_RESPONSE
Error parsing Payer Authentication Response (PARes) received from the ACS.
ERROR_PARSING_CHECK_ENROLLMENT_REQUEST
Occurs when the request is incorrectly formatted. For example, the Merchant Id is longer than maximum allowed. Will generally only occur as a result of a defect in PS.
ERROR_PARSING_CHECK_ENROLLMENT_RESPONSE
Error parsing Verify Enrollment Response (VERes) received from the ACS.
INVALID_DIRECTORY_SERVER_CREDENTIALS
Merchant ID and Password failed authentication with the Directory Server (Contact Support to rectify)
INVALID_SIGNATURE_ON_AUTHENTICATION_RESPONSE
Error validating signature on response received from the ACS.
MPI_PROCESSING_ERROR
Internal processing error
NOT_ENROLLED_ERROR_DETAILS_PROVIDED
Card holder is not enrolled. Error details were returned by the Directory Server.
NOT_ENROLLED_NO_ERROR_DETAILS
Card holder is not enrolled. No error details were returned by the Directory Server.
error = CONDITIONAL
Information on possible error conditions that may occur while processing an operation using the API.
Fixed value
error.cause Enumeration = CONDITIONAL
Broadly categorizes the cause of the error.
For example, errors may occur due to invalid requests or internal system failures.
Fixed value
Validation Rules
XSD type
string
Value must be a member of the following list. The values are case sensitive.
INVALID_REQUEST
The request was rejected because it did not conform to the API protocol.
REQUEST_REJECTED
The request was rejected due to security reasons such as firewall rules, expired certificate, etc.
SERVER_BUSY
The server did not have enough resources to process the request at the moment.
SERVER_FAILED
There was an internal system failure.
error.explanation String = CONDITIONAL
Textual description of the error based on the cause.
This field is returned only if the cause is INVALID_REQUEST or SERVER_BUSY.
Fixed value
Validation Rules
Data can consist of any characters
XSD type
string
minimum length
1
maximum length
1000
error.field String = CONDITIONAL
Indicates the name of the field that failed validation.
This field is returned only if the cause is INVALID_REQUEST and a field level validation error was encountered.
Fixed value
Validation Rules
Data can consist of any characters
XSD type
string
minimum length
1
maximum length
100
error.supportCode String = CONDITIONAL
Indicates the code that helps the support team to quickly identify the exact cause of the error.
This field is returned only if the cause is SERVER_FAILED or REQUEST_REJECTED.
Fixed value
Validation Rules
Data can consist of any characters
XSD type
string
minimum length
1
maximum length
100
error.validationType Enumeration = CONDITIONAL
Indicates the type of field validation error.
This field is returned only if the cause is INVALID_REQUEST and a field level validation error was encountered.
Fixed value
Validation Rules
XSD type
string
Value must be a member of the following list. The values are case sensitive.
INVALID
The request contained a field with a value that did not pass validation.
MISSING
The request was missing a mandatory field.
UNSUPPORTED
The request contained a field that is unsupported.
result Enumeration = CONDITIONAL
A system-generated high level overall result of the operation.
Fixed value
Validation Rules
XSD type
string
Value must be a member of the following list. The values are case sensitive.
ERROR
The operation resulted in an error and hence cannot be processed.