lithic 0.1.0.pre.alpha.53 → 0.1.0.pre.alpha.55

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 (157) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/internal/transport/base_client.rb +7 -1
  5. data/lib/lithic/internal/transport/pooled_net_requester.rb +6 -2
  6. data/lib/lithic/models/account_activity_list_response.rb +1 -0
  7. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +1 -0
  8. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +2 -2
  9. data/lib/lithic/models/account_holder_update_response.rb +4 -4
  10. data/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb +252 -0
  11. data/lib/lithic/models/auth_rules/v2_create_params.rb +38 -284
  12. data/lib/lithic/models/auth_rules/v2_create_response.rb +8 -508
  13. data/lib/lithic/models/auth_rules/v2_draft_params.rb +4 -250
  14. data/lib/lithic/models/auth_rules/v2_draft_response.rb +8 -508
  15. data/lib/lithic/models/auth_rules/v2_list_response.rb +8 -508
  16. data/lib/lithic/models/auth_rules/v2_promote_response.rb +8 -508
  17. data/lib/lithic/models/auth_rules/v2_retrieve_features_response.rb +4 -11
  18. data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +8 -508
  19. data/lib/lithic/models/auth_rules/v2_update_response.rb +8 -508
  20. data/lib/lithic/models/auth_rules/velocity_limit_params.rb +4 -7
  21. data/lib/lithic/models/auth_rules/velocity_limit_period.rb +154 -0
  22. data/lib/lithic/models/book_transfer_response.rb +5 -5
  23. data/lib/lithic/models/dispute.rb +510 -242
  24. data/lib/lithic/models/dispute_create_response.rb +326 -0
  25. data/lib/lithic/models/dispute_delete_response.rb +326 -0
  26. data/lib/lithic/models/dispute_list_response.rb +326 -0
  27. data/lib/lithic/models/dispute_retrieve_response.rb +326 -0
  28. data/lib/lithic/models/dispute_update_response.rb +326 -0
  29. data/lib/lithic/models/event.rb +213 -69
  30. data/lib/lithic/models/event_list_params.rb +112 -6
  31. data/lib/lithic/models/event_subscription.rb +112 -6
  32. data/lib/lithic/models/events/subscription_create_params.rb +112 -6
  33. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +12 -6
  34. data/lib/lithic/models/events/subscription_update_params.rb +112 -6
  35. data/lib/lithic/models/financial_account.rb +1 -65
  36. data/lib/lithic/models/financial_accounts/financial_account_credit_config.rb +1 -64
  37. data/lib/lithic/models/financial_accounts/loan_tape.rb +99 -3
  38. data/lib/lithic/models/financial_accounts/statement.rb +66 -2
  39. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +1 -0
  40. data/lib/lithic/models/financial_transaction.rb +1 -0
  41. data/lib/lithic/models/payment.rb +29 -18
  42. data/lib/lithic/models/payment_simulate_action_params.rb +17 -1
  43. data/lib/lithic/models/tokenization.rb +189 -23
  44. data/lib/lithic/models/transaction.rb +12 -116
  45. data/lib/lithic/models/transactions/events/enhanced_data.rb +9 -9
  46. data/lib/lithic/models/transfer.rb +1 -0
  47. data/lib/lithic/resources/auth_rules/v2/backtests.rb +3 -5
  48. data/lib/lithic/resources/auth_rules/v2.rb +13 -56
  49. data/lib/lithic/resources/disputes.rb +10 -10
  50. data/lib/lithic/resources/payments.rb +5 -1
  51. data/lib/lithic/version.rb +1 -1
  52. data/lib/lithic.rb +8 -3
  53. data/manifest.yaml +1 -0
  54. data/rbi/lithic/internal/transport/base_client.rbi +5 -0
  55. data/rbi/lithic/internal/transport/pooled_net_requester.rbi +6 -2
  56. data/rbi/lithic/internal/type/base_model.rbi +8 -4
  57. data/rbi/lithic/models/account_activity_list_response.rbi +5 -0
  58. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +5 -0
  59. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +3 -6
  60. data/rbi/lithic/models/account_holder_update_response.rbi +6 -12
  61. data/rbi/lithic/models/auth_rules/conditional_authorization_action_parameters.rbi +577 -0
  62. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +85 -679
  63. data/rbi/lithic/models/auth_rules/v2_create_response.rbi +4 -1146
  64. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +4 -575
  65. data/rbi/lithic/models/auth_rules/v2_draft_response.rbi +4 -1146
  66. data/rbi/lithic/models/auth_rules/v2_list_response.rbi +4 -1146
  67. data/rbi/lithic/models/auth_rules/v2_promote_response.rbi +4 -1146
  68. data/rbi/lithic/models/auth_rules/v2_retrieve_features_response.rbi +9 -22
  69. data/rbi/lithic/models/auth_rules/v2_retrieve_response.rbi +4 -1146
  70. data/rbi/lithic/models/auth_rules/v2_update_response.rbi +4 -1146
  71. data/rbi/lithic/models/auth_rules/velocity_limit_params.rbi +17 -29
  72. data/rbi/lithic/models/auth_rules/velocity_limit_period.rbi +223 -0
  73. data/rbi/lithic/models/book_transfer_response.rbi +14 -11
  74. data/rbi/lithic/models/dispute.rbi +942 -395
  75. data/rbi/lithic/models/dispute_create_response.rbi +599 -0
  76. data/rbi/lithic/models/dispute_delete_response.rbi +599 -0
  77. data/rbi/lithic/models/dispute_list_response.rbi +582 -0
  78. data/rbi/lithic/models/dispute_retrieve_response.rbi +601 -0
  79. data/rbi/lithic/models/dispute_update_response.rbi +599 -0
  80. data/rbi/lithic/models/event.rbi +348 -111
  81. data/rbi/lithic/models/event_list_params.rbi +155 -25
  82. data/rbi/lithic/models/event_subscription.rbi +155 -25
  83. data/rbi/lithic/models/events/subscription_create_params.rbi +155 -25
  84. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +55 -25
  85. data/rbi/lithic/models/events/subscription_update_params.rbi +155 -25
  86. data/rbi/lithic/models/financial_account.rbi +3 -132
  87. data/rbi/lithic/models/financial_accounts/financial_account_credit_config.rbi +3 -136
  88. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +132 -9
  89. data/rbi/lithic/models/financial_accounts/statement.rbi +88 -6
  90. data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +5 -0
  91. data/rbi/lithic/models/financial_transaction.rbi +5 -0
  92. data/rbi/lithic/models/payment.rbi +52 -28
  93. data/rbi/lithic/models/payment_simulate_action_params.rbi +22 -0
  94. data/rbi/lithic/models/tokenization.rbi +429 -34
  95. data/rbi/lithic/models/transaction.rbi +22 -246
  96. data/rbi/lithic/models/transactions/events/enhanced_data.rbi +12 -12
  97. data/rbi/lithic/models/transfer.rbi +5 -0
  98. data/rbi/lithic/resources/auth_rules/v2/backtests.rbi +0 -3
  99. data/rbi/lithic/resources/auth_rules/v2.rbi +24 -72
  100. data/rbi/lithic/resources/disputes.rbi +7 -5
  101. data/rbi/lithic/resources/payments.rbi +6 -0
  102. data/sig/lithic/internal/transport/base_client.rbs +2 -0
  103. data/sig/lithic/internal/transport/pooled_net_requester.rbs +4 -1
  104. data/sig/lithic/models/account_activity_list_response.rbs +2 -0
  105. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +2 -0
  106. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +4 -6
  107. data/sig/lithic/models/account_holder_update_response.rbs +8 -12
  108. data/sig/lithic/models/auth_rules/conditional_authorization_action_parameters.rbs +163 -0
  109. data/sig/lithic/models/auth_rules/v2_create_params.rbs +22 -188
  110. data/sig/lithic/models/auth_rules/v2_create_response.rbs +2 -318
  111. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +1 -159
  112. data/sig/lithic/models/auth_rules/v2_draft_response.rbs +2 -318
  113. data/sig/lithic/models/auth_rules/v2_list_response.rbs +2 -318
  114. data/sig/lithic/models/auth_rules/v2_promote_response.rbs +2 -318
  115. data/sig/lithic/models/auth_rules/v2_retrieve_features_response.rbs +4 -4
  116. data/sig/lithic/models/auth_rules/v2_retrieve_response.rbs +2 -318
  117. data/sig/lithic/models/auth_rules/v2_update_response.rbs +2 -318
  118. data/sig/lithic/models/auth_rules/velocity_limit_params.rbs +4 -4
  119. data/sig/lithic/models/auth_rules/velocity_limit_period.rbs +91 -0
  120. data/sig/lithic/models/book_transfer_response.rbs +7 -7
  121. data/sig/lithic/models/dispute.rbs +417 -157
  122. data/sig/lithic/models/dispute_create_response.rbs +210 -0
  123. data/sig/lithic/models/dispute_delete_response.rbs +210 -0
  124. data/sig/lithic/models/dispute_list_response.rbs +210 -0
  125. data/sig/lithic/models/dispute_retrieve_response.rbs +210 -0
  126. data/sig/lithic/models/dispute_update_response.rbs +210 -0
  127. data/sig/lithic/models/event.rbs +25 -13
  128. data/sig/lithic/models/event_list_params.rbs +25 -13
  129. data/sig/lithic/models/event_subscription.rbs +25 -13
  130. data/sig/lithic/models/events/subscription_create_params.rbs +25 -13
  131. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +25 -13
  132. data/sig/lithic/models/events/subscription_update_params.rbs +25 -13
  133. data/sig/lithic/models/financial_account.rbs +3 -45
  134. data/sig/lithic/models/financial_accounts/financial_account_credit_config.rbs +3 -49
  135. data/sig/lithic/models/financial_accounts/loan_tape.rbs +87 -9
  136. data/sig/lithic/models/financial_accounts/statement.rbs +58 -6
  137. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +2 -0
  138. data/sig/lithic/models/financial_transaction.rbs +2 -0
  139. data/sig/lithic/models/payment.rbs +16 -12
  140. data/sig/lithic/models/payment_simulate_action_params.rbs +14 -0
  141. data/sig/lithic/models/tokenization.rbs +160 -13
  142. data/sig/lithic/models/transaction.rbs +13 -94
  143. data/sig/lithic/models/transactions/events/enhanced_data.rbs +15 -15
  144. data/sig/lithic/models/transfer.rbs +2 -0
  145. data/sig/lithic/resources/auth_rules/v2.rbs +2 -12
  146. data/sig/lithic/resources/disputes.rbs +5 -5
  147. data/sig/lithic/resources/payments.rbs +2 -0
  148. metadata +23 -11
  149. data/lib/lithic/models/auth_rules/v2_apply_params.rb +0 -56
  150. data/lib/lithic/models/auth_rules/v2_apply_response.rb +0 -766
  151. data/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb +0 -248
  152. data/rbi/lithic/models/auth_rules/v2_apply_params.rbi +0 -86
  153. data/rbi/lithic/models/auth_rules/v2_apply_response.rbi +0 -1638
  154. data/rbi/lithic/models/auth_rules/velocity_limit_params_period_window.rbi +0 -557
  155. data/sig/lithic/models/auth_rules/v2_apply_params.rbs +0 -54
  156. data/sig/lithic/models/auth_rules/v2_apply_response.rbs +0 -509
  157. data/sig/lithic/models/auth_rules/velocity_limit_params_period_window.rbs +0 -223
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8f282b4e31e085754b47acda97401699c517857af39a497c147958e010a84105
4
- data.tar.gz: 12bf84857ad175fe54d891e86801927bfb4ebf3f73cbdbdc10d8a8fe12756dc9
3
+ metadata.gz: d9dadacd8b6002b5b63b6a326fbb1031b7e24631c27f08dff022faa3ce36c76d
4
+ data.tar.gz: 25c3dd78abfd815ced1cf1562190fada84ec6ffce9dca464dc02e300bda85426
5
5
  SHA512:
