Test your integration

On this page

While you set up your integration environment, you must test the different authentication flows supported by 3D Secure 2: frictionless, challenge, and 3RI (merchant-initiated). Use the test card numbers on this page to test these scenarios in the UAT environment only, i.e., the test environment. For each test scenario, we have listed the key input data that can help to trigger the test scenario and the key fields you should receive in the response body.

note

You must also enter all required parameters for a successful request and response. Each test card section also links to request samples relevant to that section. For field descriptions, see API reference.

Test credentials

To request authentication credentials that you would need to test the different integration options in the sandbox environment, fill in the information requested in this form.

3D Secure 2 test credentials request formLink opens new window

important

Never expose your API key in the client-side code.

For more details on authentication mechanisms supported by Elavon for 3D Secure, see Authentication.

3DS 2 Test cards

You can use the following card numbers when testing your integration. Use these test cards only in Elavon’s UAT environment (test systems). These card numbers will return an error if used in a live environment.

important

  • Do not use live numbers for testing.

  • You can use any future date for the expiration date. For the CVC/CVV code, enter any three-digit for Visa, Mastercard, and Discover cards and any four-digit for American Express cards.

3DS 2 - Test cards for /3ds2/lookup scenarios

ScenarioTest card numbers (3DS 2.1)Test card numbers (3DS 2.2)
ACS Version is 2.1.0/2.2.0 and threeDSMethodURL present in the /3ds2/lookup response
  • Visa - 4000000000000077
  • Mastercard - 5123610000000007
  • American Express - 370000000000002
  • Discover - 6011000990139424
  • Diners - 36070500001012
  • Visa - 4580000000000000007
  • Mastercard - 5038300000000000002
  • American Express - 377995000000006
  • Discover - 6011950000000000
ACS Version 2.1.0/2.2.0 and threeDSMethodURL and threeDSMethodData NOT present in the /3ds2/lookup response
  • Visa - 4601660000000014
  • Discover - 6011800000000007
  • JCB - 3579000000000005
  • Unionpay - 6280000000000008
  • Visa - 4650000000000005
Out of range card numberAny account/card number other than the card numbers mentioned on this page. For example, 7008013267046805.NA

To test the 3DS 2.2 protocol through the direct integration to the 3DS Server, you must set the following values in the /lookup request:

  • clientStartProtocolVersion = 2.1.0 or 2.2.0
  • clientEndProtocolVersion = 2.2.0

For sample lookup or 3D Secure version check scenarios, see /3ds2/lookup scenarios

3DS 2 - Test cards for /3ds2/authenticate scenarios

If you use the purchaseAmount to trigger a scenario, you can use any valid card number in the acctNumber field. Similarly, if you use the acctNumber to trigger a scenario, you can use any purchaseAmount.

To test the 3DS 2.2 protocol through the direct integration to the 3DS Server, you must set the following values in the /lookup request:

  • clientStartProtocolVersion = 2.1.0 or 2.2.0
  • clientEndProtocolVersion = 2.2.0
  • messageVersion = 2.2.0

To understand more about the 3DS Server fallback strategy, review the 3DS Server fallback strategy table in step 4 of the Direct integration to 3DS Server topic.

To test the 3DS 2.2 protocol through the Web SDK integration, set the clientEndProtocolVersion = 2.2.0, which is also the default value. The Web SDK determines the messageVersion based on the clientEndProtocolVersion. In this case, the messageVersion will be set to 2.2.0.

In a production environment, the liability shift is only for disputed transactions or chargebacks. Use the following information related to liability shift and next steps for merchants as a reference. These can differ for each card scheme and each issuer might have a different criteria for liability shift.

transStatus = Y

Description: Frictionless flow: Transaction is successfully authenticated

Authentication values returned: eci = 05 (Visa)/ 02 (Mastercard) and authenticationValue = Yes

Test values: Set the following values in the /3ds2/authenticate request:

  • purchaseAmount = 100
  • acctNumber = 4000000000000101 for Visa
  • acctNumber = 5413330089604111 for Mastercard

Liability shift: Card issuer

Next step: Use the eci and authenticationValue for card authorization.

transStatus = A

Description: Frictionless flow: Transaction is not authenticated but a proof of authentication attempt is generated (returns a digit eci value)

Authentication values returned: eci = 06 (Visa) / 01(Mastercard) and authenticationValue = Yes

Test values: Set the following values in the /3ds2/authenticate request:

  • purchaseAmount = 101
  • acctNumber = 4000000000000119 for Visa
  • acctNumber = 5353161802533432 for Mastercard

Liability shift: Card issuer

Next step: Use the eci and authenticationValue for card authorization.

transStatus = A

Description: Frictionless flow: Transaction is not authenticated but a proof of authentication attempt is generated (returns a non-digit eci value)

Authentication values returned: eci = A6 (Visa and Amex)/ A1 (Mastercard) and authenticationValue = Yes

Test values: Set the following values in the /3ds2/authenticate request:

  • purchaseAmount = 102
  • acctNumber = 4000000000000150 for Visa

Liability shift: Card issuer

Next step: Use the eci and authenticationValue for card authorization.

transStatus = N

Description: Frictionless flow: Transaction is not authenticated

Authentication values returned: transStatusReason

Test values: Set the following values in the /3ds2/authenticate request:

  • purchaseAmount = 103
  • acctNumber = 4000000000000127 for Visa
  • acctNumber = 5413330089600036 for Mastercard

Liability shift: No liability shift

Next step: If you get this value, verify the value in the transStatusReason field. Based on the value received, you can do either of the following:

  • Try to send the authentication request again
  • Request the customer for another form of payment
  • Decline the transaction
  • Move forward with authorization at your own risk

transStatus = U

Description: Frictionless flow: Transaction is not authenticated because of technical or other problems

Authentication values returned: transStatusReason

Test values: Set the following values in the /3ds2/authenticate request:

  • purchaseAmount = 104
  • acctNumber = 4000000000000135 for Visa

Liability shift: No liability shift

Next step: If you get this value, verify the value in the transStatusReason field. Based on the value received, you can do either of the following:

  • Try to send the authentication request again
  • Request the customer for another form of payment
  • Decline the transaction
  • Move forward with authorization at your own risk

transStatus = R

Description: Frictionless flow: Transaction is not authenticated because the issuer is rejecting authentication

Authentication values returned: transStatusReason

Test values: Set the following values in the /3ds2/authenticate request:

  • purchaseAmount = 105
  • acctNumber = 4000000000000143 for Visa

Liability shift: No liability shift

Next step: If you get this value, verify the value in the transStatusReason field. Based on the value received, you can do either of the following:

  • Try to send the authentication request again
  • Request the customer for another form of payment
  • Decline the transaction
  • Move forward with authorization at your own risk

transStatus = C

Description: Challenge flow: Issuer needs additional verification from the cardholder to authenticate the transaction

Authentication values returned: Transaction authentication still in progress

Test values: Set the following values in the /3ds2/authenticate request:

  • purchaseAmount = any value not mentioned on this page
  • acctNumber = any valid card number not mentioned on this page
  • threeDSRequestorChallengeInd = set the field value to 04, which means that a challenge is requested, if required.

Liability shift: Transaction authentication is in progress. Liability shift will be determined after the cardholder completes the challenge.

Next step: To simulate the challenge response in the test environment, Elavon’s ACS emulator displays a challenge window.

  • Select Y to simulate a successful challenge.
  • Select N to simulate a challenge failure.

You can also change the passphrase from ‘validtext’ to any other text and select Proceed. The challenge window lets you have three tries before failing the challenge.

note

In a production environment, you have to create an iframe to facilitate the challenge process between the issuer and the cardholder. After the challenge is complete, verify the challenge completion response. For detailed steps, see step 6 and 7 in the Direct integration with the 3DS Server topic.

transStatus = I

Description: Informational Only; 3DS Requestor challenge preference acknowledged.

Authentication values returned: authenticationValue and eci (depends on the DS rules)

Test values: Set the following values in the /3ds2/authenticate request:

  • purchaseAmount = any value not mentioned on this page
  • acctNumber = any valid card number not mentioned on this page
  • threeDSRequestorChallengeInd = 06

Liability shift: Not applicable as the data was shared only for an information update

Next step: Not required


Failure scenariosTest value
Error: Directory Server Timed outSet one of the following values in the /3ds2/authenticate request:
  • purchaseAmount = 921
  • acctNumber = 4000000000000416 for Visa
Error: Directory Server UnavailableSet one of the following values in the /3ds2/authenticate request:
  • purchaseAmount = 922
  • acctNumber = 4000000000000424 for Visa
ACS method call timeoutIn the /3ds2/lookup request, set acctNumber = 4000000000000010
ACS method call failureIn the /3ds2/lookup request, set acctNumber = 4000000000000002
ACS method notify call failureIn the /3ds2/lookup request, set acctNumber = 4000000000000028

For sample authentication scenarios, see /3ds2/authenticate scenarios

3DS 2: Test cards to test 3DS Requestor Initiated (3RI) Transactions

To test the 3DS 2.2 protocol through the direct integration to the 3DS Server, you must set the following values in the /lookup request:

  • clientStartProtocolVersion = 2.1.0 or 2.2.0
  • clientEndProtocolVersion = 2.2.0
  • messageVersion = 2.2.0

To know more about the 3DS Server fallback strategy, review the 3DS Server Fallback Strategy table in step 3 of the 3RI overview topic.

In a production environment, the liability shift is only for disputed transactions or chargebacks. Use the following information related to liability shift and next steps for merchants as a reference. These can differ for each card scheme and each issuer might have a different criteria for liability shift. [/notice]

transStatus = Y

Description: Frictionless flow: Transaction is successfully authenticated

Authentication values returned: eci and authenticationValue

Test values: Set the following values in the /3ds2/authenticate request:

  • acctNumber = 4000000000000101 for Visa
  • To test for 3DS 2.2, set messageVersion = 2.2.0

Liability shift: Card issuer

Next step: Use the eci and authenticationValue for card authorization.

transStatus = A

Description: Frictionless flow: Transaction is not authenticated but a proof of authentication attempt is generated (returns a digit eci value)

Authentication values returned: eci and authenticationValue

