3DS Authentication

Authentication Request Model

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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
public class ThreeDSServerAuthenticationRequest {
  
  /**
   * Specifies the preferred version of 3D Secure protocol to be utilized while executing 3D Secure authentication.
   * 3DS Server initiates an authentication request with the preferred version and if this version is not supported by
   * other 3D Secure components, or the validation of the message fails for it, it falls back to the next supported
   * version(s) for which validation passes and continues authentication.
   *
   * If the preferred version is enforced by setting {@link #enforcePreferredProtocolVersion} flag, but this version
   * is not supported by one of the 3D Secure components (or the validation fails), 3DS Server does not initiate an
   * authentication and provides corresponding error message to the customer.
   *
   * The accepted values are:
   *  2.1.0 -> prefer authentication with EMV 3DS 2.1.0 version,
   *  2.2.0 -> prefer authentication with EMV 3DS 2.2.0 version,
   *  latest -> prefer authentication with the latest version, the 3DS Server is certified for EMV 3DS 2.2.0 version
   *            at this moment.
   *
   *  If no value is provided, EMV 3DS 2.1.0 version will be used by default.
   *  Available for supporting EMV 3DS 2.2.0 and later versions.
   */
  @Builder.Default
  private PreferredProtocolVersionEnum preferredProtocolVersion = PreferredProtocolVersionEnum.Version_2_1_0;
  /**
   * Boolean flag that enforces preferred 3D Secure protocol version to be used in 3D Secure authentication.
   * The value should be set true to enforce preferred version. If value is false or not provided,
   * 3DS Server can fall back to next supported 3DS protocol version while initiating 3D Secure authentication.
   *
   * @see #preferredProtocolVersion
   * Available for supporting EMV 3DS 2.2.0 and later versions.
   */
  @Builder.Default
  private Boolean enforcePreferredProtocolVersion = Boolean.FALSE;
  /**
   * Indicates the type of channel interface being used to initiate the transaction. The accepted values are:
   *
   *  01 -> App-based (APP)
   *  02 -> Browser (BRW)
   *  03 -> 3DS Requestor Initiated (3RI)
   *
   *  This is a required field.
   */
  private DeviceChannelEnum deviceChannel;
  /**
   * Identifies the category of the message for a specific use case. The accepted values are:
   *
   *  01 -> PA
   *  02 -> NPA
   *
   *  This is a required field.
   */
  private MessageCategoryEnum messageCategory;
  /**
   * Indicates whether the 3DS Method successfully completed. The value is used only when deviceChannel = 02 (Browser).
   *
   * The accepted values are:
   *
   *  Y -> Successfully completed
   *  N -> Did not successfully complete
   *  U -> Unavailable - 3DS Method URL was not present in the PRes message data for the card range associated
   *                      with the Cardholder Account Number.
   *
   * If the 3DS Server handles the 3DS Method response, then this field is not required and it will be resolved
   * internally. If there is no 3DS Method URL associated with the Directory Server to which the cardholder belongs,
   * then this field is not required and 3DS Server will send U. Otherwise, this field should be sent.
   */
  private ThreeDSMethodCompletionIndicatorEnum threeDSCompInd;
  /**
   * Contains information for the 3DS Requestor. More details can be found at {@link ThreeDSRequestor}.
   */
  private ThreeDSRequestor threeDSRequestor;
  /**
   * Universally unique transaction identifier assigned by the 3DS Server to identify a single transaction.
   * This value has 36 characters in a format defined in IETF RFC 4122. In case 3DS Method is previously invoked,
   * the threeDSServerTransID should be sent. If not, 3DS Server will generate a new transaction identifier.
   */
  private String threeDSServerTransID;
  /**
   * Fully qualified URL of 3DS Requestor website or customer care site. This field is optional and it is recommended
   * to be configured in the configuration.
   */
  private URL threeDSRequestorURL;
  /**
   * Contains information for the Cardholder Account. More details can be found at {@link CardholderAccount}.
   */
  private CardholderAccount cardholderAccount;
  /**
   * Contains information for the Cardholder. More details can be found at {@link Cardholder}.
   *
   * This field is required unless market or regional mandate restricts sending this information.
   */
  private Cardholder cardholder;
  /**
   * Boolean flag indicating whether the validation for required cardholder data should not be applied in case when
   * market or regional mandate restricts sending the information.
   *
   * This field is not required and if not provided, it will be checked in the 3DS Server configuration. If it's not
   * configured there, default value is false meaning no relaxation of validation rules on cardholder data.
   */
  private Boolean relaxRegionalValidationRules;
  /**
   * Contains purchase information. More details can be found at {@link Purchase}.
   */
  private Purchase purchase;
  /**
   * Contains information for the Acquirer. More details can be found at {@link AcquirerData}.
   */
  private AcquirerData acquirer;
  /**
   * Contains merchant information. More details can be found at {@link MerchantData}.
   */
  private MerchantData merchant;
  /**
   * Unstructured information sent between the 3DS Server, the DS and the ACS.
   *
   * This field is not required to be filled by the Requestor and the requirements for the presence of this field
   * are DS specific.
   */
  @JsonDeserialize(using = BroadcastInfoDeserializer.class)
  @JsonSerialize(using = BroadcastInfoSerializer.class)
  private String broadInfo;
  /**
   * Defines the SDK UI types that the device supports for displaying specific challenge user interfaces within the SDK.
   *
   * This field is required only when deviceChannel=01 (APP).
   *
   * Fields in this object:
   *    sdkInterface -> Specifies all of the SDK Interface types that the device supports for displaying specific
   *                    challenge user interfaces within the SDK. Accepted values are:
   *                      01 -> Native
   *                      02 -> HTML
   *                      03 -> Both
   *    sdkUiType -> Contains a list of all UI types that the device supports for displaying specific challenge user
   *                 interfaces within the SDK. Accepted values for each UI type are:
   *                    01 -> Text
   *                    02 -> Single select
   *                    03 -> Multi select
   *                    04 -> OOB
   *                    05 -> Html Other (valid only for HTML UI)
   *                 For Native UI SDK Interface accepted values are 01-04 and for HTML UI accepted values are 01-05.
   */
  private DeviceRenderingOptionsSupported deviceRenderOptions;
  /**
   * Data necessary to support requirements not otherwise defined in the 3D Secure message are
   * carried in a Message Extension. This field is limited to 81.920 characters and it is used in the
   * Authentication Request.
   *
   * Requirements of this field are set by each Directory Server.
   *
   * The fields for each message extension attribute are:
   *    id -> A unique identifier for the extension. Payment System Registered Application Provider Identifier (RID) is
   *          required as prefix of the ID. The maximum length is 64 characters.
   *    name -> The name of the extension data set as defined by the extension owner. Maximum length is 64 characters.
   *    criticalityIndicator -> A boolean value indicating whether the recipient must understand the contents
   *                            of the extension to interpret the entire message.
   *    data -> The data carried in the extension. The maximum length is 8059 characters.
   */
  private List<MessageExtensionAttribute> messageExtension;
  /**
   * Data necessary to support requirements not otherwise defined in the 3D Secure message are
   * carried in a Message Extension. This field is limited to 81.920 characters and it is used in the
   * generating of the ChallengeRequest, if challenge is needed.
   *
   * Requirements of this field are set by each Directory Server.
   *
   * The fields for each message extension attribute are:
   *    id -> A unique identifier for the extension. Payment System Registered Application Provider Identifier (RID) is
   *          required as prefix of the ID. The maximum length is 64 characters.
   *    name -> The name of the extension data set as defined by the extension owner. Maximum length is 64 characters.
   *    criticalityIndicator -> A boolean value indicating whether the recipient must understand the contents
   *                            of the extension to interpret the entire message.
   *    data -> The data carried in the extension. The maximum length is 8059 characters.
   */
  private List<MessageExtensionAttribute> challengeMessageExtension;
  /**
   * Contains browser information. More details can be found at {@link Browser}.
   *
   * This field is required when deviceChannel=02 (BRW).
   */
  private Browser browserInformation;
  /**
   * Indicates the type of 3RI request. This data element provides additional information to the ACS to determine the
   * best approach for handling a 3RI request. The accepted values are:
   *  01 -> Recurring transaction
   *  02 -> Installment transaction
   *  03 -> Add card
   *  04 -> Maintain card information
   *  05 -> Account verification.
   *
   *  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):
   *
   *  06 -> Split/delayed shipment
   *  07 -> Top-up
   *  08 -> Mail order
   *  09 -> Telephone order
   *  10 -> Whitelist status check
   *  11 -> other payment.
   *
   *  This field is required only when deviceChannel=03 (3RI) and messageCategory=02 (NPA).
   */
  private ThreeRIIndicatorEnum threeRIInd;
  /**
   * Contains SDK information. More details can be found at {@link Sdk}.
   *
   * All fields in this object are required for App-based transactions.
   */
  private Sdk sdkInformation;
}

