lithic 0.8.0 → 0.10.0

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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +52 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/models/account_holder_create_params.rb +54 -52
  5. data/lib/lithic/models/account_holder_update_params.rb +2 -1
  6. data/lib/lithic/models/account_holder_updated_webhook_event.rb +2 -1
  7. data/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb +26 -0
  8. data/lib/lithic/models/auth_rules/rule_feature.rb +1 -1
  9. data/lib/lithic/models/card_authorization_approval_request_webhook_event.rb +95 -4
  10. data/lib/lithic/models/carrier.rb +7 -2
  11. data/lib/lithic/models/kyb.rb +2 -1
  12. data/lib/lithic/models/parsed_webhook_event.rb +2 -1
  13. data/lib/lithic/models/payment.rb +23 -2
  14. data/lib/lithic/models/transaction.rb +93 -4
  15. data/lib/lithic/resources/account_holders.rb +2 -2
  16. data/lib/lithic/version.rb +1 -1
  17. data/lib/lithic.rb +1 -1
  18. data/rbi/lithic/models/account_holder_create_params.rbi +74 -53
  19. data/rbi/lithic/models/account_holder_update_params.rbi +4 -2
  20. data/rbi/lithic/models/account_holder_updated_webhook_event.rbi +4 -2
  21. data/rbi/lithic/models/auth_rules/conditional_authorization_action_parameters.rbi +53 -0
  22. data/rbi/lithic/models/auth_rules/rule_feature.rbi +1 -1
  23. data/rbi/lithic/models/card_authorization_approval_request_webhook_event.rbi +171 -4
  24. data/rbi/lithic/models/carrier.rbi +6 -2
  25. data/rbi/lithic/models/kyb.rbi +4 -2
  26. data/rbi/lithic/models/parsed_webhook_event.rbi +4 -2
  27. data/rbi/lithic/models/payment.rbi +21 -3
  28. data/rbi/lithic/models/transaction.rbi +146 -4
  29. data/rbi/lithic/resources/account_holders.rbi +2 -2
  30. data/sig/lithic/models/account_holder_create_params.rbs +44 -28
  31. data/sig/lithic/models/auth_rules/conditional_authorization_action_parameters.rbs +8 -0
  32. data/sig/lithic/models/card_authorization_approval_request_webhook_event.rbs +75 -4
  33. data/sig/lithic/models/payment.rbs +13 -3
  34. data/sig/lithic/models/transaction.rbs +75 -4
  35. metadata +2 -2
@@ -93,9 +93,10 @@ module Lithic
93
93
  required :financial_account_token, String, nil?: true
94
94
 
95
95
  # @!attribute merchant
96
+ # Merchant information including full location details.
96
97
  #
97
- # @return [Lithic::Models::Merchant]
98
- required :merchant, -> { Lithic::Merchant }
98
+ # @return [Lithic::Models::Transaction::Merchant]
99
+ required :merchant, -> { Lithic::Transaction::Merchant }
99
100
 
100
101
  # @!attribute merchant_amount
101
102
  # @deprecated
@@ -148,6 +149,14 @@ module Lithic
148
149
  # @return [Symbol, Lithic::Models::Transaction::Result]
149
150
  required :result, enum: -> { Lithic::Transaction::Result }
150
151
 
152
+ # @!attribute service_location
153
+ # Where the cardholder received the service, when different from the card acceptor
154
+ # location. This is populated from network data elements such as Mastercard DE-122
155
+ # SE1 SF9-14 and Visa F34 DS02.
156
+ #
157
+ # @return [Lithic::Models::Transaction::ServiceLocation, nil]
158
+ required :service_location, -> { Lithic::Transaction::ServiceLocation }, nil?: true
159
+
151
160
  # @!attribute settled_amount
152
161
  # @deprecated
153
162
  #
@@ -185,7 +194,7 @@ module Lithic
185
194
  # @return [Array<Lithic::Models::Transaction::Event>, nil]
186
195
  optional :events, -> { Lithic::Internal::Type::ArrayOf[Lithic::Transaction::Event] }
187
196
 