Test values: Set the following values in the /3ds2/authenticate request:

  • acctNumber = 4000000000000119 for Visa
  • To test for 3DS 2.2, set messageVersion = 2.2.0

Liability shift: Card issuer

Next step: Use the eci and authenticationValue for card authorization.

transStatus = N

Description: Frictionless flow: Transaction is not authenticated

Authentication values returned: transStatusReason

Test values: Set the following values in the /3ds2/authenticate request:

  • acctNumber = 4000000000000127 for Visa
  • To test for 3DS 2.2, set messageVersion = 2.2.0

Liability shift: No liability shift

Next step: If you get this value, verify the value in the transStatusReason field. Based on the value received, you can do either of the following:

  • Try to send the authentication request again
  • Request the customer for another form of payment
  • Decline the transaction
  • Move forward with authorization at your own risk

transStatus = U

Description: Frictionless flow: Transaction is not authenticated because of technical or other problems

Authentication values returned: transStatusReason

Test values: Set the following values in the /3ds2/authenticate request:

  • acctNumber = 4000000000000135 for Visa
  • To test for 3DS 2.2, set messageVersion = 2.2.0

Liability shift: No liability shift

Next step: If you get this value, verify the value in the transStatusReason field. Based on the value received, you can do either of the following:

  • Try to send the authentication request again
  • Request the customer for another form of payment
  • Decline the transaction
  • Move forward with authorization at your own risk

transStatus = R

Description: Frictionless flow: Transaction is not authenticated because the issuer is rejecting authentication

Authentication values returned: transStatusReason

Test values: Set the following values in the /3ds2/authenticate request:

  • acctNumber = 4000000000000143 for Visa
  • To test for 3DS 2.2, set messageVersion = 2.2.0

Liability shift: No liability shift

Next step: If you get this value, verify the value in the transStatusReason field. Based on the value received, you can do either of the following:

  • Try to send the authentication request again
  • Request the customer for another form of payment
  • Decline the transaction
  • Move forward with authorization at your own risk

transStatus = U

Description: Frictionless flow: Transaction is not authenticated because of technical or other problems

Authentication values returned: transStatusReason

Test values: Set the following values in the /3ds2/authenticate request:

  • acctNumber = 4000000000000135 for Visa
  • To test for 3DS 2.2, set messageVersion = 2.2.0

Liability shift: No liability shift

Next step: If you get this value, verify the value in the transStatusReason field. Based on the value received, you can do either of the following:

  • Try to send the authentication request again
  • Request the customer for another form of payment
  • Decline the transaction
  • Move forward with authorization at your own risk

transStatus = R

Description: Frictionless flow: Transaction is not authenticated because the issuer is rejecting authentication

Authentication values returned: transStatusReason

Test values: Set the following values in the /3ds2/authenticate request:

  • acctNumber = 4000000000000143 for Visa
  • To test for 3DS 2.2, set messageVersion = 2.2.0

Liability shift: No liability shift

Next step: If you get this value, verify the value in the transStatusReason field. Based on the value received, you can do either of the following:

  • Try to send the authentication request again
  • Request the customer for another form of payment
  • Decline the transaction
  • Move forward with authorization at your own risk

transStatus = I

Description: Informational Only; 3DS Requestor challenge preference acknowledged.

Authentication values returned: NA

Test values: Not a supported scenario

Liability shift: NA

Next step: Not a supported scenario

For sample 3RI authentication scenarios, see /3ds2/authenticate scenarios

Sample scenarios: /3ds2/lookup

Lookup Scenario 1: Account number supports EMV 3DS 2 and is available in Elavon’s bin database, an internal repository

Sample request

POST  https://uat.gw.fraud.eu.elavonaws.com/3ds2/lookupLink opens new window

{
   "messageId" : "0b0deb70-3249-4c73-9cf5-92f6cac231af",
   "acctNumber" : "4485363933630",
   "doBinLookup" : true,
   "clientStartProtocolVersion": "2.1.0",
   "clientEndProtocolVersion" : "2.2.0"
}

Sample response

{
   "messageId" : "0b0deb70-3249-4c73-9cf5-92f6cac231af",
   "threeDSServerTransID" : "dc94433c-d001-47d1-aa3b-842ef658abe3",
   "directoryServerId" : "DirectoryServerID-DEMO-VISA",
   "dsStartProtocolVersion" : "2.1.0",
   "dsEndProtocolVersion" : "2.2.0",
   "acsStartProtocolVersion" : "2.1.0",
   "acsEndProtocolVersion" : "2.2.0",
   "threeDSMethodURL" : "https://uat.acs.fraud.eu.elavonaws.com/acs/method/VISA",
   "threeDSMethodData" : "ewogICJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjogImh0dHBzOi8vZGV2Lmd3LmZyYXVkLmV1LmVsYXZvbmF3cy5jb20vbm90aWZ5L21ldGhvZF9ub3RpZnkiLAogICJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ICJkYzk0NDMzYy1kMDAxLTQ3ZDEtYWEzYi04NDJlZjY1OGFiZTMiCn0=",
   "binInfo" : {
      "bin" : "448536",
      "scheme" : "Visa",
      "brand" : "Visa Credit",
      "fundingSource" : "credit",
      "issuingBank" : "BANKERS' BANK OF KANSAS",
      "issuingCountry" : "USA",
      "issuingCurrency" : "USD",
      "isDebit" : "false",
      "isCorporate" : "true",
      "isDccAllowed" : "true"
   },
   "serverStartProtocolVersion": "2.1.0", 
   "serverEndProtocolVersion": "2.2.0"
}

note

If the doBinLookup parameter is set to false, the binInfo object is not returned in the response.

Lookup Scenario 2: Account number supports EMV 3DS 2, but is not available in Elavon’s bin database, an internal repository

Sample request

POST   https://uat.gw.fraud.eu.elavonaws.com/3ds2/lookupLink opens new window

{
   "messageId" : "0b0deb70-3249-4c73-9cf5-92f6cac231af",
   "acctNumber" : "5377955933798158",
   "doBinLookup" : true,
   "clientStartProtocolVersion": "2.1.0",
   "clientEndProtocolVersion" : "2.2.0"
}

Sample response

{
   "threeDSServerTransID" : "bbd3a975-ba7c-4a14-8a94-3e08701da0b4",
   "directoryServerId" : "DirectoryServerID-DEMO-MC",
   "dsStartProtocolVersion" : "2.1.0",
   "dsEndProtocolVersion" : "2.2.0",
   "acsStartProtocolVersion" : "2.1.0",
   "acsEndProtocolVersion" : "2.2.0",
   "threeDSMethodURL" : "https://uat.acs.fraud.eu.elavonaws.com/acs/method/MC",
   "threeDSMethodData" : "ewogICJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjogImh0dHBzOi8vZGV2Lmd3LmZyYXVkLmV1LmVsYXZvbmF3cy5jb20vbm90aWZ5L21ldGhvZF9ub3RpZnkiLAogICJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ICJiYmQzYTk3NS1iYTdjLTRhMTQtOGE5NC0zZTA4NzAxZGEwYjQiCn0=",
   "binInfo" : {
      "bin" : "537795",
      "scheme" : "Unknown",
      "brand" : "Unknown",
      "fundingSource" : "unknown",
      "isDebit" : "unknown",
      "isCorporate" : "unknown",
      "isDccAllowed" : "unknown"
   },
   "serverStartProtocolVersion": "2.1.0", 
   "serverEndProtocolVersion": "2.2.0"
}

note

If the doBinLookup parameter is set to false, the binInfo object is not returned in the response.

Lookup Scenario 3: Account number does not support EMV 3DS 2, but is available in Elavon’s bin database, an internal repository

Sample request

POST   https://uat.gw.fraud.eu.elavonaws.com/3ds2/lookupLink opens new window

{
   "messageId" : "0b0deb70-3249-4c73-9cf5-92f6cac231af",
   "acctNumber" : "5893501234567891231",
   "doBinLookup" : true,
   "clientStartProtocolVersion": "2.1.0",
   "clientEndProtocolVersion" : "2.2.0"
}

Sample response

{
   "messageId" : "0b0deb70-3249-4c73-9cf5-92f6cac231af",
   "error" : {
      "messageType" : "Erro",
      "messageVersion" : "2.1.0",
      "threeDSServerTransID" : "3f21d17d-0f6e-44b4-92c4-e5300e672743",
      "errorCode" : "305",
      "errorComponent" : "S",
      "errorDescription" : "Account number not supported",
      "errorDetail" : "Account number not supported by 3DS 2. Validate the account number: 58XXXXXXXXXXXXX1231"
   },
  "binInfo" : {
      "bin" : "589350",
      "scheme" : "MasterCard",
      "brand" : "Maestro",
      "fundingSource" : "debit",
      "issuingCountry" : "BES",
      "issuingCurrency" : "USD",
      "isDebit" : "true",
      "isCorporate" : "false",
      "isDccAllowed" : "true"
   },
   "serverStartProtocolVersion": "2.1.0", 
   "serverEndProtocolVersion": "2.2.0"
}    

note

If the doBinLookup parameter is set to false, the binInfo object is not returned in the response.

Lookup Scenario 4: Account number does not support EMV 3DS 2 and is also not available in Elavon’s bin database, an internal repository

Sample request

POST   https://uat.gw.fraud.eu.elavonaws.com/3ds2/lookupLink opens new window

{
   "messageId" : "0b0deb70-3249-4c73-9cf5-92f6cac231af",
   "acctNumber" : "4927261276919182790",
   "doBinLookup" : true,
   "clientStartProtocolVersion": "2.1.0",
   "clientEndProtocolVersion" : "2.2.0"
}

Sample response

{
   "messageId" : "0b0deb70-3249-4c73-9cf5-92f6cac231af",
   "error" : {
      "messageType" : "Erro",
      "messageVersion" : "2.1.0",
      "threeDSServerTransID" : "57eaae4d-d05d-473b-b3be-28d45e37b8f8",
      "errorCode" : "305",
      "errorComponent" : "S",
      "errorDescription" : "Account number not supported",
      "errorDetail" : "Account number not supported by 3DS 2. Validate the account number: 49XXXXXXXXXXXXX2790"
      },
   "binInfo" : {
      "bin" : "492726",
      "scheme" : "Unknown",
      "brand" : "Unknown",
      "fundingSource" : "unknown",
      "isDebit" : "unknown",
      "isCorporate" : "unknown",
      "isDccAllowed" : "unknown"
    },
   "serverStartProtocolVersion": "2.1.0", 
   "serverEndProtocolVersion": "2.2.0"
}    

