lithic 0.1.0.pre.alpha.33 → 0.1.0.pre.alpha.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/models/auth_rules/rule_stats.rb +112 -0
  6. data/lib/lithic/models/auth_rules/v2/backtest_results.rb +6 -238
  7. data/lib/lithic/models/auth_rules/v2_retrieve_report_params.rb +32 -0
  8. data/lib/lithic/models/auth_rules/v2_retrieve_report_response.rb +71 -0
  9. data/lib/lithic/models/card_convert_physical_params.rb +10 -6
  10. data/lib/lithic/models/card_create_params.rb +10 -6
  11. data/lib/lithic/models/card_reissue_params.rb +10 -6
  12. data/lib/lithic/models/card_renew_params.rb +10 -6
  13. data/lib/lithic/models/external_bank_account_create_params.rb +1 -1
  14. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +1 -0
  15. data/lib/lithic/models/financial_transaction.rb +1 -0
  16. data/lib/lithic/models/fraud/transaction_report_params.rb +130 -0
  17. data/lib/lithic/models/fraud/transaction_report_response.rb +160 -0
  18. data/lib/lithic/models/fraud/transaction_retrieve_params.rb +16 -0
  19. data/lib/lithic/models/fraud/transaction_retrieve_response.rb +160 -0
  20. data/lib/lithic/models/non_pci_card.rb +16 -21
  21. data/lib/lithic/models/payment.rb +7 -1
  22. data/lib/lithic/models/payment_create_params.rb +7 -1
  23. data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +111 -79
  24. data/lib/lithic/models/three_ds/authentication_simulate_params.rb +8 -2
  25. data/lib/lithic/models/three_ds/authentication_simulate_response.rb +2 -6
  26. data/lib/lithic/models/three_ds/challenge_response.rb +7 -7
  27. data/lib/lithic/models/three_ds/challenge_result.rb +1 -1
  28. data/lib/lithic/models/transfer.rb +1 -0
  29. data/lib/lithic/models.rb +2 -0
  30. data/lib/lithic/resources/auth_rules/v2/backtests.rb +8 -7
  31. data/lib/lithic/resources/auth_rules/v2.rb +45 -4
  32. data/lib/lithic/resources/fraud/transactions.rb +69 -0
  33. data/lib/lithic/resources/fraud.rb +18 -0
  34. data/lib/lithic/resources/three_ds/authentication.rb +6 -6
  35. data/lib/lithic/resources/three_ds/decisioning.rb +8 -3
  36. data/lib/lithic/version.rb +1 -1
  37. data/lib/lithic.rb +9 -0
  38. data/rbi/lithic/client.rbi +3 -0
  39. data/rbi/lithic/models/auth_rules/rule_stats.rbi +229 -0
  40. data/rbi/lithic/models/auth_rules/v2/backtest_results.rbi +8 -523
  41. data/rbi/lithic/models/auth_rules/v2_retrieve_report_params.rbi +56 -0
  42. data/rbi/lithic/models/auth_rules/v2_retrieve_report_response.rbi +149 -0
  43. data/rbi/lithic/models/card_convert_physical_params.rbi +15 -9
  44. data/rbi/lithic/models/card_create_params.rbi +15 -9
  45. data/rbi/lithic/models/card_reissue_params.rbi +15 -9
  46. data/rbi/lithic/models/card_renew_params.rbi +15 -9
  47. data/rbi/lithic/models/external_bank_account_create_params.rbi +2 -2
  48. data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +5 -0
  49. data/rbi/lithic/models/financial_transaction.rbi +5 -0
  50. data/rbi/lithic/models/fraud/transaction_report_params.rbi +263 -0
  51. data/rbi/lithic/models/fraud/transaction_report_response.rbi +309 -0
  52. data/rbi/lithic/models/fraud/transaction_retrieve_params.rbi +32 -0
  53. data/rbi/lithic/models/fraud/transaction_retrieve_response.rbi +309 -0
  54. data/rbi/lithic/models/non_pci_card.rbi +27 -38
  55. data/rbi/lithic/models/payment.rbi +9 -3
  56. data/rbi/lithic/models/payment_create_params.rbi +8 -3
  57. data/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi +171 -108
  58. data/rbi/lithic/models/three_ds/authentication_simulate_params.rbi +6 -0
  59. data/rbi/lithic/models/three_ds/authentication_simulate_response.rbi +2 -4
  60. data/rbi/lithic/models/three_ds/challenge_response.rbi +7 -10
  61. data/rbi/lithic/models/three_ds/challenge_result.rbi +1 -1
  62. data/rbi/lithic/models/transfer.rbi +2 -0
  63. data/rbi/lithic/models.rbi +2 -0
  64. data/rbi/lithic/resources/auth_rules/v2/backtests.rbi +8 -7
  65. data/rbi/lithic/resources/auth_rules/v2.rbi +37 -4
  66. data/rbi/lithic/resources/cards.rbi +20 -12
  67. data/rbi/lithic/resources/fraud/transactions.rbi +86 -0
  68. data/rbi/lithic/resources/fraud.rbi +15 -0
  69. data/rbi/lithic/resources/three_ds/authentication.rbi +6 -4
  70. data/rbi/lithic/resources/three_ds/decisioning.rbi +9 -6
  71. data/sig/lithic/client.rbs +2 -0
  72. data/sig/lithic/models/auth_rules/rule_stats.rbs +108 -0
  73. data/sig/lithic/models/auth_rules/v2/backtest_results.rbs +8 -214
  74. data/sig/lithic/models/auth_rules/v2_retrieve_report_params.rbs +30 -0
  75. data/sig/lithic/models/auth_rules/v2_retrieve_report_response.rbs +64 -0
  76. data/sig/lithic/models/external_bank_account_create_params.rbs +2 -2
  77. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +2 -0
  78. data/sig/lithic/models/financial_transaction.rbs +2 -0
  79. data/sig/lithic/models/fraud/transaction_report_params.rbs +75 -0
  80. data/sig/lithic/models/fraud/transaction_report_response.rbs +90 -0
  81. data/sig/lithic/models/fraud/transaction_retrieve_params.rbs +17 -0
  82. data/sig/lithic/models/fraud/transaction_retrieve_response.rbs +90 -0
  83. data/sig/lithic/models/non_pci_card.rbs +4 -19
  84. data/sig/lithic/models/payment.rbs +8 -3
  85. data/sig/lithic/models/payment_create_params.rbs +8 -3
  86. data/sig/lithic/models/three_ds/authentication_retrieve_response.rbs +19 -20
  87. data/sig/lithic/models/transfer.rbs +2 -0
  88. data/sig/lithic/models.rbs +2 -0
  89. data/sig/lithic/resources/auth_rules/v2.rbs +7 -0
  90. data/sig/lithic/resources/fraud/transactions.rbs +22 -0
  91. data/sig/lithic/resources/fraud.rbs +9 -0
  92. metadata +29 -2
