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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | public class ThreeDSRequestor { /** * Indicates the type of Authentication request. This data element provides additional information to the ACS to * determine the best approach for handling an authentication request. This value is used for App-based and Browser * flows. The accepted values are: * * 01 -> Payment transaction * 02 -> Recurring transaction * 03 -> Installment transaction * 04 -> Add card * 05 -> Maintain card * 06 -> Cardholder verification as part of EMV token ID&V * * This is a required field. */ private ThreeDSRequestorAuthenticationIndicatorEnum threeDSRequestorAuthenticationInd; /** * Information about how the 3DS Requestor authenticated the cardholder before or during the transaction. This object * contains the following fields: * threeDSReqAuthMethod -> Mechanism used by the Cardholder to authenticate to the 3DS Requestor. Accepted values * are: * 01 -> No 3DS Requestor authentication occurred (i.e. cardholder "logged in" as guest) * 02 -> Login to the cardholder account at the 3DS Requestor system using 3DS Requestor's own credentials * 03 -> Login to the cardholder account at the 3DS Requestor system using federated ID * 04 -> Login to the cardholder account at the 3DS Requestor system using issuer credentials * 05 -> Login to the cardholder account at the 3DS Requestor system using third-party authentication * 06 -> Login to the cardholder account at the 3DS Requestor system using FIDO Authenticator. * * The next values are accepted as well if 3DS Server initiates authentication with EMV 3DS 2.2.0 version * or greater (required protocol version can be set in * {@link ThreeDSServerAuthenticationRequest#preferredProtocolVersion} field): * 07 -> Login to the cardholder account at the 3DS Requestor system using FIDO Authenticator * (FIDO assurance data signed). * 08 -> SRC Assurance Data. * * threeDSReqAuthTimestamp -> Date and time in UTC of the cardholder authentication. Field is limited to 12 * characters and accepted format is YYYYMMDDHHMM * threeDSReqAuthData -> Data that documents and supports a specific authentication process. In the current * version of the specification, this data element is not defined in detail, however the * intention is that for each 3DS Requestor Authentication Method, this field carry data * that the ACS can use to verify the authentication process. For example, if the 3DS * Requestor Authentication Method is: * 03 -> then this element can carry information about the provider of the federated ID and * related information * 06 -> then this element can carry the FIDO attestation data (incl. the signature) * * This field is optional, but recommended to include. */ private ThreeDSRequestorAuthenticationInformation threeDSRequestorAuthenticationInfo; /** * Indicates whether a challenge is requested for this transaction. For example: For 01-PA, a 3DS Requestor may have * concerns about the transaction, and request a challenge. For 02-NPA, a challenge may be necessary when adding a new * card to a wallet. * * This field is optional. The accepted values are: * * 01 -> No preference * 02 -> No challenge requested * 03 -> Challenge requested: 3DS Requestor Preference * 04 -> Challenge requested: Mandate. * * The next values are accepted as well if 3DS Server initiates authentication with EMV 3DS 2.2.0 version * or greater (required protocol version can be set in * {@link ThreeDSServerAuthenticationRequest#preferredProtocolVersion} field): * * 05 -> No challenge requested (transactional risk analysis is already performed) * 06 -> No challenge requested (Data share only) * 07 -> No challenge requested (strong consumer authentication is already performed) * 08 -> No challenge requested (utilise whitelist exemption if no challenge required) * 09 -> Challenge requested (whitelist prompt requested if challenge required). * * If the element is not provided, the expected action is that the ACS would interpret as 01 -> No preference. */ private ThreeDSRequestorChallengeIndicatorEnum threeDSRequestorChallengeInd; /** * This field contains information about how the 3DS Requestor authenticated the cardholder as part of a previous * 3DS transaction. This object contains the following fields: * threeDSReqPriorRef -> This data element provides additional information to the ACS to determine the best * approach for handling a request. The field is limited to 36 characters containing * ACS Transaction ID for a prior authenticated transaction (for example, the first * recurring transaction that was authenticated with the cardholder). * threeDSReqPriorAuthMethod -> Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor. * Accepted values for this field are: * 01 -> Frictionless authentication occurred by ACS * 02 -> Cardholder challenge occurred by ACS * 03 -> AVS verified * 04 -> Other issuer methods * threeDSReqPriorAuthTimestamp -> Date and time in UTC of the prior authentication. Accepted date format is * YYYYMMDDHHMM. * threeDSReqPriorAuthData -> Data that documents and supports a specific authentication process. In the current * version of the specification this data element is not defined in detail, however * the intention is that for each 3DS Requestor Authentication Method, this field carry * data that the ACS can use to verify the authentication process. In future versions * of the application, these details are expected to be included. Field is limited to * maximum 2048 characters. * * This field is optional, but recommended to include. */ private ThreeDSRequestorPriorTransactionAuthenticationInformation threeDSRequestorPriorAuthenticationInfo; /** * Indicates whether the 3DS Requestor requests the ACS to utilise Decoupled Authentication and * agrees to utilise Decoupled Authentication if the ACS confirms its use. Accepted values are: * Y -> Decoupled Authentication is supported and preferred if challenge is necessary. * N -> Do not use Decoupled Authentication. * * The field is optional and if value is not present, the expected action is for the ACS to interpret as 'N'. * Available for supporting EMV 3DS 2.2.0 and later versions. */ private ThreeDSRequestorDecoupledRequestIndicatorEnum threeDSRequestorDecReqInd; /** * Indicates the maximum amount of time that the 3DS Requestor will wait for an ACS to provide the results * of a Decoupled Authentication transaction (in minutes). Valid values are between 1 and 10080. * * The field is optional and if value is not present, the expected action is for the ACS to interpret it as * 10080 minutes (7 days). * Available for supporting EMV 3DS 2.2.0 and later versions. */ private Integer threeDSRequestorDecMaxTime; } |