note

If the doBinLookup parameter is set to false, the binInfo object is not returned in the response.

Authentication scenarios (/3ds2/authenticate)

Authentication Scenario 1: Challenge flow - Issuer requires a cardholder challenge to complete authentication i.e., transStatus = C

Device channel = 02 Sample request

POST   https://uat.gw.fraud.eu.elavonaws.com/3ds2/authenticateLink opens new window

{
  "messageId" : "Device_Channel_2",
  "aReq" : {
     "deviceChannel" : "02",
     "threeDSCompInd" : "Y",
     "cardExpiryDate" : "1912",
     "acctNumber" : "4017730000000005",
     "cardholderName" : "Cardholder Name",
     "email" : "test@elavon.com",
     "messageCategory" : "01",
     "purchaseAmount" : "5000",
     "purchaseCurrency" : "978",
     "purchaseExponent" : "2",
     "purchaseDate" : "20170316141312",
     "transType" : "01",
     "notificationURL" : "https://uat.gw.fraud.eu.elavonaws.com",
     "homePhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
     "mobilePhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
      "workPhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
     "billAddrLine1" : "Bill Address Line 1",
     "billAddrLine2" : "Bill Address Line 2",
     "billAddrLine3" : "Bill Address Line 3",
     "billAddrPostCode" : "30603",
     "billAddrState" : "GA",
     "billAddrCity" : "Athens",
     "billAddrCountry" : "840",
     "shipAddrLine1" : "Address Line 1",
     "shipAddrLine2" : "Address Line 2",
     "shipAddrLine3" : "Address Line 3",
     "shipAddrCity" : "Atlanta",
     "shipAddrPostCode" : "30303",
     "shipAddrState" : "GA",
     "shipAddrCountry" : "840",
     "addrMatch" : "N",
     "browserAcceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
     "browserIP" : "192.168.1.11",
     "browserJavaEnabled" : true,
     "browserJavascriptEnabled" : true,      //Required only for 3DS 2.2
     "browserLanguage" : "en",
     "browserColorDepth" : "48",
     "browserScreenHeight" : "400",
     "browserScreenWidth" : "600",
     "browserTZ" : "-240",
     "browserUserAgent" : "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0",
     "threeDSServerTransID" : "d46a84fb-c856-48b4-9790-3a97a472535a",
     "threeDSRequestorAuthenticationInd" : "01",
     "threeDSRequestorAuthenticationInfo" : {
        "threeDSReqAuthMethod" : "02",
        "threeDSReqAuthTimestamp" : "201711071307",
        "threeDSReqAuthData" : "cKTYtrvvKU7gUoiqbbO7Po"
      },
     "threeDSRequestorChallengeInd" : "02",
     "threeDSRequestorPriorAuthenticationInfo" : {
        "threeDSReqPriorRef" : "d7c1ee99-9478-44a6-b1f2-391e29c6b340",
        "threeDSReqPriorAuthMethod" : "02",
        "threeDSReqPriorAuthTimestamp" : "201710282113",
        "threeDSReqPriorAuthData" : "cKTYtrvvKU7gUoiqbbO7Po"
      },
     "acctType" : "03",
     "acctInfo" : {
        "chAccAgeInd" : "03",
        "chAccDate" : "20140328",
        "chAccChangeInd" : "04",
        "chAccChange" : "20160712",
        "chAccPwChangeInd" : "02",
        "chAccPwChange" : "20170328",
        "shipAddressUsageInd" : "04",
        "shipAddressUsage" : "20160714",
        "txnActivityDay" : "01",
        "txnActivityYear" : "21",
        "provisionAttemptsDay" : "0",
        "nbPurchaseAccount" : "11",
        "suspiciousAccActivity" : "01",
        "shipNameIndicator" : "02",
        "paymentAccInd" : "04",
        "paymentAccAge" : "20160917"
      },
     "acctID" : "personal account",
     "purchaseInstalData" : "24",
     "merchantRiskIndicator" : {
        "shipIndicator" : "02",
        "deliveryTimeframe" : "01",
        "deliveryEmailAddress" : "deliver@email.com",
        "reorderItemsInd" : "01",
        "preOrderPurchaseInd" : "02",
        "preOrderDate" : "20170519",
        "giftCardAmount" : "337",
        "giftCardCurr" : "840",
        "giftCardCount" : "02"
      },
     "messageExtension" : [
     {
       "name" : "msgextname",
       "id" : "501341592B_0001_4567",
       "criticalityIndicator" : false,
       "data" : {
         "valueOne" : "messageextensiondata",
         "valueTwo" : "moremessageextensiondata"
        }
      }
   ],
     "recurringExpiry" : "20180131",
     "recurringFrequency" : "06",
     "broadInfo" : {
        "message" : "TLS 1.x will be turned off starting summer 2022"
      }
   },
   "clientStartProtocolVersion": "2.1.0",
   "clientEndProtocolVersion": "2.2.0"
}

Sample response

{
   "messageId" : "Device_Channel_2",
   "aRes" : {
      "messageType" : "ARes",
      "messageVersion" : "2.1.0",
      "threeDSServerTransID" : "d46a84fb-c856-48b4-9790-3a97a472535a",
      "dsTransID" : "29cfed11-cbbc-4828-b7e4-9f2fc5ded313",
      "acsTransID" : "5088dad7-358b-43a9-816d-bdce3789ae36",
      "acsReferenceNumber" : "ELAVON_ACS_EMULATOR_REF_NUMBER32",
      "acsOperatorID" : "ELAVON_ACS_EMULATOR_OPERATOR_ID1",
      "dsReferenceNumber" : "ELAVON_3DS_DS_EMULATOR_REF_NUM32",
      "transStatus" : "C",
      "authenticationType" : "01",
      "acsChallengeMandated" : "Y",
      "acsURL" : "https://uat1.acs.fraud.eu.elavonaws.com/acs/challenge/VISA",
   },
   "creq" : "ewogICJtZXNzYWdlVHlwZSI6ICJDUmVxIiwKICAibWVzc2FnZVZlcnNpb24iOiAiMi4xLjAiLAogICJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ICJkNDZhODRmYi1jODU2LTQ4YjQtOTc5MC0zYTk3YTQ3MjUzNWEiLAogICJhY3NUcmFuc0lEIjogIjUwODhkYWQ3LTM1OGItNDNhOS04MTZkLWJkY2UzNzg5YWUzNiIsCiAgImNoYWxsZW5nZVdpbmRvd1NpemUiOiAiMDUiLAogICJzZGtUcmFuc0lEIjogIjhhODgwZGMwLWQyZDItNDA2Ny1iY2IxLWIwOGQxNjkwYjI2ZSIKfQ=="
}

Authentication Scenario 2: Frictionless flow - cardholder authenticated i.e., transStatus = Y

Device channel = 02 Sample request

POST   https://uat.gw.fraud.eu.elavonaws.com/3ds2/authenticateLink opens new window

{
  "messageId" : "Device_Channel_2",
  "aReq" : {
     "deviceChannel" : "02",
     "threeDSCompInd" : "Y",
     "cardExpiryDate" : "1912",
     "acctNumber" : "4000000000000101",
     "cardholderName" : "Cardholder Name",
     "email" : "test@elavon.com",
     "notificationURL" : "https://uat.gw.fraud.eu.elavonaws.com",
     "homePhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
     "mobilePhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
      "workPhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
     "billAddrLine1" : "Bill Address Line 1",
     "billAddrLine2" : "Bill Address Line 2",
     "billAddrLine3" : "Bill Address Line 3",
     "billAddrCity" : "Atlanta",
     "billAddrPostCode" : "30303",
     "billAddrState" : "GA",
     "billAddrCountry" : "840",   
     "shipAddrLine1" : "Address Line 1",
     "shipAddrLine2" : "Address Line 2",
     "shipAddrLine3" : "Address Line 3",
     "shipAddrCity" : "Athens",
     "shipAddrPostCode" : "30603",
     "shipAddrState" : "GA",
     "shipAddrCountry" : "840",
     "addrMatch" : "N",
     "browserAcceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
     "browserIP" : "192.168.1.11",
     "browserJavaEnabled" : true,
     "browserJavascriptEnabled" : true,      //Required only for 3DS 2.2
     "browserLanguage" : "en",
     "browserColorDepth" : "48",
     "browserScreenHeight" : "400",
     "browserScreenWidth" : "600",
     "browserTZ" : "-240",
     "browserUserAgent" : "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0",
     "threeDSServerTransID" : "31d6241e-cda9-45c6-a632-4bc3a24dc759",
     "threeDSRequestorAuthenticationInd" : "01",
     "threeDSRequestorAuthenticationInfo" : {
        "threeDSReqAuthMethod" : "02",
        "threeDSReqAuthTimestamp" : "201711071307",
        "threeDSReqAuthData" : "cKTYtrvvKU7gUoiqbbO7Po"
      },
     "threeDSRequestorChallengeInd" : "02",
     "threeDSRequestorPriorAuthenticationInfo" : {
        "threeDSReqPriorRef" : "d7c1ee99-9478-44a6-b1f2-391e29c6b340",
        "threeDSReqPriorAuthMethod" : "02",
        "threeDSReqPriorAuthTimestamp" : "201710282113",
        "threeDSReqPriorAuthData" : "cKTYtrvvKU7gUoiqbbO7Po"
      },
     "acctType" : "03",
     "acctInfo" : {
        "chAccAgeInd" : "03",
        "chAccDate" : "20140328",
        "chAccChangeInd" : "04",
        "chAccChange" : "20160712",
        "chAccPwChangeInd" : "02",
        "chAccPwChange" : "20170328",
        "shipAddressUsageInd" : "04",
        "shipAddressUsage" : "20160714",
        "txnActivityDay" : "01",
        "txnActivityYear" : "21",
        "provisionAttemptsDay" : "0",
        "nbPurchaseAccount" : "11",
        "suspiciousAccActivity" : "01",
        "shipNameIndicator" : "02",
        "paymentAccInd" : "04",
        "paymentAccAge" : "20160917"
      },
     "acctID" : "personal account",
     "purchaseInstalData" : "24",
     "merchantRiskIndicator" : {
        "shipIndicator" : "02",
        "deliveryTimeframe" : "01",
        "deliveryEmailAddress" : "deliver@email.com",
        "reorderItemsInd" : "01",
        "preOrderPurchaseInd" : "02",
        "preOrderDate" : "20170519",
        "giftCardAmount" : "337",
        "giftCardCurr" : "840",
        "giftCardCount" : "02"
      },
     "messageExtension" : [
      {
        "name" : "msgextname",
        "id" : "501341592B_0001_4567",
        "criticalityIndicator" : false,
        "data" : {
           "valueOne" : "messageextensiondata",
           "valueTwo" : "moremessageextensiondata"
         }
      }
   ],
     "recurringExpiry" : "20180131",
     "recurringFrequency" : "06",
     "broadInfo" : {
        "message" : "TLS 1.x will be turned off starting summer 2019"
      }
   },
   "clientStartProtocolVersion":"2.1.0",
   "clientEndProtocolVersion":"2.2.0"
}