188
- # @!method initialize(token:, account_token:, acquirer_fee:, acquirer_reference_number:, amount:, amounts:, authorization_amount:, authorization_code:, avs:, card_token:, cardholder_authentication:, created:, financial_account_token:, merchant:, merchant_amount:, merchant_authorization_amount:, merchant_currency:, network:, network_risk_score:, pos:, result:, settled_amount:, status:, tags:, token_info:, updated:, events: nil)
197
+ # @!method initialize(token:, account_token:, acquirer_fee:, acquirer_reference_number:, amount:, amounts:, authorization_amount:, authorization_code:, avs:, card_token:, cardholder_authentication:, created:, financial_account_token:, merchant:, merchant_amount:, merchant_authorization_amount:, merchant_currency:, network:, network_risk_score:, pos:, result:, service_location:, settled_amount:, status:, tags:, token_info:, updated:, events: nil)
189
198
  # Some parameter documentations has been truncated, see
190
199
  # {Lithic::Models::Transaction} for more details.
191
200
  #
@@ -215,7 +224,7 @@ module Lithic
215
224
  #
216
225
  # @param financial_account_token [String, nil]
217
226
  #
218
- # @param merchant [Lithic::Models::Merchant]
227
+ # @param merchant [Lithic::Models::Transaction::Merchant] Merchant information including full location details.
219
228
  #
220
229
  # @param merchant_amount [Integer, nil] Analogous to the 'amount', but in the merchant currency.
221
230
  #
@@ -231,6 +240,8 @@ module Lithic
231
240
  #
232
241
  # @param result [Symbol, Lithic::Models::Transaction::Result]
233
242
  #
243
+ # @param service_location [Lithic::Models::Transaction::ServiceLocation, nil] Where the cardholder received the service, when different from the card acceptor
244
+ #
234
245
  # @param settled_amount [Integer] The settled amount of the transaction in the settlement currency.
235
246
  #
236
247
  # @param status [Symbol, Lithic::Models::Transaction::Status] Status of the transaction.
@@ -385,6 +396,36 @@ module Lithic
385
396
  # @param zipcode [String] Cardholder ZIP code
386
397
  end
387
398
 
399
+ # @see Lithic::Models::Transaction#merchant
400
+ class Merchant < Lithic::Models::Merchant
401
+ # @!attribute phone_number
402
+ # Phone number of card acceptor.
403
+ #
404
+ # @return [String, nil]
405
+ required :phone_number, String, nil?: true
406
+
407
+ # @!attribute postal_code
408
+ # Postal code of card acceptor.
409
+ #
410
+ # @return [String, nil]
411
+ required :postal_code, String, nil?: true
412
+
413
+ # @!attribute street_address
414
+ # Street address of card acceptor.
415
+ #
416
+ # @return [String, nil]
417
+ required :street_address, String, nil?: true
418
+
419
+ # @!method initialize(phone_number:, postal_code:, street_address:)
420
+ # Merchant information including full location details.
421
+ #
422
+ # @param phone_number [String, nil] Phone number of card acceptor.
423
+ #
424
+ # @param postal_code [String, nil] Postal code of card acceptor.
425
+ #
426
+ # @param street_address [String, nil] Street address of card acceptor.
427
+ end
428
+
388
429
  # Card network of the authorization. Value is `UNKNOWN` when Lithic cannot
389
430
  # determine the network code from the upstream provider.
390
431
  #
@@ -693,6 +734,54 @@ module Lithic
693
734
  # @return [Array<Symbol>]
694
735
  end
695
736
 