@@ -6,7 +6,8 @@ module Lithic
6
6
  # @see Lithic::Resources::ThreeDS::Authentication#retrieve
7
7
  class AuthenticationRetrieveResponse < Lithic::Internal::Type::BaseModel
8
8
  # @!attribute token
9
- # Globally unique identifier for the 3DS authentication.
9
+ # Globally unique identifier for the 3DS authentication. Permitted values:
10
+ # 36-digit version 4 UUID (including hyphens).
10
11
  #
11
12
  # @return [String]
12
13
  required :token, String
@@ -37,7 +38,7 @@ module Lithic
37
38
 
38
39
  # @!attribute card_token
39
40
  # Globally unique identifier for the card on which the 3DS authentication has
40
- # occurred.
41
+ # occurred. Permitted values: 36-digit version 4 UUID (including hyphens).
41
42
  #
42
43
  # @return [String]
43
44
  required :card_token, String
@@ -49,13 +50,15 @@ module Lithic
49
50
  required :cardholder, -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder }
50
51
 
51
52
  # @!attribute channel
52
- # Channel in which the authentication occurs. Maps to EMV 3DS field deviceChannel.
53
+ # Channel in which the authentication occurs. Maps to EMV 3DS field
54
+ # `deviceChannel`.
53
55
  #
54
56
  # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel]
55
57
  required :channel, enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel }
56
58
 
57
59
  # @!attribute created
58
- # Date and time when the authentication was created in Lithic's system.
60
+ # Date and time when the authentication was created in Lithic's system. Permitted
61
+ # values: Date string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ.
59
62
  #
60
63
  # @return [Time]
61
64
  required :created, Time
@@ -107,12 +110,12 @@ module Lithic
107
110
  # if the channel is 'APP_BASED'.
108
111
  #
109
112
  # @return [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App, nil]
110
- optional :app, -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App }
113
+ optional :app, -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App }, nil?: true
111
114
 
112
115
  # @!attribute authentication_request_type
113
116
  # Type of authentication request - i.e., the type of transaction or interaction is
114
117
  # causing the merchant to request an authentication. Maps to EMV 3DS field
115
- # threeDSRequestorAuthenticationInd.
118
+ # `threeDSRequestorAuthenticationInd`.
116
119
  #
117
120
  # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType, nil]
118
121
  optional :authentication_request_type,
@@ -124,10 +127,11 @@ module Lithic
124
127
  # Present if the channel is 'BROWSER'.
125
128
  #
126
129
  # @return [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser, nil]
127
- optional :browser, -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser }
130
+ optional :browser, -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser }, nil?: true
128
131
 
129
132
  # @!attribute challenge_metadata
130
- # Metadata about the challenge method and delivery.
133
+ # Metadata about the challenge method and delivery. Only present when a challenge
134
+ # is triggered.
131
135
  #
132
136
  # @return [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata, nil]
133
137
  optional :challenge_metadata,
@@ -135,7 +139,9 @@ module Lithic
135
139
  nil?: true
136
140
 
137
141
  # @!attribute challenge_orchestrated_by
138
- # Entity that orchestrates the challenge.
142
+ # Entity that orchestrates the challenge. This won't be set for authentications
143
+ # for which a decision has not yet been made (e.g. in-flight customer decisioning
144
+ # request).
139
145
  #
