/DSV1Post<?xml version="1.0" encoding="UTF-8"?><ThreeDSecure><Message id="12345"><VEReq><version>1.0.2</version><pan>4444333322221111</pan><Merchant><acqBIN>000000</acqBIN><merID>99000001</merID><password>99000001</password></Merchant><Browser><deviceCategory>0</deviceCategory><accept>*/*</accept><userAgent>curl/7.27.0</userAgent></Browser></VEReq></Message></ThreeDSecure><?xml version="1.0" encoding="UTF-8"?><ThreeDSecure><Message id="12345"><VERes><version>1.0.2</version><CH><enrolled>N</enrolled></CH><url>ACS_URL</url><protocol>ThreeDSecure</protocol></VERes></Message></ThreeDSecure>/MC or /Visa or /AmEx"messageType": "PReq"PostOmitting serialNumber - return database seed rangeNot a trigger value - return database seed range0 - return database seed range, includes PANs for mock client work-flows43 - add 100,000 unique44 - add 500,000 unique100 - add 2101 - add 1102 - add 1, remove 1, add 1103 - add 1, modify 1104 - remove 1105 - remove 4 (goto 100)408 - returns status code 408, timeout900 - removes entries that don't exist901 - adds two sets with overlap902 - adds the same set twice903 - adds and deletes a set in same request904 - adds with no methodURL905 - modifies range from 904 with a methodURL906 - modifies range from 904 with no methodURL907 - adds range with null methodURL908 - empty response999 - removes all possible entries in trigger range, reset42 - Creates a json response that has iterations of the add-modify-delete (100-105) series for 100x the serial number passed in, when messageVersion is set to 42.The serialNumber returned will show the number of rows in the object. This is intended for load testing.{"threeDSServerRefNumber": "8a880dc0-d2d2-4067-bcb1-b08d1690","threeDSServerOperatorID": "1jpeeLAWgGFgS1Ri9tX9","threeDSServerTransID": "8a880dc0-d2d2-4067-bcb1-b08d1690b201","messageType": "PReq","messageVersion": "2.1.0","serialNum": "1" //Optional input, omitting will return all and start a new serialNumber series}{"threeDSServerTransID": "8a880dc0-d2d2-4067-bcb1-b08d1690b26e","dsTransID": "f25084f0-5b16-4c0a-ae5d-b24808a95e4b","messageType": "PRes","messageVersion": "2.1.0","serialNum": "2","dsStartProtocolVersion": "2.1.0","dsEndProtocolVersion": "2.1.0","cardRangeData": [{"startRange": "1000000000000000","endRange": "1000000000005000","actionInd": "A","acsStartProtocolVersion": "2.1.0","acsEndProtocolVersion": "2.1.0","threeDSMethodURL": "https://www.acs.com/script","acsInfoInd": ["01", "02", "03", "04"]}, {"startRange": "2000000000000000","endRange": "2000000000005000","dsStartProtocolVersion": "2.1.0","dsEndProtocolVersion": "2.1.0","actionInd": "D","acsStartProtocolVersion": "2.1.0","acsEndProtocolVersion": "2.1.0","threeDSMethodURL": "https://www.acs.com/script"}]}/MC or /Visa"messageType": "AReq"PostTransStatus' will fall into their own 100 count ranges.Y: 1-99, C: 100-199, I: 200-299, N: 300-399, A: 400-499, U: 500-599, R: 600-699, D: 800-899, Misc: 1000+Not all of these values are currently used (see below) but the dedicated ranges will allow for easy addition later.Sandbox triggers can be reached in appropriate environments by adding the decimal trigger to any amount."purchaseAmount": "0" - "transStatus": "C" & "acsChallengeMandated": "Y", for card on file without payment"purchaseAmount": "1" - "transStatus": "Y""purchaseAmount": "11" - "transStatus": "Y" & "authenticationValue": "90""purchaseAmount": "20" - "transStatus": "Y" & "eci": "06""purchaseAmount": "21" - "transStatus": "Y" & "eci": "07""purchaseAmount": "100" - "transStatus": "C" & "acsChallengeMandated": "Y""purchaseAmount": "101" - "transStatus": "C" & "acsChallengeMandated": "N""purchaseAmount": "108" - "transStatus": "C" & RReq submitted with transStatus "N", transStatusReason "09""purchaseAmount": "109" - "transStatus": "C" & RReq submitted with transStatus "A""purchaseAmount": "110" - "transStatus": "C" & RReq submitted with transStatus "U", transStatusReason "14", challengeCancel "04""purchaseAmount": "111" - "transStatus": "C" & "acsChallengeMandated": "Y", CRes with minimum required fields and strip any trailing "=""purchaseAmount": "112" - "transStatus": "C" & "acsChallengeMandated": "Y", CRes with minimum required fields"purchaseAmount": "113" - "transStatus": "C" & "acsChallengeMandated": "Y" | RReq "transStatus": "N", "transStatusReason": "82", and "authenticationType": "92""purchaseAmount": "200" - "transStatus": "I""purchaseAmount": "201" - "transStatus": "I" & "authValue" missing"purchaseAmount": "202" - "transStatus": "I" & "eci" missing"purchaseAmount": "203" - "transStatus": "I" & "eci" & "authValue" missing"purchaseAmount": "300" - "transStatus": "N"Prepaid Anonymous for MasterCard Only"purchaseAmount": "380": "transStatus": "N" & "authenticationType": "80" & "transStatusReason": "80""purchaseAmount": "381": "transStatus": "N" & "authenticationType": "81" & "transStatusReason": "81""purchaseAmount": "382": "transStatus": "N" & "authenticationType": "82" & "transStatusReason": "82""purchaseAmount": "383": "transStatus": "N" & "authenticationType": "83" & "transStatusReason": "83""purchaseAmount": "384": "transStatus": "N" & "authenticationType": "84" & "transStatusReason": "84""purchaseAmount": "385": "transStatus": "N" & "authenticationType": "85" & "transStatusReason": "85""purchaseAmount": "386": "transStatus": "N" & "authenticationType": "86" & "transStatusReason": "86""purchaseAmount": "387": "transStatus": "N" & "authenticationType": "87" & "transStatusReason": "87""purchaseAmount": "388": "transStatus": "N" & "authenticationType": "88" & "transStatusReason": "88""purchaseAmount": "389": "transStatus": "N" & "authenticationType": "89" & "transStatusReason": "89""purchaseAmount": "390": "transStatus": "N" & "authenticationType": "90" & "transStatusReason": "90""purchaseAmount": "391": "transStatus": "N" & "authenticationType": "91" & "transStatusReason": "91""purchaseAmount": "392": "transStatus": "N" & "authenticationType": "92" & "transStatusReason": "92""purchaseAmount": "393": "transStatus": "N" & "authenticationType": "93" & "transStatusReason": "93""purchaseAmount": "394": "transStatus": "N" & "authenticationType": "94" & "transStatusReason": "94""purchaseAmount": "395": "transStatus": "N" & "authenticationType": "95" & "transStatusReason": "95""purchaseAmount": "396": "transStatus": "N" & "authenticationType": "96" & "transStatusReason": "96""purchaseAmount": "397": "transStatus": "N" & "authenticationType": "97" & "transStatusReason": "97""purchaseAmount": "398": "transStatus": "N" & "authenticationType": "98" & "transStatusReason": "98""purchaseAmount": "399": "transStatus": "N" & "authenticationType": "99" & "transStatusReason": "99""purchaseAmount": "400" - "transStatus": "A" & "eci": "06""purchaseAmount": "401" - "transStatus": "A" & "eci" missing"purchaseAmount": "500" - "transStatus": "U""purchaseAmount": "501" - "transStatus": "U" & "transStatusReason": "80""purchaseAmount": "600" - "transStatus": "R"For transStatus D triggers make sure the initial request has all required fields (DecoupledRequestIndicator, DecoupledMaxTimeout, etc)"purchaseAmount": "800" - "transStatus": "D" & RReq submitted with transStatus "Y""purchaseAmount": "801" - "transStatus": "D" & RReq submitted with transStatus "N", transStatusReason "01""purchaseAmount": "802" - "transStatus": "D" & RReq submitted with transStatus "N", challengeCancel "03" (timeout)"purchaseAmount": "803" - "transStatus": "D" & RReq submitted with transStatus "Y" 1 minute before threeDSRequestorDecMaxTime"purchaseAmount": "804" - "transStatus": "D" & RReq submitted with transStatus "N", transStatusReason "01" 1 minute before threeDSRequestorDecMaxTime"purchaseAmount": "805" - "transStatus": "D" & RReq submitted with transStatus "N", challengeCancel "03" (timeout) 1 minute after threeDSRequestorDecMaxTime"purchaseAmount": "1003" - whitelist exemption "transStatus": "Y" & passes sandbox"purchaseAmount": "1004" - whitelist exemption "transStatus": "Y" & fails sandbox, triggers challenge flow"purchaseAmount": "1005" - whitelist exemption "transStatus": "C" from ACS"purchaseAmount": "1007" - secureCorp exemption "transStatus": "Y" & passes sandbox"purchaseAmount": "1008" - secureCorp exemption "transStatus": "Y" & fails sandbox, triggers challenge flow"purchaseAmount": "1009" - secureCorp exemption "transStatus": "C" from ACS"purchaseAmount": "1011" - lowValue exemption "transStatus": "Y" & passes sandbox"purchaseAmount": "1012" - lowValue exemption "transStatus": "Y" & fails sandbox, triggers challenge flow"purchaseAmount": "1013" - lowValue exemption "transStatus": "C" from ACS"purchaseAmount": "1015" - lowRisk exemption "transStatus": "Y" & passes sandbox"purchaseAmount": "1016" - lowRisk exemption "transStatus": "Y" & fails sandbox, triggers challenge flow"purchaseAmount": "1017" - lowRisk exemption "transStatus": "C" from ACS"purchaseAmount": "1019" - recurring exemption "transStatus": "Y" & passes sandbox"purchaseAmount": "1020" - recurring exemption "transStatus": "Y" & fails sandbox, triggers challenge flow"purchaseAmount": "1021" - recurring exemption "transStatus": "C" from ACS"purchaseAmount": "1023" - delegatedSCA exemption "transStatus": "Y" & passes sandbox"purchaseAmount": "1024" - delegatedSCA exemption "transStatus": "Y" & fails sandbox, triggers challenge flow"purchaseAmount": "1025" - delegatedSCA exemption "transStatus": "C" from ACSHigher trigger amounts to support different currency valuations"purchaseAmount": "1120" - "transStatus": "Y" & "eci": "06""purchaseAmount": "1121" - "transStatus": "Y" & "eci": "07""purchaseAmount": "11100" - "transStatus": "C" & "acsChallengeMandated": "Y""PAN": "4176661000001023" - Visa with method URL, if challenge amount trigger used RReq submitted with transStatus "N", transStatusReason "09""PAN": "5200000000000015" - MasterCard with method URL, if challenge amount trigger used RReq submitted with transStatus "N", transStatusReason "09""PAN": "4012888888881881" - Visa with method URL, fail merchant account verificationAnonymous Prepaid - Visa"PAN": "4024007135063815" - "transStatus": "N" & "transStatusReason": "87" & "eci": ""Anonymous Prepaid - MasterCard"PAN": "5559319595867092" - "transStatus": "A" & "authenticationValue" is set & "eci": "" - Enrolled in v2 and v1 - Protocol 2.1.0, 2.2.0"PAN": "5415292027049551" - "transStatus": "A" & "authenticationValue" is set & "eci": "" - Enrolled in v2 only - Protocol 2.1.0, 2.2.0"PAN": "5432156303543471" - "transStatus": "A" & "authenticationValue" is set & "eci": "06" - Enrolled in v2 and v1 - Protocol 2.1.0, 2.2.0"PAN": "5187747575634548" - "transStatus": "A" & "authenticationValue" is set & "eci": "06" - Enrolled in v2 only - Protocol 2.1.0, 2.2.0"PAN": "5136843197653719" - "transStatus": "I" & "authenticationValue" is set & "eci": "" - Enrolled in v2 and v1 - Protocol 2.2.0"PAN": "5598571300601702" - "transStatus": "I" & "authenticationValue" is set & "eci": "" - Enrolled in v2 only - Protocol 2.2.0"PAN": "5321692063546787" - "transStatus": "I" & "authenticationValue" is set & "eci": "06" - Enrolled in v2 and v1 - Protocol 2.2.0"PAN": "5258646275703534" - "transStatus": "I" & "authenticationValue" is set & "eci": "06" - Enrolled in v2 only - Protocol 2.2.0Triggers for functionality that can only be accessed using the mock3dsclient UI"PAN": "4539797605519795" - Visa with method URL"PAN": "4024007108478834" - Visa without method URL"PAN": "5307808167635130" - MasterCard with method URL"PAN": "5588819588721623" - MasterCard without method URL"purchaseAmount": "102" - "transStatus": "C" & RReq submitted, Resubmit timeout"purchaseAmount": "103" - "transStatus": "C" & Incorrect challenge info on resubmit, bad base64"purchaseAmount": "104" - "transStatus": "C" & Incorrect challenge info on resubmit, incorrect format"purchaseAmount": "105" - "transStatus": "C" & RReq never submitted, Resubmit submitted"purchaseAmount": "106" - "transStatus": "C" & RReq never submitted, Resubmit never submitted"purchaseAmount": "107" - "transStatus": "C" & ARes never returned on initial Auth/CapTriggers for functionality that has to be started by sandbox"purchaseAmount": "700" - MIT exclusion, fails sandbox, returns SCARequired to merchant, challenge flow on resubmit"purchaseAmount": "710" - MOTO exclusion, fails sandbox, returns SCARequired to merchant, challenge flow on resubmit"purchaseAmount": "720" - InterRegional exclusion, fails sandbox, returns SCARequired to merchant, challenge flow on resubmit"purchaseAmount": "730" - Anonymous prepaid exclusion, fails sandbox, returns SCARequired to merchant, challenge flow on resubmit"purchaseAmount": "1006" - whitelist exemption, fails sandbox, returns SCARequired to merchant, challenge flow on resubmit"purchaseAmount": "1010" - secureCorp exemption, fails sandbox, returns SCARequired to merchant, challenge flow on resubmit"purchaseAmount": "1014" - lowValue exemption, fails sandbox, returns SCARequired to merchant, challenge flow on resubmit"purchaseAmount": "1018" - lowRisk exemption, fails sandbox, returns SCARequired to merchant, challenge flow on resubmit"purchaseAmount": "1022" - recurring exemption, fails sandbox, returns SCARequired to merchant, challenge flow on resubmit"purchaseAmount": "1026" - delegatedSCA exemption, fails sandbox, returns SCARequired to merchant, challenge flow on resubmit{"threeDSCompInd": "Y","threeDSRequestorID": "az0123456789","threeDSRequestorName": "Example Requestor name","threeDSRequestorURL": "https://threedsrequestor.adomainname.net","acquirerBIN": "868491","acquirerMerchantID": "mGm6AJZ1YotkJJmOk0fx","addrMatch": "N","cardExpiryDate": "1910","acctNumber": "8944988785642183","billAddrCity": "Bill City Name","billAddrCountry": "840","billAddrLine1": "Bill Address Line 1","billAddrLine2": "Bill Address Line 2","billAddrLine3": "Bill Address Line 3","billAddrPostCode": "Bill Post Code","billAddrState": "CO","email": "example@example.com","homePhone": {"cc": "123","subscriber": "123456789"},"mobilePhone": {"cc": "123","subscriber": "123456789"},"cardholderName": "Cardholder Name","shipAddrCity": "Ship City Name","shipAddrCountry": "840","shipAddrLine1": "Ship Address Line 1","shipAddrLine2": "Ship Address Line 2","shipAddrLine3": "Ship Address Line 3","shipAddrPostCode": "Ship Post Code","shipAddrState": "CO","workPhone": {"cc": "123","subscriber": "123456789"},"deviceChannel": "02","browserAcceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","browserIP": "192.168.1.11","browserJavaEnabled": true,"browserLanguage": "en","browserColorDepth": "48","browserScreenHeight": "400","browserScreenWidth": "600","browserTZ": "0","browserUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0)Gecko/20100101Firefox/47.0","mcc": "5411","merchantCountryCode": "840","merchantName": "UL TS BV","messageCategory": "01","messageType": "AReq","messageVersion": "2.1.0","notificationURL": "https://www.yourWebsite.com/notificationUrl","purchaseAmount": "101","purchaseCurrency": "978","purchaseExponent": "2","purchaseDate": "20170316141312","transType": "01","threeDSServerURL": " https://threedsserver.adomainname.net ","threeDSServerTransID": "8a880dc0-d2d2-4067-bcb1-b08d1690b26e","threeDSServerRefNumber": "3DS_LOA_SER_PPFU_020100_00008","threeDSRequestorAuthenticationInd": "03","threeDSRequestorAuthenticationInfo": {"threeDSReqAuthMethod": "02","threeDSReqAuthTimestamp": "201711071307","threeDSReqAuthData": "validlogin at UL TS BV"},"threeDSRequestorChallengeInd": "02","threeDSRequestorPriorAuthenticationInfo": {"threeDSReqPriorRef": "d7c1ee99-9478-44a6-b1f2-391e29c6b340","threeDSReqPriorAuthMethod": "02","threeDSReqPriorAuthTimestamp": "201710282113","threeDSReqPriorAuthData": "cKTYtrvvKU7gUoiqbbO7Po"},"threeDSServerOperatorID": "1jpeeLAWgGFgS1Ri9tX9","acctType": "03","acctInfo": {"chAccAgeInd": "03","chAccDate": "20140328","chAccChangeInd": "04","chAccChange": "20160712","chAccPwChangeInd": "02","chAccPwChange": "20170328","shipAddressUsageInd": "04","shipAddressUsage": "20160714","txnActivityDay": "1","txnActivityYear": "21","provisionAttemptsDay": "0","nbPurchaseAccount": "11","suspiciousAccActivity": "01","shipNameIndicator": "02","paymentAccInd": "04","paymentAccAge": "20160917"},"acctID": "personal account","dsReferenceNumber": "DS_LOA_DIS_PPFU_020100_00010","dsTransID": "1jpe0dc0-i9t2-4067-bcb1-nmt866956sgd","dsURL": "https://dsserver.domainname.com","payTokenInd": true,"purchaseInstalData": "024","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": "6","broadInfo": {"message": "TLS 1.x will be turned off starting summer 2019"}}{"threeDSServerTransID": "8a880dc0-d2d2-4067-bcb1-b08d1690b26e","acsChallengeMandated": "Y","acsOperatorID": "AcsOpId 4138359541","acsReferenceNumber": "3DS_LOA_ACS_PPFU_020100_00009","acsTransID": "d7c1ee99-9478-44a6-b1f2-391e29c6b340","acsURL": "https://test.com","authenticationType": "02""authenticationValue": "Base64 encoded 28-byte string","broadInfo": "Unstructured info, JSON object","cardholderInfo": "String, 128 characters max","dsReferenceNumber": "DS_LOA_DIS_PPFU_020100_00010","dsTransID": "f25084f0-5b16-4c0a-ae5d-b24808a95e4b","eci": "String, two character, payment system specific","messageExtension": {"criticalityIndicator": true,"data": "JSON object","id": "String, 64 character limit, Payment System RID as required prefix","name": "String, 64 character limit",},"messageType": "ARes","messageVersion": "2.1.0","transStatus": "R","transStatusReason": "10 - Only shows if transStatus is N, U, or R","whiteListStatus": "N","whiteListStatusSource": "03"}/MC or /Visa"messageType": "CReq"PostEnding in a n - Return transStatus of `n`Ending in a y - return transStatus of `y` (Default){"threeDSServerTransID": "8a880dc0-d2d2-4067-bcb1-b08d1690b26e","acsTransID": "d7c1ee99-9478-44a6-b1f2-391e29c6b340","messageType": "CReq","challengeWindowSize": "05", //01 = 250 x 400 - 02 = 390 x 400 - 03 = 500 x 600 - 04 = 600 x 400 - 05 = Full screen"messageVersion": "2.1.0"}{"threeDSServerTransID": "8a880dc0-d2d2-4067-bcb1-b08d1690b26e","acsTransID": "d7c1ee99-9478-44a6-b1f2-391e29c6b340","messageType": "CReq","messageVersion": "2.1.0","transStatus": "Y",}/CReqPost{"CReq": "base64 encoded request",}{"CRes": "base64 encoded response",}/MC or /Visa"messageType": "RReq"PostEnding in 01 - Return resultsStatus of `01` (default)Ending in 02 - Return resultsStatus of `02`Ending in 03 - Return resultsStatus of `03`Ending in 80-99 - Return resultsStatus of `03`All others - Return resultsStatus of `01`{"threeDSServerTransID": "8a880dc0-d2d2-4067-bcb1-b08d1690b201","acsTransID": "d7c1ee99-9478-44a6-b1f2-391e29c6b340","dsTransID": "d7c1ee99-9478-44a6-b1f2-391e29c6b340","messageType": "RReq","messageVersion": "2.1.0","sdkTransID": "8a880dc0-d2d2-4067-bcb1-b08d1690b26e"}{"threeDSServerTransID": "8a880dc0-d2d2-4067-bcb1-b08d1690b26e","acsTransID": "d7c1ee99-9478-44a6-b1f2-391e29c6b340","dsTransID": "f25084f0-5b16-4c0a-ae5d-b24808a95e4b","messageType": "RReq","messageVersion": "2.1.0","resultsStatus": "01",}© EVO Payments International, 2018-2019 All Rights Reserved. EVO is a registered ISO and MSP of Deutsche Bank AG, New York, New York.
Version 1.0.0