737
+ # @see Lithic::Models::Transaction#service_location
738
+ class ServiceLocation < Lithic::Internal::Type::BaseModel
739
+ # @!attribute city
740
+ # City of service location.
741
+ #
742
+ # @return [String, nil]
743
+ required :city, String, nil?: true
744
+
745
+ # @!attribute country
746
+ # Country code of service location, ISO 3166-1 alpha-3.
747
+ #
748
+ # @return [String, nil]
749
+ required :country, String, nil?: true
750
+
751
+ # @!attribute postal_code
752
+ # Postal code of service location.
753
+ #
754
+ # @return [String, nil]
755
+ required :postal_code, String, nil?: true
756
+
757
+ # @!attribute state
758
+ # State/province code of service location, ISO 3166-2.
759
+ #
760
+ # @return [String, nil]
761
+ required :state, String, nil?: true
762
+
763
+ # @!attribute street_address
764
+ # Street address of service location.
765
+ #
766
+ # @return [String, nil]
767
+ required :street_address, String, nil?: true
768
+
769
+ # @!method initialize(city:, country:, postal_code:, state:, street_address:)
770
+ # Where the cardholder received the service, when different from the card acceptor
771
+ # location. This is populated from network data elements such as Mastercard DE-122
772
+ # SE1 SF9-14 and Visa F34 DS02.
773
+ #
774
+ # @param city [String, nil] City of service location.
775
+ #
776
+ # @param country [String, nil] Country code of service location, ISO 3166-1 alpha-3.
777
+ #
778
+ # @param postal_code [String, nil] Postal code of service location.
779
+ #
780
+ # @param state [String, nil] State/province code of service location, ISO 3166-2.
781
+ #
782
+ # @param street_address [String, nil] Street address of service location.
783
+ end
784
+
696
785
  # Status of the transaction.
697
786
  #
698
787
  # @see Lithic::Models::Transaction#status
@@ -279,8 +279,8 @@ module Lithic
279
279
  #
280
280
  # This endpoint is only valid for evaluations in a `PENDING_DOCUMENT` state.
281
281
  #
282
- # Uploaded images must either be a `jpg` or `png` file, and each must be less than
283
- # 15 MiB. Once both required uploads have been successfully completed, your
282
+ # Supported file types include `jpg`, `png`, and `pdf`. Each file must be less
283
+ # than 15 MiB. Once both required uploads have been successfully completed, your
284
284
  # document will be run through KYC verification.
285
285
  #
286
286
  # If you have registered a webhook, you will receive evaluation updates for any
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lithic
4
- VERSION = "0.8.0"
4
+ VERSION = "0.10.0"
5
5
  end
data/lib/lithic.rb CHANGED
@@ -55,6 +55,7 @@ require_relative "lithic/internal/transport/pooled_net_requester"
55
55
  require_relative "lithic/client"
56
56
  require_relative "lithic/internal/cursor_page"
57
57
  require_relative "lithic/internal/single_page"
58
+ require_relative "lithic/models/merchant"
58
59
  require_relative "lithic/models/transaction"
59
60
  require_relative "lithic/models/auth_rules/v2/backtest_results"
60
61
  require_relative "lithic/models/book_transfer_response"
@@ -348,7 +349,6 @@ require_relative "lithic/models/management_operation_list_params"
348
349
  require_relative "lithic/models/management_operation_retrieve_params"
349
350
  require_relative "lithic/models/management_operation_reverse_params"
350
351
  require_relative "lithic/models/management_operation_updated_webhook_event"
351
- require_relative "lithic/models/merchant"
352
352
  require_relative "lithic/models/message_attempt"
353
353
  require_relative "lithic/models/network_program"
354
354
  require_relative "lithic/models/network_program_list_params"
@@ -162,7 +162,8 @@ module Lithic
162
162
  attr_writer :naics_code
163
163
 
164
164
  # Short description of the company's line of business (i.e., what does the company
165
- # do?).
165
+ # do?). Values longer than 255 characters will be truncated before KYB
166
+ # verification
166
167
  sig { returns(T.nilable(String)) }
167
168
  attr_reader :nature_of_business
168
169
 
@@ -248,7 +249,8 @@ module Lithic
248
249
  # business.
249
250
  naics_code: nil,
250
251
  # Short description of the company's line of business (i.e., what does the company
251
- # do?).
252
+ # do?). Values longer than 255 characters will be truncated before KYB
253
+ # verification
252
254
  nature_of_business: nil,
253
255
  # An RFC 3339 timestamp indicating when the account holder accepted the applicable