140
146
  # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeOrchestratedBy, nil]
141
147
  optional :challenge_orchestrated_by,
@@ -143,7 +149,9 @@ module Lithic
143
149
  nil?: true
144
150
 
145
151
  # @!attribute decision_made_by
146
- # Entity that made the authentication decision.
152
+ # Entity that made the authentication decision. This won't be set for
153
+ # authentications for which a decision has not yet been made (e.g. in-flight
154
+ # customer decisioning request).
147
155
  #
148
156
  # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy, nil]
149
157
  optional :decision_made_by,
@@ -151,11 +159,11 @@ module Lithic
151
159
  nil?: true
152
160
 
153
161
  # @!attribute three_ri_request_type
154
- # Type of 3DS Requestor Initiated (3RI) request i.e., a 3DS authentication that
162
+ # Type of 3DS Requestor Initiated (3RI) request i.e., a 3DS authentication that
155
163
  # takes place at the initiation of the merchant rather than the cardholder. The
156
164
  # most common example of this is where a merchant is authenticating before billing
157
165
  # for a recurring transaction such as a pay TV subscription or a utility bill.
158
- # Maps to EMV 3DS field threeRIInd.
166
+ # Maps to EMV 3DS field `threeRIInd`.
159
167
  #
160
168
  # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType, nil]
161
169
  optional :three_ri_request_type,
@@ -175,7 +183,9 @@ module Lithic
175
183
  # Some parameter documentations has been truncated, see
176
184
  # {Lithic::Models::ThreeDS::AuthenticationRetrieveResponse} for more details.
177
185
  #
178
- # @param token [String] Globally unique identifier for the 3DS authentication.
186
+ # Represents a 3DS authentication
187
+ #
188
+ # @param token [String] Globally unique identifier for the 3DS authentication. Permitted values: 36-digi
179
189
  #
180
190
  # @param account_type [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AccountType, nil] Type of account/card that is being used for the transaction. Maps to EMV 3DS fie
181
191
  #
@@ -187,31 +197,31 @@ module Lithic
187
197
  #
188
198
  # @param cardholder [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder] Object containing data about the cardholder provided during the transaction.
189
199
  #
190
- # @param channel [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel] Channel in which the authentication occurs. Maps to EMV 3DS field deviceChannel.
200
+ # @param channel [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel] Channel in which the authentication occurs. Maps to EMV 3DS field `deviceChannel
191
201
  #
192
- # @param created [Time] Date and time when the authentication was created in Lithic's system.
202
+ # @param created [Time] Date and time when the authentication was created in Lithic's system. Permitted
193
203
  #
194
204
  # @param merchant [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant] Object containing data about the merchant involved in the e-commerce transaction
195
205
  #
196
- # @param message_category [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::MessageCategory] Either PAYMENT_AUTHENTICATION or NON_PAYMENT_AUTHENTICATION. For NON_PAYMENT_AU
206
+ # @param message_category [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::MessageCategory] Either PAYMENT_AUTHENTICATION or NON_PAYMENT_AUTHENTICATION. For NON_PAYMENT_AUT
197
207
  #
198
208
  # @param three_ds_requestor_challenge_indicator [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator] Indicates whether a challenge is requested for this transaction
199
209
  #
200
210
  # @param additional_data [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData, nil] Object containing additional data about the 3DS request that is beyond the EMV 3
201
211
  #
202
- # @param app [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App] Object containing data about the app used in the e-commerce transaction. Present
212
+ # @param app [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App, nil] Object containing data about the app used in the e-commerce transaction. Present
203
213
  #
204
214
  # @param authentication_request_type [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType, nil] Type of authentication request - i.e., the type of transaction or interaction is
205
215
  #
206
- # @param browser [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser] Object containing data about the browser used in the e-commerce transaction. Pre
216
+ # @param browser [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser, nil] Object containing data about the browser used in the e-commerce transaction. Pre
207
217
  #
208
- # @param challenge_metadata [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata, nil] Metadata about the challenge method and delivery.
218
+ # @param challenge_metadata [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata, nil] Metadata about the challenge method and delivery. Only present when a challenge
209
219
  #
210
- # @param challenge_orchestrated_by [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeOrchestratedBy, nil] Entity that orchestrates the challenge.
220
+ # @param challenge_orchestrated_by [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeOrchestratedBy, nil] Entity that orchestrates the challenge. This won't be set for authentications fo
211
221
  #
212
- # @param decision_made_by [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy, nil] Entity that made the authentication decision.
222
+ # @param decision_made_by [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy, nil] Entity that made the authentication decision. This won't be set for authenticati
213
223
  #
214
- # @param three_ri_request_type [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType, nil] Type of 3DS Requestor Initiated (3RI) request i.e., a 3DS authentication that ta
224
+ # @param three_ri_request_type [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType, nil] Type of 3DS Requestor Initiated (3RI) request i.e., a 3DS authentication that
215
225
  #
216
226
  # @param transaction [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction, nil] Object containing data about the e-commerce transaction for which the merchant i
217
227
 
