3DS Configuration and Testing

Use this step-by-step guide to configure and test 3D Secure in Yuno. You’ll set up a 3DS-enabled connection and provider credentials, add 3DS to your routing, enable Card in Checkout Builder, and validate payments using either the Yuno Testing Gateway, the Yuno SDK, or the API. Scheme-specific test cards, OTP codes, and troubleshooting notes are included to verify frictionless and challenge scenarios.

Testing cards for 3DS flow

Use the scheme-specific cards below to validate 3DS in sandbox. In the preview environment, a simulator mocks the Directory Server (DS) and Access Control Server (ACS) so you can test both frictionless and challenge outcomes. Each table shows the card number with expected 3DS2 results and 3DS1 VERes (Verification Response)/PARes (Payer Authentication Response) responses. Use the one-time password (OTP) codes at the end to complete challenge scenarios.

Amex
Card Number Expected Response 3DS 2.x Expected Response 3DS 1.x DS (VERes) Expected Response 3DS 1.x ACS (PARes)
341502098634895AUTHENTICATED_APPLICATION_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_N
348638267931507BROWSER_CHALLENGEENROLLED_YTRANSACTION_CHALLENGE_OTP
345695399207589NOT_AUTHENTICATED_APPLICATION_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_N
349531373081938APPLICATION_CHALLENGEENROLLED_YTRANSACTION_STATUS_N
342316317472410APPLICATION_CHALLENGE_SDK_TRANS_ID_INVALID_FORMATENROLLED_YTRANSACTION_STATUS_N
347899129656655AUTHENTICATED_BROWSER_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_N
345197771649926NOT_AUTHENTICATED_BROWSER_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_N
372021106351394BROWSER_CHALLENGEENROLLED_YTRANSACTION_CHALLENGE_OTP
3734123412340000ENROLLED_YTRANSACTION_STATUS_N
3434567891111005ENROLLED_YTRANSACTION_CHALLENGE_OTP
3794521996036850ENROLLED_YTRANSACTION_CHALLENGE_OTP
Mastercard
Card Number Expected Response 3DS 2.x Expected Response 3DS 1.x DS (VERes) Expected Response 3DS 1.x ACS (PARes)
5333259155643223AUTHENTICATED_APPLICATION_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_Y
5306889942833340BROWSER_CHALLENGEENROLLED_YTRANSACTION_CHALLENGE_OTP
5328720384582224NOT_AUTHENTICATED_APPLICATION_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_N
5267648608924299APPLICATION_CHALLENGEENROLLED_YTRANSACTION_STATUS_N
5187434643593002APPLICATION_CHALLENGE_SDK_TRANS_ID_INVALID_FORMATENROLLED_YTRANSACTION_STATUS_N
5512459816707531AUTHENTICATED_BROWSER_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_Y
5487971631330522NOT_AUTHENTICATED_BROWSER_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_N
5424184049821670BROWSER_CHALLENGEENROLLED_YTRANSACTION_CHALLENGE_OTP
5204240438720050123BROWSER_CHALLENGEENROLLED_YTRANSACTION_CHALLENGE_OTP
5250548692069390ENROLLED_YTRANSACTION_CHALLENGE_OTP
5641523891636636ENROLLED_YTRANSACTION_CHALLENGE_OTP
Visa
Card Number Expected Response 3DS 2.x Expected Response 3DS 1.x DS (VERes) Expected Response 3DS 1.x ACS (PARes)
4556557955726624AUTHENTICATED_APPLICATION_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_Y
4916994064252017BROWSER_CHALLENGEENROLLED_YTRANSACTION_CHALLENGE_OTP
4556104160382032NOT_AUTHENTICATED_APPLICATION_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_N
4024007189449340APPLICATION_CHALLENGEENROLLED_YTRANSACTION_STATUS_N
4024007179872394APPLICATION_CHALLENGE_SDK_TRANS_ID_INVALID_FORMATENROLLED_YTRANSACTION_STATUS_N
4929251897047956AUTHENTICATED_BROWSER_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_Y
4716429323842524NOT_AUTHENTICATED_BROWSER_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_N
4234123412340003ENROLLED_YTRANSACTION_CHALLENGE_OTP
4604633194219929ENROLLED_YTRANSACTION_CHALLENGE_OTP
4485436455354151BROWSER_FRICTIONLESS_MISSING_DS_TRANS_ID
4556962659911995APPLICATION_FRICTIONLESS_MISSING_SDK_TRANS_IDENROLLED_YTRANSACTION_STATUS_N
4539837572943550BROWSER_FRICTIONLESS_MISSING_DS_TRANS_IDENROLLED_YTRANSACTION_STATUS_N
4024007176265022BROWSER_CHALLENGE_MISSING_ACS_URLENROLLED_YTRANSACTION_STATUS_N
4716125059847899THREE_RIENROLLED_YTRANSACTION_STATUS_N
4556362626719763PROTOCOL_ERRORENROLLED_YTRANSACTION_STATUS_N
4234123412340000ENROLLED_YTRANSACTION_STATUS_Y
4234123412340006ENROLLED_YTRANSACTION_STATUS_U
4234123412340007ENROLLED_YTRANSACTION_STATUS_A
4234123412340001ENROLLED_N
4234123412340002NOT ENROLLED (VeRes is error 404 "Card account number not found in card ranges from Directory Server")ENROLLED_N (NOT APPLICABLE)
4234123412340100MISSING_ROOT
4234123412340101MISSING_MESSAGE
4234123412340102INVALID_MESSAGE
4234123412340103MISSING_VERSION
4234123412340104ILLEGAL_VERSION
4234123412340105MISSING_URL
4234123412340106ILLEGAL_URL
4234123412340107MISSING_ENROLLED
4234123412340108ILLEGAL_ENROLLED
4234123412340109ILLEGAL_EXTENSION
4234123412340200ERROR_CUSTOM
4234123412340201ERROR_1
4234123412340202ERROR_2
4234123412340203ERROR_3
4234123412340204ERROR_4
4234123412340205ERROR_5
4234123412340206ERROR_6
4234123412340220ERROR_CUSTOM_WITH_DIFFERENT_MESSAGE_ID
4234123412340250ERROR_50
4234123412340251ERROR_51
4234123412340252ERROR_52
4234123412340253ERROR_53
4234123412340258ERROR_58
4234123412340298ERROR_98
4234123412340299ERROR_99
4234123412340300IREQ_CUSTOM
4234123412340301IREQ_ENROLLED_Y
4234123412340350IREQ_50
4234123412340351IREQ_51
4234123412340352IREQ_52
4234123412340353IREQ_53
4234123412340354IREQ_54
4234123412340355IREQ_55
4234123412340356IREQ_56
4234123412340358IREQ_58
4234123412340398IREQ_98
4234123412340399IREQ_99
4234123412340400UNSUPPORTED_VERSION
4234123412340401UNRECOGNIZED_CRITICAL_EXTENSION
4234123412340402SERVER_ERROR
4234123412340403TIMEOUT
Diners
Card Number Expected Response 3DS 2.x Expected Response 3DS 1.x DS (VERes) Expected Response 3DS 1.x ACS (PARes)
3095000000000000AUTHENTICATED_APPLICATION_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_Y
3095000000000001BROWSER_CHALLENGEENROLLED_YTRANSACTION_CHALLENGE_OTP
3095000000000002NOT_AUTHENTICATED_APPLICATION_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_N
3095000000000005AUTHENTICATED_BROWSER_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_Y
3095000000000006NOT_AUTHENTICATED_BROWSER_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_N
JCB
Card Number Expected Response 3DS 2.x Expected Response 3DS 1.x DS (VERes) Expected Response 3DS 1.x ACS (PARes)
3528000000000000AUTHENTICATED_APPLICATION_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_Y
3528000000000001BROWSER_CHALLENGEENROLLED_YTRANSACTION_CHALLENGE_OTP
3528000000000002NOT_AUTHENTICATED_APPLICATION_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_N
3528000000000005AUTHENTICATED_BROWSER_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_Y
3528000000000006NOT_AUTHENTICATED_BROWSER_FRICTIONLESSENROLLED_YTRANSACTION_STATUS_N
Ranges
Start range End range Scheme
340000000000000349999999999999Amex
370000000000000379999999999999Amex
22210000000000002223000000000022Mastercard
22230000000000242720999999999999Mastercard
51000000000000005111111111111117Mastercard
51111111111111195599999999999999Mastercard
40000000000000004111110000000210Visa
41111100000002124234123412339999Visa
42341234123500004999999999999999Visa
30000000000000003099999999999999Diners
35280000000000003589009999999999JCB
3DS2 OTP Codes
OTP Code Transaction Status Transaction Status reason ECI authenticationValue
1234Y/01JAmi21makAifmwqo2120cjq1AAA=
1111N0101/
2222R0101/
3333U0101/
4444A0101Qm181okmdyqh6yQmYuq1890QAAA=