254
256
  # legal agreements (e.g., cardholder terms) as agreed upon during API customer's
@@ -395,37 +397,46 @@ module Lithic
395
397
  )
396
398
  end
397
399
 
400
+ # Individual's first name, as it appears on government-issued identity documents.
401
+ sig { returns(String) }
402
+ attr_accessor :first_name
403
+
404
+ # Individual's last name, as it appears on government-issued identity documents.
405
+ sig { returns(String) }
406
+ attr_accessor :last_name
407
+
398
408
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
399
409
  # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
400
- sig { returns(Lithic::Address) }
410
+ sig { returns(T.nilable(Lithic::Address)) }
401
411
  attr_reader :address
402
412
 
403
413
  sig { params(address: Lithic::Address::OrHash).void }
404
414
  attr_writer :address
405
415
 
406
416
  # Individual's date of birth, as an RFC 3339 date.
407
- sig { returns(String) }
408
- attr_accessor :dob
417
+ sig { returns(T.nilable(String)) }
418
+ attr_reader :dob
419
+
420
+ sig { params(dob: String).void }
421
+ attr_writer :dob
409
422
 
410
423
  # Individual's email address. If utilizing Lithic for chargeback processing, this
411
424
  # customer email address may be used to communicate dispute status and resolution.
412
- sig { returns(String) }
413
- attr_accessor :email
425
+ sig { returns(T.nilable(String)) }
426
+ attr_reader :email
414
427
 
415
- # Individual's first name, as it appears on government-issued identity documents.
416
- sig { returns(String) }
417
- attr_accessor :first_name
428
+ sig { params(email: String).void }
429
+ attr_writer :email
418
430
 
419
431
  # Government-issued identification number (required for identity verification and
420
432
  # compliance with banking regulations). Social Security Numbers (SSN) and
421
433
  # Individual Taxpayer Identification Numbers (ITIN) are currently supported,
422
434
  # entered as full nine-digits, with or without hyphens
423
- sig { returns(String) }
424
- attr_accessor :government_id
435
+ sig { returns(T.nilable(String)) }
436
+ attr_reader :government_id
425
437
 
426
- # Individual's last name, as it appears on government-issued identity documents.
427
- sig { returns(String) }
428
- attr_accessor :last_name
438
+ sig { params(government_id: String).void }
439
+ attr_writer :government_id
429
440
 
430
441
  # Individual's phone number, entered in E.164 format.
431
442
  sig { returns(T.nilable(String)) }
@@ -434,36 +445,37 @@ module Lithic
434
445
  sig { params(phone_number: String).void }
435
446
  attr_writer :phone_number
436
447
 
437
- # Individuals associated with a KYB application. Phone number is optional.
448
+ # Individuals associated with a KYB_DELEGATED application. Only first and last
449
+ # name are required.
438
450
  sig do
439
451
  params(
452
+ first_name: String,
453
+ last_name: String,
440
454
  address: Lithic::Address::OrHash,
441
455
  dob: String,
442
456
  email: String,
443
- first_name: String,
444
457
  government_id: String,
445
- last_name: String,
446
458
  phone_number: String
447
459
  ).returns(T.attached_class)
448
460
  end
449
461
  def self.new(
462
+ # Individual's first name, as it appears on government-issued identity documents.
463
+ first_name:,
464
+ # Individual's last name, as it appears on government-issued identity documents.
465
+ last_name:,
450
466
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
451
467
  # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
452
- address:,
468
+ address: nil,
453
469
  # Individual's date of birth, as an RFC 3339 date.
454
- dob:,
470
+ dob: nil,
455
471
  # Individual's email address. If utilizing Lithic for chargeback processing, this
456
472
  # customer email address may be used to communicate dispute status and resolution.
457
- email:,
458
- # Individual's first name, as it appears on government-issued identity documents.
459
- first_name:,
473
+ email: nil,
460
474
  # Government-issued identification number (required for identity verification and
461
475
  # compliance with banking regulations). Social Security Numbers (SSN) and
462
476
  # Individual Taxpayer Identification Numbers (ITIN) are currently supported,
463
477
  # entered as full nine-digits, with or without hyphens
464
- government_id:,
465
- # Individual's last name, as it appears on government-issued identity documents.
466
- last_name:,
478
+ government_id: nil,
467
479
  # Individual's phone number, entered in E.164 format.
468
480
  phone_number: nil
469
481
  )