@@ -266,7 +276,7 @@ module Lithic
266
276
  # Indicates whether the shipping address and billing address provided by the
267
277
  # cardholder are the same. This value - and assessment of whether the addresses
268
278
  # match - is provided directly in the 3DS request and is not determined by Lithic.
269
- # Maps to EMV 3DS field addrMatch.
279
+ # Maps to EMV 3DS field `addrMatch`.
270
280
  #
271
281
  # @return [Boolean, nil]
272
282
  optional :address_match, Lithic::Internal::Type::Boolean, nil?: true
@@ -280,34 +290,34 @@ module Lithic
280
290
 
281
291
  # @!attribute email
282
292
  # Email address that is either provided by the cardholder or is on file with the
283
- # merchant in a 3RI request. Maps to EMV 3DS field email.
293
+ # merchant in a 3RI request. Maps to EMV 3DS field `email`.
284
294
  #
285
295
  # @return [String, nil]
286
296
  optional :email, String, nil?: true
287
297
 
288
298
  # @!attribute name
289
- # Name of the cardholder. Maps to EMV 3DS field cardholderName.
299
+ # Name of the cardholder. Maps to EMV 3DS field `cardholderName`.
290
300
  #
291
301
  # @return [String, nil]
292
302
  optional :name, String, nil?: true
293
303
 
294
304
  # @!attribute phone_number_home
295
305
  # Home phone number provided by the cardholder. Maps to EMV 3DS fields
296
- # homePhone.cc and homePhone.subscriber.
306
+ # `homePhone.cc` and `homePhone.subscriber`.
297
307
  #
298
308
  # @return [String, nil]
299
309
  optional :phone_number_home, String, nil?: true
300
310
 
301
311
  # @!attribute phone_number_mobile
302
312
  # Mobile/cell phone number provided by the cardholder. Maps to EMV 3DS fields
303
- # mobilePhone.cc and mobilePhone.subscriber.
313
+ # `mobilePhone.cc` and `mobilePhone.subscriber`.
304
314
  #
305
315
  # @return [String, nil]
306
316
  optional :phone_number_mobile, String, nil?: true
307
317
 
308
318
  # @!attribute phone_number_work
309
319
  # Work phone number provided by the cardholder. Maps to EMV 3DS fields
310
- # workPhone.cc and workPhone.subscriber.
320
+ # `workPhone.cc` and `workPhone.subscriber`.
311
321
  #
312
322
  # @return [String, nil]
313
323
  optional :phone_number_work, String, nil?: true
@@ -332,13 +342,13 @@ module Lithic
332
342
  #
333
343
  # @param email [String, nil] Email address that is either provided by the cardholder or is on file with the m
334
344
  #
335
- # @param name [String, nil] Name of the cardholder. Maps to EMV 3DS field cardholderName.
345
+ # @param name [String, nil] Name of the cardholder. Maps to EMV 3DS field `cardholderName`.
336
346
  #
337
- # @param phone_number_home [String, nil] Home phone number provided by the cardholder. Maps to EMV 3DS fields homePhone.c
347
+ # @param phone_number_home [String, nil] Home phone number provided by the cardholder. Maps to EMV 3DS fields `homePhone.
338
348
  #
339
- # @param phone_number_mobile [String, nil] Mobile/cell phone number provided by the cardholder. Maps to EMV 3DS fields mobi
349
+ # @param phone_number_mobile [String, nil] Mobile/cell phone number provided by the cardholder. Maps to EMV 3DS fields `mob
340
350
  #
341
- # @param phone_number_work [String, nil] Work phone number provided by the cardholder. Maps to EMV 3DS fields workPhone.c
351
+ # @param phone_number_work [String, nil] Work phone number provided by the cardholder. Maps to EMV 3DS fields `workPhone.
342
352
  #
343
353
  # @param shipping_address [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::ShippingAddress] Object containing data on the shipping address provided during the transaction.
344
354
 
@@ -461,7 +471,8 @@ module Lithic
461
471
  end
462
472
  end
463
473
 
464
- # Channel in which the authentication occurs. Maps to EMV 3DS field deviceChannel.
474
+ # Channel in which the authentication occurs. Maps to EMV 3DS field
475
+ # `deviceChannel`.
465
476
  #
466
477
  # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#channel
467
478
  module Channel
@@ -479,27 +490,28 @@ module Lithic
479
490
  class Merchant < Lithic::Internal::Type::BaseModel
480
491
  # @!attribute id
481
492
  # Merchant identifier as assigned by the acquirer. Maps to EMV 3DS field
482
- # acquirerMerchantId.
493
+ # `acquirerMerchantId`.
483
494
  #
484
495
  # @return [String]
485
496
  required :id, String
486
497
 
487
498
  # @!attribute country
488
499
  # Country code of the merchant requesting 3DS authentication. Maps to EMV 3DS
489
- # field merchantCountryCode.
500
+ # field `merchantCountryCode`. Permitted values: ISO 3166-1 alpha-3 country code
501
+ # (e.g., USA).
490
502
  #
491
503
  # @return [String]
492
504
  required :country, String
493
505
 
494
506
  # @!attribute mcc
495
507
  # Merchant category code assigned to the merchant that describes its business