Sample response

{
   "messageId" : "Device_Channel_2",
   "aRes" : {
      "messageType" : "ARes",
      "messageVersion" : "2.1.0",
      "threeDSServerTransID" : "31d6241e-cda9-45c6-a632-4bc3a24dc759",
      "dsTransID" : "ad1562a1-0ed4-4c54-8f7d-e84ddf0fa81d",
      "acsTransID" : "55e45af1-5502-4f7c-ab2a-8602e6b0acab",
      "acsReferenceNumber" : "ELAVON_ACS_EMULATOR_REF_NUMBER32",
      "acsOperatorID" : "ELAVON_ACS_EMULATOR_OPERATOR_ID1",
      "dsReferenceNumber" : "ELAVON_3DS_DS_EMULATOR_REF_NUM32",
      "transStatus" : "Y",
      "authenticationValue" : "IIVbTr028SCd-iJPDZRSaOZFiVg=",
      "eci" : "05"
   }
}

note

If the messageCategory = 01 in the authentication request, the authentication response will include the eci and authenticationValue. If the messageCategory = 02 in the authentication request, then depending on the card scheme, the authentication response may include the eci and authenticationValue.

Device channel = 03 Sample request

POST   https://uat.gw.fraud.eu.elavonaws.com/3ds2/authenticateLink opens new window

{
  "messageId" : "Device_Channel_3",
  "aReq" : {
      "messageVersion" : "2.1.0",
      "deviceChannel" : "03",
      "messageCategory" : "02",
      "threeDSRequestorID" : "773",
      "threeDSRequestorName" : "EMVCo 3DS Test Requestor",
      "threeDSRequestorURL" : "http://ul.com/6deed7d5-e87e-4885-9f24-708938eefa95",
      "threeRIInd" : "04",
      "threeDSServerOperatorID" : "threeDSServerOperatorUL",
      "acctNumber" : "4000000000000101",
      "acctID" : "EMVCo 3DS Test Account 000000001",
      "acctType" : "02",
      "cardExpiryDate" : "2212",
      "cardholderName" : "Frictionless One",
      "email" : "example@example.com",
      "acctInfo" : {
         "chAccAgeInd" : "05",
         "chAccDate" : "20170101",
         "chAccChangeInd" : "04",
         "chAccChange" : "20170101",
         "chAccP wChangeInd" : "05",
         "chAccPwChange" : "20170101",
         "shipAddressUsageInd" : "04",
         "shipAddressUsage" : "20170101",
         "txnActivityDay" : "1",
         "txnActivityYear" : "1",
         "provisionAttemptsDay" : "0",
         "nbPurchaseAccount" : "1",
         "suspiciousAccActivity" : "01",
         "shipNameIndicator" : "01",
         "paymentAccInd" : "05",
         "paymentAccAge" : "20170101"
      },
      "merchantRiskIndicator" : {
         "shipIndicator" : "01",
         "deliveryTimeframe" : "02",
         "deliveryEmailAddress" : "example@example.com",
         "reorderItemsInd" : "01",
         "preOrderPurchaseInd" : "02",
         "preOrderDate" : "20300101",
         "giftCardAmount" : "1",
         "giftCardCurr" : "840",
         "giftCardCount" : "01"
      },
      "homePhone" : {
         "cc" : "123",
         "subscriber" : "123456789"
      },
      "workPhone" : {
         "cc" : "123",
         "subscriber" : "123456789"
      },
      "mobilePhone" : {
         "cc" : "123",
         "subscriber" : "123456789"
      },
      "billAddrLine1" : "Address Line 1",
      "billAddrLine2" : "Address Line 2",
      "billAddrLine3" : "Address Line 3",
      "billAddrCity" : "Atlanta",
      "billAddrState" : "GA",
      "billAddrPostCode" : "30303",
      "billAddrCountry" : "840",
      "shipAddrLine1" : "Address Line 1",
      "shipAddrLine2" : "Address Line 2",
      "shipAddrLine3" : "Address Line 3",
      "shipAddrCity" : "Athens",
      "shipAddrState" : "GA",
      "shipAddrPostCode" : "30603",
      "shipAddrCountry" : "840"
   },
   "clientStartProtocolVersion":"2.1.0",
   "clientEndProtocolVersion":"2.2.0"
}

Sample response

{
   "messageId" : "Device_Channel_3",
   "aRes" : {
      "messageType" : "ARes",
      "messageVersion" : "2.1.0",
      "threeDSServerTransID" : "dd5260d7-b8f2-426f-b2ac-e2dec3076945",
      "dsTransID" : "74ddd6b2-9693-4aed-9d7f-7e953b72e592",
      "acsTransID" : "25764d84-fdb7-487c-a5c3-947a75446900",
      "acsReferenceNumber" : "ELAVON_ACS_EMULATOR_REF_NUMBER32",
      "acsOperatorID" : "ELAVON_ACS_EMULATOR_OPERATOR_ID1",
      "dsReferenceNumber" : "ELAVON_3DS_DS_EMULATOR_REF_NUM32",
      "transStatus" : "Y",
      "authenticationValue" : "xewz7kMJo0RSjE9Q2KpmGPEO5ic=",
      "eci" : "05"
   }
}

Authentication Scenario 3: Cardholder doesn’t get authenticated, but a proof of authentication attempt (an authenticationValue) was generated i.e., transStatus = A

Device channel = 02 Sample request

POST   https://uat.gw.fraud.eu.elavonaws.com/3ds2/authenticateLink opens new window

{
  "messageId" : "Device_Channel_2",
  "aReq" : {
     "threeDSCompInd" : "Y",
     "deviceChannel" : "02",
     "cardExpiryDate" : "1912",
     "acctNumber" : "4000000000000119",
     "cardholderName" : "Cardholder Name",   
     "email" : "test@elavon.com",
     "notificationURL" : "https://uat.gw.fraud.eu.elavonaws.com",
     "messageCategory" : "01",
     "purchaseAmount" : "5000",
     "purchaseCurrency" : "978",
     "purchaseExponent" : "2",
     "purchaseDate" : "20170316141312",
     "transType" : "01",
     "homePhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
     "mobilePhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
      "workPhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
     "billAddrLine1" : "Bill Address Line 1",
     "billAddrLine2" : "Bill Address Line 2",
     "billAddrLine3" : "Bill Address Line 3",
     "billAddrCity" : "Athens",
     "billAddrPostCode" : "30603",
     "billAddrState" : "GA",
     "billAddrCountry" : "840",
     "shipAddrLine1" : "Address Line 1",
     "shipAddrLine2" : "Address Line 2",
     "shipAddrLine3" : "Address Line 3",
     "shipAddrCity" : "Atlanta",
     "shipAddrPostCode" : "30303",
     "shipAddrState" : "GA",
     "shipAddrCountry" : "840",
     "addrMatch" : "N",
     "browserAcceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
     "browserIP" : "192.168.1.11",
     "browserJavaEnabled" : true,
     "browserJavascriptEnabled" : true,      //Required only for 3DS 2.2
     "browserLanguage" : "en",
     "browserColorDepth" : "48",
     "browserScreenHeight" : "400",
     "browserScreenWidth" : "600",
     "browserTZ" : "-240",
     "browserUserAgent" : "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0",
     "threeDSServerTransID" : "c5e55968-3a22-4003-ba84-756734481f60",
     "threeDSRequestorAuthenticationInd" : "01",
     "threeDSRequestorAuthenticationInfo" : {
        "threeDSReqAuthMethod" : "02",
        "threeDSReqAuthTimestamp" : "201711071307",
        "threeDSReqAuthData" : "cKTYtrvvKU7gUoiqbbO7Po"
      },
     "threeDSRequestorChallengeInd" : "03",
     "threeDSRequestorPriorAuthenticationInfo" : {
        "threeDSReqPriorRef" : "d7c1ee99-9478-44a6-b1f2-391e29c6b340",
        "threeDSReqPriorAuthMethod" : "02",
        "threeDSReqPriorAuthTimestamp" : "201710282113",
        "threeDSReqPriorAuthData" : "cKTYtrvvKU7gUoiqbbO7Po"
      },
     "acctType" : "03",
     "acctInfo" : {
        "chAccAgeInd" : "03",
        "chAccDate" : "20140328",
        "chAccChangeInd" : "04",
        "chAccChange" : "20160712",
        "chAccPwChangeInd" : "02",
        "chAccPwChange" : "20170328",
        "shipAddressUsageInd" : "04",
        "shipAddressUsage" : "20160714",
        "txnActivityDay" : "01",
        "txnActivityYear" : "21",
        "provisionAttemptsDay" : "0",
        "nbPurchaseAccount" : "11",
        "suspiciousAccActivity" : "01",
        "shipNameIndicator" : "02",
        "paymentAccInd" : "04",
        "paymentAccAge" : "20160917"
      },
     "acctID" : "personal account",
     "purchaseInstalData" : "24",
     "merchantRiskIndicator" : {
        "shipIndicator" : "02",
        "deliveryTimeframe" : "01",
        "deliveryEmailAddress" : "deliver@email.com",
        "reorderItemsInd" : "01",
        "preOrderPurchaseInd" : "02",
        "preOrderDate" : "20170519",
        "giftCardAmount" : "337",
        "giftCardCurr" : "840",
        "giftCardCount" : "02"
      },
     "messageExtension" : [
     {
        "name" : "msgextname",
        "id" : "501341592B_0001_4567",
        "criticalityIndicator" : false,
        "data" : {
           "valueOne" : "messageextensiondata",
           "valueTwo" : "moremessageextensiondata"
         }
      }
   ],
     "recurringExpiry" : "20180131",
     "recurringFrequency" : "06",
     "broadInfo" : {
        "message" : "TLS 1.x will be turned off starting summer 2019"
      }
   },
   "clientStartProtocolVersion": "2.1.0",
   "clientEndProtocolVersion": "2.2.0"
}

