JSON Object
authenticationResponse
authenticationResponse
The authenticationResponse object is part of the Authentication Notification sent from the 1cs Online Payment System to the merchant server. It is only applicable to Server-to-Server integrations.
Please note that all data elements listed below will be present in authenticationResponse but might hold an empty string based on the condition.
Key | Format | Condition | Description |
threeDSServerTransID | string | M | the 1cs Online Payment System PayID in canonical format as specified in IETF RFC 4122. |
acsChallengeMandated | boolean | M | Indication of whether a challenge is required for the transaction to be authorised. |
acsDecConInd | boolean | C | Indicates whether the ACS confirms utilisation of Decoupled Authentication and agrees to utilise Decoupled Authentication to authenticate the cardholder. Required if Transaction Status = D. |
acsOperatorID | string | C | DS assigned ACS identifier. Each DS can provide a unique ID to each ACS on an individual basis. Requirements for the presence of this field are DS specific. |
acsReferenceNumber | string | M | Unique identifier assigned by the EMVCo Secretariat upon Testing and Approval. |
acsRenderingType | object | C | App-based only. Identifies the ACS UI Template that the ACS will first present to the consumer. Required if Transaction Status = C. |
acsSignedContent | string | C | App-based only. Contains the JWS object (represented as a string) created by the ACS for the ARes message. Required if the Transaction Status = C. |
acsTransID | string | M | Universally Unique transaction identifier assigned by the ACS to identify a single transaction. |
acsURL | string | C | Fully qualified URL of the ACS to be used to post the Challenge Request. For App-based, this data element is contained within the ACS Signed Content JWS Object. Required if Transaction Status = C. |
authenticationType | string | C | Indicates the type of authentication method the Issuer will use to challenge the cardholder. Required if the Transaction Status = C or D. Values accepted: · 01 = static · 02 = dynamic · 03 = oob Future implementation. Protocol Version 2.2.0 onwards – · 04 = decoupled |
authenticationValue | string | C | Payment System-specific value provided by the ACS or the DS to provide proof of authentication. Required if Transaction Status = Y or A. Conditional based on DS rules if Transaction Status = I. |
broadInfo | string | C | Unstructured information sent between the 3DS Server, the DS and the ACS. Requirements for the presence of this field are DS specific. |
cardholderInfo | string | C | Text provided by the ACS/Issuer to Cardholder during a Frictionless or Decoupled transaction. The Issuer can provide information to Cardholder. For example, “Additional authentication is needed for this transaction, please contact (Issuer Name) at xxx-xxx-xxxx.” Required if ACS Decoupled Confirmation Indicator = true Otherwise, Optional for the ACS. |
dsReferenceNumber | string | M | EMVCo-assigned unique identifier to track approved DS. |
dsTransID | string | M | Universally unique transaction identifier assigned by the DS to identify a single transaction. |
eci | string | M | Payment System-specific value provided by the ACS or DS to indicate the results of the attempt to authenticate the Cardholder. The requirements for the presence of this field are DS specific. |
messageExtension | string | C | Data necessary to support requirements not otherwise defined in the 3-D Secure message are carried in a Message Extension. Conditions to be set by each DS. |
messageType | string | M | Identifies the type of message that is passed. Values accepted: · AReq · ARes · CReq · CRes · PReq · PRes · RReq · RRes |
messageVersion | string | M | Protocol version identifier. |
sdkTransID | string | C | App-based only. Universally unique transaction identifier assigned by the 3DS SDK to identify a single transaction. |
transStatus | string | M | Indicates whether a transaction qualifies as an authenticated transaction. Values accepted: · Y = Authentication Verification Successful. · N = Not Authenticated /Account Not Verified; Transaction denied. · U = Authentication/ Account Verification Could Not Be Performed; Technical or other problem, as indicated in ARes or RReq. · A = Attempts Processing Performed; Not Authenticated/Verified, but a proof of attempted authentication/verification is provided. · C = Challenge Required; Additional authentication is required using the CReq/CRes. · D = Challenge Required; Decoupled Authentication confirmed. · R = Authentication/ Account Verification Rejected; Issuer is rejecting authentication/verification and request that authorisation not be attempted. · I = Informational Only; 3DS Requestor challenge preference acknowledged. |
transStatusReason | string | C | Provides information on why the Transaction Status field has the specified value. Required if the Transaction Status field = N, U, or R. Values accepted: · 01 = Card authentication failed · 02 = Unknown Device · 03 = Unsupported Device · 04 = Exceeds authentication frequency limit · 05 = Expired card · 06 = Invalid card number · 07 = Invalid transaction · 08 = No Card record · 09 = Security failure · 10 = Stolen card · 11 = Suspected fraud · 12 = Transaction not permitted to cardholder · 13 = Cardholder not enrolled in service · 14 = Transaction timed out at the ACS · 15 = Low confidence · 16 = Medium confidence · 17 = High confidence · 18 = Very High confidence · 19 = Exceeds ACS maximum challenges · 20 = Non-Payment transaction not supported · 21 = 3RI transaction not supported · 22 = ACS technical issue · 23 = Decoupled Authentication required by ACS but not requested by 3DS Requestor · 24 = 3DS Requestor Decoupled Max Expiry Time exceeded · 25 = Decoupled Authentication was provided insufficient time to authenticate cardholder. ACS will not make attempt · 26 = Authentication attempted but not performed by the cardholder · 80 = (Visa) Error connecting to ACS. · 80 = (Mastercard) Returned on all Data Only authentications. · 80 = (American Express)Safekey is not available for this type of card. · 81 = (Visa) ACS timed out. · 81 = (Mastercard) Challenge exemption accepted. · 82 = (Visa) Invalid response from ACS. · 82 = (Mastercard) Challenge Mandate requested but could not be performed. · 83 = (Visa) System Error response from ACS. · 84= (Visa) VMID not eligible for requested program. · 85 = (Visa) VMID not eligible for requested program. · 86 = (Visa) Protocol version not supported by ACS. · 87 = (Visa) Transaction is excluded from Attempts Processing (includes non- reloadable pre-paid cards and non-payments (NPA)). · 88 = (Visa) Requested program not supported by ACS. |
whiteListStatus | string | C | Future use. Only supported with protocol version 2.2.0 onwards. Enables the communication of trusted beneficiary/whitelist status. Values accepted: · Y = 3DS Requestor is whitelisted by cardholder · N = 3DS Requestor is not whitelisted by cardholder · E = Not eligible as determined by issuer · P = Pending confirmation by cardholder · R = Cardholder rejected · U = Whitelist status unknown, unavailable, or does not apply |
whiteListStatusSource | string | C | Future use. Only supported with protocol version 2.2.0 onwards. This data element will be populated by the system setting Whitelist Status. Values accepted: · 01 = 3DS Server · 02 = DS · 03 = ACS |
challengeRequest | object | C | Challenge request object in case the authentication response message indicates that further cardholder interaction is required to complete the authentication. |
base64EncodedChallengeRequest | string | C | Base64-encoded Challenge Request object in case the authentication response message indicates that further cardholder interaction is required to complete the authentication. |
threeDSCompInd | string | M | Indicates whether the 3DS Method successfully completed. · Y = Successfully completed · N = Did not successfully complete · U = Unavailable – 3DS Method URL was not present the card account number |
Schema
{
“$schema”: “http://json-schema.org/draft-07/schema#”,
“$id”: “https://www.computop-paygate.com/schemas/authenticationResponse.json”,
“title”: “authenticationResponse”,
“description”: “Authentisierungs-Antwort”,
“type”: “object”,
“properties”: {
“threeDSServerTransID”: {
“type”: “string”,
“maxLength”: 36
},
“acsChallengeMandated”: {
“type”: “boolean”
},
“acsDecConInd”: {
“type”: “boolean”
},
“acsOperatorID”: {
“type”: “string”,
“maxLength”: 32
},
“acsReferenceNumber”: {
“type”: “string”,
“maxLength”: 32
},
“acsRenderingType”: {
“type”: “object”,
“properties”: {
“acsInterface”: {
“type”: “string”,
“enum”: [“native”, “html”, “”],
“description”: “ACS-Schnittstelle, die dem Karteninhaber die Challenge zeigt.”
},
“acsUiTemplate”: {
“type”: “string”,
“enum”: [“text”, “singleSelect”, “multiSelect”, “oob”, “other”,””],
“description”: “Bestimmt das Format der UI-Vorlage, die ACS dem Kunden zuerst zeigt.”
}
},
“required”: [“acsInterface”, “acsUiTemplate”],
“additionalProperties”: false
},
“acsSignedContent”: {
“type”: “string”
},
“acsTransID”: {
“type”: “string”,
“maxLength”: 36
},
“acsURL”: {
“type”: “string”,
“maxLength”: 2048,
“format”: “uri”
},
“authenticationType”: {
“type”: “string”,
“enum”: [“static”, “dynamic”, “oob”, “decoupled”, “”]
},
“authenticationValue”: {
“type”: “string”,
“maxLength”: 28
},
“broadInfo”: {
“type”: “string”,
“maxLength”: 4096
},
“cardholderInfo”: {
“type”: “string”,
“maxLength”: 128
},
“dsReferenceNumber”: {
“type”: “string”,
“maxLength”: 32
},
“dsTransID”: {
“type”: “string”,
“maxLength”: 36
},
“eci”: {
“type”: “string”,
“maxLength”: 2
},
“messageExtension”: {
“type”: “string”,
“maxLength”: 81920
},
“messageType”: {
“type”: “string”,
“enum”: [“ARes”]
},
“messageVersion”: {
“type”: “string”,
“minLength”: 5,
“maxLength”: 8
},
“sdkTransID”: {
“type”: “string”,
“maxLength”: 36
},
“transStatus”: {
“type”: “string”,
“enum”: [“Y”, “N”, “U”, “A”, “C”, “D”, “R”, “I”, “”]
},
“transStatusReason”: {
“type”: “string”,
“enum”: [“01”, “02”, “03”, “04”, “05”, “06”, “07”, “08”, “09”, “10”, “11”, “12”, “13”, “14”, “15”, “16”, “17”, “18”, “19”, “20”, “21”, “22”, “23”, “24”, “25”, “26”, “”]
},
“whiteListStatus”: {
“type”: “string”,
“enum”: [“Y”, “N”, “E”, “P”, “R”, “U”, “”]
},
“whiteListStatusSource”: {
“type”: “string”,
“enum”: [“01”, “02”, “03”, “”]
},
“challengeRequest”: {
“type”: “object”,
“properties”: {
“threeDSServerTransID”: {
“type”: “string”,
“maxLength”: 36
},
“acsTransID”: {
“type”: “string”,
“maxLength”: 36
},
“challengeWindowSize”: {
“type”: “string”,
“enum”: [“01”, “02”, “03”, “04”, “05”]
},
“messageVersion”: {
“type”: “string”,
“minLength”: 5,
“maxLength”: 8
},
“messageType”: {
“type”: “string”,
“enum”: [“CReq”]
}
},
“required”: [“threeDSServerTransID”, “acsTransID”, “challengeWindowSize”, “messageVersion”, “messageType”],
“additionalProperties”: false
},
“base64EncodedChallengeRequest”: {
“type”: “string”
},
“threeDSCompInd”: {
“type”: “string”,
“enum”: [“Y”, “N”, “U”, “”]
}
},
“required”: [
“threeDSServerTransID”,
“acsChallengeMandated”,
“acsOperatorID”,
“acsReferenceNumber”,
“acsRenderingType”,
“acsSignedContent”,
“acsTransID”,
“acsURL”,
“authenticationType”,
“authenticationValue”,
“broadInfo”,
“cardholderInfo”,
“dsReferenceNumber”,
“dsTransID”,
“eci”,
“messageExtension”,
“messageType”,
“messageVersion”,
“sdkTransID”,
“transStatus”,
“transStatusReason”,
“whiteListStatus”,
“whiteListStatusSource”,
“challengeRequest”,
“base64EncodedChallengeRequest”,
“threeDSCompInd”
],
“additionalProperties”: false
}
Sample
{
“threeDSServerTransID”: “d9cf63f3-98ba-4e82-aa39-ca90c68f5262”,
“acsChallengeMandated”: true,
“acsDecConInd”: false,
“acsOperatorID”: “visaOperatorId”,
“acsReferenceNumber”: “3DS_LOA_ACS_NEAG_020100_00055”,
“acsRenderingType”: {
“acsInterface”: “”,
“acsUiTemplate”: “”
},
“acsSignedContent”: “”,
“acsTransID”: “fa15dced-02b7-4469-9a79-225786a02ae1”,
“acsURL”: “https://mc-id-check.firstdata.de/challengeRequestBrowser”,
“authenticationType”: “”,
“authenticationValue”: “”,
“broadInfo”: “”,
“cardholderInfo”: “”,
“dsReferenceNumber”: “VISA.V 17 0003”,
“dsTransID”: “a9645de6-52ba-4f79-abaa-f3050b9a5300”,
“eci”: “”,
“messageExtension”: “”,
“messageType”: “ARes”,
“messageVersion”: “2.1.0”,
“sdkTransID”: “”,
“transStatus”: “C”,
“transStatusReason”: “”,
“whiteListStatus”: “”,
“whiteListStatusSource”: “”,
“challengeRequest”: {
“threeDSServerTransID”: “d9cf63f3-98ba-4e82-aa39-ca90c68f5262”,
“acsTransID”: “fa15dced-02b7-4469-9a79-225786a02ae1”,
“challengeWindowSize”: “03”,
“messageVersion”: “2.1.0”,
“messageType”: “CReq”
},
“base64EncodedChallengeRequest”: “eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImQ5Y2Y2M2YzLTk4YmEtNGU4Mi1hYTM5LWNhOTBjNjhmNTI2MiIsImFjc1RyYW5zSUQiOiJmYTE1ZGNlZC0wMmI3LTQ0NjktOWE3OS0yMjU3ODZhMDJhZTEiLCJjaGFsbGVuZ2VXaW5kb3dTaXplIjoiMDMiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0=”,
“threeDSCompInd”: “”
}