Authentication
Simulate 3D Secure Test Flows
testing 3d secure 2 authentication important to consider ensure judopay has enabled 3d secure 2 on your sandbox tokens if 3d secure 2 is not enabled on your tokens, the test transaction will be successful, however it will not have followed the 3d secure 2 verification process contact customer support mailto\ help\@judopay com to set this up the following 3d secure 2 scenarios are intended for merchants who are directly integrating with judopay, to test the how 3d secure works docid\ k7fnzbol73ssctbct4nxm if you are integrating using judopay's front end / ui sdk, the 3d secure 2 flows are handled on your behalf cardholdername table to trigger a challenge response without device details , from the cardholdername table, use cardholdername frictionless nomethod with challengerequestindicator=challengeasmandate if you specify a different cardholdername to any found in the table below, the frictionless successful flow will be the default flow cardholdername flow type expected responses eci frictionless successful frictionless devicedetails receipt 05 frictionless nomethod frictionless receipt 05 frictionless authnotsuccess frictionless devicedetails error code 177 06 frictionless authfailed frictionless devicedetails error code 165 07 frictionless issuerreject frictionless devicedetails error code 186 07 frictionless authenticationerror frictionless devicedetails error code 182 07 challenge required challenge devicedetails challenge receipt n/a electronic commerce indicator the electronic commerce indicator (eci) as received from the 3d secure server denotes the 3d secure authentication status, used to show liability status for more information, see liability shift docid\ qmiciv81gzuixfm0idymg you should check how your app responds to the different transaction results testing frictionless 3d secure 2 flows request example { "cardnumber" 4976000000003436, "cv2" 452, "expirydate" "12/25", "cardaddress" { "address1" "32 mulberry street", "address2" "eastfort", "town" "violetdell", "postcode" "vl14 8pa", "countrycode" 826 }, "judoid" "yourjudoid", "yourconsumerreference" "yourconsumerreference", "yourpaymentreference" "yourpaymentreference", "yourpaymentmetadata" { "internallocationref" "example", "internalid" 99 }, "amount" 150 10, "currency" "gbp", "cardholdername" "frictionless successful", "mobilenumber" 7999999999, "phonecountrycode" 44, "emailaddress" "first last\@test com", "shippingaddress" { "isbillingaddress" true }, "threedsecure" { "authenticationsource" "browser", "methodnotificationurl" "https //api sandbox judopay com/order/3ds/methodnotification", "challengenotificationurl" "https //api sandbox judopay com/order/3ds/challengenotification", "challengerequestindicator" "nochallenge" } } successful frictionless scenarios frictionless successful card type cardholdername card number expiry date start date cv2 address visa frictionless successful 4976 0000 0000 3436 12/25 11/20 452 32 mulberry street, eastfort, violetdell vl14 8pa the 3d secure 2 flow will return conditional steps should additional information be required from the consumer in response to the initial call first response device details no additional information is required second response receipt step one initial request > device details response { "methodurl" "https //test portal gpwebpay com/ paysim/sim/acs", "version" "2 2 0", "receiptid" "933044681309327360", "result" "additional device data is needed for 3d secure 2", "message" "issuer acs has requested additional device data gathering", "md" "ewogicj0ahjlzurtu2vydmvyvhjh" } step two receipt response { "receiptid" "933048235499622400", "yourpaymentreference" "df11021c 7435 4894 8eb2a", "type" "payment", "createdat" "2023 01 18t17 20 34 5486+00 00", "result" "success", "message" "authcode 150", "judoid" 100502814, "merchantname" "test merchant", "appearsonstatementas" "test merchant", "originalamount" "150 10", "netamount" "150 10", "amount" "150 10", "currency" "gbp", "acquirertransactionid" "7017269349", "externalbankresponsecode" "0", "carddetails" { "cardlastfour" "3436", "enddate" "1225", "cardtoken" "sof jub 6lcsfkeiepavizxva", "cardtype" 1, "cardscheme" "visa", "cardfunding" "credit", "cardcategory" "", "cardcountry" "us", "bank" "jpmorgan chase bank, n a " }, "billingaddress" { "address1" "32 mulberry street", "address2" "eastfort", "town" "violetdell", "postcode" "vl14 8pa", "countrycode" 826 }, }, "consumer" { "yourconsumerreference" "3ds2 test 1" }, "threedsecure" { "attempted" true, "result" "passed" }, "risks" { "postcodecheck" "unknown", "cv2check" "unknown", "eciindicator" "05" } } frictionless nomethod card type cardholdername card number expiry date start date cv2 address visa frictionless nomethod 4921 8100 0000 5462 12/25 11/20 441 11 jackson close, stoneden, wildefay wl2 7dq the 3d secure 2 flow will return conditional steps should additional information be required from the consumer in response to the initial call, no additional information is required first response receipt step one receipt response { "receiptid" "933048235499622400", "yourpaymentreference" "df11021c 7435 4894 8eb2a", "type" "payment", "createdat" "2023 01 18t17 20 34 5486+00 00", "result" "success", "message" "authcode 150", "judoid" 100502814, "merchantname" "test merchant", "appearsonstatementas" "test merchant", "originalamount" "150 10", "netamount" "150 10", "amount" "150 10", "currency" "gbp", "acquirertransactionid" "7017269349", "externalbankresponsecode" "0", "carddetails" { "cardlastfour" "5462", "enddate" "1225", "cardtoken" "sof jub 6lcsfkeiepavizxva", "cardtype" 1, "cardscheme" "visa", "cardfunding" "credit", "cardcategory" "", "cardcountry" "us", "bank" "jpmorgan chase bank, n a " }, "billingaddress" { "address1" "11 jackson close", "address2" "stoneden", "town" "wildefay", "postcode" "wl2 7dq", "countrycode" 826 }, "consumer" { "yourconsumerreference" "3ds2 test 1" }, "threedsecure" { "attempted" true, "result" "passed" }, "risks" { "postcodecheck" "unknown", "cv2check" "unknown", "eciindicator" "05" } the expected outcome shows the conditional steps within the 3ds 2 flow depending on how you are integrating with judopay, you may only see the receipt or error response for example, if you are using judopay's front end / ui sdk, this will handle the conditional steps on your behalf you will not see the conditional device details check step, as this occurs in the background it is useful to have an understanding of the full 3ds 2 payment flow, including the conditional steps, to verify how it relates to the user journey in your app for more information on the 3ds 2 flow, see how 3d secure works docid\ k7fnzbol73ssctbct4nxm unsuccessful frictionless scenarios frictionless authnotsuccess card type cardholdername card number expiry date start date cv2 address visa frictionless authnotsuccess 422169 0000004963 12/25 11/20 125 274 grove street, rayvale, vertland vt22 6jn the 3d secure 2 flow will return conditional steps should additional information be required from the consumer in response to the initial call first response device details in response to the call made to /resume3ds error code 177 authentication was attempted but failed due to issuer response step one initial request > device details response { "methodurl" "https //test portal gpwebpay com/ paysim/sim/acs", "version" "2 2 0", "receiptid" "933044681309327360", "result" "additional device data is needed for 3d secure 2", "message" "issuer acs has requested additional device data gathering", "md" "ewogicj0ahjlzurtu2vydmvyvhjh" } error response { "message" "authentication was attempted but failed due to issuer response ", "code" 177, "category" 4 } frictionless authfailed card type cardholdername card number expiry date start date cv2 address visa frictionless authfailed 492181 0000009076 12/25 11/20 875 4 laurel drive, prywynne, swynbeach sy7 0jb the 3d secure 2 flow will return conditional steps should additional information be required from the consumer in response to the initial call first response device details in response to the call made to /resume3ds error code 165 unable to process transaction card authentication failed with 3ds server step one initial request > device details response { "methodurl" "https //test portal gpwebpay com/ paysim/sim/acs", "version" "2 2 0", "receiptid" "933044681309327360", "result" "additional device data is needed for 3d secure 2", "message" "issuer acs has requested additional device data gathering", "md" "ewogicj0ahjlzurtu2vydmvyvhjh" } error response { "message" "unable to process transaction card authentication failed with 3ds server ", "code" 165, "category" 4 } frictionless issuerreject card type cardholdername card number expiry date start date cv2 address visa frictionless issuerreject 4792840 000009202 12/25 11/20 654 9 pearl street, dracmeadow, byhedge bh11 9bb the 3d secure 2 flow will return conditional steps should additional information be required from the consumer in response to the initial call first response device details in response to the call made to /resume3ds error code 186 authentication rejected by the issuer as card used is flagged as stolen step one initial request > device details response { "methodurl" "https //test portal gpwebpay com/ paysim/sim/acs", "version" "2 2 0", "receiptid" "933044681309327360", "result" "additional device data is needed for 3d secure 2", "message" "issuer acs has requested additional device data gathering", "md" "ewogicj0ahjlzurtu2vydmvyvhjh" } error response { "message" "authentication rejected by the issuer as card used is flagged as stolen ", "code" 186, "category" 4 } frictionless authenticationerror card type cardholdername card number expiry date start date cv2 address visa frictionless authenticationerror 4921810 000005850 12/25 11/20 217 54 madison avenue, aldapple, rayland rl5 0ha the 3d secure 2 flow will return conditional steps should additional information be required from the consumer in response to the initial call first response device details in response to the call made to /resume3ds error code 182 unable to authenticate transaction as card authentication has failed step one initial request > device details response { "methodurl" "https //test portal gpwebpay com/ paysim/sim/acs", "version" "2 2 0", "receiptid" "933044681309327360", "result" "additional device data is needed for 3d secure 2", "message" "issuer acs has requested additional device data gathering", "md" "ewogicj0ahjlzurtu2vydmvyvhjh" } error response { "message" "unable to authenticate transaction as card authentication has failed ", "code" 182, "category" 4 } the expected outcome shows the conditional steps within the 3ds 2 flow depending on how you are integrating with judopay, you may only see the receipt or error response for example, if you are using judopay's front end / ui sdk, this will handle the conditional steps on your behalf you will not see the conditional device details check step, as this occurs in the background it is useful to have an understanding of the full 3ds 2 payment flow, including the conditional steps, to verify how it relates to the user journey in your app for more information on the 3ds 2 flow, see how 3d secure works docid\ k7fnzbol73ssctbct4nxm testing a challenge 3d secure 2 flow challenge required card type cardholdername card number expiry date start date cv2 address visa challenge required 4792840 000009202 12/25 11/20 654 9 pearl street, dracmeadow, byhedge bh11 9bb the 3d secure 2 flow will return conditional steps should additional information be required from the consumer in response to the initial call first response device details in response to the call made to /resume3ds second response challenge in response to the call made to /complete3ds third response receipt step one initial request > device details response { "methodurl" "https //test portal gpwebpay com/ paysim/sim/acs", "version" "2 2 0", "receiptid" "933044681309327360", "result" "additional device data is needed for 3d secure 2", "message" "issuer acs has requested additional device data gathering", "md" "ewogicj0ahjlzurtu2vydmvyvhjh" } step two resume 3ds2 request > challenge required response { "challengeurl" "https //acs2p test gpe cz/challenge", "creq" "ewogicjtzxnzywdlvhlwzsigoi", "version" "2 1 0", "receiptid" "933047860931497984", "result" "challenge completion is needed for 3d secure 2", "message" "issuer acs has responded with a challenge url", "md" "ewogicj0ahjlzurtu2vydmvyvhjhb" } step three complete 3ds2 request > receipt response { "receiptid" "933048235499622400", "yourpaymentreference" "df11021c 7435 4894 8eb2a", "type" "payment", "createdat" "2023 01 18t17 20 34 5486+00 00", "result" "success", "message" "authcode 150", "judoid" 100502814, "merchantname" "test merchant", "appearsonstatementas" "test merchant", "originalamount" "150 10", "netamount" "150 10", "amount" "150 10", "currency" "gbp", "acquirertransactionid" "7017269349", "externalbankresponsecode" "0", "carddetails" { "cardlastfour" "3436", "enddate" "1225", "cardtoken" "sof jub 6lcsfkeiepavizxva", "cardtype" 1, "cardscheme" "visa", "cardfunding" "credit", "cardcategory" "", "cardcountry" "us", "bank" "jpmorgan chase bank, n a " }, "billingaddress" { "address1" "32 mulberry street", "address2" "eastfort", "town" "violetdell", "postcode" "vl14 8pa", "countrycode" 826 }, "consumer" { "yourconsumerreference" "3ds2 test 1" }, "threedsecure" { "attempted" true, "result" "passed" }, "risks" { "postcodecheck" "unknown", "cv2check" "unknown", "eciindicator" "05" } } the expected outcome shows the conditional steps within the 3ds 2 flow depending on how you are integrating with judopay, you may only see the receipt or error response for example, if you are using judopay's front end / ui sdk, this will handle the conditional steps on your behalf you will not see the conditional device details check step, as this occurs in the background it is useful to have an understanding of the full 3ds 2 payment flow, including the conditional steps, to verify how it relates to the user journey in your app for more information on the 3ds 2 flow, see how 3d secure works docid\ k7fnzbol73ssctbct4nxm for a list of possible error codes, types and descriptions, see codes and descriptions docid zrsihomuew xnrq4pbtj