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 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 | 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 * 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 * * 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 specfic authentication porcess. 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 porcess. 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; } |