6
- metadata.gz: 4280b51c91a75e09c2d749f03cfbbb58e5a4594fc9c93fad63bb912c66899fcb03a166c5b7d6aa11edb121f3bb347785e8cafe7e31540fd72a0a93715866212a
7
- data.tar.gz: 4b0e022cdea943f206278494e872b85e22a1d371c1c9aab4acb073a3118b0cc8be573da4d42b7b63380a1ff24021cbac147e8a31e51306a80f0b7d9335b4699d
6
+ metadata.gz: 0eec5194aa61913696390c4423f52ab0b96b38745ee8ec5499ac1e6fdb11b7b5b1838693aa3032c57c61af3a773a202d7f6aab219a9e5a150c8b9a658dae334c
7
+ data.tar.gz: 4364f3f60854cd2783fe6d1d3f72bc69dc9958898642b5461ad0b4f578bd64b58e92a300af18361e3da7f6f43b2c69538086bd872a18b296f7315ff296ff980b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.55 (2025-11-11)
4
+
5
+ Full Changelog: [v0.1.0-alpha.54...v0.1.0-alpha.55](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.54...v0.1.0-alpha.55)
6
+
7
+ ### Features
8
+
9
+ * **api:** add payment_details ([413b65a](https://github.com/lithic-com/lithic-ruby/commit/413b65a7028d3277f1e4f3419fd643e7c0730966))
10
+ * **api:** deprecate auth rule apply endpoint and fix several schemas ([7b9a282](https://github.com/lithic-com/lithic-ruby/commit/7b9a282603b666e314c6445439cfb839c479eada))
11
+ * **api:** new fields in Statements APIs ([be8c6ea](https://github.com/lithic-com/lithic-ruby/commit/be8c6ea99b996707b3848cba8e0109c47fc1715e))
12
+ * **api:** re-add rules metadata to tokenization events ([da13854](https://github.com/lithic-com/lithic-ruby/commit/da13854e8c9794024b786da4584ffbe492999c6a))
13
+ * **api:** remove deprecated fields from Cardholder Authentication object ([da13854](https://github.com/lithic-com/lithic-ruby/commit/da13854e8c9794024b786da4584ffbe492999c6a))
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * **api:** adjust Auth Rules spec for better SDK structure ([da13854](https://github.com/lithic-com/lithic-ruby/commit/da13854e8c9794024b786da4584ffbe492999c6a))
19
+ * **api:** fix oneOf -> anyOf in account holder update ([413b65a](https://github.com/lithic-com/lithic-ruby/commit/413b65a7028d3277f1e4f3419fd643e7c0730966))
20
+ * **api:** fixing spec for Tokenizations and Enhanced data ([be8c6ea](https://github.com/lithic-com/lithic-ruby/commit/be8c6ea99b996707b3848cba8e0109c47fc1715e))
21
+
22
+ ## 0.1.0-alpha.54 (2025-11-04)
23
+
24
+ Full Changelog: [v0.1.0-alpha.53...v0.1.0-alpha.54](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.53...v0.1.0-alpha.54)
25
+
26
+ ### Bug Fixes
27
+
28
+ * better thread safety via early initializing SSL store during HTTP client creation ([67db6d5](https://github.com/lithic-com/lithic-ruby/commit/67db6d53b0af488113c3506c6cacfbfafcf28164))
29
+
30
+
31
+ ### Chores
32
+
33
+ * **api:** adds support for new ACH_RECEIPT_RELEASED event ([1834708](https://github.com/lithic-com/lithic-ruby/commit/183470896e9f3fb3e6f1b5d1e242e14ac6992d89))
34
+ * **client:** send user-agent header ([60cfe27](https://github.com/lithic-com/lithic-ruby/commit/60cfe272af1a4018aabca79debcbb6426ba9de0f))
35
+ * **internal:** codegen related update ([b4dbac6](https://github.com/lithic-com/lithic-ruby/commit/b4dbac6efd1ca89c7e60fe9a85f19fdc68654492))
36
+
3
37
  ## 0.1.0-alpha.53 (2025-10-23)
4
38
 
5
39
  Full Changelog: [v0.1.0-alpha.52...v0.1.0-alpha.53](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.52...v0.1.0-alpha.53)
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "lithic", "~> 0.1.0.pre.alpha.53"
18
+ gem "lithic", "~> 0.1.0.pre.alpha.55"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -201,7 +201,8 @@ module Lithic
201
201
  self.class::PLATFORM_HEADERS,
202
202
  {
203
203
  "accept" => "application/json",
204
- "content-type" => "application/json"
204
+ "content-type" => "application/json",
205
+ "user-agent" => user_agent
205
206
  },
206
207
  headers
207
208
  )
@@ -219,6 +220,11 @@ module Lithic
219
220
  # @return [Hash{String=>String}]
220
221
  private def auth_headers = {}
221
222
 
223
+ # @api private
224
+ #
225
+ # @return [String]
226
+ private def user_agent = "#{self.class.name}/Ruby #{Lithic::VERSION}"
227
+
222
228
  # @api private
223
229
  #
224
230
  # @return [String]
@@ -16,10 +16,11 @@ module Lithic
16
16
  class << self
17
17
  # @api private
18
18
  #
19
+ # @param cert_store [OpenSSL::X509::Store]
19
20
  # @param url [URI::Generic]
20
21
  #
21
22
  # @return [Net::HTTP]
22
- def connect(url)
23
+ def connect(cert_store:, url:)
23
24
  port =
24
25
  case [url.port, url.scheme]
25
26
  in [Integer, _]
@@ -33,6 +34,8 @@ module Lithic
33
34
  Net::HTTP.new(url.host, port).tap do
34
35
  _1.use_ssl = %w[https wss].include?(url.scheme)
35
36
  _1.max_retries = 0
37
+
38
+ (_1.cert_store = cert_store) if _1.use_ssl?
36
39
  end
37
40
  end
38
41
 
@@ -102,7 +105,7 @@ module Lithic
102
105
  pool =
103
106
  @mutex.synchronize do
104
107
  @pools[origin] ||= ConnectionPool.new(size: @size) do
105
- self.class.connect(url)
108
+ self.class.connect(cert_store: @cert_store, url: url)
106
109
  end
107
110
  end
108
111
 
@@ -192,6 +195,7 @@ module Lithic
192
195
  def initialize(size: self.class::DEFAULT_MAX_CONNECTIONS)
193
196
  @mutex = Mutex.new
194
197
  @size = size
198
+ @cert_store = OpenSSL::X509::Store.new.tap(&:set_default_paths)
195
199
  @pools = {}
196
200
  end
197
201
 
@@ -242,6 +242,7 @@ module Lithic
242
242
  ACH_ORIGINATION_REVIEWED = :ACH_ORIGINATION_REVIEWED
243
243
  ACH_ORIGINATION_SETTLED = :ACH_ORIGINATION_SETTLED
244
244
  ACH_RECEIPT_PROCESSED = :ACH_RECEIPT_PROCESSED
245
+ ACH_RECEIPT_RELEASED = :ACH_RECEIPT_RELEASED
245
246
  ACH_RECEIPT_SETTLED = :ACH_RECEIPT_SETTLED
246
247
  ACH_RETURN_INITIATED = :ACH_RETURN_INITIATED
247
248
  ACH_RETURN_PROCESSED = :ACH_RETURN_PROCESSED
@@ -248,6 +248,7 @@ module Lithic
248
248
  ACH_ORIGINATION_REVIEWED = :ACH_ORIGINATION_REVIEWED
249
249
  ACH_ORIGINATION_SETTLED = :ACH_ORIGINATION_SETTLED
250
250
  ACH_RECEIPT_PROCESSED = :ACH_RECEIPT_PROCESSED
251
+ ACH_RECEIPT_RELEASED = :ACH_RECEIPT_RELEASED
251
252
  ACH_RECEIPT_SETTLED = :ACH_RECEIPT_SETTLED
252
253
  ACH_RETURN_INITIATED = :ACH_RETURN_INITIATED
253
254
  ACH_RETURN_PROCESSED = :ACH_RETURN_PROCESSED
@@ -40,7 +40,7 @@ module Lithic
40
40
  # with the AUTHORIZED_USER in this field.
41
41
  #
42
42
  # @return [String, nil]
43
- optional :business_account_token, String
43
+ optional :business_account_token, String, nil?: true
44
44
 
45
45
  # @!attribute business_entity
46
46
  # Only present when user_type == "BUSINESS". Information about the business for
@@ -179,7 +179,7 @@ module Lithic
179
179
  #
180
180
  # @param beneficial_owner_individuals [Array<Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::BeneficialOwnerIndividual>] Only present when user_type == "BUSINESS". You must submit a list of all direct
181
181
  #
182
- # @param business_account_token [String] Only applicable for customers using the KYC-Exempt workflow to enroll authorized
182
+ # @param business_account_token [String, nil] Only applicable for customers using the KYC-Exempt workflow to enroll authorized
183
183
  #
184
184
  # @param business_entity [Lithic::Models::KYBBusinessEntity] Only present when user_type == "BUSINESS". Information about the business for wh
185
185
  #
@@ -47,7 +47,7 @@ module Lithic
47
47
  # with the AUTHORIZED_USER in this field.
48
48
  #
49
49
  # @return [String, nil]
50
- optional :business_account_token, String
50
+ optional :business_account_token, String, nil?: true
51
51
 
52
52
  # @!attribute business_entity
53
53
  # Only present when user_type == "BUSINESS". Information about the business for
@@ -187,7 +187,7 @@ module Lithic
187
187
  #
188
188
  # @param beneficial_owner_individuals [Array<Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::BeneficialOwnerIndividual>] Only present when user_type == "BUSINESS". You must submit a list of all direct
189
189
  #
190
- # @param business_account_token [String] Only applicable for customers using the KYC-Exempt workflow to enroll authorized
190
+ # @param business_account_token [String, nil] Only applicable for customers using the KYC-Exempt workflow to enroll authorized
191
191
  #
192
192
  # @param business_entity [Lithic::Models::KYBBusinessEntity] Only present when user_type == "BUSINESS". Information about the business for wh
193
193
  #
@@ -813,7 +813,7 @@ module Lithic
813
813
  # The token for the business account that the account holder is associated with
814
814
  #
815
815
  # @return [String, nil]
816
- optional :business_account_token, String
816
+ optional :business_account_token, String, nil?: true
817
817
 
818
818
  # @!attribute email
819
819
  # The email for the account holder
@@ -850,7 +850,7 @@ module Lithic
850
850
  #
851
851
  # @param address [Lithic::Models::AccountHolderUpdateResponse::PatchResponse::Address] The address for the account holder
852
852
  #
853
- # @param business_account_token [String] The token for the business account that the account holder is associated with
853
+ # @param business_account_token [String, nil] The token for the business account that the account holder is associated with
854
854
  #
855
855
  # @param email [String] The email for the account holder
856
856
  #
@@ -0,0 +1,252 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module AuthRules
6
+ class ConditionalAuthorizationActionParameters < Lithic::Internal::Type::BaseModel
7
+ # @!attribute action
8
+ # The action to take if the conditions are met.
9
+ #
10
+ # @return [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Action]
11
+ required :action, enum: -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters::Action }
12
+
13
+ # @!attribute conditions
14
+ #
15
+ # @return [Array<Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition>]
16
+ required :conditions,
17
+ -> { Lithic::Internal::Type::ArrayOf[Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition] }
18
+
19
+ # @!method initialize(action:, conditions:)
20
+ # @param action [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Action] The action to take if the conditions are met.
21
+ #
22
+ # @param conditions [Array<Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition>]
23
+
24
+ # The action to take if the conditions are met.
25
+ #
26
+ # @see Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters#action
27
+ module Action
28
+ extend Lithic::Internal::Type::Enum
29
+
30
+ DECLINE = :DECLINE
31
+ CHALLENGE = :CHALLENGE
32
+
33
+ # @!method self.values
34
+ # @return [Array<Symbol>]
35
+ end
36
+
37
+ class Condition < Lithic::Internal::Type::BaseModel
38
+ # @!attribute attribute
39
+ # The attribute to target.
40
+ #
41
+ # The following attributes may be targeted:
42
+ #
43
+ # - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify a
44
+ # business by the types of goods or services it provides.
45
+ # - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all
46
+ # ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for
47
+ # Netherlands Antilles.
48
+ # - `CURRENCY`: 3-character alphabetic ISO 4217 code for the merchant currency of
49
+ # the transaction.
50
+ # - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor
51
+ # (merchant).
52
+ # - `DESCRIPTOR`: Short description of card acceptor.
53
+ # - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the issuer
54
+ # applies to the transaction. Valid values are `NONE`, `3DS_AUTHENTICATED`, or
55
+ # `TOKEN_AUTHENTICATED`.
56
+ # - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account number
57
+ # (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, `CONTACTLESS`,
58
+ # `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, `KEY_ENTERED`,
59
+ # `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, `UNSPECIFIED`,
60
+ # `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`.
61
+ # - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer
62
+ # fee field in the settlement/cardholder billing currency. This is the amount
63
+ # the issuer should authorize against unless the issuer is paying the acquirer
64
+ # fee on behalf of the cardholder.
65
+ # - `CASH_AMOUNT`: The cash amount of the transaction in minor units (cents). This
66
+ # represents the amount of cash being withdrawn or advanced.
67
+ # - `RISK_SCORE`: Network-provided score assessing risk level associated with a
68
+ # given authorization. Scores are on a range of 0-999, with 0 representing the
69
+ # lowest risk and 999 representing the highest risk. For Visa transactions,
70
+ # where the raw score has a range of 0-99, Lithic will normalize the score by
71
+ # multiplying the raw score by 10x.
72
+ # - `CARD_TRANSACTION_COUNT_15M`: The number of transactions on the card in the
73
+ # trailing 15 minutes before the authorization.
74
+ # - `CARD_TRANSACTION_COUNT_1H`: The number of transactions on the card in the
75
+ # trailing hour up and until the authorization.
76
+ # - `CARD_TRANSACTION_COUNT_24H`: The number of transactions on the card in the
77
+ # trailing 24 hours up and until the authorization.
78
+ # - `CARD_STATE`: The current state of the card associated with the transaction.
79
+ # Valid values are `CLOSED`, `OPEN`, `PAUSED`, `PENDING_ACTIVATION`,
80
+ # `PENDING_FULFILLMENT`.
81
+ # - `PIN_ENTERED`: Indicates whether a PIN was entered during the transaction.
82
+ # Valid values are `TRUE`, `FALSE`.
83
+ # - `PIN_STATUS`: The current state of card's PIN. Valid values are `NOT_SET`,
84
+ # `OK`, `BLOCKED`.
85
+ # - `WALLET_TYPE`: For transactions using a digital wallet token, indicates the
86
+ # source of the token. Valid values are `APPLE_PAY`, `GOOGLE_PAY`,
87
+ # `SAMSUNG_PAY`, `MASTERPASS`, `MERCHANT`, `OTHER`, `NONE`.
88
+ # - `TRANSACTION_INITIATOR`: The entity that initiated the transaction indicates
89
+ # the source of the token. Valid values are `CARDHOLDER`, `MERCHANT`, `UNKNOWN`.
90
+ # - `ADDRESS_MATCH`: Lithic's evaluation result comparing transaction's address
91
+ # data with the cardholder KYC data if it exists. Valid values are `MATCH`,
92
+ # `MATCH_ADDRESS_ONLY`, `MATCH_ZIP_ONLY`,`MISMATCH`,`NOT_PRESENT`.
93
+ #
94
+ # @return [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute, nil]
95
+ optional :attribute,
96
+ enum: -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute }
97
+
98
+ # @!attribute operation
99
+ # The operation to apply to the attribute
100
+ #
101
+ # @return [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Operation, nil]
102
+ optional :operation,
103
+ enum: -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Operation }
104
+
105
+ # @!attribute value
106
+ # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
107
+ #
108
+ # @return [String, Integer, Array<String>, nil]
109
+ optional :value,
110
+ union: -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Value }
111
+
112
+ # @!method initialize(attribute: nil, operation: nil, value: nil)
113
+ # Some parameter documentations has been truncated, see
114
+ # {Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition}
115
+ # for more details.
116
+ #
117
+ # @param attribute [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute] The attribute to target.
118
+ #
119
+ # @param operation [Symbol, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Operation] The operation to apply to the attribute
120
+ #
121
+ # @param value [String, Integer, Array<String>] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
122
+
123
+ # The attribute to target.
124
+ #
125
+ # The following attributes may be targeted:
126
+ #
127
+ # - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify a
128
+ # business by the types of goods or services it provides.
129
+ # - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all
130
+ # ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for
131
+ # Netherlands Antilles.
132
+ # - `CURRENCY`: 3-character alphabetic ISO 4217 code for the merchant currency of
133
+ # the transaction.
134
+ # - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor
135
+ # (merchant).
136
+ # - `DESCRIPTOR`: Short description of card acceptor.
137
+ # - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the issuer
138
+ # applies to the transaction. Valid values are `NONE`, `3DS_AUTHENTICATED`, or
139
+ # `TOKEN_AUTHENTICATED`.
140
+ # - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account number
141
+ # (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, `CONTACTLESS`,
142
+ # `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, `KEY_ENTERED`,
143
+ # `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, `UNSPECIFIED`,
144
+ # `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`.
145
+ # - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer
146
+ # fee field in the settlement/cardholder billing currency. This is the amount
147
+ # the issuer should authorize against unless the issuer is paying the acquirer
148
+ # fee on behalf of the cardholder.
149
+ # - `CASH_AMOUNT`: The cash amount of the transaction in minor units (cents). This
150
+ # represents the amount of cash being withdrawn or advanced.
151
+ # - `RISK_SCORE`: Network-provided score assessing risk level associated with a
152
+ # given authorization. Scores are on a range of 0-999, with 0 representing the
153
+ # lowest risk and 999 representing the highest risk. For Visa transactions,
154
+ # where the raw score has a range of 0-99, Lithic will normalize the score by
155
+ # multiplying the raw score by 10x.
156
+ # - `CARD_TRANSACTION_COUNT_15M`: The number of transactions on the card in the
157
+ # trailing 15 minutes before the authorization.
158
+ # - `CARD_TRANSACTION_COUNT_1H`: The number of transactions on the card in the
159
+ # trailing hour up and until the authorization.
160
+ # - `CARD_TRANSACTION_COUNT_24H`: The number of transactions on the card in the
161
+ # trailing 24 hours up and until the authorization.
162
+ # - `CARD_STATE`: The current state of the card associated with the transaction.
163
+ # Valid values are `CLOSED`, `OPEN`, `PAUSED`, `PENDING_ACTIVATION`,
164
+ # `PENDING_FULFILLMENT`.
165
+ # - `PIN_ENTERED`: Indicates whether a PIN was entered during the transaction.
166
+ # Valid values are `TRUE`, `FALSE`.
167
+ # - `PIN_STATUS`: The current state of card's PIN. Valid values are `NOT_SET`,
168
+ # `OK`, `BLOCKED`.
169
+ # - `WALLET_TYPE`: For transactions using a digital wallet token, indicates the
170
+ # source of the token. Valid values are `APPLE_PAY`, `GOOGLE_PAY`,
171
+ # `SAMSUNG_PAY`, `MASTERPASS`, `MERCHANT`, `OTHER`, `NONE`.
172
+ # - `TRANSACTION_INITIATOR`: The entity that initiated the transaction indicates
173
+ # the source of the token. Valid values are `CARDHOLDER`, `MERCHANT`, `UNKNOWN`.
174
+ # - `ADDRESS_MATCH`: Lithic's evaluation result comparing transaction's address
175
+ # data with the cardholder KYC data if it exists. Valid values are `MATCH`,
176
+ # `MATCH_ADDRESS_ONLY`, `MATCH_ZIP_ONLY`,`MISMATCH`,`NOT_PRESENT`.
177
+ #
178
+ # @see Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition#attribute
179
+ module Attribute
180
+ extend Lithic::Internal::Type::Enum
181
+
182
+ MCC = :MCC
183
+ COUNTRY = :COUNTRY
184
+ CURRENCY = :CURRENCY
185
+ MERCHANT_ID = :MERCHANT_ID
186
+ DESCRIPTOR = :DESCRIPTOR
187
+ LIABILITY_SHIFT = :LIABILITY_SHIFT
188
+ PAN_ENTRY_MODE = :PAN_ENTRY_MODE
189
+ TRANSACTION_AMOUNT = :TRANSACTION_AMOUNT
190
+ CASH_AMOUNT = :CASH_AMOUNT
191
+ RISK_SCORE = :RISK_SCORE
192
+ CARD_TRANSACTION_COUNT_15_M = :CARD_TRANSACTION_COUNT_15M
193
+ CARD_TRANSACTION_COUNT_1_H = :CARD_TRANSACTION_COUNT_1H
194
+ CARD_TRANSACTION_COUNT_24_H = :CARD_TRANSACTION_COUNT_24H
195
+ CARD_STATE = :CARD_STATE
196
+ PIN_ENTERED = :PIN_ENTERED
197
+ PIN_STATUS = :PIN_STATUS
198
+ WALLET_TYPE = :WALLET_TYPE
199
+ TRANSACTION_INITIATOR = :TRANSACTION_INITIATOR
200
+ ADDRESS_MATCH = :ADDRESS_MATCH
201
+
202
+ # @!method self.values
203
+ # @return [Array<Symbol>]
204
+ end
205
+
206
+ # The operation to apply to the attribute
207
+ #
208
+ # @see Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition#operation
209
+ module Operation
210
+ extend Lithic::Internal::Type::Enum
211
+
212
+ IS_ONE_OF = :IS_ONE_OF
213
+ IS_NOT_ONE_OF = :IS_NOT_ONE_OF
214
+ MATCHES = :MATCHES
215
+ DOES_NOT_MATCH = :DOES_NOT_MATCH
216
+ IS_EQUAL_TO = :IS_EQUAL_TO
217
+ IS_NOT_EQUAL_TO = :IS_NOT_EQUAL_TO
218
+ IS_GREATER_THAN = :IS_GREATER_THAN
219
+ IS_GREATER_THAN_OR_EQUAL_TO = :IS_GREATER_THAN_OR_EQUAL_TO
220
+ IS_LESS_THAN = :IS_LESS_THAN
221
+ IS_LESS_THAN_OR_EQUAL_TO = :IS_LESS_THAN_OR_EQUAL_TO
222
+
223
+ # @!method self.values
224
+ # @return [Array<Symbol>]
225
+ end
226
+
227
+ # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
228
+ #
229
+ # @see Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition#value
230
+ module Value
231
+ extend Lithic::Internal::Type::Union
232
+
233
+ # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
234
+ variant String
235
+
236
+ # A number, to be used with `IS_GREATER_THAN`, `IS_GREATER_THAN_OR_EQUAL_TO`, `IS_LESS_THAN`, `IS_LESS_THAN_OR_EQUAL_TO`, `IS_EQUAL_TO`, or `IS_NOT_EQUAL_TO`
237
+ variant Integer
238
+
239
+ # An array of strings, to be used with `IS_ONE_OF` or `IS_NOT_ONE_OF`
240
+ variant -> { Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Value::StringArray }
241
+
242
+ # @!method self.variants
243
+ # @return [Array(String, Integer, Array<String>)]
244
+
245
+ # @type [Lithic::Internal::Type::Converter]
246
+ StringArray = Lithic::Internal::Type::ArrayOf[String]
247
+ end
248
+ end
249
+ end
250
+ end
251
+ end
252
+ end