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 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 | public class Browser { /** * Exact content of the HTTP accept headers as sent to the 3DS Requestor from the Cardholder's browser. * This field is limited to maximum 2048 characters and if the total length exceeds the limit, the 3DS Server * truncates the excess portion. * * This field is required for requests where deviceChannel=02 (BRW). */ private String browserAcceptHeader; /** * IP address of the browser as returned by the HTTP headers to the 3DS Requestor. The field is limited to maximum 45 * characters and the accepted values are as following: * - IPv4 address is represented in the dotted decimal format of 4 sets of decimal numbers separated by dots. The * decimal number in each and every set is in the range 0 - 255. Example: 1.12.123.255 * - IPv6 adress is represented as eight groups of four hexadecimal digits, each group representing 16 bits (two * octets). The groups are separated by colons (:). Example: 2011:0db8:85a3:0101:0101:8a2e:0370:7334 * * This field is required for requests when deviceChannel = 02 (BRW) where regionally acceptable. */ private String browserIP; /** * Boolean that represents the ability of the cardholder browser to execute Java. Value is returned from the * navigator.javaEnabled property. * * Depending on the message version, the field is required for requests: * - with message version = 2.1.0 and deviceChannel = 02 (BRW). * - with message version = 2.2.0 and deviceChannel = 02 (BRW) and browserJavascriptEnabled = true. */ private Boolean browserJavaEnabled; /** * Value representing the browser language as defined in IETF BCP47. The value is limited to 1-8 characters. If the * value exceeds 8 characters, it will be truncated to a semantically valid value, if possible. The value is * returned from navigator.language property. * * This field is required for requests where deviceChannel = 02 (BRW). */ private String browserLanguage; /** * Value representing the bit depth of the colour palette for displaying images, in bits per pixel. Obtained from * Cardholder browser using the screen.colorDepth property. The field is limited to 1-2 characters. * * Accepted values are: * 1 -> 1 bit * 4 -> 4 bits * 8 -> 8 bits * 15 -> 15 bits * 16 -> 16 bits * 24 -> 24 bits * 32 -> 32 bits * 48 -> 48 bits * If the value is not in the accepted values, it will be resolved to the first accepted value lower from the one * provided. * * Depending on the message version, the field is required for requests: * - with message version = 2.1.0 and deviceChannel = 02 (BRW). * - with message version = 2.2.0 and deviceChannel = 02 (BRW) and browserJavascriptEnabled = true. */ private String browserColorDepth; /** * Total height of the Cardholder's screen in pixels. Value is returned from the screen.height property. The value is * limited to 1-6 characters. * * Depending on the message version, the field is required for requests: * - with message version = 2.1.0 and deviceChannel = 02 (BRW). * - with message version = 2.2.0 and deviceChannel = 02 (BRW) and browserJavascriptEnabled = true. */ private Integer browserScreenHeight; /** * Total width of the Cardholder's screen in pixels. Value is returned from the screen.width property. The value is * limited to 1-6 characters. * * Depending on the message version, the field is required for requests: * - with message version = 2.1.0 and deviceChannel = 02 (BRW). * - with message version = 2.2.0 and deviceChannel = 02 (BRW) and browserJavascriptEnabled = true. */ private Integer browserScreenWidth; /** * Time difference between UTC time and the Cardholder browser local time, in minutes. The field is limited to 1-5 * characters where the vauyes is returned from the getTimezoneOffset() method. * * Depending on the message version, the field is required for requests: * - with message version = 2.1.0 and deviceChannel = 02 (BRW). * - with message version = 2.2.0 and deviceChannel = 02 (BRW) and browserJavascriptEnabled = true. */ private Integer browserTZ; /** * Exact content of the HTTP user-agent header. The field is limited to maximum 2048 caracters. If the total length of * the User-Agent sent by the browser exceeds 2048 characters, the 3DS Server truncates the excess portion. * * This field is required for requests where deviceChannel = 02 (BRW). */ private String browserUserAgent; /** * Dimensions of the challenge window that has been displayed to the Cardholder. The ACS shall reply with content * that is formatted to appropriately render in this window to provide the best possible user experience. * * Preconfigured sizes are width X height in pixels of the window displayed in the Cardholder browser window. This is * used only to prepare the CReq request and it is not part of the AReq flow. If not present it will be omitted. * * However, when sending the Challenge Request, this field is required when deviceChannel = 02 (BRW). * * Accepted values are: * 01 -> 250 x 400 * 02 -> 390 x 400 * 03 -> 500 x 600 * 04 -> 600 x 400 * 05 -> Full screen */ private ChallengeWindowSizeEnum challengeWindowSize; /** * Boolean that represents the ability of the cardholder browser to execute JavaScript. * * This field is required for requests where deviceChannel = 02 (BRW). * Available for supporting EMV 3DS 2.2.0 and later versions. */ private Boolean browserJavascriptEnabled; } |