The NDM Simulator allows external configuration of the simulated VERes per account number. This simulates the functionality of 3DS 1.0 Directory Server.
Possible types of VERes are listed below:
In order to configure the type of VERes, use the threeds-one-ds-simulator-config.properties
configuration file in the $NDM_SIMULATOR_HOME/conf
.
If the card is not present in the configuration file, the default response is ENROLLED_Y.
The 3DS 1.0 ACS URL should be configured there as well using threeds-one-ds-simulator-config.acs-url parameter. The value must be in format: http(s)://NDM Simulator Host
:NDM Simulator Port
/3ds1/acs/authenticate
An example configuration is listed below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | threeds-one-ds-simulator-config.acs-url =http://localhost:8080/3ds1/acs/authenticate # VALID_RESPONSE Category (PANs ending in 0xy) threeds-one-ds-simulator-config.responses.4234123412340000 =ENROLLED_Y threeds-one-ds-simulator-config.responses.4234123412340001 =ENROLLED_N threeds-one-ds-simulator-config.responses.4234123412340002 =ENROLLED_U # INVALID_RESPONSE Category (PANs ending in 1xy) threeds-one-ds-simulator-config.responses.4234123412340100 =MISSING_ROOT threeds-one-ds-simulator-config.responses.4234123412340101 =MISSING_MESSAGE threeds-one-ds-simulator-config.responses.4234123412340102 =INVALID_MESSAGE threeds-one-ds-simulator-config.responses.4234123412340103 =MISSING_VERSION threeds-one-ds-simulator-config.responses.4234123412340104 =ILLEGAL_VERSION threeds-one-ds-simulator-config.responses.4234123412340105 =MISSING_URL threeds-one-ds-simulator-config.responses.4234123412340106 =ILLEGAL_URL threeds-one-ds-simulator-config.responses.4234123412340107 =MISSING_ENROLLED threeds-one-ds-simulator-config.responses.4234123412340108 =ILLEGAL_ENROLLED threeds-one-ds-simulator-config.responses.4234123412340109 =ILLEGAL_EXTENSION # ERROR_RESPONSE Category (PANs ending in 2xy) threeds-one-ds-simulator-config.responses.4234123412340200 =ERROR_CUSTOM threeds-one-ds-simulator-config.responses.4234123412340201 =ERROR_1 threeds-one-ds-simulator-config.responses.4234123412340202 =ERROR_2 threeds-one-ds-simulator-config.responses.4234123412340203 =ERROR_3 threeds-one-ds-simulator-config.responses.4234123412340204 =ERROR_4 threeds-one-ds-simulator-config.responses.4234123412340205 =ERROR_5 threeds-one-ds-simulator-config.responses.4234123412340206 =ERROR_6 threeds-one-ds-simulator-config.responses.4234123412340220 =ERROR_CUSTOM_WITH_DIFFERENT_MESSAGE_ID threeds-one-ds-simulator-config.responses.4234123412340250 =ERROR_50 threeds-one-ds-simulator-config.responses.4234123412340251 =ERROR_51 threeds-one-ds-simulator-config.responses.4234123412340252 =ERROR_52 threeds-one-ds-simulator-config.responses.4234123412340253 =ERROR_53 threeds-one-ds-simulator-config.responses.4234123412340258 =ERROR_58 threeds-one-ds-simulator-config.responses.4234123412340298 =ERROR_98 threeds-one-ds-simulator-config.responses.4234123412340299 =ERROR_99 # IREQ_RESPONSE Category (PANs ending in 3xy) threeds-one-ds-simulator-config.responses.4234123412340300 =IREQ_CUSTOM threeds-one-ds-simulator-config.responses.4234123412340301 =IREQ_ENROLLED_Y threeds-one-ds-simulator-config.responses.4234123412340350 =IREQ_50 threeds-one-ds-simulator-config.responses.4234123412340351 =IREQ_51 threeds-one-ds-simulator-config.responses.4234123412340352 =IREQ_52 threeds-one-ds-simulator-config.responses.4234123412340353 =IREQ_53 threeds-one-ds-simulator-config.responses.4234123412340354 =IREQ_54 threeds-one-ds-simulator-config.responses.4234123412340355 =IREQ_55 threeds-one-ds-simulator-config.responses.4234123412340356 =IREQ_56 threeds-one-ds-simulator-config.responses.4234123412340358 =IREQ_58 threeds-one-ds-simulator-config.responses.4234123412340398 =IREQ_98 threeds-one-ds-simulator-config.responses.4234123412340399 =IREQ_99 # OTHER Category (PANs ending in 4xy) threeds-one-ds-simulator-config.responses.4234123412340400 =UNSUPPORTED_VERSION threeds-one-ds-simulator-config.responses.4234123412340401 =UNRECOGNIZED_CRITICAL_EXTENSION threeds-one-ds-simulator-config.responses.4234123412340402 =SERVER_ERROR threeds-one-ds-simulator-config.responses.4234123412340403 =TIMEOUT # AMEX PAN threeds-one-ds-simulator-config.responses.3734123412340000 =ENROLLED_Y |
The NDM Simulator allows external configuration of the simulated PARes per account number. This simulates the functionality of 3DS 1.0 ACS.
Possible types of PARes are listed below:
In order to configure the type of PARes, use the threeds-one-acs-simulator-config.properties
configuration file in the $NDM_SIMULATOR_HOME/conf
.
If the card is not present in the configuration file, the default response is TRANSACTION_STATUS_N.
The NDM simulator is signing the content of a PARes. The signing certificate store location, alias and password must be configured here as well. The configured certificate information will be used for signing all simulation scenarios responses except for the SIGNATURE_UNTRUSTED_ANCHOR simulation scenario. For this specific scenario, the NDM Simulator generates a certificate itself for signing the PaRes which is unknown to the 3DS Server, thus causing validation error on 3DS Server side which is the intention of this simulation.
An example configuration is listed below:
1 2 3 4 5 6 7 8 9 10 11 | threeds-one-acs-simulator-config.signing-keystore-location =file:client.jks threeds-one-acs-simulator-config.signing-keystore-alias =3ds1-acs-signing threeds-one-acs-simulator-config.signing-keystore-password =secret threeds-one-acs-simulator-config.responses.4000001000000000 =TRANSACTION_STATUS_Y threeds-one-acs-simulator-config.responses.4000001000000005 =TRANSACTION_STATUS_Y threeds-one-acs-simulator-config.responses.4234123412340000 =TRANSACTION_STATUS_Y threeds-one-acs-simulator-config.responses.4234123412340006 =TRANSACTION_STATUS_U threeds-one-acs-simulator-config.responses.4234123412340007 =TRANSACTION_STATUS_A threeds-one-acs-simulator-config.responses.5333259155643223 =TRANSACTION_STATUS_Y threeds-one-acs-simulator-config.responses.5512459816707531 =TRANSACTION_STATUS_Y |