Sample response

{
   "messageId" : "Device_Channel_2",
   "aRes" : {
      "messageType" : "ARes",
      "messageVersion" : "2.1.0",
      "threeDSServerTransID" : "c5e55968-3a22-4003-ba84-756734481f60",
      "dsTransID" : "d781469d-4b71-4eb8-af7d-3f514e25de8d",
      "acsTransID" : "078383c4-4a67-49d1-b752-5ebaf2e2610d",
      "acsReferenceNumber" : "ELAVON_ACS_EMULATOR_REF_NUMBER32",
      "acsOperatorID" : "ELAVON_ACS_EMULATOR_OPERATOR_ID1",
      "dsReferenceNumber" : "ELAVON_3DS_DS_EMULATOR_REF_NUM32",
      "transStatus" : "A",
      "authenticationValue" : "2wrr6cD6ZR0_p9lEYkdgl-TbTf4=",
      "eci" : "06"
   }
}

Device channel = 03 Sample request

POST   https://uat.gw.fraud.eu.elavonaws.com/3ds2/authenticateLink opens new window

{
  "messageId" : "Device_Channel_3",
  "aReq" : {
      "messageVersion" : "2.1.0",
      "deviceChannel" : "03",
      "messageCategory" : "02",
      "threeDSRequestorID" : "773",
      "threeDSRequestorName" : "EMVCo 3DS Test Requestor",
      "threeDSRequestorURL" : "http://ul.com/6deed7d5-e87e-4885-9f24-708938eefa95",
      "threeDSServerOperatorID" : "threeDSServerOperatorUL",
      "threeRIInd" : "04",
      "acctNumber" : "4000000000000119",
      "cardExpiryDate" : "2212",
      "cardholderName" : "Frictionless One",
      "email" : "example@example.com",
      "acctType" : "02",
      "acctID" : "EMVCo 3DS Test Account 000000001",
      "acctInfo" : {
         "chAccAgeInd" : "05",
         "chAccDate" : "20170101",
         "chAccChangeInd" : "04",
         "chAccChange" : "20170101",
         "chAccP wChangeInd" : "05",
         "chAccPwChange" : "20170101",
         "shipAddressUsageInd" : "04",
         "shipAddressUsage" : "20170101",
         "txnActivityDay" : "1",
         "txnActivityYear" : "1",
         "provisionAttemptsDay" : "0",
         "nbPurchaseAccount" : "1",
         "suspiciousAccActivity" : "01",
         "shipNameIndicator" : "01",
         "paymentAccInd" : "05",
         "paymentAccAge" : "20170101"
      },
      "merchantRiskIndicator" : {
         "shipIndicator" : "01",
         "deliveryTimeframe" : "02",
         "deliveryEmailAddress" : "example@example.com",
         "reorderItemsInd" : "01",
         "preOrderPurchaseInd" : "02",
         "preOrderDate" : "20300101",
         "giftCardAmount" : "1",
         "giftCardCurr" : "840",
         "giftCardCount" : "01"
      },
      "homePhone" : {
         "cc" : "123",
         "subscriber" : "123456789"
      },
      "workPhone" : {
         "cc" : "123",
         "subscriber" : "123456789"
      },
      "mobilePhone" : {
         "cc" : "123",
         "subscriber" : "123456789"
      },
      "billAddrLine1" : "Address Line 1",
      "billAddrLine2" : "Address Line 2",
      "billAddrLine3" : "Address Line 3",
      "billAddrCity" : "Athens",
      "billAddrState" : "GA",
      "billAddrPostCode" : "30603",
      "billAddrCountry" : "840",
      "shipAddrLine1" : "Address Line 1",
      "shipAddrLine2" : "Address Line 2",
      "shipAddrLine3" : "Address Line 3",
      "shipAddrCity" : "Atlanta",
      "shipAddrState" : "GA",
      "shipAddrPostCode" : "30303",
      "shipAddrCountry" : "840"
   },
   "clientStartProtocolVersion": "2.1.0",
   "clientEndProtocolVersion": "2.2.0"
}

Sample response

{
   "messageId" : "Device_Channel_3",
   "aRes" : {
      "messageType" : "ARes",
      "messageVersion" : "2.1.0",
      "threeDSServerTransID" : "103f294a-0d6b-434c-8d38-0423158cd652",
      "dsTransID" : "fe3082cc-705d-456d-9b1e-f4f27c34dfe9",
      "acsTransID" : "640bc8ad-09a0-4a9b-a1ea-aefbabdf1653",
      "acsReferenceNumber" : "ELAVON_ACS_EMULATOR_REF_NUMBER32",
      "acsOperatorID" : "ELAVON_ACS_EMULATOR_OPERATOR_ID1",
      "dsReferenceNumber" : "ELAVON_3DS_DS_EMULATOR_REF_NUM32",
      "transStatus" : "A",
      "authenticationValue" : "C9miMJ9_cIwWezXODswzSlUCNZ8=",
      "eci" : "06"
   }
}

Authentication Scenario 5: Cardholder doesn’t get authenticated i.e., transStatus = N

eci and authenticationValue will not be generated, but the response will include the transStatusReason to indicate the reason for authentication denial

Device channel = 02 Sample request

POST   https://uat.gw.fraud.eu.elavonaws.com/3ds2/authenticateLink opens new window

{
  "messageId" : "Device_Channel_2",
  "aReq" : {
     "threeDSCompInd" : "Y",
     "deviceChannel" : "02",
     "cardExpiryDate" : "1912",
     "acctNumber" : "4000000000000127", 
     "cardholderName" : "Cardholder Name",  
     "email" : "test@elavon.com",
     "notificationURL" : "https://uat.gw.fraud.eu.elavonaws.com",
     "homePhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
     "mobilePhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
      "workPhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
     "billAddrLine1" : "Bill Address Line 1 ",
     "billAddrLine2" : "Bill Address Line 2",
     "billAddrLine3" : "Bill Address Line 3",
     "billAddrCity" : "Athens",
     "billAddrPostCode" : "30603",
     "billAddrState" : "GA",
     "billAddrCountry" : "840",
     "shipAddrLine1" : "Address Line 1",
     "shipAddrLine2" : "Address Line 2",
     "shipAddrLine3" : "Address Line 3",
     "shipAddrCity" : "Atlanta",
     "shipAddrPostCode" : "30303",
     "shipAddrState" : "GA",
     "shipAddrCountry" : "840",
     "addrMatch" : "N",
     "browserAcceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
     "browserIP" : "192.168.1.11",
     "browserJavaEnabled" : true,
     "browserJavascriptEnabled" : true,      //Required only for 3DS 2.2
     "browserLanguage" : "en",
     "browserColorDepth" : "48",
     "browserScreenHeight" : "400",
     "browserScreenWidth" : "600",
     "browserTZ" : "-240",
     "browserUserAgent" : "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0",
     "messageCategory" : "01",
     "purchaseAmount" : "5000",
     "purchaseCurrency" : "978",
     "purchaseExponent" : "2",
     "purchaseDate" : "20170316141312",
     "transType" : "01",
     "threeDSServerTransID" : "508de82f-ac7b-475f-b8ad-0c70e9bba775",
     "threeDSRequestorAuthenticationInd" : "01",
     "threeDSRequestorAuthenticationInfo" : {
        "threeDSReqAuthMethod" : "02",
        "threeDSReqAuthTimestamp" : "201711071307",
        "threeDSReqAuthData" : "cKTYtrvvKU7gUoiqbbO7Po"
      },
     "threeDSRequestorChallengeInd" : "02",
     "threeDSRequestorPriorAuthenticationInfo" : {
        "threeDSReqPriorRef" : "d7c1ee99-9478-44a6-b1f2-391e29c6b340",
        "threeDSReqPriorAuthMethod" : "02",
        "threeDSReqPriorAuthTimestamp" : "201710282113",
        "threeDSReqPriorAuthData" : "cKTYtrvvKU7gUoiqbbO7Po"
      },
     "acctType" : "03",
     "acctInfo" : {
        "chAccAgeInd" : "03",
        "chAccDate" : "20140328",
        "chAccChangeInd" : "04",
        "chAccChange" : "20160712",
        "chAccPwChangeInd" : "02",
        "chAccPwChange" : "20170328",
        "shipAddressUsageInd" : "04",
        "shipAddressUsage" : "20160714",
        "txnActivityDay" : "01",
        "txnActivityYear" : "21",
        "provisionAttemptsDay" : "0",
        "nbPurchaseAccount" : "11",
        "suspiciousAccActivity" : "01",
        "shipNameIndicator" : "02",
        "paymentAccInd" : "04",
        "paymentAccAge" : "20160917"
      },
     "acctID" : "personal account",
     "payTokenInd" : true,
     "purchaseInstalData" : "24",
     "merchantRiskIndicator" : {
        "shipIndicator" : "02",
        "deliveryTimeframe" : "01",
        "deliveryEmailAddress" : "deliver@email.com",
        "reorderItemsInd" : "01",
        "preOrderPurchaseInd" : "02",
        "preOrderDate" : "20170519",
        "giftCardAmount" : "337",
        "giftCardCurr" : "840",
        "giftCardCount" : "02"
      },
     "messageExtension" : [
     {
        "name" : "msgextname",
        "id" : "501341592B_0001_4567",
        "criticalityIndicator" : false,
        "data" : {
           "valueOne" : "messageextensiondata",
           "valueTwo" : "moremessageextensiondata"
         }
      }
   ],
      "recurringExpiry" : "20180131",
      "recurringFrequency" : "06",
      "broadInfo" : {
         "message" : "TLS 1.x will be turned off starting summer 2019"
      }
   },
   "clientStartProtocolVersion": "2.1.0",
   "clientEndProtocolVersion": "2.2.0"
}