For more information on the ThreeDSServerAuthenticationRequest fields, visit:

Authentication Request JSON Samples

Authentication request indicating merchant whitelisted
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
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
{
  "deviceChannel": "02",
  "messageCategory": "01",
  "threeDSCompInd": "Y",
  "preferredProtocolVersion": "2.2.0",
  "enforcePreferredProtocolVersion": true,
  "threeDSRequestor": {
    "threeDSRequestorAuthenticationInd": "02",
    "threeDSRequestorAuthenticationInfo": {
      "threeDSReqAuthMethod": "04",
      "threeDSReqAuthTimestamp": "201812201735",
      "threeDSReqAuthData": "threeDSReqAuthData"
    },
    "threeDSRequestorChallengeInd": "03",
    "threeDSRequestorPriorAuthenticationInfo": {
      "threeDSReqPriorRef": "VOGXpZvTlCmBUyPnnZfmsGDKqxRsRwPovkAE",
      "threeDSReqPriorAuthMethod": "01",
      "threeDSReqPriorAuthTimestamp": "201812201735",
      "threeDSReqPriorAuthData": "threeDSReqPriorAuthData"
    }
  },
  "cardholderAccount": {
    "acctType": "02",
    "cardExpiryDate": "1812",
    "acctInfo": {
      "chAccAgeInd": "04",
      "chAccDate": "20181220",
      "chAccChangeInd": "03",
      "chAccChange": "20181220",
      "chAccPwChangeInd": "04",
      "chAccPwChange": "20181220",
      "shipAddressUsageInd": "03",
      "shipAddressUsage": "20181220",
      "txnActivityDay": 1,
      "txnActivityYear": 1,
      "provisionAttemptsDay": 1,
      "nbPurchaseAccount": 1,
      "suspiciousAccActivity": "01",
      "shipNameIndicator": "01",
      "paymentAccInd": "03",
      "paymentAccAge": "20181220"
    },
    "schemeId": "Visa",
    "acctNumber": "4000001000000005",
    "payTokenInd": true
  },
  "cardholder": {
    "addrMatch": "N",
    "billAddrCity": "Zurich",
    "billAddrCountry": "756",
    "billAddrLine1": "Zypressenstrasse 71",
    "billAddrLine2": "P.O. Box",
    "billAddrLine3": "8040 Zürich",
    "billAddrPostCode": "8000",
    "billAddrState": "CH",
    "email": "netcetera@example.com",
    "homePhone": {
      "cc": "1",
      "subscriber": "123"
    },
    "mobilePhone": {
      "cc": "1",
      "subscriber": "123"
    },
    "workPhone": {
      "cc": "1",
      "subscriber": "123"
    },
    "cardholderName": "John Doe",
    "shipAddrCity": "Zurich",
    "shipAddrCountry": "756",
    "shipAddrLine1": "Zypressenstrasse 98",
    "shipAddrLine2": "P.O. Box",
    "shipAddrLine3": "8040 Zürich",
    "shipAddrPostCode": "8000",
    "shipAddrState": "CH"
  },
  "relaxRegionalValidationRules": false,
  "purchase": {
    "purchaseInstalData": 3,
    "merchantRiskIndicator": {
      "shipIndicator": "01",
      "deliveryTimeframe": "02",
      "deliveryEmailAddress": "netcetera@example.com",
      "reorderItemsInd": "01",
      "preOrderPurchaseInd": "01",
      "preOrderDate": "20181220",
      "giftCardAmount": 2,
      "giftCardCurr": "111",
      "giftCardCount": 1
    },
    "purchaseAmount": 1,
    "purchaseCurrency": "111",
    "purchaseExponent": 1,
    "purchaseDate": "20181220173550",
    "recurringExpiry": "20181220",
    "recurringFrequency": 1,
    "transType": "01"
  },
  "acquirer": {
    "acquirerBin": "acq-bin",
    "acquirerMerchantId": "acq-mer-id"
  },
  "merchant": {
    "merchantConfigurationId": "merId",
    "whiteListStatus": "Y"
  },
  "broadInfo": {
    "message": "TLS 1.x will be turned off starting summer 2019 "
  },
  "messageExtension": [
    {
      "name": "name",
      "id": "id",
      "criticalityIndicator": false,
      "data": {
        "valueOne": "value1",
        "valueTwo": "value2"
      }
    }
  ],
  "browserInformation": {
    "browserAcceptHeader": "application/json",
    "browserIP": "192.168.1.11",
    "browserJavaEnabled": true,
    "browserLanguage": "en",
    "browserColorDepth": "8",
    "browserScreenHeight": 1,
    "browserScreenWidth": 1,
    "browserTZ": 1,
    "browserUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0",
    "challengeWindowSize": "01"
  }
}
Authentication request indicating decoupled challenge requested
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
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
{
  "deviceChannel": "02",
  "messageCategory": "01",
  "threeDSCompInd": "Y",
  "preferredProtocolVersion": "2.2.0",
  "enforcePreferredProtocolVersion": true,
  "threeDSRequestor": {
    "threeDSRequestorAuthenticationInd": "02",
    "threeDSRequestorDecReqInd": "Y",
    "threeDSRequestorDecMaxTime": "30",
    "threeDSRequestorAuthenticationInfo": {
      "threeDSReqAuthMethod": "04",
      "threeDSReqAuthTimestamp": "201812201735",
      "threeDSReqAuthData": "threeDSReqAuthData"
    },
    "threeDSRequestorChallengeInd": "03",
    "threeDSRequestorPriorAuthenticationInfo": {
      "threeDSReqPriorRef": "VOGXpZvTlCmBUyPnnZfmsGDKqxRsRwPovkAE",
      "threeDSReqPriorAuthMethod": "01",
      "threeDSReqPriorAuthTimestamp": "201812201735",
      "threeDSReqPriorAuthData": "threeDSReqPriorAuthData"
    }
  },
  "cardholderAccount": {
    "acctType": "02",
    "cardExpiryDate": "1812",
    "acctInfo": {
      "chAccAgeInd": "04",
      "chAccDate": "20181220",
      "chAccChangeInd": "03",
      "chAccChange": "20181220",
      "chAccPwChangeInd": "04",
      "chAccPwChange": "20181220",
      "shipAddressUsageInd": "03",
      "shipAddressUsage": "20181220",
      "txnActivityDay": 1,
      "txnActivityYear": 1,
      "provisionAttemptsDay": 1,
      "nbPurchaseAccount": 1,
      "suspiciousAccActivity": "01",
      "shipNameIndicator": "01",
      "paymentAccInd": "03",
      "paymentAccAge": "20181220"
    },
    "schemeId": "Visa",
    "acctNumber": "4000001000000005",
    "payTokenInd": true
  },
  "cardholder": {
    "addrMatch": "N",
    "billAddrCity": "Zurich",
    "billAddrCountry": "756",
    "billAddrLine1": "Zypressenstrasse 71",
    "billAddrLine2": "P.O. Box",
    "billAddrLine3": "8040 Zürich",
    "billAddrPostCode": "8000",
    "billAddrState": "CH",
    "email": "netcetera@example.com",
    "homePhone": {
      "cc": "1",
      "subscriber": "123"
    },
    "mobilePhone": {
      "cc": "1",
      "subscriber": "123"
    },
    "workPhone": {
      "cc": "1",
      "subscriber": "123"
    },
    "cardholderName": "John Doe",
    "shipAddrCity": "Zurich",
    "shipAddrCountry": "756",
    "shipAddrLine1": "Zypressenstrasse 98",
    "shipAddrLine2": "P.O. Box",
    "shipAddrLine3": "8040 Zürich",
    "shipAddrPostCode": "8000",
    "shipAddrState": "CH"
  },
  "relaxRegionalValidationRules": false,
  "purchase": {
    "purchaseInstalData": 3,
    "merchantRiskIndicator": {
      "shipIndicator": "01",
      "deliveryTimeframe": "02",
      "deliveryEmailAddress": "netcetera@example.com",
      "reorderItemsInd": "01",
      "preOrderPurchaseInd": "01",
      "preOrderDate": "20181220",
      "giftCardAmount": 2,
      "giftCardCurr": "111",
      "giftCardCount": 1
    },
    "purchaseAmount": 1,
    "purchaseCurrency": "111",
    "purchaseExponent": 1,
    "purchaseDate": "20181220173550",
    "recurringExpiry": "20181220",
    "recurringFrequency": 1,
    "transType": "01"
  },
  "acquirer": {
    "acquirerBin": "acq-bin",
    "acquirerMerchantId": "acq-mer-id"
  },
  "merchant": {
    "merchantConfigurationId": "merId"
  },
  "broadInfo": {
    "message": "TLS 1.x will be turned off starting summer 2019 "
  },
  "messageExtension": [
    {
      "name": "name",
      "id": "id",
      "criticalityIndicator": false,
      "data": {
        "valueOne": "value1",
        "valueTwo": "value2"
      }
    }
  ],
  "browserInformation": {
    "browserAcceptHeader": "application/json",
    "browserIP": "192.168.1.11",
    "browserJavaEnabled": true,
    "browserLanguage": "en",
    "browserColorDepth": "8",
    "browserScreenHeight": 1,
    "browserScreenWidth": 1,
    "browserTZ": 1,
    "browserUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0",
    "challengeWindowSize": "01"
  }
}
Authentication request indicating delegated authentication
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
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
{
  "deviceChannel": "02",
  "messageCategory": "01",
  "threeDSCompInd": "Y",
  "preferredProtocolVersion": "2.2.0",
  "enforcePreferredProtocolVersion": true,
  "threeDSRequestor": {
    "threeDSRequestorAuthenticationInd": "02",
    "threeDSRequestorAuthenticationInfo": {
      "threeDSReqAuthMethod": "04",
      "threeDSReqAuthTimestamp": "201812201735",
      "threeDSReqAuthData": "threeDSReqAuthData"
    },
    "threeDSRequestorChallengeInd": "07",
    "threeDSRequestorPriorAuthenticationInfo": {
      "threeDSReqPriorRef": "VOGXpZvTlCmBUyPnnZfmsGDKqxRsRwPovkAE",
      "threeDSReqPriorAuthMethod": "01",
      "threeDSReqPriorAuthTimestamp": "201812201735",
      "threeDSReqPriorAuthData": "threeDSReqPriorAuthData"
    }
  },
  "cardholderAccount": {
    "acctType": "02",
    "cardExpiryDate": "1812",
    "acctInfo": {
      "chAccAgeInd": "04",
      "chAccDate": "20181220",
      "chAccChangeInd": "03",
      "chAccChange": "20181220",
      "chAccPwChangeInd": "04",
      "chAccPwChange": "20181220",
      "shipAddressUsageInd": "03",
      "shipAddressUsage": "20181220",
      "txnActivityDay": 1,
      "txnActivityYear": 1,
      "provisionAttemptsDay": 1,
      "nbPurchaseAccount": 1,
      "suspiciousAccActivity": "01",
      "shipNameIndicator": "01",
      "paymentAccInd": "03",
      "paymentAccAge": "20181220"
    },
    "schemeId": "Visa",
    "acctNumber": "4000001000000005",
    "payTokenInd": true
  },
  "cardholder": {
    "addrMatch": "N",
    "billAddrCity": "Zurich",
    "billAddrCountry": "756",
    "billAddrLine1": "Zypressenstrasse 71",
    "billAddrLine2": "P.O. Box",
    "billAddrLine3": "8040 Zürich",
    "billAddrPostCode": "8000",
    "billAddrState": "CH",
    "email": "netcetera@example.com",
    "homePhone": {
      "cc": "1",
      "subscriber": "123"
    },
    "mobilePhone": {
      "cc": "1",
      "subscriber": "123"
    },
    "workPhone": {
      "cc": "1",
      "subscriber": "123"
    },
    "cardholderName": "John Doe",
    "shipAddrCity": "Zurich",
    "shipAddrCountry": "756",
    "shipAddrLine1": "Zypressenstrasse 98",
    "shipAddrLine2": "P.O. Box",
    "shipAddrLine3": "8040 Zürich",
    "shipAddrPostCode": "8000",
    "shipAddrState": "CH"
  },
  "relaxRegionalValidationRules": false,
  "purchase": {
    "purchaseInstalData": 3,
    "merchantRiskIndicator": {
      "shipIndicator": "01",
      "deliveryTimeframe": "02",
      "deliveryEmailAddress": "netcetera@example.com",
      "reorderItemsInd": "01",
      "preOrderPurchaseInd": "01",
      "preOrderDate": "20181220",
      "giftCardAmount": 2,
      "giftCardCurr": "111",
      "giftCardCount": 1
    },
    "purchaseAmount": 1,
    "purchaseCurrency": "111",
    "purchaseExponent": 1,
    "purchaseDate": "20181220173550",
    "recurringExpiry": "20181220",
    "recurringFrequency": 1,
    "transType": "01"
  },
  "acquirer": {
    "acquirerBin": "acq-bin",
    "acquirerMerchantId": "acq-mer-id"
  },
  "merchant": {
    "merchantConfigurationId": "merId"
  },
  "broadInfo": {
    "message": "TLS 1.x will be turned off starting summer 2019 "
  },
  "messageExtension": [
    {
      "name": "name",
      "id": "id",
      "criticalityIndicator": false,
      "data": {
        "valueOne": "value1",
        "valueTwo": "value2"
      }
    }
  ],
  "browserInformation": {
    "browserAcceptHeader": "application/json",
    "browserIP": "192.168.1.11",
    "browserJavaEnabled": true,
    "browserLanguage": "en",
    "browserColorDepth": "8",
    "browserScreenHeight": 1,
    "browserScreenWidth": 1,
    "browserTZ": 1,
    "browserUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0",
    "challengeWindowSize": "01"
  }
}