Authentication Response
Interpret the results of the Authentication to see if MethodUrl populated, Challenge flow, or Frictionless flow.
Authentication Response
A detailed breakdown of all of the fields returned in the response are shown below.
AuthenticationResponse | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Field Name | Data Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Reference | String | Gateway returns the original reference passed by the integrator Length: Variable, max. 50 characters. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
ErrorCode | Integer | If an error has occurred during the process the relevant code will be populated in this field. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
ErrorMessage | String | If an error has occurred during the process the relevant message will be populated in this field. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
ResponseTime | Integer | Number of milliseconds taken for the response to be returned | ||||||||||||||||||||||||||||||||||||||||||||||||||||
AcsChallengeMandatedIndicator | String | Indication of whether a challenge is required for the transaction to be authorised due to local/regional mandates or other variable.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
AcsReferenceNumber | String | Unique identifier assigned to a certified ACS by EmvCo. For information only. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
AcsRenderingInterface | String | Identifies the Template that the ACS UI will use. For information only. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
AcsSignedContent | String | Contains authenticated content created by the ACS for the ARes message. For information only. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
AcsTransactionId | String | Universally Unique transaction identifier assigned by the ACS to identify a single transaction. Required where fallback to v1 has occurred. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
AcsUrl | String | Fully qualified URL of the ACS to be used for the challenge. Length: Variable, max. 2048 characters. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
AtsData | String | Additional Transaction Security (ATS) data This will only be populated in the event of fallback to V1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
AuthenticationEci | String | Electronic Commerce Indicator (ECI) - consists of two digits | ||||||||||||||||||||||||||||||||||||||||||||||||||||
AuthenticationType | String | Indicates the type of authentication method the Issuer will use to challenge the Cardholder, whether in the ARes message or what was used by the ACS when in the RReq message.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
AuthenticationValue | String | Cardholder Authentication Verification Value (CAVV) - a 28-byte base64 encoded value | ||||||||||||||||||||||||||||||||||||||||||||||||||||
CReq | String | CReq to be used with ACS interaction between cardholder and issuer. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
CardClassId | Integer | Indicates the card scheme that issued the card. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
DecoupledConfirmationIndicator | String | Indicates whether the ACS confirms utilisation of Decoupled Authentication and agrees to utilise Decoupled Authentication to authenticate the Cardholder.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
DsReferenceNumber | String | Unique identifier assigned to a certified DS by EmvCo. For information only. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
DsTransactionId | String | Universally unique transaction identifier assigned by the DS to identify a single transaction. For information only, the solution uses ThreeDsServerTransactionId instead. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
MethodData | String | This value should be sent as a Form POST to the MethodUrl. This should be rendered as a hidden iframe, and is discussed in more detail in the MethodUrl section. This field is only present when the MethodUrl process is required. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
MethodUrl | String | Indicates the Url that the MethodData hidden Iframe should be POST'd to. This field is only present when the MethodUrl process is required. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
ProtocolVersion | String | Indicates the protocol used in the 3DS process. If ProtocolVersion starts with 1 this indicates that a fallback to version one of the protocol has been initiated due to card issuer not supporting V2. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
ThreeDsServerTransactionId | String | Universally unique transaction identifier assigned by the 3DS Server to identify a single transaction. Length: 36 characters. Populated if DS interaction has taken place. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
TransactionStatus | String | Indicates whether a transaction qualifies as an authenticated transaction or account verification. Note: The Final CRes message can contain only a value of Y or N.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
TransactionStatusReason | String | Provides information on why the Transaction Status field has the specified value.
|
Example Code Responses
- JSON
- XML
{
"Reference":"TestTransaction",
"ErrorCode":00,
"ErrorMessage":"String content",
"ResponseTime":100,
"AcsChallengeMandatedIndicator":"String content",
"AcsReferenceNumber":"String content",
"AcsRenderingInterface":"String content",
"AcsSignedContent":"String content",
"AcsTransactionId":"String content",
"AcsUrl":"String content",
"AtsData":"String content",
"AuthenticationEci":"String content",
"AuthenticationType":"String content",
"AuthenticationValue":"String content",
"CReq":"String content",
"CardClassId":2147483647,
"DecoupledConfirmationIndicator":"String content",
"DsReferenceNumber":"String content",
"DsTransactionId":"String content",
"MethodData":"String content",
"MethodUrl":"String content",
"ProtocolVersion":"String content",
"ThreeDsServerTransactionId":"String content",
"TransactionStatus":"String content",
"TransactionStatusReason":"String content"
}
<ThreeDSecureV2AuthenticationResponse>
<Reference>TestTransaction</Reference>
<ErrorCode>00</ErrorCode>
<ErrorMessage>String content</ErrorMessage>
<ResponseTime>100</ResponseTime>
<AcsChallengeMandatedIndicator>String content</AcsChallengeMandatedIndicator>
<AcsReferenceNumber>String content</AcsReferenceNumber>
<AcsRenderingInterface>String content</AcsRenderingInterface>
<AcsSignedContent>String content</AcsSignedContent>
<AcsTransactionId>String content</AcsTransactionId>
<AcsUrl>String content</AcsUrl>
<AtsData>String content</AtsData>
<AuthenticationEci>String content</AuthenticationEci>
<AuthenticationType>String content</AuthenticationType>
<AuthenticationValue>String content</AuthenticationValue>
<CReq>String content</CReq>
<CardClassId>1</CardClassId>
<DecoupledConfirmationIndicator>String content</DecoupledConfirmationIndicator>
<DsReferenceNumber>String content</DsReferenceNumber>
<DsTransactionId>String content</DsTransactionId>
<MethodData>String content</MethodData>
<MethodUrl>String content</MethodUrl>
<ProtocolVersion>String content</ProtocolVersion>
<ThreeDsServerTransactionId>String content</ThreeDsServerTransactionId>
<TransactionStatus>String content</TransactionStatus>
<TransactionStatusReason>String content</TransactionStatusReason>
</ThreeDSecureV2AuthenticationResponse>
Next Steps
MethodUrl present
If the MethodUrl
field and the MethodData
field are populated, you need to continue to the MethodUrl section.
Challenge Requested
If the TransactionStatus
is C
or D
then you need to proceed to the Challenge Flow section.
Authentication Complete
Other TransactionStatus
codes may allow you to proceed or not. Please check Using your Results for more guidance.