Sample response

{
   "messageId" : "Device_Channel_2",
   "aRes" : {
      "messageType" : "ARes",
      "messageVersion" : "2.1.0",
      "threeDSServerTransID" : "508de82f-ac7b-475f-b8ad-0c70e9bba775",
      "dsTransID" : "0f07e894-23ec-475e-8993-2cdd4b292c79",
      "acsTransID" : "215793d0-2dc7-4f84-8c79-ad47539f035f",
      "acsReferenceNumber" : "ELAVON_ACS_EMULATOR_REF_NUMBER32",
      "acsOperatorID" : "ELAVON_ACS_EMULATOR_OPERATOR_ID1",
      "dsReferenceNumber" : "ELAVON_3DS_DS_EMULATOR_REF_NUM32",
      "transStatus" : "N",
      "transStatusReason" : "11",
      "cardholderInfo" : "The purchase cannot be completed at this time. For additional information, please contact your card issuer at XXX-XXX-XXXX."
   }
}

Device channel = 03 Sample request

POST   https://uat.gw.fraud.eu.elavonaws.com/3ds2/authenticateLink opens new window

{
  "messageId" : "Device_Channel_3",
  "aReq" : {
      "messageVersion" : "2.1.0",
      "deviceChannel" : "03",
      "messageCategory" : "02",
      "threeDSRequestorID" : "773",
      "threeDSRequestorName" : "EMVCo 3DS Test Requestor",
      "threeDSRequestorURL" : "http://ul.com/6deed7d5-e87e-4885-9f24-708938eefa95",
      "threeDSServerOperatorID" : "threeDSServerOperatorUL",
      "threeRIInd" : "04",
      "acctNumber" : "4000000000000127",
      "acctType" : "02",
      "acctID" : "EMVCo 3DS Test Account 000000001",
      "acctInfo" : {
         "chAccAgeInd" : "05",
         "chAccDate" : "20170101",
         "chAccChangeInd" : "04",
         "chAccChange" : "20170101",
         "chAccP wChangeInd" : "05",
         "chAccPwChange" : "20170101",
         "shipAddressUsageInd" : "04",
         "shipAddressUsage" : "20170101",
         "txnActivityDay" : "1",
         "txnActivityYear" : "1",
         "provisionAttemptsDay" : "0",
         "nbPurchaseAccount" : "1",
         "suspiciousAccActivity" : "01",
         "shipNameIndicator" : "01",
         "paymentAccInd" : "05",
         "paymentAccAge" : "20170101"
      },
      "merchantRiskIndicator" : {
         "shipIndicator" : "01",
         "deliveryTimeframe" : "02",
         "deliveryEmailAddress" : "example@example.com",
         "reorderItemsInd" : "01",
         "preOrderPurchaseInd" : "02",
         "preOrderDate" : "20300101",
         "giftCardAmount" : "1",
         "giftCardCurr" : "840",
         "giftCardCount" : "01"
      },
      "cardExpiryDate" : "2212",
      "cardholderName" : "Frictionless One",
      "homePhone" : {
         "cc" : "123",
         "subscriber" : "123456789"
      },
      "workPhone" : {
         "cc" : "123",
         "subscriber" : "123456789"
      },
      "mobilePhone" : {
         "cc" : "123",
         "subscriber" : "123456789"
      },
      "email" : "example@example.com",
      "billAddrLine1" : "Address Line 1",
      "billAddrLine2" : "Address Line 2",
      "billAddrLine3" : "Address Line 3",
      "billAddrCity" : "Atlanta",
      "billAddrState" : "GA",
      "billAddrPostCode" : "30303",
      "billAddrCountry" : "840",
      "shipAddrLine1" : "Address Line 1",
      "shipAddrLine2" : "Address Line 2",
      "shipAddrLine3" : "Address Line 3",
      "shipAddrCity" : "Athens",
      "shipAddrState" : "GA",
      "shipAddrPostCode" : "30603",
      "shipAddrCountry" : "840"
    },
   "clientStartProtocolVersion": "2.1.0",
   "clientEndProtocolVersion": "2.2.0"
}

Sample response

{
   "messageId" : "Device_Channel_3",
   "aRes" : {
      "messageType" : "ARes",
      "messageVersion" : "2.1.0",
      "threeDSServerTransID" : "bef87244-eb00-41c8-b5e7-86433a49c22a",
      "dsTransID" : "0b518136-1bca-417c-8f1f-c3061f9e4f8a",
      "acsTransID" : "93559a73-b3fe-46ba-825b-ae5dba1cea1b",
      "acsReferenceNumber" : "ELAVON_ACS_EMULATOR_REF_NUMBER32",
      "acsOperatorID" : "ELAVON_ACS_EMULATOR_OPERATOR_ID1",
      "dsReferenceNumber" : "ELAVON_3DS_DS_EMULATOR_REF_NUM32",
      "transStatus" : "N",
      "transStatusReason" : "01"
   }
}

Authentication Scenario 6: Cardholder doesn’t get authenticated, as authentication could not be performed due to technical or other issue i.e., transStatus = U

eci and authenticationValue will not be generated, but the response will include the transStatusReason to indicate the reason for authentication denial.

Device channel = 02 Sample request

POST   https://uat.gw.fraud.eu.elavonaws.com/3ds2/authenticateLink opens new window

{
  "messageId" : "Device_Channel_2",
  "aReq" : {
     "threeDSCompInd" : "Y",
     "deviceChannel" : "02",
     "cardExpiryDate" : "1912",
     "acctNumber" : "4000000000000135",   
     "cardholderName" : "Cardholder Name",  
     "email" : "test@elavon.com",
     "notificationURL" : "https://uat.gw.fraud.eu.elavonaws.com",
     "homePhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
     "mobilePhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
      "workPhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
     "billAddrLine1" : "Bill Address Line 1",
     "billAddrLine2" : "Bill Address Line 2",
     "billAddrLine3" : "Bill Address Line 3",
     "billAddrCity" : "Atlanta",
     "billAddrPostCode" : "30303",
     "billAddrState" : "GA",
     "billAddrCountry" : "840",
     "shipAddrLine1" : "Address Line 1",
     "shipAddrLine2" : "Address Line 2",
     "shipAddrLine3" : "Address Line 3",
     "shipAddrCity" : "Athens",
     "shipAddrPostCode" : "30603",
     "shipAddrState" : "GA",
     "shipAddrCountry" : "840",
     "addrMatch" : "N",
     "browserAcceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
     "browserIP" : "192.168.1.11",
     "browserJavaEnabled" : true,
     "browserJavascriptEnabled" : true,      //Required only for 3DS 2.2
     "browserLanguage" : "en",
     "browserColorDepth" : "48",
     "browserScreenHeight" : "400",
     "browserScreenWidth" : "600",
     "browserTZ" : "-240",
     "browserUserAgent" : "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0",
     "messageCategory" : "01",
     "purchaseAmount" : "5000",
     "purchaseCurrency" : "978",
     "purchaseExponent" : "2",
     "purchaseDate" : "20170316141312",
     "transType" : "01",
     "threeDSServerTransID" : "2df8522f-fa1d-46a8-8207-0f60b0734c70",
     "threeDSRequestorAuthenticationInd" : "01",
     "threeDSRequestorAuthenticationInfo" : {
        "threeDSReqAuthMethod" : "02",
        "threeDSReqAuthTimestamp" : "201711071307",
        "threeDSReqAuthData" : "cKTYtrvvKU7gUoiqbbO7Po"
      },
     "threeDSRequestorChallengeInd" : "02",
     "threeDSRequestorPriorAuthenticationInfo" : {
        "threeDSReqPriorRef" : "d7c1ee99-9478-44a6-b1f2-391e29c6b340",
        "threeDSReqPriorAuthMethod" : "02",
        "threeDSReqPriorAuthTimestamp" : "201710282113",
        "threeDSReqPriorAuthData" : "cKTYtrvvKU7gUoiqbbO7Po"
      },
     "acctType" : "03",
     "acctInfo" : {
        "chAccAgeInd" : "03",
        "chAccDate" : "20140328",
        "chAccChangeInd" : "04",
        "chAccChange" : "20160712",
        "chAccPwChangeInd" : "02",
        "chAccPwChange" : "20170328",
        "shipAddressUsageInd" : "04",
        "shipAddressUsage" : "20160714",
        "txnActivityDay" : "01",
        "txnActivityYear" : "21",
        "provisionAttemptsDay" : "0",
        "nbPurchaseAccount" : "11",
        "suspiciousAccActivity" : "01",
        "shipNameIndicator" : "02",
        "paymentAccInd" : "04",
        "paymentAccAge" : "20160917"
      },
     "acctID" : "personal account",
     "payTokenInd" : true,
     "purchaseInstalData" : "24",
     "merchantRiskIndicator" : {
        "shipIndicator" : "02",
        "deliveryTimeframe" : "01",
        "deliveryEmailAddress" : "deliver@email.com",
        "reorderItemsInd" : "01",
        "preOrderPurchaseInd" : "02",
        "preOrderDate" : "20170519",
        "giftCardAmount" : "337",
        "giftCardCurr" : "840",
        "giftCardCount" : "02"
      },
     "messageExtension" : [
      {
        "name" : "msgextname",
        "id" : "501341592B_0001_4567",
        "criticalityIndicator" : false,
        "data" : {
           "valueOne" : "messageextensiondata",
           "valueTwo" : "moremessageextensiondata"
         }
      }
   ],
     "recurringExpiry" : "20180131",
     "recurringFrequency" : "06",
     "broadInfo" : {
        "message" : "TLS 1.x will be turned off starting summer 2019"
      }
   },
   "clientStartProtocolVersion": "2.1.0",
   "clientEndProtocolVersion": "2.2.0"
}