The same OTP codes are valid for Visa, Mastercard and Amex scenarios.

3DS1 OTP Codes
OTP Code Transaction Status CAVV CAVV Algorithm ECI
1234YVGhpcyBpcyBhIHRlc3QgYmFzZTY=705
1111N///

Set up the 3D Secure connections

First, we'll set up a 3DS-enabled connection in the Yuno dashboard. Log into your dashboard and navigate to Connections. In this case, we'll use Yuno Test Payment Gateway as our provider, so we'll look for it and click Connect.

Name the connection and enable the 3D Secure credentials checkbox. Provide the following details. If you need test credentials, contact us and we'll provide them:

  • Merchant Name
  • Merchant URL
  • Merchant Country Code
  • MCC
  • Brand
  • Acquirer BIN
  • Acquirer Merchant ID
  • Merchant ID
  • Processing Channel ID (optional)
  • Acquirer Country Code
  • SIRET (optional)

Click Next to complete all steps and Save your connection.

Next, configure your 3DS provider (we'll use Cybersource 3DS in this example). In Connections, select the provider and click Connect.

Name the connection and select 3D Secure under Integration type. Using the information from your 3DS provider, fill in:

  • Organization ID
  • Secret
  • Shared Secret
  • Transaction identification from
  • Transactions expire time (minutes) (optional)

Configure routing

  • Navigate to Routing and find the Card route in either the Published or Not Published tab. Click View or Set Up, then Create new route.
  • Add a step to the route: select Cybersource 3DS (or your provider) and click Select.
  • Then, for the "Succeeded" path, add Yuno Test Payment Gateway and click Select.
  • Click Publish to save your changes.

Configure Checkout Builder

Navigate to Checkout Builder, enable the Card payment method, then click Publish settings to save your changes.

Testing 3DS with Yuno

You can test 3D Secure in three ways:

  • Yuno Testing Gateway: Use the gateway configured above (sandbox only).
  • Yuno SDK: Create a payment in your application using the Yuno SDK.
  • Yuno API: Use the Create Customer and Create Payment endpoints to run a 3DS flow.

Refer to Testing cards for 3DS flow above for the test cards and OTP codes to use.