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
@@ -12,7 +12,8 @@ module Lithic
12
12
  )
13
13
  end
14
14
 
15
- # Globally unique identifier for the 3DS authentication.
15
+ # Globally unique identifier for the 3DS authentication. Permitted values:
16
+ # 36-digit version 4 UUID (including hyphens).
16
17
  sig { returns(String) }
17
18
  attr_accessor :token
18
19
 
@@ -45,7 +46,7 @@ module Lithic
45
46
  attr_accessor :card_expiry_check
46
47
 
47
48
  # Globally unique identifier for the card on which the 3DS authentication has
48
- # occurred.
49
+ # occurred. Permitted values: 36-digit version 4 UUID (including hyphens).
49
50
  sig { returns(String) }
50
51
  attr_accessor :card_token
51
52
 
@@ -65,7 +66,8 @@ module Lithic
65
66
  end
66
67
  attr_writer :cardholder
67
68
 
68
- # Channel in which the authentication occurs. Maps to EMV 3DS field deviceChannel.
69
+ # Channel in which the authentication occurs. Maps to EMV 3DS field
70
+ # `deviceChannel`.
69
71
  sig do
70
72
  returns(
71
73
  Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel::TaggedSymbol
@@ -73,7 +75,8 @@ module Lithic
73
75
  end
74
76
  attr_accessor :channel
75
77
 
76
- # Date and time when the authentication was created in Lithic's system.
78
+ # Date and time when the authentication was created in Lithic's system. Permitted
79
+ # values: Date string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ.
77
80
  sig { returns(Time) }
78
81
  attr_accessor :created
79
82
 
@@ -157,14 +160,16 @@ module Lithic
157
160
  sig do
158
161
  params(
159
162
  app:
160
- Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App::OrHash
163
+ T.nilable(
164
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App::OrHash
165
+ )
161
166
  ).void
162
167
  end
163
168
  attr_writer :app
164
169
 
165
170
  # Type of authentication request - i.e., the type of transaction or interaction is
166
171
  # causing the merchant to request an authentication. Maps to EMV 3DS field
167
- # threeDSRequestorAuthenticationInd.
172
+ # `threeDSRequestorAuthenticationInd`.
168
173
  sig do
169
174
  returns(
170
175
  T.nilable(
@@ -188,12 +193,15 @@ module Lithic
188
193
  sig do
189
194
  params(
190
195
  browser:
191
- Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser::OrHash
196
+ T.nilable(
197
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser::OrHash
198
+ )
192
199
  ).void
193
200
  end
194
201
  attr_writer :browser
195
202
 
196
- # Metadata about the challenge method and delivery.
203
+ # Metadata about the challenge method and delivery. Only present when a challenge
204
+ # is triggered.
197
205
  sig do
198
206
  returns(
199
207
  T.nilable(
@@ -213,7 +221,9 @@ module Lithic
213
221
  end
214
222
  attr_writer :challenge_metadata
215
223
 
216
- # Entity that orchestrates the challenge.
224
+ # Entity that orchestrates the challenge. This won't be set for authentications
225
+ # for which a decision has not yet been made (e.g. in-flight customer decisioning
226
+ # request).
217
227
  sig do
218
228
  returns(
219
229
  T.nilable(
@@ -223,7 +233,9 @@ module Lithic
223
233
  end
224
234
  attr_accessor :challenge_orchestrated_by
225
235
 
226
- # Entity that made the authentication decision.
236
+ # Entity that made the authentication decision. This won't be set for
237
+ # authentications for which a decision has not yet been made (e.g. in-flight
238
+ # customer decisioning request).
227
239
  sig do
228
240
  returns(
229
241
  T.nilable(
@@ -233,11 +245,11 @@ module Lithic
233
245
  end
234
246
  attr_accessor :decision_made_by
235
247
 
236
- # Type of 3DS Requestor Initiated (3RI) request i.e., a 3DS authentication that
248
+ # Type of 3DS Requestor Initiated (3RI) request i.e., a 3DS authentication that
237
249
  # takes place at the initiation of the merchant rather than the cardholder. The
238
250
  # most common example of this is where a merchant is authenticating before billing
239
251
  # for a recurring transaction such as a pay TV subscription or a utility bill.
240
- # Maps to EMV 3DS field threeRIInd.
252
+ # Maps to EMV 3DS field `threeRIInd`.
241
253
  sig do
242
254
  returns(
243
255
  T.nilable(
@@ -268,6 +280,7 @@ module Lithic
268
280
  end
269
281
  attr_writer :transaction
270
282
 
283
+ # Represents a 3DS authentication
271
284
  sig do
272
285
  params(
273
286
  token: String,
@@ -296,13 +309,17 @@ module Lithic
296
309
  Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::OrHash
297
310
  ),
298
311
  app:
299
- Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App::OrHash,
312
+ T.nilable(
313
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App::OrHash
314
+ ),
300
315
  authentication_request_type:
301
316
  T.nilable(
302
317
  Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType::OrSymbol
303
318
  ),
304
319
  browser:
305
- Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser::OrHash,
320
+ T.nilable(
321
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser::OrHash
322
+ ),
306
323
  challenge_metadata:
307
324
  T.nilable(
308
325
  Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::OrHash
@@ -326,7 +343,8 @@ module Lithic
326
343
  ).returns(T.attached_class)
327
344
  end
328
345
  def self.new(
329
- # Globally unique identifier for the 3DS authentication.
346
+ # Globally unique identifier for the 3DS authentication. Permitted values:
347
+ # 36-digit version 4 UUID (including hyphens).
330
348
  token:,
331
349
  # Type of account/card that is being used for the transaction. Maps to EMV 3DS
332
350
  # field `acctType`.
@@ -337,13 +355,15 @@ module Lithic
337
355
  # matches Lithic's record of the card's expiration date.
338
356
  card_expiry_check:,
339
357
  # Globally unique identifier for the card on which the 3DS authentication has
340
- # occurred.
358
+ # occurred. Permitted values: 36-digit version 4 UUID (including hyphens).
341
359
  card_token:,
342
360
  # Object containing data about the cardholder provided during the transaction.
343
361
  cardholder:,
344
- # Channel in which the authentication occurs. Maps to EMV 3DS field deviceChannel.
362
+ # Channel in which the authentication occurs. Maps to EMV 3DS field
363
+ # `deviceChannel`.
345
364
  channel:,
346
- # Date and time when the authentication was created in Lithic's system.
365
+ # Date and time when the authentication was created in Lithic's system. Permitted
366
+ # values: Date string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ.
347
367
  created:,
348
368
  # Object containing data about the merchant involved in the e-commerce
349
369
  # transaction.
@@ -372,22 +392,27 @@ module Lithic
372
392
  app: nil,
373
393
  # Type of authentication request - i.e., the type of transaction or interaction is
374
394
  # causing the merchant to request an authentication. Maps to EMV 3DS field
375
- # threeDSRequestorAuthenticationInd.
395
+ # `threeDSRequestorAuthenticationInd`.
376
396
  authentication_request_type: nil,
377
397
  # Object containing data about the browser used in the e-commerce transaction.
378
398
  # Present if the channel is 'BROWSER'.
379
399
  browser: nil,
380
- # Metadata about the challenge method and delivery.
400
+ # Metadata about the challenge method and delivery. Only present when a challenge
401
+ # is triggered.
381
402
  challenge_metadata: nil,
382
- # Entity that orchestrates the challenge.
403
+ # Entity that orchestrates the challenge. This won't be set for authentications
404
+ # for which a decision has not yet been made (e.g. in-flight customer decisioning
405
+ # request).
383
406
  challenge_orchestrated_by: nil,
384
- # Entity that made the authentication decision.
407
+ # Entity that made the authentication decision. This won't be set for
408
+ # authentications for which a decision has not yet been made (e.g. in-flight
409
+ # customer decisioning request).
385
410
  decision_made_by: nil,
386
- # Type of 3DS Requestor Initiated (3RI) request i.e., a 3DS authentication that
411
+ # Type of 3DS Requestor Initiated (3RI) request i.e., a 3DS authentication that
387
412
  # takes place at the initiation of the merchant rather than the cardholder. The
388
413
  # most common example of this is where a merchant is authenticating before billing
389
414
  # for a recurring transaction such as a pay TV subscription or a utility bill.
390
- # Maps to EMV 3DS field threeRIInd.
415
+ # Maps to EMV 3DS field `threeRIInd`.
391
416
  three_ri_request_type: nil,
392
417
  # Object containing data about the e-commerce transaction for which the merchant
393
418
  # is requesting authentication.
@@ -423,13 +448,18 @@ module Lithic
423
448
  T.nilable(
424
449
  Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData
425
450
  ),
426
- app: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App,
451
+ app:
452
+ T.nilable(
453
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App
454
+ ),
427
455
  authentication_request_type:
428
456
  T.nilable(
429
457
  Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType::TaggedSymbol
430
458
  ),
431
459
  browser:
432
- Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser,
460
+ T.nilable(
461
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser
462
+ ),
433
463
  challenge_metadata:
434
464
  T.nilable(
435
465
  Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata
@@ -595,7 +625,7 @@ module Lithic
595
625
  # Indicates whether the shipping address and billing address provided by the
596
626
  # cardholder are the same. This value - and assessment of whether the addresses
597
627
  # match - is provided directly in the 3DS request and is not determined by Lithic.
598
- # Maps to EMV 3DS field addrMatch.
628
+ # Maps to EMV 3DS field `addrMatch`.
599
629
  sig { returns(T.nilable(T::Boolean)) }
600
630
  attr_accessor :address_match
601
631
 
@@ -618,26 +648,26 @@ module Lithic
618
648
  attr_writer :billing_address
619
649
 
620
650
  # Email address that is either provided by the cardholder or is on file with the
621
- # merchant in a 3RI request. Maps to EMV 3DS field email.
651
+ # merchant in a 3RI request. Maps to EMV 3DS field `email`.
622
652
  sig { returns(T.nilable(String)) }
623
653
  attr_accessor :email
624
654
 
625
- # Name of the cardholder. Maps to EMV 3DS field cardholderName.
655
+ # Name of the cardholder. Maps to EMV 3DS field `cardholderName`.
626
656
  sig { returns(T.nilable(String)) }
627
657
  attr_accessor :name
628
658
 
629
659
  # Home phone number provided by the cardholder. Maps to EMV 3DS fields
630
- # homePhone.cc and homePhone.subscriber.
660
+ # `homePhone.cc` and `homePhone.subscriber`.
631
661
  sig { returns(T.nilable(String)) }
632
662
  attr_accessor :phone_number_home
633
663
 
634
664
  # Mobile/cell phone number provided by the cardholder. Maps to EMV 3DS fields
635
- # mobilePhone.cc and mobilePhone.subscriber.
665
+ # `mobilePhone.cc` and `mobilePhone.subscriber`.
636
666
  sig { returns(T.nilable(String)) }
637
667
  attr_accessor :phone_number_mobile
638
668
 
639
669
  # Work phone number provided by the cardholder. Maps to EMV 3DS fields
640
- # workPhone.cc and workPhone.subscriber.
670
+ # `workPhone.cc` and `workPhone.subscriber`.
641
671
  sig { returns(T.nilable(String)) }
642
672
  attr_accessor :phone_number_work
643
673
 
@@ -678,23 +708,23 @@ module Lithic
678
708
  # Indicates whether the shipping address and billing address provided by the
679
709
  # cardholder are the same. This value - and assessment of whether the addresses
680
710
  # match - is provided directly in the 3DS request and is not determined by Lithic.
681
- # Maps to EMV 3DS field addrMatch.
711
+ # Maps to EMV 3DS field `addrMatch`.
682
712
  address_match: nil,
683
713
  # Object containing data on the billing address provided during the transaction.
684
714
  billing_address: nil,
685
715
  # Email address that is either provided by the cardholder or is on file with the
686
- # merchant in a 3RI request. Maps to EMV 3DS field email.
716
+ # merchant in a 3RI request. Maps to EMV 3DS field `email`.
687
717
  email: nil,
688
- # Name of the cardholder. Maps to EMV 3DS field cardholderName.
718
+ # Name of the cardholder. Maps to EMV 3DS field `cardholderName`.
689
719
  name: nil,
690
720
  # Home phone number provided by the cardholder. Maps to EMV 3DS fields
691
- # homePhone.cc and homePhone.subscriber.
721
+ # `homePhone.cc` and `homePhone.subscriber`.
692
722
  phone_number_home: nil,
693
723
  # Mobile/cell phone number provided by the cardholder. Maps to EMV 3DS fields
694
- # mobilePhone.cc and mobilePhone.subscriber.
724
+ # `mobilePhone.cc` and `mobilePhone.subscriber`.
695
725
  phone_number_mobile: nil,
696
726
  # Work phone number provided by the cardholder. Maps to EMV 3DS fields
697
- # workPhone.cc and workPhone.subscriber.
727
+ # `workPhone.cc` and `workPhone.subscriber`.
698
728
  phone_number_work: nil,
699
729
  # Object containing data on the shipping address provided during the transaction.
700
730
  shipping_address: nil
@@ -877,7 +907,8 @@ module Lithic
877
907
  end
878
908
  end
879
909
 
880
- # Channel in which the authentication occurs. Maps to EMV 3DS field deviceChannel.
910
+ # Channel in which the authentication occurs. Maps to EMV 3DS field
911
+ # `deviceChannel`.
881
912
  module Channel
882
913
  extend Lithic::Internal::Type::Enum
883
914
 
@@ -927,21 +958,22 @@ module Lithic
927
958
  end
928
959
 
929
960
  # Merchant identifier as assigned by the acquirer. Maps to EMV 3DS field
930
- # acquirerMerchantId.
961
+ # `acquirerMerchantId`.
931
962
  sig { returns(String) }
932
963
  attr_accessor :id
933
964
 
934
965
  # Country code of the merchant requesting 3DS authentication. Maps to EMV 3DS
935
- # field merchantCountryCode.
966
+ # field `merchantCountryCode`. Permitted values: ISO 3166-1 alpha-3 country code
967
+ # (e.g., USA).
936
968
  sig { returns(String) }
937
969
  attr_accessor :country
938
970
 
939
971
  # Merchant category code assigned to the merchant that describes its business
940
- # activity type. Maps to EMV 3DS field mcc.
972
+ # activity type. Maps to EMV 3DS field `mcc`.
941
973
  sig { returns(String) }
942
974
  attr_accessor :mcc
943
975
 
944
- # Name of the merchant. Maps to EMV 3DS field merchantName.
976
+ # Name of the merchant. Maps to EMV 3DS field `merchantName`.
945
977
  sig { returns(String) }
946
978
  attr_accessor :name
947
979
 
@@ -976,15 +1008,16 @@ module Lithic
976
1008
  end
977
1009
  def self.new(
978
1010
  # Merchant identifier as assigned by the acquirer. Maps to EMV 3DS field
979
- # acquirerMerchantId.
1011
+ # `acquirerMerchantId`.
980
1012
  id:,
981
1013
  # Country code of the merchant requesting 3DS authentication. Maps to EMV 3DS
982
- # field merchantCountryCode.
1014
+ # field `merchantCountryCode`. Permitted values: ISO 3166-1 alpha-3 country code
1015
+ # (e.g., USA).
983
1016
  country:,
984
1017
  # Merchant category code assigned to the merchant that describes its business
985
- # activity type. Maps to EMV 3DS field mcc.
1018
+ # activity type. Maps to EMV 3DS field `mcc`.
986
1019
  mcc:,
987
- # Name of the merchant. Maps to EMV 3DS field merchantName.
1020
+ # Name of the merchant. Maps to EMV 3DS field `merchantName`.
988
1021
  name:,
989
1022
  # Object containing additional data indicating additional risk factors related to
990
1023
  # the e-commerce transaction.
@@ -1017,12 +1050,12 @@ module Lithic
1017
1050
  end
1018
1051
 
1019
1052
  # In transactions with electronic delivery, email address to which merchandise is
1020
- # delivered. Maps to EMV 3DS field deliveryEmailAddress.
1053
+ # delivered. Maps to EMV 3DS field `deliveryEmailAddress`.
1021
1054
  sig { returns(T.nilable(String)) }
1022
1055
  attr_accessor :delivery_email_address
1023
1056
 
1024
1057
  # The delivery time frame for the merchandise. Maps to EMV 3DS field
1025
- # deliveryTimeframe.
1058
+ # `deliveryTimeframe`.
1026
1059
  sig do
1027
1060
  returns(
1028
1061
  T.nilable(
@@ -1034,22 +1067,23 @@ module Lithic
1034
1067
 
1035
1068
  # In prepaid or gift card purchase transactions, purchase amount total in major
1036
1069
  # units (e.g., a purchase of USD $205.10 would be 205). Maps to EMV 3DS field
1037
- # giftCardAmount.
1070
+ # `giftCardAmount`.
1038
1071
  sig { returns(T.nilable(Integer)) }
1039
1072
  attr_accessor :gift_card_amount
1040
1073
 
1041
1074
  # In prepaid or gift card purchase transactions, count of individual prepaid or
1042
- # gift cards/codes purchased. Maps to EMV 3DS field giftCardCount.
1075
+ # gift cards/codes purchased. Maps to EMV 3DS field `giftCardCount`.
1043
1076
  sig { returns(T.nilable(Integer)) }
1044
1077
  attr_accessor :gift_card_count
1045
1078
 
1046
1079
  # In prepaid or gift card purchase transactions, currency code of the gift card.
1047
- # Maps to EMV 3DS field giftCardCurr.
1080
+ # Maps to EMV 3DS field `giftCardCurr`. Permitted values: ISO 4217 three-character
1081
+ # currency code (e.g., USD).
1048
1082
  sig { returns(T.nilable(String)) }
1049
1083
  attr_accessor :gift_card_currency
1050
1084
 
1051
1085
  # Indicates whether the purchase is for merchandise that is available now or at a
1052
- # future date. Maps to EMV 3DS field preOrderPurchaseInd.
1086
+ # future date. Maps to EMV 3DS field `preOrderPurchaseInd`.
1053
1087
  sig do
1054
1088
  returns(
1055
1089
  T.nilable(
@@ -1060,12 +1094,13 @@ module Lithic
1060
1094
  attr_accessor :order_availability
1061
1095
 
1062
1096
  # In pre-order purchase transactions, the expected date that the merchandise will
1063
- # be available. Maps to EMV 3DS field preOrderDate.
1097
+ # be available. Maps to EMV 3DS field `preOrderDate`. Permitted values: Date
1098
+ # string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ
1064
1099
  sig { returns(T.nilable(Time)) }
1065
1100
  attr_accessor :pre_order_available_date
1066
1101
 
1067
1102
  # Indicates whether the cardholder is reordering previously purchased merchandise.
1068
- # Maps to EMV 3DS field reorderItemsInd.
1103
+ # Maps to EMV 3DS field `reorderItemsInd`.
1069
1104
  sig do
1070
1105
  returns(
1071
1106
  T.nilable(
@@ -1078,7 +1113,7 @@ module Lithic
1078
1113
  # Shipping method that the cardholder chose for the transaction. If purchase
1079
1114
  # includes one or more item, this indicator is used for the physical goods; if the
1080
1115
  # purchase only includes digital goods, this indicator is used to describe the
1081
- # most expensive item purchased. Maps to EMV 3DS field shipIndicator.
1116
+ # most expensive item purchased. Maps to EMV 3DS field `shipIndicator`.
1082
1117
  sig do
1083
1118
  returns(
1084
1119
  T.nilable(
@@ -1117,34 +1152,36 @@ module Lithic
1117
1152
  end
1118
1153
  def self.new(
1119
1154
  # In transactions with electronic delivery, email address to which merchandise is
1120
- # delivered. Maps to EMV 3DS field deliveryEmailAddress.
1155
+ # delivered. Maps to EMV 3DS field `deliveryEmailAddress`.
1121
1156
  delivery_email_address: nil,
1122
1157
  # The delivery time frame for the merchandise. Maps to EMV 3DS field
1123
- # deliveryTimeframe.
1158
+ # `deliveryTimeframe`.
1124
1159
  delivery_time_frame: nil,
1125
1160
  # In prepaid or gift card purchase transactions, purchase amount total in major
1126
1161
  # units (e.g., a purchase of USD $205.10 would be 205). Maps to EMV 3DS field
1127
- # giftCardAmount.
1162
+ # `giftCardAmount`.
1128
1163
  gift_card_amount: nil,
1129
1164
  # In prepaid or gift card purchase transactions, count of individual prepaid or
1130
- # gift cards/codes purchased. Maps to EMV 3DS field giftCardCount.
1165
+ # gift cards/codes purchased. Maps to EMV 3DS field `giftCardCount`.
1131
1166
  gift_card_count: nil,
1132
1167
  # In prepaid or gift card purchase transactions, currency code of the gift card.
1133
- # Maps to EMV 3DS field giftCardCurr.
1168
+ # Maps to EMV 3DS field `giftCardCurr`. Permitted values: ISO 4217 three-character
1169
+ # currency code (e.g., USD).
1134
1170
  gift_card_currency: nil,
1135
1171
  # Indicates whether the purchase is for merchandise that is available now or at a
1136
- # future date. Maps to EMV 3DS field preOrderPurchaseInd.
1172
+ # future date. Maps to EMV 3DS field `preOrderPurchaseInd`.
1137
1173
  order_availability: nil,
1138
1174
  # In pre-order purchase transactions, the expected date that the merchandise will
1139
- # be available. Maps to EMV 3DS field preOrderDate.
1175
+ # be available. Maps to EMV 3DS field `preOrderDate`. Permitted values: Date
1176
+ # string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ
1140
1177
  pre_order_available_date: nil,
1141
1178
  # Indicates whether the cardholder is reordering previously purchased merchandise.
1142
- # Maps to EMV 3DS field reorderItemsInd.
1179
+ # Maps to EMV 3DS field `reorderItemsInd`.
1143
1180
  reorder_items: nil,
1144
1181
  # Shipping method that the cardholder chose for the transaction. If purchase
1145
1182
  # includes one or more item, this indicator is used for the physical goods; if the
1146
1183
  # purchase only includes digital goods, this indicator is used to describe the
1147
- # most expensive item purchased. Maps to EMV 3DS field shipIndicator.
1184
+ # most expensive item purchased. Maps to EMV 3DS field `shipIndicator`.
1148
1185
  shipping_method: nil
1149
1186
  )
1150
1187
  end
@@ -1180,7 +1217,7 @@ module Lithic
1180
1217
  end
1181
1218
 
1182
1219
  # The delivery time frame for the merchandise. Maps to EMV 3DS field
1183
- # deliveryTimeframe.
1220
+ # `deliveryTimeframe`.
1184
1221
  module DeliveryTimeFrame
1185
1222
  extend Lithic::Internal::Type::Enum
1186
1223
 
@@ -1226,7 +1263,7 @@ module Lithic
1226
1263
  end
1227
1264
 
1228
1265
  # Indicates whether the purchase is for merchandise that is available now or at a
1229
- # future date. Maps to EMV 3DS field preOrderPurchaseInd.
1266
+ # future date. Maps to EMV 3DS field `preOrderPurchaseInd`.
1230
1267
  module OrderAvailability
1231
1268
  extend Lithic::Internal::Type::Enum
1232
1269
 
@@ -1262,7 +1299,7 @@ module Lithic
1262
1299
  end
1263
1300
 
1264
1301
  # Indicates whether the cardholder is reordering previously purchased merchandise.
1265
- # Maps to EMV 3DS field reorderItemsInd.
1302
+ # Maps to EMV 3DS field `reorderItemsInd`.
1266
1303
  module ReorderItems
1267
1304
  extend Lithic::Internal::Type::Enum
1268
1305
 
@@ -1300,7 +1337,7 @@ module Lithic
1300
1337
  # Shipping method that the cardholder chose for the transaction. If purchase
1301
1338
  # includes one or more item, this indicator is used for the physical goods; if the
1302
1339
  # purchase only includes digital goods, this indicator is used to describe the
1303
- # most expensive item purchased. Maps to EMV 3DS field shipIndicator.
1340
+ # most expensive item purchased. Maps to EMV 3DS field `shipIndicator`.
1304
1341
  module ShippingMethod
1305
1342
  extend Lithic::Internal::Type::Enum
1306
1343
 
@@ -1499,7 +1536,8 @@ module Lithic
1499
1536
  attr_accessor :network_decision
1500
1537
 
1501
1538
  # Mastercard only: Assessment by the network of the authentication risk level,
1502
- # with a higher value indicating a higher amount of risk.
1539
+ # with a higher value indicating a higher amount of risk. Permitted values:
1540
+ # Integer between 0-950, in increments of 50.
1503
1541
  sig { returns(T.nilable(Integer)) }
1504
1542
  attr_accessor :network_risk_score
1505
1543
 
@@ -1520,7 +1558,8 @@ module Lithic
1520
1558
  # authentication request to be low risk or not.
1521
1559
  network_decision: nil,
1522
1560
  # Mastercard only: Assessment by the network of the authentication risk level,
1523
- # with a higher value indicating a higher amount of risk.
1561
+ # with a higher value indicating a higher amount of risk. Permitted values:
1562
+ # Integer between 0-950, in increments of 50.
1524
1563
  network_risk_score: nil
1525
1564
  )
1526
1565
  end
@@ -1586,12 +1625,12 @@ module Lithic
1586
1625
  end
1587
1626
 
1588
1627
  # Device information gathered from the cardholder's device - JSON name/value pairs
1589
- # that is Base64url encoded. Maps to EMV 3DS field deviceInfo.
1628
+ # that is Base64url encoded. Maps to EMV 3DS field `deviceInfo`.
1590
1629
  sig { returns(T.nilable(String)) }
1591
1630
  attr_accessor :device_info
1592
1631
 
1593
1632
  # External IP address used by the app generating the 3DS authentication request.
1594
- # Maps to EMV 3DS field appIp.
1633
+ # Maps to EMV 3DS field `appIp`.
1595
1634
  sig { returns(T.nilable(String)) }
1596
1635
  attr_reader :ip
1597
1636
 
@@ -1607,10 +1646,10 @@ module Lithic
1607
1646
  end
1608
1647
  def self.new(
1609
1648
  # Device information gathered from the cardholder's device - JSON name/value pairs
1610
- # that is Base64url encoded. Maps to EMV 3DS field deviceInfo.
1649
+ # that is Base64url encoded. Maps to EMV 3DS field `deviceInfo`.
1611
1650
  device_info: nil,
1612
1651
  # External IP address used by the app generating the 3DS authentication request.
1613
- # Maps to EMV 3DS field appIp.
1652
+ # Maps to EMV 3DS field `appIp`.
1614
1653
  ip: nil
1615
1654
  )
1616
1655
  end
@@ -1624,7 +1663,7 @@ module Lithic
1624
1663
 
1625
1664
  # Type of authentication request - i.e., the type of transaction or interaction is
1626
1665
  # causing the merchant to request an authentication. Maps to EMV 3DS field
1627
- # threeDSRequestorAuthenticationInd.
1666
+ # `threeDSRequestorAuthenticationInd`.
1628
1667
  module AuthenticationRequestType
1629
1668
  extend Lithic::Internal::Type::Enum
1630
1669
 
@@ -1708,33 +1747,38 @@ module Lithic
1708
1747
  )
1709
1748
  end
1710
1749
 
1750
+ # Content of the HTTP accept headers as sent from the cardholder's browser to the
1751
+ # 3DS requestor (e.g., merchant or digital wallet).
1752
+ sig { returns(T.nilable(String)) }
1753
+ attr_accessor :accept_header
1754
+
1711
1755
  # IP address of the browser as returned by the HTTP headers to the 3DS requestor
1712
- # (e.g., merchant or digital wallet). Maps to EMV 3DS field browserIP.
1756
+ # (e.g., merchant or digital wallet). Maps to EMV 3DS field `browserIP`.
1713
1757
  sig { returns(T.nilable(String)) }
1714
1758
  attr_accessor :ip
1715
1759
 
1716
1760
  # Indicates whether the cardholder's browser has the ability to execute Java. Maps
1717
- # to EMV 3DS field browserJavaEnabled.
1761
+ # to EMV 3DS field `browserJavaEnabled`.
1718
1762
  sig { returns(T.nilable(T::Boolean)) }
1719
1763
  attr_accessor :java_enabled
1720
1764
 
1721
1765
  # Indicates whether the cardholder's browser has the ability to execute
1722
- # JavaScript. Maps to EMV 3DS field browserJavascriptEnabled.
1766
+ # JavaScript. Maps to EMV 3DS field `browserJavascriptEnabled`.
1723
1767
  sig { returns(T.nilable(T::Boolean)) }
1724
1768
  attr_accessor :javascript_enabled
1725
1769
 
1726
1770
  # Language of the cardholder's browser as defined in IETF BCP47. Maps to EMV 3DS
1727
- # field browserLanguage.
1771
+ # field `browserLanguage`.
1728
1772
  sig { returns(T.nilable(String)) }
1729
1773
  attr_accessor :language
1730
1774
 
1731
1775
  # Time zone of the cardholder's browser offset in minutes between UTC and the
1732
1776
  # cardholder browser's local time. The offset is positive if the local time is
1733
- # behind UTC and negative if it is ahead. Maps to EMV 3DS field browserTz.
1777
+ # behind UTC and negative if it is ahead. Maps to EMV 3DS field `browserTz`.
1734
1778
  sig { returns(T.nilable(String)) }
1735
1779
  attr_accessor :time_zone
1736
1780
 
1737
- # Content of the HTTP user-agent header. Maps to EMV 3DS field browserUserAgent.
1781
+ # Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`.
1738
1782
  sig { returns(T.nilable(String)) }
1739
1783
  attr_accessor :user_agent
1740
1784
 
@@ -1742,6 +1786,7 @@ module Lithic
1742
1786
  # Present if the channel is 'BROWSER'.
1743
1787
  sig do
1744
1788
  params(
1789
+ accept_header: T.nilable(String),
1745
1790
  ip: T.nilable(String),
1746
1791
  java_enabled: T.nilable(T::Boolean),
1747
1792
  javascript_enabled: T.nilable(T::Boolean),
@@ -1751,23 +1796,26 @@ module Lithic
1751
1796
  ).returns(T.attached_class)
1752
1797
  end
1753
1798
  def self.new(
1799
+ # Content of the HTTP accept headers as sent from the cardholder's browser to the
1800
+ # 3DS requestor (e.g., merchant or digital wallet).
1801
+ accept_header: nil,
1754
1802
  # IP address of the browser as returned by the HTTP headers to the 3DS requestor
1755
- # (e.g., merchant or digital wallet). Maps to EMV 3DS field browserIP.
1803
+ # (e.g., merchant or digital wallet). Maps to EMV 3DS field `browserIP`.
1756
1804
  ip: nil,
1757
1805
  # Indicates whether the cardholder's browser has the ability to execute Java. Maps
1758
- # to EMV 3DS field browserJavaEnabled.
1806
+ # to EMV 3DS field `browserJavaEnabled`.
1759
1807
  java_enabled: nil,
1760
1808
  # Indicates whether the cardholder's browser has the ability to execute
1761
- # JavaScript. Maps to EMV 3DS field browserJavascriptEnabled.
1809
+ # JavaScript. Maps to EMV 3DS field `browserJavascriptEnabled`.
1762
1810
  javascript_enabled: nil,
1763
1811
  # Language of the cardholder's browser as defined in IETF BCP47. Maps to EMV 3DS
1764
- # field browserLanguage.
1812
+ # field `browserLanguage`.
1765
1813
  language: nil,
1766
1814
  # Time zone of the cardholder's browser offset in minutes between UTC and the
1767
1815
  # cardholder browser's local time. The offset is positive if the local time is
1768
- # behind UTC and negative if it is ahead. Maps to EMV 3DS field browserTz.
1816
+ # behind UTC and negative if it is ahead. Maps to EMV 3DS field `browserTz`.
1769
1817
  time_zone: nil,
1770
- # Content of the HTTP user-agent header. Maps to EMV 3DS field browserUserAgent.
1818
+ # Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`.
1771
1819
  user_agent: nil
1772
1820
  )
1773
1821
  end
@@ -1775,6 +1823,7 @@ module Lithic
1775
1823
  sig do
1776
1824
  override.returns(
1777
1825
  {
1826
+ accept_header: T.nilable(String),
1778
1827
  ip: T.nilable(String),
1779
1828
  java_enabled: T.nilable(T::Boolean),
1780
1829
  javascript_enabled: T.nilable(T::Boolean),
@@ -1809,7 +1858,8 @@ module Lithic
1809
1858
  sig { returns(T.nilable(String)) }
1810
1859
  attr_accessor :phone_number
1811
1860
 
1812
- # Metadata about the challenge method and delivery.
1861
+ # Metadata about the challenge method and delivery. Only present when a challenge
1862
+ # is triggered.
1813
1863
  sig do
1814
1864
  params(
1815
1865
  method_type:
@@ -1873,7 +1923,9 @@ module Lithic
1873
1923
  end
1874
1924
  end
1875
1925
 
1876
- # Entity that orchestrates the challenge.
1926
+ # Entity that orchestrates the challenge. This won't be set for authentications
1927
+ # for which a decision has not yet been made (e.g. in-flight customer decisioning
1928
+ # request).
1877
1929
  module ChallengeOrchestratedBy
1878
1930
  extend Lithic::Internal::Type::Enum
1879
1931
 
@@ -1913,7 +1965,9 @@ module Lithic
1913
1965
  end
1914
1966
  end
1915
1967
 
1916
- # Entity that made the authentication decision.
1968
+ # Entity that made the authentication decision. This won't be set for
1969
+ # authentications for which a decision has not yet been made (e.g. in-flight
1970
+ # customer decisioning request).
1917
1971
  module DecisionMadeBy
1918
1972
  extend Lithic::Internal::Type::Enum
1919
1973
 
@@ -1926,9 +1980,9 @@ module Lithic
1926
1980
  end
1927
1981
  OrSymbol = T.type_alias { T.any(Symbol, String) }
1928
1982
 
1929
- CUSTOMER_ENDPOINT =
1983
+ LITHIC_RULES =
1930
1984
  T.let(
1931
- :CUSTOMER_ENDPOINT,
1985
+ :LITHIC_RULES,
1932
1986
  Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy::TaggedSymbol
1933
1987
  )
1934
1988
  LITHIC_DEFAULT =
@@ -1936,9 +1990,14 @@ module Lithic
1936
1990
  :LITHIC_DEFAULT,
1937
1991
  Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy::TaggedSymbol
1938
1992
  )
1939
- LITHIC_RULES =
1993
+ CUSTOMER_RULES =
1940
1994
  T.let(
1941
- :LITHIC_RULES,
1995
+ :CUSTOMER_RULES,
1996
+ Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy::TaggedSymbol
1997
+ )
1998
+ CUSTOMER_ENDPOINT =
1999
+ T.let(
2000
+ :CUSTOMER_ENDPOINT,
1942
2001
  Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy::TaggedSymbol
1943
2002
  )
1944
2003
  NETWORK =
@@ -1963,11 +2022,11 @@ module Lithic
1963
2022
  end
1964
2023
  end
1965
2024
 
1966
- # Type of 3DS Requestor Initiated (3RI) request i.e., a 3DS authentication that
2025
+ # Type of 3DS Requestor Initiated (3RI) request i.e., a 3DS authentication that
1967
2026
  # takes place at the initiation of the merchant rather than the cardholder. The
1968
2027
  # most common example of this is where a merchant is authenticating before billing
1969
2028
  # for a recurring transaction such as a pay TV subscription or a utility bill.
1970
- # Maps to EMV 3DS field threeRIInd.
2029
+ # Maps to EMV 3DS field `threeRIInd`.
1971
2030
  module ThreeRiRequestType
1972
2031
  extend Lithic::Internal::Type::Enum
1973
2032
 
@@ -2082,7 +2141,7 @@ module Lithic
2082
2141
  end
2083
2142
 
2084
2143
  # Amount of the purchase in minor units of currency with all punctuation removed.
2085
- # Maps to EMV 3DS field purchaseAmount.
2144
+ # Maps to EMV 3DS field `purchaseAmount`.
2086
2145
  sig { returns(Float) }
2087
2146
  attr_accessor :amount
2088
2147
 
@@ -2091,22 +2150,24 @@ module Lithic
2091
2150
  sig { returns(T.nilable(Float)) }
2092
2151
  attr_accessor :cardholder_amount
2093
2152
 
2094
- # Currency of the purchase. Maps to EMV 3DS field purchaseCurrency.
2153
+ # Currency of the purchase. Maps to EMV 3DS field `purchaseCurrency`. Permitted
2154
+ # values: ISO 4217 three-character currency code (e.g., USD).
2095
2155
  sig { returns(String) }
2096
2156
  attr_accessor :currency
2097
2157
 
2098
2158
  # Minor units of currency, as specified in ISO 4217 currency exponent. Maps to EMV
2099
- # 3DS field purchaseExponent.
2159
+ # 3DS field `purchaseExponent`.
2100
2160
  sig { returns(Float) }
2101
2161
  attr_accessor :currency_exponent
2102
2162
 
2103
2163
  # Date and time when the authentication was generated by the merchant/acquirer's
2104
- # 3DS server. Maps to EMV 3DS field purchaseDate.
2164
+ # 3DS server. Maps to EMV 3DS field `purchaseDate`. Permitted values: Date string
2165
+ # in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ.
2105
2166
  sig { returns(Time) }
2106
2167
  attr_accessor :date_time
2107
2168
 
2108
2169
  # Type of the transaction for which a 3DS authentication request is occurring.
2109
- # Maps to EMV 3DS field transType.
2170
+ # Maps to EMV 3DS field `transType`.
2110
2171
  sig do
2111
2172
  returns(
2112
2173
  T.nilable(
@@ -2133,21 +2194,23 @@ module Lithic
2133
2194
  end
2134
2195
  def self.new(
2135
2196
  # Amount of the purchase in minor units of currency with all punctuation removed.
2136
- # Maps to EMV 3DS field purchaseAmount.
2197
+ # Maps to EMV 3DS field `purchaseAmount`.
2137
2198
  amount:,
2138
2199
  # Approximate amount of the purchase in minor units of cardholder currency.
2139
2200
  # Derived from `amount` using a daily conversion rate.
2140
2201
  cardholder_amount:,
2141
- # Currency of the purchase. Maps to EMV 3DS field purchaseCurrency.
2202
+ # Currency of the purchase. Maps to EMV 3DS field `purchaseCurrency`. Permitted
2203
+ # values: ISO 4217 three-character currency code (e.g., USD).
2142
2204
  currency:,
2143
2205
  # Minor units of currency, as specified in ISO 4217 currency exponent. Maps to EMV
2144
- # 3DS field purchaseExponent.
2206
+ # 3DS field `purchaseExponent`.
2145
2207
  currency_exponent:,
2146
2208
  # Date and time when the authentication was generated by the merchant/acquirer's
2147
- # 3DS server. Maps to EMV 3DS field purchaseDate.
2209
+ # 3DS server. Maps to EMV 3DS field `purchaseDate`. Permitted values: Date string
2210
+ # in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ.
2148
2211
  date_time:,
2149
2212
  # Type of the transaction for which a 3DS authentication request is occurring.
2150
- # Maps to EMV 3DS field transType.
2213
+ # Maps to EMV 3DS field `transType`.
2151
2214
  type:
2152
2215
  )
2153
2216
  end
@@ -2171,7 +2234,7 @@ module Lithic
2171
2234
  end
2172
2235
 
2173
2236
  # Type of the transaction for which a 3DS authentication request is occurring.
2174
- # Maps to EMV 3DS field transType.
2237
+ # Maps to EMV 3DS field `transType`.
2175
2238
  module Type
2176
2239
  extend Lithic::Internal::Type::Enum
2177
2240