@@ -472,12 +484,12 @@ module Lithic
472
484
  sig do
473
485
  override.returns(
474
486
  {
487
+ first_name: String,
488
+ last_name: String,
475
489
  address: Lithic::Address,
476
490
  dob: String,
477
491
  email: String,
478
- first_name: String,
479
492
  government_id: String,
480
- last_name: String,
481
493
  phone_number: String
482
494
  }
483
495
  )
@@ -495,37 +507,46 @@ module Lithic
495
507
  )
496
508
  end
497
509
 
510
+ # Individual's first name, as it appears on government-issued identity documents.
511
+ sig { returns(String) }
512
+ attr_accessor :first_name
513
+
514
+ # Individual's last name, as it appears on government-issued identity documents.
515
+ sig { returns(String) }
516
+ attr_accessor :last_name
517
+
498
518
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
499
519
  # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
500
- sig { returns(Lithic::Address) }
520
+ sig { returns(T.nilable(Lithic::Address)) }
501
521
  attr_reader :address
502
522
 
503
523
  sig { params(address: Lithic::Address::OrHash).void }
504
524
  attr_writer :address
505
525
 
506
526
  # Individual's date of birth, as an RFC 3339 date.
507
- sig { returns(String) }
508
- attr_accessor :dob
527
+ sig { returns(T.nilable(String)) }
528
+ attr_reader :dob
529
+
530
+ sig { params(dob: String).void }
531
+ attr_writer :dob
509
532
 
510
533
  # Individual's email address. If utilizing Lithic for chargeback processing, this
511
534
  # customer email address may be used to communicate dispute status and resolution.
512
- sig { returns(String) }
513
- attr_accessor :email
535
+ sig { returns(T.nilable(String)) }
536
+ attr_reader :email
514
537
 
515
- # Individual's first name, as it appears on government-issued identity documents.
516
- sig { returns(String) }
517
- attr_accessor :first_name
538
+ sig { params(email: String).void }
539
+ attr_writer :email
518
540
 
519
541
  # Government-issued identification number (required for identity verification and
520
542
  # compliance with banking regulations). Social Security Numbers (SSN) and
521
543
  # Individual Taxpayer Identification Numbers (ITIN) are currently supported,
522
544
  # entered as full nine-digits, with or without hyphens
523
- sig { returns(String) }
524
- attr_accessor :government_id
545
+ sig { returns(T.nilable(String)) }
546
+ attr_reader :government_id
525
547
 
526
- # Individual's last name, as it appears on government-issued identity documents.
527
- sig { returns(String) }
528
- attr_accessor :last_name
548
+ sig { params(government_id: String).void }
549
+ attr_writer :government_id
529
550
 
530
551
  # Individual's phone number, entered in E.164 format.
531
552
  sig { returns(T.nilable(String)) }
@@ -544,33 +565,33 @@ module Lithic
544
565
  # (Section II) for more background.
545
566
  sig do
546
567
  params(
568
+ first_name: String,
569
+ last_name: String,
547
570
  address: Lithic::Address::OrHash,
548
571
  dob: String,
549
572
  email: String,
550
- first_name: String,
551
573
  government_id: String,
552
- last_name: String,
553
574
  phone_number: String
554
575
  ).returns(T.attached_class)
555
576
  end
