Test Your Integration
You can test your integration for 3DS Authentication through the gateway by using the 3DS Emulator. To access the emulator, use your test merchant profile with the "TEST" prefix that your payment service provider supplies.
Testing supports for the following 3DS schemes:
- Mastercard SecureCode
- Verified by Visa
- American Express
- Discover
- Maestro
- JCB
- Diners
- ITMX Local Switching Secure EMVCo
Test 3DS functionality
Follow these steps to test 3DS functionality:
- Use a test card from the 3DS Test Cards table when submitting the INITIATE AUTHENTICATION request for your TEST merchant profile.
Use the expiry code "01/39" to get a successful authorization or payment in an end-to-end testing flow. The cards listed with * do not work for subsequent authorizations or payments. - Check if the authentication is available (
authentication.version
=3DS2). - Submit an AUTHENTICATE PAYER request.
- Insert content of the
authentication.redirect.html
field into the page displayed to the payer to redirect the payer's browser to the 3DS Emulator challenge page.
The 3DS Emulator redirects the payer's browser back to your website when the authentication is complete. - Select a specific 3DS authentication result from the drop-down menu in the 3DS Emulator.
see the values in the following Transaction Status Options in the 3DS Emulator table - Select a successful authentication result, if you want to reference this authentication transaction in a subsequent AUTHORIZE/PAY request and want the financial transaction to be successful.
- Use the transaction ID for this 3DS authentication in the
authentication.transactionId
field of a subsequent AUTHORIZE or PAY transaction request.
3DS test cards
In the table,
- The ACS Method Call column defines whether the card supports the ACS method.
- The transStatus and transStatusReason columns define the values returned in the
authentication.3ds2.transactionStatus
andauthentication.3ds2.statusReasonCode
fields, respectively.
The following table lists the cards you can use to test the 3DS functionality.
Test Cards | Purpose | Card Number | 3DS2 Enrolled | ACS Method Call | tranStatus | tranStatusReason | ECI | Authentication Token |
---|---|---|---|---|---|---|---|---|
Mastercard | Challenge | 5123450000000008 2223000000000007 |
Yes | Yes | C | - | - | - |
Frictionless | 5123456789012346 | Yes | Yes | Y | - | 02 | mHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
Frictionless | 5555555555000018* | Yes | No | Y | - | 02 | mHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
Authentication Attempted | 5500005555555559 | Yes | No | A | - | 01 | nHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
Authentication Rejected | 5506900140100503 | Yes | No | R | 04 | - | - | |
Error during INITIATE AUTHENTICATION operation resulting in Generic Error Response | 5210760000000004 | Exception | - | - | - | - | - | |
Error during AUTHENTICATE PAYER operation resulting in Generic Error Response | 5455031257390496 | Yes | No | Exception | - | - | - | |
5455031252665454 | Yes | No | Exception | - | - | - | ||
Not Enrolled Response | 5111111111111118 | No | - | - | - | - | - | |
2223000000000023 | No | - | - | - | - | - | ||
Authentication Unavailable Error during Authenticate Payer operation resulting in a response of authenticationStatus = AUTHENTICATION_UNAVAILABLE | 5123459999998221 | Yes | No | Recoverable Exception | - | - | - | |
Visa | Challenge | 4440000009900010 | Yes | No | C | - | - | - |
Frictionless | 4440000042200014 | Yes | Yes | Yes | - | 05 | mHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
Authentication Attempted | 4440000042200022 | Yes | No | A | - | 06 | nHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
American Express | Challenge | 340000099900051 | Yes | No | C | - | - | - |
Frictionless | 340353278080900 | Yes | Yes | Yes | - | 05 | mHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
Maestro | PSD2 Exemptions and Trusted Merchants | 5000000000000000005 | Yes | No | No | 81 | 06 | kNyn+7YFi1EUAREAAAAvNUe6Hv8= |
JCB | Challenge | 3528249999991755 | Yes | Yes | C | - | - | - |
Challenge | 3528249999991748 | Yes | No | C | - | - | - | |
Frictionless | 3528249999991821 | Yes | Yes | Yes | - | 05 | mHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
Authentication Rejected | 3528249999981236 | Yes | Yes | R | - | - | - | |
Not Enrolled Response | 3528249999991953 | - | - | - | - | - | - | - |
Diners | Challenge | 3600000000000115 | Yes | Yes | C | - | - | - |
Challenge | 3600000000000123 | Yes | No | C | - | - | mHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
Frictionless | 3600000000000131 | Yes | Yes | Yes | - | 05 | mHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
Authentication Rejected | 3600000000000172 | Yes | Yes | R | - | - | - | |
Not Enrolled Response | 3600000000000222 | - | - | - | - | - | - | |
Discover | Challenge | 6445644564456445 | Yes | Yes | C | - | - | - |
Challenge | 6445644564456460 | Yes | No | C | - | - | mHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
Frictionless | 6445644564456411 | Yes | Yes | Yes | - | 05 | mHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
Authentication Rejected | 6445644564456155 | Yes | Yes | R | - | - | - | |
Not Enrolled Response | 6445644564456239 | - | - | - | - | - | - | |
MASTERCARD_ITMX | Frictionless | 5594509999999006 | Y | Yes | Y | - | - | mHyn+7YFi1EUAREAAAAvNUe6Hv8= |
Challenge | 5297649999999000 | Y | No | C | - | - | - | |
Authentication Attempted | 5391979999999048 | Y | No | A | - | - | mHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
Not Authenticated | 5391979999999055 | Y | No | N | 04 | - | - | |
Mastercard ITMX Frictionless V220 | 5391979999999014 | Y | No | Y | - | - | mHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
VISA_ITMX | Frictionless | 4215849999999008 | Y | No | Y | - | - | mHyn+7YFi1EUAREAAAAvNUe6Hv8= |
Challenge | 4943129999999004 | Y | No | C | - | - | - | |
Authentication Attempted | 4013679999999045 | Y | No | A | - | - | mHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
Not Authenticated | 4013679999999052 | Y | No | N | 04 | - | - | |
Visa ITMX Frictionless V220 | 4013679999999011 | Y | No | Y | - | - | mHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
PayPak | Challenge | 2205459999997832 2205439999999541 |
Yes | Yes | C | - | - | - |
Challenge | 2205589999999485 2205819999992101 |
Yes | No | C | - | - | - | |
Frictionless | 2205939999992560 |
Yes | Yes | Y | - | 02 | mHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
Frictionless | 2205789999999978 2205729999994371 |
Yes | No | Y | - | 02 | mHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
Authentication Attempted | 2206409999999295 | Yes | No | A | - | 01 | nHyn+7YFi1EUAREAAAAvNUe6Hv8= | |
Authentication Rejected | 2206389999998630 | Yes | No | R | 04 | - | - | |
Error during INITIATE AUTHENTICATION operation resulting in Generic Error Response | 2205919999999930 | Exception | - | - | - | - | - | |
Error during AUTHENTICATE PAYER operation resulting in Generic Error Response | 2205609999999655 | Yes | No | Exception | - | - | - | |
Not Enrolled Response | 2205989999994330 | No | - | - | - | - | - | |
Authentication Unavailable Error during Authenticate Payer operation resulting in a response of authenticationStatus = AUTHENTICATION_UNAVAILABLE | 2205689999997123 | Yes | No | Recoverable Exception | - | - | - |
For a "C" transStatus, the following table lists the options that are available on the drop-down menu in the 3DS Emulator and the resulting values in the response.
Options | transStatus | challengeCancel | eci |
---|---|---|---|
Successful authentication |
Y | - | 05 / 02 |
Failed authentication |
N | - | 07 / 00 |
Cancelled authentication |
N | 01 | 07 / 00 |
Unable to authenticate | U | - | 07 / 00 |
Authentication rejected | R | - | 07 / 00 |
The gateway returns error messages from the authentication servers. You can use error messages to identify which fields are causing your integration to break when an authentication request is sent. For example,
- Error Message:
An authentication scheme indicates that your acquirer does not onboard the authentication scheme for EMV 3DS. Contact your acquirer or PSP. - Error Cause:
Before you can start using the EMV 3DS functionality, Your acquirer needs to onboard you with the respective authentication scheme. Contact your acquirer or PSP to check these values.
You can see the authentication details on the Merchant Administrator only when the payer authentication is complete. If the payer is still going through the challenge flow or abandons the process, there can be a delay before that transaction is visible on the Merchant Administration.
To see the current state of the authentication without delay, use the RETRIEVE ORDER or RETRIEVE TRANSACTION operation.