496
- # activity type. Maps to EMV 3DS field mcc.
508
+ # activity type. Maps to EMV 3DS field `mcc`.
497
509
  #
498
510
  # @return [String]
499
511
  required :mcc, String
500
512
 
501
513
  # @!attribute name
502
- # Name of the merchant. Maps to EMV 3DS field merchantName.
514
+ # Name of the merchant. Maps to EMV 3DS field `merchantName`.
503
515
  #
504
516
  # @return [String]
505
517
  required :name, String
@@ -520,13 +532,13 @@ module Lithic
520
532
  # Object containing data about the merchant involved in the e-commerce
521
533
  # transaction.
522
534
  #
523
- # @param id [String] Merchant identifier as assigned by the acquirer. Maps to EMV 3DS field acquirerM
535
+ # @param id [String] Merchant identifier as assigned by the acquirer. Maps to EMV 3DS field `acquirer
524
536
  #
525
537
  # @param country [String] Country code of the merchant requesting 3DS authentication. Maps to EMV 3DS fiel
526
538
  #
527
539
  # @param mcc [String] Merchant category code assigned to the merchant that describes its business acti
528
540
  #
529
- # @param name [String] Name of the merchant. Maps to EMV 3DS field merchantName.
541
+ # @param name [String] Name of the merchant. Maps to EMV 3DS field `merchantName`.
530
542
  #
531
543
  # @param risk_indicator [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator] Object containing additional data indicating additional risk factors related to
532
544
 
@@ -534,14 +546,14 @@ module Lithic
534
546
  class RiskIndicator < Lithic::Internal::Type::BaseModel
535
547
  # @!attribute delivery_email_address
536
548
  # In transactions with electronic delivery, email address to which merchandise is
537
- # delivered. Maps to EMV 3DS field deliveryEmailAddress.
549
+ # delivered. Maps to EMV 3DS field `deliveryEmailAddress`.
538
550
  #
539
551
  # @return [String, nil]
540
552
  optional :delivery_email_address, String, nil?: true
541
553
 
542
554
  # @!attribute delivery_time_frame
543
555
  # The delivery time frame for the merchandise. Maps to EMV 3DS field
544
- # deliveryTimeframe.
556
+ # `deliveryTimeframe`.
545
557
  #
546
558
  # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::DeliveryTimeFrame, nil]
547
559
  optional :delivery_time_frame,
@@ -551,28 +563,29 @@ module Lithic
551
563
  # @!attribute gift_card_amount
552
564
  # In prepaid or gift card purchase transactions, purchase amount total in major
553
565
  # units (e.g., a purchase of USD $205.10 would be 205). Maps to EMV 3DS field
554
- # giftCardAmount.
566
+ # `giftCardAmount`.
555
567
  #
556
568
  # @return [Integer, nil]
557
569
  optional :gift_card_amount, Integer, nil?: true
558
570
 
559
571
  # @!attribute gift_card_count
560
572
  # In prepaid or gift card purchase transactions, count of individual prepaid or
561
- # gift cards/codes purchased. Maps to EMV 3DS field giftCardCount.
573
+ # gift cards/codes purchased. Maps to EMV 3DS field `giftCardCount`.
562
574
  #
563
575
  # @return [Integer, nil]
564
576
  optional :gift_card_count, Integer, nil?: true
565
577
 
566
578
  # @!attribute gift_card_currency
567
579
  # In prepaid or gift card purchase transactions, currency code of the gift card.
568
- # Maps to EMV 3DS field giftCardCurr.
580
+ # Maps to EMV 3DS field `giftCardCurr`. Permitted values: ISO 4217 three-character
581
+ # currency code (e.g., USD).
569
582
  #
570
583
  # @return [String, nil]
571
584
  optional :gift_card_currency, String, nil?: true
572
585
 
573
586
  # @!attribute order_availability
574
587
  # Indicates whether the purchase is for merchandise that is available now or at a
575
- # future date. Maps to EMV 3DS field preOrderPurchaseInd.
588
+ # future date. Maps to EMV 3DS field `preOrderPurchaseInd`.
576
589
  #
577
590
  # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::OrderAvailability, nil]
578
591
  optional :order_availability,
@@ -581,14 +594,15 @@ module Lithic
581
594
 
582
595
  # @!attribute pre_order_available_date
583
596
  # In pre-order purchase transactions, the expected date that the merchandise will
584
- # be available. Maps to EMV 3DS field preOrderDate.
597
+ # be available. Maps to EMV 3DS field `preOrderDate`. Permitted values: Date
598
+ # string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ
585
599
  #
586
600
  # @return [Time, nil]
587
601
  optional :pre_order_available_date, Time, nil?: true
588
602
 
589
603
  # @!attribute reorder_items
590
604
  # Indicates whether the cardholder is reordering previously purchased merchandise.
591
- # Maps to EMV 3DS field reorderItemsInd.
605
+ # Maps to EMV 3DS field `reorderItemsInd`.
592
606
  #
593
607
  # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ReorderItems, nil]
594
608
  optional :reorder_items,