Sample response

{
   "messageId" : "Device_Channel_2",
   "aRes" : {
      "messageType" : "ARes",
      "messageVersion" : "2.1.0",
      "threeDSServerTransID" : "2df8522f-fa1d-46a8-8207-0f60b0734c70",
      "dsTransID" : "1c7389a6-d1e9-4447-ab3b-903ce85e7d20",
      "acsTransID" : "0c909d9c-2002-4038-8a74-9bb28bb3caf1",
      "acsReferenceNumber" : "ELAVON_ACS_EMULATOR_REF_NUMBER32",
      "acsOperatorID" : "ELAVON_ACS_EMULATOR_OPERATOR_ID1",
      "dsReferenceNumber" : "ELAVON_3DS_DS_EMULATOR_REF_NUM32",
      "transStatus" : "U",
      "transStatusReason" : "08"
   }
}

Device channel = 03 Sample request

POST   https://uat.gw.fraud.eu.elavonaws.com/3ds2/authenticateLink opens new window

{
  "messageId" : "Device_Channel_3",
  "aReq" : {
      "messageVersion" : "2.1.0",
      "deviceChannel" : "03",
      "messageCategory" : "02",
      "threeDSRequestorID" : "773",
      "threeDSRequestorName" : "EMVCo 3DS Test Requestor",
      "threeDSRequestorURL" : "http://ul.com/6deed7d5-e87e-4885-9f24-708938eefa95",
      "threeDSServerOperatorID" : "threeDSServerOperatorUL",
      "threeRIInd" : "04",
      "acctNumber" : "4000000000000135",
      "acctID" : "EMVCo 3DS Test Account 000000001",
      "acctType" : "02",
      "acctInfo" : {
         "chAccAgeInd" : "05",
         "chAccDate" : "20170101",
         "chAccChangeInd" : "04",
         "chAccChange" : "20170101",
         "chAccP wChangeInd" : "05",
         "chAccPwChange" : "20170101",
         "shipAddressUsageInd" : "04",
         "shipAddressUsage" : "20170101",
         "txnActivityDay" : "1",
         "txnActivityYear" : "1",
         "provisionAttemptsDay" : "0",
         "nbPurchaseAccount" : "1",
         "suspiciousAccActivity" : "01",
         "shipNameIndicator" : "01",
         "paymentAccInd" : "05",
         "paymentAccAge" : "20170101"
      },
      "merchantRiskIndicator" : {
         "shipIndicator" : "01",
         "deliveryTimeframe" : "02",
         "deliveryEmailAddress" : "example@example.com",
         "reorderItemsInd" : "01",
         "preOrderPurchaseInd" : "02",
         "preOrderDate" : "20300101",
         "giftCardAmount" : "1",
         "giftCardCurr" : "840",
         "giftCardCount" : "01"
      },
      "cardExpiryDate" : "2212",
      "cardholderName" : "Frictionless One",
      "homePhone" : {
         "cc" : "123",
         "subscriber" : "123456789"
      },
      "workPhone" : {
         "cc" : "123",
         "subscriber" : "123456789"
      },
      "mobilePhone" : {
         "cc" : "123",
         "subscriber" : "123456789"
      },
      "email" : "example@example.com",
      "billAddrLine1" : "Address Line 1",
      "billAddrLine2" : "Address Line 2",
      "billAddrLine3" : "Address Line 3",
      "billAddrCity" : "Atlanta",
      "billAddrState" : "GA",
      "billAddrPostCode" : "30303",
      "billAddrCountry" : "840",
      "shipAddrLine1" : "Address Line 1",
      "shipAddrLine2" : "Address Line 2",
      "shipAddrLine3" : "Address Line 3",
      "shipAddrCity" : "Athens",
      "shipAddrState" : "GA",
      "shipAddrPostCode" : "30603",
      "shipAddrCountry" : "840"
   },
   "clientStartProtocolVersion":"2.1.0",
   "clientEndProtocolVersion":"2.2.0"
}

Sample response

{
   "messageId" : "Device_Channel_3",
   "aRes" : {
      "messageType" : "ARes",
      "messageVersion" : "2.1.0",
      "threeDSServerTransID" : "5fcc0f67-eb85-41e0-8f81-c8864f6cd5dd",
      "dsTransID" : "5166fc51-4f18-4972-8ff6-d206098ee6af",
      "acsTransID" : "30fae289-3ba2-4f26-b841-76c6ff81722b",
      "acsReferenceNumber" : "ELAVON_ACS_EMULATOR_REF_NUMBER32",
      "acsOperatorID" : "ELAVON_ACS_EMULATOR_OPERATOR_ID1",
      "dsReferenceNumber" : "ELAVON_3DS_DS_EMULATOR_REF_NUM32",
      "transStatus" : "U",
      "transStatusReason" : "08"
   }
}

Authentication Scenario 7: Cardholder doesn’t get authenticated because the issuer is rejecting authentication and requesting that authorization not be attempted i.e. transStatus = R

eci and authenticationValue will not be generated, but the response will include the transStatusReason to indicate the reason for authentication denial.

Device channel = 02 Sample request

POST   https://uat.gw.fraud.eu.elavonaws.com/3ds2/authenticateLink opens new window

{
  "messageId" : "Device_Channel_2",
  "aReq" : {
     "deviceChannel" : "02",
     "threeDSCompInd" : "Y",
     "cardExpiryDate" : "1912",
     "acctNumber" : "4000000000000143",
     "cardholderName" : "Cardholder Name",
     "email" : "test@elavon.com",
     "notificationURL" : "https://uat.gw.fraud.eu.elavonaws.com",
     "messageCategory" : "01",
     "purchaseAmount" : "5000",
     "purchaseCurrency" : "978",
     "purchaseExponent" : "2",
     "purchaseDate" : "20170316141312",
     "transType" : "01",
     "homePhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
     "mobilePhone" : {
         "cc" : "123",
         "subscriber" : "123456789"
      },
     "workPhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
     "billAddrLine1" : "Bill Address Line 1",
     "billAddrLine2" : "Bill Address Line 2",
     "billAddrLine3" : "Bill Address Line 3",
     "billAddrCity" : "Atlanta",
     "billAddrPostCode" : "30303",
     "billAddrState" : "GA",
     "billAddrCountry" : "840",
     "shipAddrLine1" : "Address Line 1",
     "shipAddrLine2" : "Address Line 2",
     "shipAddrLine3" : "Address Line 3",
     "shipAddrCity" : "Athens",
     "shipAddrPostCode" : "30603",
     "shipAddrState" : "GA",
     "shipAddrCountry" : "840",
     "addrMatch" : "N",
     "browserAcceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
     "browserIP" : "192.168.1.11",
     "browserJavaEnabled" : true,
     "browserJavascriptEnabled" : true,      //Required only for 3DS 2.2
     "browserLanguage" : "en",
     "browserColorDepth" : "48",
     "browserScreenHeight" : "400",
     "browserScreenWidth" : "600",
     "browserTZ" : "-240",
     "browserUserAgent" : "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0",
     "threeDSServerTransID" : "f7820db8-85ec-4c33-b010-b3e14dc4daec",
     "threeDSRequestorAuthenticationInd" : "01",
     "threeDSRequestorAuthenticationInfo" : {
        "threeDSReqAuthMethod" : "02",
        "threeDSReqAuthTimestamp" : "201711071307",
        "threeDSReqAuthData" : "cKTYtrvvKU7gUoiqbbO7Po"
      },
     "threeDSRequestorChallengeInd" : "02",
     "threeDSRequestorPriorAuthenticationInfo" : {
        "threeDSReqPriorRef" : "d7c1ee99-9478-44a6-b1f2-391e29c6b340",
        "threeDSReqPriorAuthMethod" : "02",
        "threeDSReqPriorAuthTimestamp" : "201710282113",
        "threeDSReqPriorAuthData" : "cKTYtrvvKU7gUoiqbbO7Po"
      },
     "acctType" : "03",
     "acctInfo" : {
        "chAccAgeInd" : "03",
        "chAccDate" : "20140328",
        "chAccChangeInd" : "04",
        "chAccChange" : "20160712",
        "chAccPwChangeInd" : "02",
        "chAccPwChange" : "20170328",
        "shipAddressUsageInd" : "04",
        "shipAddressUsage" : "20160714",
        "txnActivityDay" : "01",
        "txnActivityYear" : "21",
        "provisionAttemptsDay" : "0",
        "nbPurchaseAccount" : "11",
        "suspiciousAccActivity" : "01",
        "shipNameIndicator" : "02",
        "paymentAccInd" : "04",
        "paymentAccAge" : "20160917"
      },
     "acctID" : "personal account",
     "payTokenInd" : true,
     "purchaseInstalData" : "24",
     "merchantRiskIndicator" : {
        "shipIndicator" : "02",
        "deliveryTimeframe" : "01",
        "deliveryEmailAddress" : "deliver@email.com",
        "reorderItemsInd" : "01",
        "preOrderPurchaseInd" : "02",
        "preOrderDate" : "20170519",
        "giftCardAmount" : "337",
        "giftCardCurr" : "840",
        "giftCardCount" : "02"
      },
     "messageExtension" : [
     {
        "name" : "msgextname",
        "id" : "501341592B_0001_4567",
        "criticalityIndicator" : false,
        "data" : {
           "valueOne" : "messageextensiondata",
           "valueTwo" : "moremessageextensiondata"
         }
      }
   ],
      "recurringExpiry" : "20180131",
      "recurringFrequency" : "06",
      "broadInfo" : {
         "message" : "TLS 1.x will be turned off starting summer 2019"
      }
   },
   "clientStartProtocolVersion": "2.1.0",
   "clientEndProtocolVersion": "2.2.0"
}

Sample response

{
   "messageId" : "Device_Channel_2",
   "aRes" : {
      "messageType" : "ARes",
      "messageVersion" : "2.1.0",
      "threeDSServerTransID" : "f7820db8-85ec-4c33-b010-b3e14dc4daec",
      "dsTransID" : "468ba730-0ac2-4972-acaa-d76a3ec76bd1",
      "acsTransID" : "8c70bce5-a1bf-4575-840c-ab1e85f8ad1a",
      "acsReferenceNumber" : "ELAVON_ACS_EMULATOR_REF_NUMBER32",
      "acsOperatorID" : "ELAVON_ACS_EMULATOR_OPERATOR_ID1",
      "dsReferenceNumber" : "ELAVON_3DS_DS_EMULATOR_REF_NUM32",
      "transStatus" : "R",
      "transStatusReason" : "15"
   }
}