556
577
  def self.new(
578
+ # Individual's first name, as it appears on government-issued identity documents.
579
+ first_name:,
580
+ # Individual's last name, as it appears on government-issued identity documents.
581
+ last_name:,
557
582
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
558
583
  # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
559
- address:,
584
+ address: nil,
560
585
  # Individual's date of birth, as an RFC 3339 date.
561
- dob:,
586
+ dob: nil,
562
587
  # Individual's email address. If utilizing Lithic for chargeback processing, this
563
588
  # customer email address may be used to communicate dispute status and resolution.
564
- email:,
565
- # Individual's first name, as it appears on government-issued identity documents.
566
- first_name:,
589
+ email: nil,
567
590
  # Government-issued identification number (required for identity verification and
568
591
  # compliance with banking regulations). Social Security Numbers (SSN) and
569
592
  # Individual Taxpayer Identification Numbers (ITIN) are currently supported,
570
593
  # entered as full nine-digits, with or without hyphens
571
- government_id:,
572
- # Individual's last name, as it appears on government-issued identity documents.
573
- last_name:,
594
+ government_id: nil,
574
595
  # Individual's phone number, entered in E.164 format.
575
596
  phone_number: nil
576
597
  )
@@ -579,12 +600,12 @@ module Lithic
579
600
  sig do
580
601
  override.returns(
581
602
  {
603
+ first_name: String,
604
+ last_name: String,
582
605
  address: Lithic::Address,
583
606
  dob: String,
584
607
  email: String,
585
- first_name: String,
586
608
  government_id: String,
587
- last_name: String,
588
609
  phone_number: String
589
610
  }
590
611
  )
@@ -173,7 +173,8 @@ module Lithic
173
173
  attr_writer :naics_code
174
174
 
175
175
  # Short description of the company's line of business (i.e., what does the company
176
- # do?).
176
+ # do?). Values longer than 255 characters will be truncated before KYB
177
+ # verification
177
178
  sig { returns(T.nilable(String)) }
178
179
  attr_reader :nature_of_business
179
180
 
@@ -231,7 +232,8 @@ module Lithic
231
232
  # business.
232
233
  naics_code: nil,
233
234
  # Short description of the company's line of business (i.e., what does the company
234
- # do?).
235
+ # do?). Values longer than 255 characters will be truncated before KYB
236
+ # verification
235
237
  nature_of_business: nil,
236
238
  # Company website URL.
237
239
  website_url: nil
@@ -79,7 +79,8 @@ module Lithic
79
79
  attr_writer :naics_code
80
80
 
81
81
  # Short description of the company's line of business (i.e., what does the company
82
- # do?).
82
+ # do?). Values longer than 255 characters will be truncated before KYB
83
+ # verification
83
84
  sig { returns(T.nilable(String)) }
84
85
  attr_reader :nature_of_business
85
86
 
@@ -121,7 +122,8 @@ module Lithic
121
122
  # business. Only present if naics_code was included in the update request.
122
123
  naics_code: nil,
123
124
  # Short description of the company's line of business (i.e., what does the company
124
- # do?).
125
+ # do?). Values longer than 255 characters will be truncated before KYB
126
+ # verification
125
127
  nature_of_business: nil,
126
128
  # Company website URL.
127
129
  website_url: nil
@@ -159,6 +159,17 @@ module Lithic
159
159
  # - `ADDRESS_MATCH`: Lithic's evaluation result comparing transaction's address
160
160
  # data with the cardholder KYC data if it exists. Valid values are `MATCH`,
161
161
  # `MATCH_ADDRESS_ONLY`, `MATCH_ZIP_ONLY`,`MISMATCH`,`NOT_PRESENT`.
162
+ # - `SERVICE_LOCATION_STATE`: The state/province code (ISO 3166-2) where the
163
+ # cardholder received the service, e.g. "NY". When a service location is present
164
+ # in the network data, the service location state is used. Otherwise, falls back
165
+ # to the card acceptor state.
166
+ # - `SERVICE_LOCATION_POSTAL_CODE`: The postal code where the cardholder received
167
+ # the service, e.g. "10001". When a service location is present in the network
168
+ # data, the service location postal code is used. Otherwise, falls back to the
169
+ # card acceptor postal code.
170
+ # - `CARD_AGE`: The age of the card in seconds at the time of the authorization.
171
+ # - `ACCOUNT_AGE`: The age of the account holder's account in seconds at the time
172
+ # of the authorization.
162
173
  sig do