@@ -599,7 +613,7 @@ module Lithic
599
613
  # Shipping method that the cardholder chose for the transaction. If purchase
600
614
  # includes one or more item, this indicator is used for the physical goods; if the
601
615
  # purchase only includes digital goods, this indicator is used to describe the
602
- # most expensive item purchased. Maps to EMV 3DS field shipIndicator.
616
+ # most expensive item purchased. Maps to EMV 3DS field `shipIndicator`.
603
617
  #
604
618
  # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod, nil]
605
619
  optional :shipping_method,
@@ -616,7 +630,7 @@ module Lithic
616
630
  #
617
631
  # @param delivery_email_address [String, nil] In transactions with electronic delivery, email address to which merchandise is
618
632
  #
619
- # @param delivery_time_frame [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::DeliveryTimeFrame, nil] The delivery time frame for the merchandise. Maps to EMV 3DS field deliveryTimef
633
+ # @param delivery_time_frame [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::DeliveryTimeFrame, nil] The delivery time frame for the merchandise. Maps to EMV 3DS field `deliveryTime
620
634
  #
621
635
  # @param gift_card_amount [Integer, nil] In prepaid or gift card purchase transactions, purchase amount total in major un
622
636
  #
@@ -633,7 +647,7 @@ module Lithic
633
647
  # @param shipping_method [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod, nil] Shipping method that the cardholder chose for the transaction. If purchase inclu
634
648
 
635
649
  # The delivery time frame for the merchandise. Maps to EMV 3DS field
636
- # deliveryTimeframe.
650
+ # `deliveryTimeframe`.
637
651
  #
638
652
  # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator#delivery_time_frame
639
653
  module DeliveryTimeFrame
@@ -649,7 +663,7 @@ module Lithic
649
663
  end
650
664
 
651
665
  # Indicates whether the purchase is for merchandise that is available now or at a
652
- # future date. Maps to EMV 3DS field preOrderPurchaseInd.
666
+ # future date. Maps to EMV 3DS field `preOrderPurchaseInd`.
653
667
  #
654
668
  # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator#order_availability
655
669
  module OrderAvailability
@@ -663,7 +677,7 @@ module Lithic
663
677
  end
664
678
 
665
679
  # Indicates whether the cardholder is reordering previously purchased merchandise.
666
- # Maps to EMV 3DS field reorderItemsInd.
680
+ # Maps to EMV 3DS field `reorderItemsInd`.
667
681
  #
668
682
  # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator#reorder_items
669
683
  module ReorderItems
@@ -679,7 +693,7 @@ module Lithic
679
693
  # Shipping method that the cardholder chose for the transaction. If purchase
680
694
  # includes one or more item, this indicator is used for the physical goods; if the
681
695
  # purchase only includes digital goods, this indicator is used to describe the
682
- # most expensive item purchased. Maps to EMV 3DS field shipIndicator.
696
+ # most expensive item purchased. Maps to EMV 3DS field `shipIndicator`.
683
697
  #
684
698
  # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator#shipping_method
685
699
  module ShippingMethod
@@ -756,7 +770,8 @@ module Lithic
756
770
 
757
771
  # @!attribute network_risk_score
758
772
  # Mastercard only: Assessment by the network of the authentication risk level,
759
- # with a higher value indicating a higher amount of risk.
773
+ # with a higher value indicating a higher amount of risk. Permitted values:
774
+ # Integer between 0-950, in increments of 50.
760
775
  #
761
776
  # @return [Integer, nil]
762
777
  optional :network_risk_score, Integer, nil?: true
@@ -793,14 +808,14 @@ module Lithic
793
808
  class App < Lithic::Internal::Type::BaseModel
794
809
  # @!attribute device_info
795
810
  # Device information gathered from the cardholder's device - JSON name/value pairs
796
- # that is Base64url encoded. Maps to EMV 3DS field deviceInfo.
811
+ # that is Base64url encoded. Maps to EMV 3DS field `deviceInfo`.
797
812
  #
798
813
  # @return [String, nil]
799
814
  optional :device_info, String, nil?: true
800
815
 
801
816
  # @!attribute ip
802
817
  # External IP address used by the app generating the 3DS authentication request.
803
- # Maps to EMV 3DS field appIp.
818
+ # Maps to EMV 3DS field `appIp`.
804
819
  #
805
820
  # @return [String, nil]
806
821
  optional :ip, String
@@ -819,7 +834,7 @@ module Lithic
819
834
 
820
835
  # Type of authentication request - i.e., the type of transaction or interaction is
821
836
  # causing the merchant to request an authentication. Maps to EMV 3DS field
822
- # threeDSRequestorAuthenticationInd.
837
+ # `threeDSRequestorAuthenticationInd`.
823
838
  #
824
839
  # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#authentication_request_type
825
840
  module AuthenticationRequestType
@@ -842,30 +857,37 @@ module Lithic
842
857
 
843
858
  # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#browser
844
859
  class Browser < Lithic::Internal::Type::BaseModel
860
+ # @!attribute accept_header
861
+ # Content of the HTTP accept headers as sent from the cardholder's browser to the
862
+ # 3DS requestor (e.g., merchant or digital wallet).
863
+ #
864
+ # @return [String, nil]
865
+ optional :accept_header, String, nil?: true
866
+
845
867
  # @!attribute ip