Device channel = 03 Sample request

POST   https://uat.gw.fraud.eu.elavonaws.com/3ds2/authenticateLink opens new window

{
  "messageId" : "Device_Channel_3",
  "aReq" : {
      "messageVersion" : "2.1.0",
      "deviceChannel" : "03",
      "messageCategory" : "02",
      "threeDSRequestorID" : "773",
      "threeDSRequestorName" : "EMVCo 3DS Test Requestor",
      "threeDSServerOperatorID" : "threeDSServerOperatorUL",
      "threeDSRequestorURL" : "http://ul.com/6deed7d5-e87e-4885-9f24-708938eefa95",
      "threeRIInd" : "04",
      "acctNumber" : "4000000000000143",
      "acctID" : "EMVCo 3DS Test Account 000000001",
      "acctType" : "02",
      "cardExpiryDate" : "2212",
      "cardholderName" : "Frictionless One",
      "acctInfo" : {
         "chAccAgeInd" : "05",
         "chAccDate" : "20170101",
         "chAccChangeInd" : "04",
         "chAccChange" : "20170101",
         "chAccP wChangeInd" : "05",
         "chAccPwChange" : "20170101",
         "shipAddressUsageInd" : "04",
         "shipAddressUsage" : "20170101",
         "txnActivityDay" : "1",
         "txnActivityYear" : "1",
         "provisionAttemptsDay" : "0",
         "nbPurchaseAccount" : "1",
         "suspiciousAccActivity" : "01",
         "shipNameIndicator" : "01",
         "paymentAccInd" : "05",
         "paymentAccAge" : "20170101"
      },
      "merchantRiskIndicator" : {
         "shipIndicator" : "01",
         "deliveryTimeframe" : "02",
         "deliveryEmailAddress" : "example@example.com",
         "reorderItemsInd" : "01",
         "preOrderPurchaseInd" : "02",
         "preOrderDate" : "20300101",
         "giftCardAmount" : "1",
         "giftCardCurr" : "840",
         "giftCardCount" : "01"
      },
      "homePhone" : {
         "cc" : "123",
         "subscriber" : "123456789"
      },
      "workPhone" : {
         "cc" : "123",
         "subscriber" : "123456789"
      },
      "mobilePhone" : {
         "cc" : "123",
         "subscriber" : "123456789"
      },
      "email" : "example@example.com",
      "billAddrLine1" : "Address Line 1",
      "billAddrLine2" : "Address Line 2",
      "billAddrLine3" : "Address Line 3",
      "billAddrCity" : "Atlanta",
      "billAddrState" : "GA",
      "billAddrPostCode" : "30303",
      "billAddrCountry" : "840",
      "shipAddrLine1" : "Address Line 1",
      "shipAddrLine2" : "Address Line 2",
      "shipAddrLine3" : "Address Line 3",
      "shipAddrCity" : "Athens",
      "shipAddrState" : "GA",
      "shipAddrPostCode" : "30603",
      "shipAddrCountry" : "840"
    },
   "clientStartProtocolVersion": "2.1.0",
   "clientEndProtocolVersion": "2.2.0"
}

Sample response

{
   "messageId" : "Device_Channel_3",
   "aRes" : {
      "messageType" : "ARes",
      "messageVersion" : "2.1.0",
      "threeDSServerTransID" : "e1212037-33a4-4ae9-a5e5-1278addaf65d",
      "dsTransID" : "473b8b40-bc8c-44be-8017-82a441148708",
      "acsTransID" : "54b4fa2d-6da9-44cc-b47a-6390275290d2",
      "acsReferenceNumber" : "ELAVON_ACS_EMULATOR_REF_NUMBER32",
      "acsOperatorID" : "ELAVON_ACS_EMULATOR_OPERATOR_ID1",
      "dsReferenceNumber" : "ELAVON_3DS_DS_EMULATOR_REF_NUM32",
      "transStatus" : "R",
      "transStatusReason" : "15"
   }
}

Authentication Scenario 8: Merchant sent the request only for informational purposes and did not need a challenge i.e. transStatus = I

Device channel = 02 Sample request

POST   https://uat.gw.fraud.eu.elavonaws.com/3ds2/authenticateLink opens new window

{
  "messageId" : "Device_Channel_2",
  "aReq" : {
     "messageVersion" : "2.2.0",          //Required if the merchant is sending the request for information purpose
     "threeDSCompInd" : "Y",
     "deviceChannel" : "02",
     "cardExpiryDate" : "1912",
     "acctNumber" : "4000000000000127", 
     "cardholderName" : "Cardholder Name",  
     "email" : "test@elavon.com",
     "notificationURL" : "https://uat.gw.fraud.eu.elavonaws.com",
     "homePhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
     "mobilePhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
      "workPhone" : {
        "cc" : "123",
        "subscriber" : "123456789"
      },
     "billAddrLine1" : "Bill Address Line 1 ",
     "billAddrLine2" : "Bill Address Line 2",
     "billAddrLine3" : "Bill Address Line 3",
     "billAddrCity" : "Athens",
     "billAddrPostCode" : "30603",
     "billAddrState" : "GA",
     "billAddrCountry" : "840",
     "shipAddrLine1" : "Address Line 1",
     "shipAddrLine2" : "Address Line 2",
     "shipAddrLine3" : "Address Line 3",
     "shipAddrCity" : "Atlanta",
     "shipAddrPostCode" : "30303",
     "shipAddrState" : "GA",
     "shipAddrCountry" : "840",
     "addrMatch" : "N",
     "browserAcceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
     "browserIP" : "192.168.1.11",
     "browserJavaEnabled" : true,
     "browserJavascriptEnabled" : true,      //Required only for 3DS 2.2
     "browserLanguage" : "en",
     "browserColorDepth" : "48",
     "browserScreenHeight" : "400",
     "browserScreenWidth" : "600",
     "browserTZ" : "-240",
     "browserUserAgent" : "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0",
     "messageCategory" : "01",
     "purchaseAmount" : "5000",
     "purchaseCurrency" : "978",
     "purchaseExponent" : "2",
     "purchaseDate" : "20170316141312",
     "transType" : "01",
     "threeDSServerTransID" : "508de82f-ac7b-475f-b8ad-0c70e9bba775",
     "threeDSRequestorAuthenticationInd" : "05",
     "threeDSRequestorAuthenticationInfo" : {
        "threeDSReqAuthMethod" : "02",
        "threeDSReqAuthTimestamp" : "201711071307",
        "threeDSReqAuthData" : "cKTYtrvvKU7gUoiqbbO7Po"
      },
     "threeDSRequestorChallengeInd" : "06",     //Required if the merchant is sending the request for information purpose. Set it to either 05, 06, or 07
     "threeDSRequestorPriorAuthenticationInfo" : {
        "threeDSReqPriorRef" : "d7c1ee99-9478-44a6-b1f2-391e29c6b340",
        "threeDSReqPriorAuthMethod" : "02",
        "threeDSReqPriorAuthTimestamp" : "201710282113",
        "threeDSReqPriorAuthData" : "cKTYtrvvKU7gUoiqbbO7Po"
      },
     "acctType" : "03",
     "acctInfo" : {
        "chAccAgeInd" : "03",
        "chAccDate" : "20140328",
        "chAccChangeInd" : "04",
        "chAccChange" : "20160712",
        "chAccPwChangeInd" : "02",
        "chAccPwChange" : "20170328",
        "shipAddressUsageInd" : "04",
        "shipAddressUsage" : "20160714",
        "txnActivityDay" : "01",
        "txnActivityYear" : "21",
        "provisionAttemptsDay" : "0",
        "nbPurchaseAccount" : "11",
        "suspiciousAccActivity" : "01",
        "shipNameIndicator" : "02",
        "paymentAccInd" : "04",
        "paymentAccAge" : "20160917"
      },
     "acctID" : "personal account",
     "payTokenInd" : true,
     "purchaseInstalData" : "24",
     "merchantRiskIndicator" : {
        "shipIndicator" : "02",
        "deliveryTimeframe" : "01",
        "deliveryEmailAddress" : "deliver@email.com",
        "reorderItemsInd" : "01",
        "preOrderPurchaseInd" : "02",
        "preOrderDate" : "20170519",
        "giftCardAmount" : "337",
        "giftCardCurr" : "840",
        "giftCardCount" : "02"
      },
     "messageExtension" : [
     {
        "name" : "msgextname",
        "id" : "501341592B_0001_4567",
        "criticalityIndicator" : false,
        "data" : {
           "valueOne" : "messageextensiondata",
           "valueTwo" : "moremessageextensiondata"
         }
      }
   ],
      "recurringExpiry" : "20180131",
      "recurringFrequency" : "06",
      "broadInfo" : {
         "message" : "TLS 1.x has been turned off starting summer 2019"
      }
   },
   "clientStartProtocolVersion": "2.1.0",
   "clientEndProtocolVersion": "2.2.0"
}

Sample response

{
   "messageId" : "Device_Channel_2",
   "aRes" : {
      "messageType" : "ARes",
      "messageVersion" : "2.2.0",
      "threeDSServerTransID" : "f7820db8-85ec-4c33-b010-b3e14dc4daec",
      "dsTransID" : "468ba730-0ac2-4972-acaa-d76a3ec76bd1",
      "acsTransID" : "8c70bce5-a1bf-4575-840c-ab1e85f8ad1a",
      "acsReferenceNumber" : "ELAVON_ACS_EMULATOR_REF_NUMBER32",
      "acsOperatorID" : "ELAVON_ACS_EMULATOR_OPERATOR_ID1",
      "dsReferenceNumber" : "ELAVON_3DS_DS_EMULATOR_REF_NUM32",
      "transStatus" : "I",
      "authenticationValue": "IIVbTr028SCd-iJPDZRSaOZFiVg="   //Conditional based on the directory server
   }
}

Related topics