163
174
  returns(
164
175
  Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute::OrSymbol
@@ -237,6 +248,17 @@ module Lithic
237
248
  # - `ADDRESS_MATCH`: Lithic's evaluation result comparing transaction's address
238
249
  # data with the cardholder KYC data if it exists. Valid values are `MATCH`,
239
250
  # `MATCH_ADDRESS_ONLY`, `MATCH_ZIP_ONLY`,`MISMATCH`,`NOT_PRESENT`.
251
+ # - `SERVICE_LOCATION_STATE`: The state/province code (ISO 3166-2) where the
252
+ # cardholder received the service, e.g. "NY". When a service location is present
253
+ # in the network data, the service location state is used. Otherwise, falls back
254
+ # to the card acceptor state.
255
+ # - `SERVICE_LOCATION_POSTAL_CODE`: The postal code where the cardholder received
256
+ # the service, e.g. "10001". When a service location is present in the network
257
+ # data, the service location postal code is used. Otherwise, falls back to the
258
+ # card acceptor postal code.
259
+ # - `CARD_AGE`: The age of the card in seconds at the time of the authorization.
260
+ # - `ACCOUNT_AGE`: The age of the account holder's account in seconds at the time
261
+ # of the authorization.
240
262
  attribute:,
241
263
  # The operation to apply to the attribute
242
264
  operation:,
@@ -312,6 +334,17 @@ module Lithic
312
334
  # - `ADDRESS_MATCH`: Lithic's evaluation result comparing transaction's address
313
335
  # data with the cardholder KYC data if it exists. Valid values are `MATCH`,
314
336
  # `MATCH_ADDRESS_ONLY`, `MATCH_ZIP_ONLY`,`MISMATCH`,`NOT_PRESENT`.
337
+ # - `SERVICE_LOCATION_STATE`: The state/province code (ISO 3166-2) where the
338
+ # cardholder received the service, e.g. "NY". When a service location is present
339
+ # in the network data, the service location state is used. Otherwise, falls back
340
+ # to the card acceptor state.
341
+ # - `SERVICE_LOCATION_POSTAL_CODE`: The postal code where the cardholder received
342
+ # the service, e.g. "10001". When a service location is present in the network
343
+ # data, the service location postal code is used. Otherwise, falls back to the
344
+ # card acceptor postal code.
345
+ # - `CARD_AGE`: The age of the card in seconds at the time of the authorization.
346
+ # - `ACCOUNT_AGE`: The age of the account holder's account in seconds at the time
347
+ # of the authorization.
315
348
  module Attribute
316
349
  extend Lithic::Internal::Type::Enum
317
350
 
@@ -419,6 +452,26 @@ module Lithic
419
452
  :ADDRESS_MATCH,
420
453
  Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
421
454
  )
455
+ SERVICE_LOCATION_STATE =
456
+ T.let(
457
+ :SERVICE_LOCATION_STATE,
458
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
459
+ )
460
+ SERVICE_LOCATION_POSTAL_CODE =
461
+ T.let(
462
+ :SERVICE_LOCATION_POSTAL_CODE,
463
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
464
+ )
465
+ CARD_AGE =
466
+ T.let(
467
+ :CARD_AGE,
468
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
469
+ )
470
+ ACCOUNT_AGE =
471
+ T.let(
472
+ :ACCOUNT_AGE,
473
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
474
+ )
422
475
 
423
476
  sig do
424
477
  override.returns(
@@ -18,7 +18,7 @@ module Lithic
18
18
  # - `CARD`: The card associated with the event. Available for AUTHORIZATION and
19
19
  # THREE_DS_AUTHENTICATION event stream rules.
20
20
  # - `ACCOUNT_HOLDER`: The account holder associated with the card. Available for
21
- # THREE_DS_AUTHENTICATION event stream rules.
21
+ # AUTHORIZATION and THREE_DS_AUTHENTICATION event stream rules.
22
22
  # - `IP_METADATA`: IP address metadata for the request. Available for
23
23
  # THREE_DS_AUTHENTICATION event stream rules.
24
24
  # - `SPEND_VELOCITY`: Spend velocity data for the card or account. Requires