846
868
  # IP address of the browser as returned by the HTTP headers to the 3DS requestor
847
- # (e.g., merchant or digital wallet). Maps to EMV 3DS field browserIP.
869
+ # (e.g., merchant or digital wallet). Maps to EMV 3DS field `browserIP`.
848
870
  #
849
871
  # @return [String, nil]
850
872
  optional :ip, String, nil?: true
851
873
 
852
874
  # @!attribute java_enabled
853
875
  # Indicates whether the cardholder's browser has the ability to execute Java. Maps
854
- # to EMV 3DS field browserJavaEnabled.
876
+ # to EMV 3DS field `browserJavaEnabled`.
855
877
  #
856
878
  # @return [Boolean, nil]
857
879
  optional :java_enabled, Lithic::Internal::Type::Boolean, nil?: true
858
880
 
859
881
  # @!attribute javascript_enabled
860
882
  # Indicates whether the cardholder's browser has the ability to execute
861
- # JavaScript. Maps to EMV 3DS field browserJavascriptEnabled.
883
+ # JavaScript. Maps to EMV 3DS field `browserJavascriptEnabled`.
862
884
  #
863
885
  # @return [Boolean, nil]
864
886
  optional :javascript_enabled, Lithic::Internal::Type::Boolean, nil?: true
865
887
 
866
888
  # @!attribute language
867
889
  # Language of the cardholder's browser as defined in IETF BCP47. Maps to EMV 3DS
868
- # field browserLanguage.
890
+ # field `browserLanguage`.
869
891
  #
870
892
  # @return [String, nil]
871
893
  optional :language, String, nil?: true
@@ -873,18 +895,18 @@ module Lithic
873
895
  # @!attribute time_zone
874
896
  # Time zone of the cardholder's browser offset in minutes between UTC and the
875
897
  # cardholder browser's local time. The offset is positive if the local time is
876
- # behind UTC and negative if it is ahead. Maps to EMV 3DS field browserTz.
898
+ # behind UTC and negative if it is ahead. Maps to EMV 3DS field `browserTz`.
877
899
  #
878
900
  # @return [String, nil]
879
901
  optional :time_zone, String, nil?: true
880
902
 
881
903
  # @!attribute user_agent
882
- # Content of the HTTP user-agent header. Maps to EMV 3DS field browserUserAgent.
904
+ # Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`.
883
905
  #
884
906
  # @return [String, nil]
885
907
  optional :user_agent, String, nil?: true
886
908
 
887
- # @!method initialize(ip: nil, java_enabled: nil, javascript_enabled: nil, language: nil, time_zone: nil, user_agent: nil)
909
+ # @!method initialize(accept_header: nil, ip: nil, java_enabled: nil, javascript_enabled: nil, language: nil, time_zone: nil, user_agent: nil)
888
910
  # Some parameter documentations has been truncated, see
889
911
  # {Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser} for more
890
912
  # details.
@@ -892,6 +914,8 @@ module Lithic
892
914
  # Object containing data about the browser used in the e-commerce transaction.
893
915
  # Present if the channel is 'BROWSER'.
894
916
  #
917
+ # @param accept_header [String, nil] Content of the HTTP accept headers as sent from the cardholder's browser to the
918
+ #
895
919
  # @param ip [String, nil] IP address of the browser as returned by the HTTP headers to the 3DS requestor (
896
920
  #
897
921
  # @param java_enabled [Boolean, nil] Indicates whether the cardholder's browser has the ability to execute Java. Maps
@@ -902,7 +926,7 @@ module Lithic
902
926
  #
903
927
  # @param time_zone [String, nil] Time zone of the cardholder's browser offset in minutes between UTC and the card
904
928
  #
905
- # @param user_agent [String, nil] Content of the HTTP user-agent header. Maps to EMV 3DS field browserUserAgent.
929
+ # @param user_agent [String, nil] Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`.
906
930
  end
907
931
 
908
932
  # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#challenge_metadata
@@ -921,7 +945,8 @@ module Lithic
921
945
  optional :phone_number, String, nil?: true
922
946
 
923
947
  # @!method initialize(method_type:, phone_number: nil)
924
- # Metadata about the challenge method and delivery.
948
+ # Metadata about the challenge method and delivery. Only present when a challenge
949
+ # is triggered.
925
950
  #
926
951
  # @param method_type [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType] The type of challenge method used for authentication.
927
952
  #
@@ -941,7 +966,9 @@ module Lithic
941
966
  end
942
967
  end
943
968
 
944
- # Entity that orchestrates the challenge.
969
+ # Entity that orchestrates the challenge. This won't be set for authentications
970
+ # for which a decision has not yet been made (e.g. in-flight customer decisioning
971
+ # request).
945
972
  #
946
973
  # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#challenge_orchestrated_by
947
974
  module ChallengeOrchestratedBy
@@ -955,15 +982,18 @@ module Lithic
955
982
  # @return [Array<Symbol>]
956
983
  end
957
984
 
