ThreeDSRequestor

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;
}