958
- # Entity that made the authentication decision.
985
+ # Entity that made the authentication decision. This won't be set for
986
+ # authentications for which a decision has not yet been made (e.g. in-flight
987
+ # customer decisioning request).
959
988
  #
960
989
  # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#decision_made_by
961
990
  module DecisionMadeBy
962
991
  extend Lithic::Internal::Type::Enum
963
992
 
964
- CUSTOMER_ENDPOINT = :CUSTOMER_ENDPOINT
965
- LITHIC_DEFAULT = :LITHIC_DEFAULT
966
993
  LITHIC_RULES = :LITHIC_RULES
994
+ LITHIC_DEFAULT = :LITHIC_DEFAULT
995
+ CUSTOMER_RULES = :CUSTOMER_RULES
996
+ CUSTOMER_ENDPOINT = :CUSTOMER_ENDPOINT
967
997
  NETWORK = :NETWORK
968
998
  UNKNOWN = :UNKNOWN
969
999
 
@@ -971,11 +1001,11 @@ module Lithic
971
1001
  # @return [Array<Symbol>]
972
1002
  end
973
1003
 
974
- # Type of 3DS Requestor Initiated (3RI) request i.e., a 3DS authentication that
1004
+ # Type of 3DS Requestor Initiated (3RI) request i.e., a 3DS authentication that
975
1005
  # takes place at the initiation of the merchant rather than the cardholder. The
976
1006
  # most common example of this is where a merchant is authenticating before billing
977
1007
  # for a recurring transaction such as a pay TV subscription or a utility bill.
978
- # Maps to EMV 3DS field threeRIInd.
1008
+ # Maps to EMV 3DS field `threeRIInd`.
979
1009
  #
980
1010
  # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#three_ri_request_type
981
1011
  module ThreeRiRequestType
@@ -1006,7 +1036,7 @@ module Lithic
1006
1036
  class Transaction < Lithic::Internal::Type::BaseModel
1007
1037
  # @!attribute amount
1008
1038
  # Amount of the purchase in minor units of currency with all punctuation removed.
1009
- # Maps to EMV 3DS field purchaseAmount.
1039
+ # Maps to EMV 3DS field `purchaseAmount`.
1010
1040
  #
1011
1041
  # @return [Float]
1012
1042
  required :amount, Float
@@ -1019,28 +1049,30 @@ module Lithic
1019
1049
  required :cardholder_amount, Float, nil?: true
1020
1050
 
1021
1051
  # @!attribute currency
1022
- # Currency of the purchase. Maps to EMV 3DS field purchaseCurrency.
1052
+ # Currency of the purchase. Maps to EMV 3DS field `purchaseCurrency`. Permitted
1053
+ # values: ISO 4217 three-character currency code (e.g., USD).
1023
1054
  #
1024
1055
  # @return [String]
1025
1056
  required :currency, String
1026
1057
 
1027
1058
  # @!attribute currency_exponent
1028
1059
  # Minor units of currency, as specified in ISO 4217 currency exponent. Maps to EMV
1029
- # 3DS field purchaseExponent.
1060
+ # 3DS field `purchaseExponent`.
1030
1061
  #
1031
1062
  # @return [Float]
1032
1063
  required :currency_exponent, Float
1033
1064
 
1034
1065
  # @!attribute date_time
1035
1066
  # Date and time when the authentication was generated by the merchant/acquirer's
1036
- # 3DS server. Maps to EMV 3DS field purchaseDate.
1067
+ # 3DS server. Maps to EMV 3DS field `purchaseDate`. Permitted values: Date string
1068
+ # in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ.
1037
1069
  #
1038
1070
  # @return [Time]
1039
1071
  required :date_time, Time
1040
1072
 
1041
1073
  # @!attribute type
1042
1074
  # Type of the transaction for which a 3DS authentication request is occurring.
1043
- # Maps to EMV 3DS field transType.
1075
+ # Maps to EMV 3DS field `transType`.
1044
1076
  #
1045
1077
  # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::Type, nil]
1046
1078
  required :type,
@@ -1059,7 +1091,7 @@ module Lithic
1059
1091
  #
1060
1092
  # @param cardholder_amount [Float, nil] Approximate amount of the purchase in minor units of cardholder currency. Derive
1061
1093
  #
1062
- # @param currency [String] Currency of the purchase. Maps to EMV 3DS field purchaseCurrency.
1094
+ # @param currency [String] Currency of the purchase. Maps to EMV 3DS field `purchaseCurrency`. Permitted va
1063
1095
  #
1064
1096
  # @param currency_exponent [Float] Minor units of currency, as specified in ISO 4217 currency exponent. Maps to EMV
1065
1097
  #
@@ -1068,7 +1100,7 @@ module Lithic
1068
1100
  # @param type [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::Type, nil] Type of the transaction for which a 3DS authentication request is occurring. Map
1069
1101
 
1070
1102
  # Type of the transaction for which a 3DS authentication request is occurring.
1071
- # Maps to EMV 3DS field transType.
1103
+ # Maps to EMV 3DS field `transType`.
1072
1104
  #
1073
1105
  # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction#type
1074
1106
  module Type