lithic 0.21.0 → 0.23.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 (235) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +50 -0
  3. data/README.md +1 -10
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/internal/type/union.rb +21 -7
  6. data/lib/lithic/models/account_activity_list_params.rb +1 -0
  7. data/lib/lithic/models/account_activity_list_response.rb +2 -24
  8. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +2 -24
  9. data/lib/lithic/models/account_holder_create_params.rb +4 -2
  10. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +120 -66
  11. data/lib/lithic/models/account_holder_update_params.rb +6 -3
  12. data/lib/lithic/models/account_holder_update_response.rb +156 -86
  13. data/lib/lithic/models/account_holder_updated_webhook_event.rb +120 -66
  14. data/lib/lithic/models/account_holders/account_holder_entity.rb +35 -19
  15. data/lib/lithic/models/account_holders/entity_create_params.rb +39 -21
  16. data/lib/lithic/models/address.rb +33 -19
  17. data/lib/lithic/models/address_update.rb +27 -11
  18. data/lib/lithic/models/auth_rules/auth_rule.rb +55 -27
  19. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +189 -6
  20. data/lib/lithic/models/auth_rules/auth_rule_entities.rb +47 -0
  21. data/lib/lithic/models/auth_rules/auth_rule_entities_response.rb +31 -0
  22. data/lib/lithic/models/auth_rules/auth_rule_entity.rb +150 -0
  23. data/lib/lithic/models/auth_rules/auth_rule_version.rb +3 -6
  24. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +33 -6
  25. data/lib/lithic/models/auth_rules/conditional_attribute.rb +101 -5
  26. data/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb +3 -439
  27. data/lib/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rb +7 -0
  28. data/lib/lithic/models/auth_rules/merchant_lock_parameters.rb +11 -1
  29. data/lib/lithic/models/auth_rules/v2_create_params.rb +203 -45
  30. data/lib/lithic/models/auth_rules/v2_draft_params.rb +3 -6
  31. data/lib/lithic/models/auth_rules/v2_list_params.rb +5 -3
  32. data/lib/lithic/models/auth_rules/v2_update_entities_params.rb +39 -0
  33. data/lib/lithic/models/auth_rules/v2_update_params.rb +133 -12
  34. data/lib/lithic/models/book_transfer_create_params.rb +1 -0
  35. data/lib/lithic/models/book_transfer_response.rb +1 -0
  36. data/lib/lithic/models/card_authorization.rb +12 -1
  37. data/lib/lithic/models/card_create_params.rb +11 -1
  38. data/lib/lithic/models/card_update_params.rb +12 -1
  39. data/lib/lithic/models/cards/financial_transaction_list_params.rb +9 -1
  40. data/lib/lithic/models/claim_created_webhook_event.rb +15 -1
  41. data/lib/lithic/models/claim_updated_webhook_event.rb +15 -1
  42. data/lib/lithic/models/financial_account_balance.rb +6 -6
  43. data/lib/lithic/models/financial_accounts/credit_configuration_update_params.rb +9 -2
  44. data/lib/lithic/models/financial_accounts/financial_transaction_list_params.rb +9 -1
  45. data/lib/lithic/models/financial_accounts/installment_plans/installment_plan_statement.rb +279 -0
  46. data/lib/lithic/models/financial_accounts/installment_plans/statement_list_params.rb +106 -0
  47. data/lib/lithic/models/financial_accounts/installment_plans/statement_retrieve_params.rb +42 -0
  48. data/lib/lithic/models/financial_accounts/interest_tier_schedule.rb +6 -6
  49. data/lib/lithic/models/financial_accounts/interest_tier_schedule_update_params.rb +6 -6
  50. data/lib/lithic/models/financial_accounts/loan_tape.rb +71 -2
  51. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +5 -0
  52. data/lib/lithic/models/financial_event.rb +4 -0
  53. data/lib/lithic/models/funding_event_list_params.rb +28 -1
  54. data/lib/lithic/models/hold.rb +24 -28
  55. data/lib/lithic/models/ip_range_retrieve_params.rb +14 -0
  56. data/lib/lithic/models/ip_range_retrieve_response.rb +25 -0
  57. data/lib/lithic/models/kyb.rb +4 -2
  58. data/lib/lithic/models/kyb_business_entity.rb +35 -19
  59. data/lib/lithic/models/kyc.rb +2 -1
  60. data/lib/lithic/models/non_pci_card.rb +11 -1
  61. data/lib/lithic/models/parsed_webhook_event.rb +120 -66
  62. data/lib/lithic/models/payment.rb +3 -1
  63. data/lib/lithic/models/transaction.rb +11 -4
  64. data/lib/lithic/models/transaction_simulate_authorization_params.rb +28 -4
  65. data/lib/lithic/models/transaction_simulate_credit_authorization_advice_params.rb +11 -1
  66. data/lib/lithic/models/transaction_simulate_return_params.rb +24 -1
  67. data/lib/lithic/models/transactions/events/enhanced_data.rb +27 -3
  68. data/lib/lithic/models/transfer_limits_response.rb +9 -1
  69. data/lib/lithic/models.rb +2 -0
  70. data/lib/lithic/resources/auth_rules/v2/backtests.rb +8 -8
  71. data/lib/lithic/resources/auth_rules/v2.rb +44 -8
  72. data/lib/lithic/resources/cards/financial_transactions.rb +5 -3
  73. data/lib/lithic/resources/cards.rb +6 -2
  74. data/lib/lithic/resources/financial_accounts/credit_configuration.rb +9 -2
  75. data/lib/lithic/resources/financial_accounts/financial_transactions.rb +5 -3
  76. data/lib/lithic/resources/financial_accounts/installment_plans/statements.rb +107 -0
  77. data/lib/lithic/resources/financial_accounts/installment_plans.rb +4 -0
  78. data/lib/lithic/resources/financial_accounts/interest_tier_schedule.rb +6 -6
  79. data/lib/lithic/resources/funding_events.rb +8 -2
  80. data/lib/lithic/resources/ip_ranges.rb +36 -0
  81. data/lib/lithic/resources/transactions.rb +17 -4
  82. data/lib/lithic/resources/webhooks.rb +20 -0
  83. data/lib/lithic/version.rb +1 -1
  84. data/lib/lithic.rb +11 -1
  85. data/rbi/lithic/client.rbi +3 -0
  86. data/rbi/lithic/models/account_activity_list_params.rbi +5 -0
  87. data/rbi/lithic/models/account_activity_list_response.rbi +6 -75
  88. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +6 -75
  89. data/rbi/lithic/models/account_holder_create_params.rbi +8 -4
  90. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +195 -90
  91. data/rbi/lithic/models/account_holder_update_params.rbi +12 -6
  92. data/rbi/lithic/models/account_holder_update_response.rbi +254 -117
  93. data/rbi/lithic/models/account_holder_updated_webhook_event.rbi +195 -90
  94. data/rbi/lithic/models/account_holders/account_holder_entity.rbi +59 -27
  95. data/rbi/lithic/models/account_holders/entity_create_params.rbi +65 -30
  96. data/rbi/lithic/models/address.rbi +57 -29
  97. data/rbi/lithic/models/address_update.rbi +50 -24
  98. data/rbi/lithic/models/auth_rules/auth_rule.rbi +53 -19
  99. data/rbi/lithic/models/auth_rules/auth_rule_condition.rbi +442 -13
  100. data/rbi/lithic/models/auth_rules/auth_rule_entities.rbi +163 -0
  101. data/rbi/lithic/models/auth_rules/auth_rule_entities_response.rbi +72 -0
  102. data/rbi/lithic/models/auth_rules/auth_rule_entity.rbi +199 -0
  103. data/rbi/lithic/models/auth_rules/auth_rule_version.rbi +0 -2
  104. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +67 -9
  105. data/rbi/lithic/models/auth_rules/conditional_attribute.rbi +193 -5
  106. data/rbi/lithic/models/auth_rules/conditional_authorization_action_parameters.rbi +3 -939
  107. data/rbi/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbi +14 -0
  108. data/rbi/lithic/models/auth_rules/merchant_lock_parameters.rbi +14 -3
  109. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +325 -50
  110. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +0 -4
  111. data/rbi/lithic/models/auth_rules/v2_list_params.rbi +6 -3
  112. data/rbi/lithic/models/auth_rules/v2_update_entities_params.rbi +68 -0
  113. data/rbi/lithic/models/auth_rules/v2_update_params.rbi +198 -5
  114. data/rbi/lithic/models/book_transfer_create_params.rbi +5 -0
  115. data/rbi/lithic/models/book_transfer_response.rbi +5 -0
  116. data/rbi/lithic/models/card_authorization.rbi +14 -0
  117. data/rbi/lithic/models/card_create_params.rbi +15 -0
  118. data/rbi/lithic/models/card_update_params.rbi +17 -0
  119. data/rbi/lithic/models/cards/financial_transaction_list_params.rbi +11 -0
  120. data/rbi/lithic/models/claim_created_webhook_event.rbi +14 -0
  121. data/rbi/lithic/models/claim_updated_webhook_event.rbi +14 -0
  122. data/rbi/lithic/models/financial_account_balance.rbi +6 -6
  123. data/rbi/lithic/models/financial_accounts/credit_configuration_update_params.rbi +8 -2
  124. data/rbi/lithic/models/financial_accounts/financial_transaction_list_params.rbi +11 -0
  125. data/rbi/lithic/models/financial_accounts/installment_plans/installment_plan_statement.rbi +452 -0
  126. data/rbi/lithic/models/financial_accounts/installment_plans/statement_list_params.rbi +191 -0
  127. data/rbi/lithic/models/financial_accounts/installment_plans/statement_retrieve_params.rbi +66 -0
  128. data/rbi/lithic/models/financial_accounts/interest_tier_schedule.rbi +9 -18
  129. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbi +9 -18
  130. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +143 -3
  131. data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +25 -0
  132. data/rbi/lithic/models/financial_event.rbi +17 -0
  133. data/rbi/lithic/models/funding_event_list_params.rbi +39 -0
  134. data/rbi/lithic/models/hold.rbi +28 -29
  135. data/rbi/lithic/models/ip_range_retrieve_params.rbi +27 -0
  136. data/rbi/lithic/models/ip_range_retrieve_response.rbi +40 -0
  137. data/rbi/lithic/models/kyb.rbi +8 -4
  138. data/rbi/lithic/models/kyb_business_entity.rbi +59 -27
  139. data/rbi/lithic/models/kyc.rbi +4 -2
  140. data/rbi/lithic/models/non_pci_card.rbi +12 -0
  141. data/rbi/lithic/models/parsed_webhook_event.rbi +195 -90
  142. data/rbi/lithic/models/payment.rbi +5 -2
  143. data/rbi/lithic/models/transaction.rbi +15 -6
  144. data/rbi/lithic/models/transaction_simulate_authorization_params.rbi +42 -4
  145. data/rbi/lithic/models/transaction_simulate_credit_authorization_advice_params.rbi +15 -0
  146. data/rbi/lithic/models/transaction_simulate_return_params.rbi +30 -0
  147. data/rbi/lithic/models/transactions/events/enhanced_data.rbi +25 -5
  148. data/rbi/lithic/models/transfer_limits_response.rbi +8 -0
  149. data/rbi/lithic/models.rbi +2 -0
  150. data/rbi/lithic/resources/account_holders/entities.rbi +2 -1
  151. data/rbi/lithic/resources/auth_rules/v2/backtests.rbi +8 -8
  152. data/rbi/lithic/resources/auth_rules/v2.rbi +43 -8
  153. data/rbi/lithic/resources/cards/financial_transactions.rbi +4 -1
  154. data/rbi/lithic/resources/cards.rbi +11 -0
  155. data/rbi/lithic/resources/financial_accounts/credit_configuration.rbi +8 -2
  156. data/rbi/lithic/resources/financial_accounts/financial_transactions.rbi +4 -1
  157. data/rbi/lithic/resources/financial_accounts/installment_plans/statements.rbi +86 -0
  158. data/rbi/lithic/resources/financial_accounts/installment_plans.rbi +7 -0
  159. data/rbi/lithic/resources/financial_accounts/interest_tier_schedule.rbi +6 -6
  160. data/rbi/lithic/resources/funding_events.rbi +12 -0
  161. data/rbi/lithic/resources/ip_ranges.rbi +25 -0
  162. data/rbi/lithic/resources/transactions.rbi +31 -2
  163. data/sig/lithic/client.rbs +2 -0
  164. data/sig/lithic/models/account_activity_list_params.rbs +2 -0
  165. data/sig/lithic/models/account_activity_list_response.rbs +3 -32
  166. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +3 -32
  167. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +39 -39
  168. data/sig/lithic/models/account_holder_update_response.rbs +52 -52
  169. data/sig/lithic/models/account_holder_updated_webhook_event.rbs +39 -39
  170. data/sig/lithic/models/account_holders/account_holder_entity.rbs +13 -13
  171. data/sig/lithic/models/account_holders/entity_create_params.rbs +13 -13
  172. data/sig/lithic/models/address.rbs +13 -13
  173. data/sig/lithic/models/address_update.rbs +8 -12
  174. data/sig/lithic/models/auth_rules/auth_rule.rbs +8 -7
  175. data/sig/lithic/models/auth_rules/auth_rule_condition.rbs +89 -3
  176. data/sig/lithic/models/auth_rules/auth_rule_entities.rbs +37 -0
  177. data/sig/lithic/models/auth_rules/auth_rule_entities_response.rbs +29 -0
  178. data/sig/lithic/models/auth_rules/auth_rule_entity.rbs +80 -0
  179. data/sig/lithic/models/auth_rules/auth_rule_version.rbs +1 -2
  180. data/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs +10 -0
  181. data/sig/lithic/models/auth_rules/conditional_attribute.rbs +46 -0
  182. data/sig/lithic/models/auth_rules/conditional_authorization_action_parameters.rbs +4 -204
  183. data/sig/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbs +2 -0
  184. data/sig/lithic/models/auth_rules/merchant_lock_parameters.rbs +10 -3
  185. data/sig/lithic/models/auth_rules/v2_create_params.rbs +86 -16
  186. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +1 -2
  187. data/sig/lithic/models/auth_rules/v2_update_entities_params.rbs +46 -0
  188. data/sig/lithic/models/auth_rules/v2_update_params.rbs +47 -1
  189. data/sig/lithic/models/book_transfer_create_params.rbs +2 -0
  190. data/sig/lithic/models/book_transfer_response.rbs +2 -0
  191. data/sig/lithic/models/card_authorization.rbs +13 -1
  192. data/sig/lithic/models/card_create_params.rbs +7 -0
  193. data/sig/lithic/models/card_update_params.rbs +8 -1
  194. data/sig/lithic/models/cards/financial_transaction_list_params.rbs +7 -0
  195. data/sig/lithic/models/claim_created_webhook_event.rbs +5 -0
  196. data/sig/lithic/models/claim_updated_webhook_event.rbs +5 -0
  197. data/sig/lithic/models/financial_account_balance.rbs +8 -8
  198. data/sig/lithic/models/financial_accounts/financial_transaction_list_params.rbs +7 -0
  199. data/sig/lithic/models/financial_accounts/installment_plans/installment_plan_statement.rbs +191 -0
  200. data/sig/lithic/models/financial_accounts/installment_plans/statement_list_params.rbs +90 -0
  201. data/sig/lithic/models/financial_accounts/installment_plans/statement_retrieve_params.rbs +40 -0
  202. data/sig/lithic/models/financial_accounts/interest_tier_schedule.rbs +12 -18
  203. data/sig/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbs +12 -18
  204. data/sig/lithic/models/financial_accounts/loan_tape.rbs +55 -3
  205. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +10 -0
  206. data/sig/lithic/models/financial_event.rbs +8 -0
  207. data/sig/lithic/models/funding_event_list_params.rbs +26 -1
  208. data/sig/lithic/models/hold.rbs +22 -30
  209. data/sig/lithic/models/ip_range_retrieve_params.rbs +15 -0
  210. data/sig/lithic/models/ip_range_retrieve_response.rbs +16 -0
  211. data/sig/lithic/models/kyb_business_entity.rbs +13 -13
  212. data/sig/lithic/models/non_pci_card.rbs +5 -0
  213. data/sig/lithic/models/parsed_webhook_event.rbs +39 -39
  214. data/sig/lithic/models/payment.rbs +2 -0
  215. data/sig/lithic/models/transaction.rbs +12 -5
  216. data/sig/lithic/models/transaction_simulate_authorization_params.rbs +14 -0
  217. data/sig/lithic/models/transaction_simulate_credit_authorization_advice_params.rbs +7 -0
  218. data/sig/lithic/models/transaction_simulate_return_params.rbs +19 -1
  219. data/sig/lithic/models/transactions/events/enhanced_data.rbs +13 -3
  220. data/sig/lithic/models/transfer_limits_response.rbs +5 -0
  221. data/sig/lithic/models.rbs +2 -0
  222. data/sig/lithic/resources/auth_rules/v2.rbs +7 -0
  223. data/sig/lithic/resources/cards/financial_transactions.rbs +2 -1
  224. data/sig/lithic/resources/cards.rbs +2 -0
  225. data/sig/lithic/resources/financial_accounts/financial_transactions.rbs +2 -1
  226. data/sig/lithic/resources/financial_accounts/installment_plans/statements.rbs +30 -0
  227. data/sig/lithic/resources/financial_accounts/installment_plans.rbs +2 -0
  228. data/sig/lithic/resources/financial_accounts/interest_tier_schedule.rbs +6 -6
  229. data/sig/lithic/resources/funding_events.rbs +3 -0
  230. data/sig/lithic/resources/ip_ranges.rbs +11 -0
  231. data/sig/lithic/resources/transactions.rbs +5 -0
  232. metadata +36 -10
  233. data/lib/lithic/models/auth_rules/conditional_block_parameters.rb +0 -20
  234. data/rbi/lithic/models/auth_rules/conditional_block_parameters.rbi +0 -37
  235. data/sig/lithic/models/auth_rules/conditional_block_parameters.rbs +0 -20
@@ -28,6 +28,15 @@ module Lithic
28
28
  sig { returns(String) }
29
29
  attr_accessor :pan
30
30
 
31
+ # 3-character alphabetic ISO 4217 currency code for the cardholder billing amount.
32
+ # Permitted values are USD, GBP, EUR and CAD, and any other ISO 4217 code returns
33
+ # a 422. Defaults to USD
34
+ sig { returns(T.nilable(String)) }
35
+ attr_reader :billing_currency
36
+
37
+ sig { params(billing_currency: String).void }
38
+ attr_writer :billing_currency
39
+
31
40
  # Merchant category code for the transaction to be simulated. A four-digit number
32
41
  # listed in ISO 18245. Supported merchant category codes can be found
33
42
  # [here](https://docs.lithic.com/docs/transactions#merchant-category-codes-mccs).
@@ -70,6 +79,7 @@ module Lithic
70
79
  amount: Integer,
71
80
  descriptor: String,
72
81
  pan: String,
82
+ billing_currency: String,
73
83
  mcc: String,
74
84
  merchant_acceptor_city: String,
75
85
  merchant_acceptor_country: String,
@@ -87,6 +97,10 @@ module Lithic
87
97
  descriptor:,
88
98
  # Sixteen digit card number.
89
99
  pan:,
100
+ # 3-character alphabetic ISO 4217 currency code for the cardholder billing amount.
101
+ # Permitted values are USD, GBP, EUR and CAD, and any other ISO 4217 code returns
102
+ # a 422. Defaults to USD
103
+ billing_currency: nil,
90
104
  # Merchant category code for the transaction to be simulated. A four-digit number
91
105
  # listed in ISO 18245. Supported merchant category codes can be found
92
106
  # [here](https://docs.lithic.com/docs/transactions#merchant-category-codes-mccs).
@@ -109,6 +123,7 @@ module Lithic
109
123
  amount: Integer,
110
124
  descriptor: String,
111
125
  pan: String,
126
+ billing_currency: String,
112
127
  mcc: String,
113
128
  merchant_acceptor_city: String,
114
129
  merchant_acceptor_country: String,
@@ -26,11 +26,31 @@ module Lithic
26
26
  sig { returns(String) }
27
27
  attr_accessor :pan
28
28
 
29
+ # 3-character alphabetic ISO 4217 currency code for the cardholder billing amount.
30
+ # Permitted values are USD, GBP, EUR and CAD, and any other ISO 4217 code returns
31
+ # a 422. Defaults to USD
32
+ sig { returns(T.nilable(String)) }
33
+ attr_reader :billing_currency
34
+
35
+ sig { params(billing_currency: String).void }
36
+ attr_writer :billing_currency
37
+
38
+ # 3-character alphabetic ISO 4217 currency code for the settlement amount.
39
+ # Permitted values are USD, GBP, EUR and CAD, and any other ISO 4217 code returns
40
+ # a 422. Defaults to the value of billing_currency
41
+ sig { returns(T.nilable(String)) }
42
+ attr_reader :settlement_currency
43
+
44
+ sig { params(settlement_currency: String).void }
45
+ attr_writer :settlement_currency
46
+
29
47
  sig do
30
48
  params(
31
49
  amount: Integer,
32
50
  descriptor: String,
33
51
  pan: String,
52
+ billing_currency: String,
53
+ settlement_currency: String,
34
54
  request_options: Lithic::RequestOptions::OrHash
35
55
  ).returns(T.attached_class)
36
56
  end
@@ -41,6 +61,14 @@ module Lithic
41
61
  descriptor:,
42
62
  # Sixteen digit card number.
43
63
  pan:,
64
+ # 3-character alphabetic ISO 4217 currency code for the cardholder billing amount.
65
+ # Permitted values are USD, GBP, EUR and CAD, and any other ISO 4217 code returns
66
+ # a 422. Defaults to USD
67
+ billing_currency: nil,
68
+ # 3-character alphabetic ISO 4217 currency code for the settlement amount.
69
+ # Permitted values are USD, GBP, EUR and CAD, and any other ISO 4217 code returns
70
+ # a 422. Defaults to the value of billing_currency
71
+ settlement_currency: nil,
44
72
  request_options: {}
45
73
  )
46
74
  end
@@ -51,6 +79,8 @@ module Lithic
51
79
  amount: Integer,
52
80
  descriptor: String,
53
81
  pan: String,
82
+ billing_currency: String,
83
+ settlement_currency: String,
54
84
  request_options: Lithic::RequestOptions
55
85
  }
56
86
  )
@@ -174,7 +174,8 @@ module Lithic
174
174
  )
175
175
  end
176
176
 
177
- # The price of the item purchased in merchant currency.
177
+ # Deprecated: Use unit_amount instead. The price of the item purchased in merchant
178
+ # currency.
178
179
  sig { returns(T.nilable(String)) }
179
180
  attr_accessor :amount
180
181
 
@@ -190,24 +191,41 @@ module Lithic
190
191
  sig { returns(T.nilable(String)) }
191
192
  attr_accessor :quantity
192
193
 
194
+ # The total cost for the line item in merchant currency, covering all units
195
+ # purchased.
196
+ sig { returns(T.nilable(String)) }
197
+ attr_accessor :total_amount
198
+
199
+ # The price per individual unit in merchant currency.
200
+ sig { returns(T.nilable(String)) }
201
+ attr_accessor :unit_amount
202
+
193
203
  # An L2/L3 enhanced commercial data line item.
194
204
  sig do
195
205
  params(
196
206
  amount: T.nilable(String),
197
207
  description: T.nilable(String),
198
208
  product_code: T.nilable(String),
199
- quantity: T.nilable(String)
209
+ quantity: T.nilable(String),
210
+ total_amount: T.nilable(String),
211
+ unit_amount: T.nilable(String)
200
212
  ).returns(T.attached_class)
201
213
  end
202
214
  def self.new(
203
- # The price of the item purchased in merchant currency.
215
+ # Deprecated: Use unit_amount instead. The price of the item purchased in merchant
216
+ # currency.
204
217
  amount: nil,
205
218
  # A human-readable description of the item.
206
219
  description: nil,
207
220
  # An identifier for the item purchased.
208
221
  product_code: nil,
209
222
  # The quantity of the item purchased.
210
- quantity: nil
223
+ quantity: nil,
224
+ # The total cost for the line item in merchant currency, covering all units
225
+ # purchased.
226
+ total_amount: nil,
227
+ # The price per individual unit in merchant currency.
228
+ unit_amount: nil
211
229
  )
212
230
  end
213
231
 
@@ -217,7 +235,9 @@ module Lithic
217
235
  amount: T.nilable(String),
218
236
  description: T.nilable(String),
219
237
  product_code: T.nilable(String),
220
- quantity: T.nilable(String)
238
+ quantity: T.nilable(String),
239
+ total_amount: T.nilable(String),
240
+ unit_amount: T.nilable(String)
221
241
  }
222
242
  )
223
243
  end
@@ -70,6 +70,10 @@ module Lithic
70
70
  sig { returns(Date) }
71
71
  attr_accessor :date
72
72
 
73
+ # Financial entity ID the limits are scoped to
74
+ sig { returns(String) }
75
+ attr_accessor :financial_entity_id
76
+
73
77
  # Whether the company is a FBO; based on the company ID prefix
74
78
  sig { returns(T::Boolean) }
75
79
  attr_accessor :is_fbo
@@ -108,6 +112,7 @@ module Lithic
108
112
  daily_limit:
109
113
  Lithic::TransferLimitsResponse::Data::DailyLimit::OrHash,
110
114
  date: Date,
115
+ financial_entity_id: String,
111
116
  is_fbo: T::Boolean,
112
117
  monthly_limit:
113
118
  Lithic::TransferLimitsResponse::Data::MonthlyLimit::OrHash,
@@ -122,6 +127,8 @@ module Lithic
122
127
  daily_limit:,
123
128
  # The date for the limit view (ISO format)
124
129
  date:,
130
+ # Financial entity ID the limits are scoped to
131
+ financial_entity_id:,
125
132
  # Whether the company is a FBO; based on the company ID prefix
126
133
  is_fbo:,
127
134
  # Monthly limits with progress
@@ -137,6 +144,7 @@ module Lithic
137
144
  company_id: String,
138
145
  daily_limit: Lithic::TransferLimitsResponse::Data::DailyLimit,
139
146
  date: Date,
147
+ financial_entity_id: String,
140
148
  is_fbo: T::Boolean,
141
149
  monthly_limit: Lithic::TransferLimitsResponse::Data::MonthlyLimit,
142
150
  program_limit_per_transaction:
@@ -438,6 +438,8 @@ module Lithic
438
438
  InternalTransactionUpdatedWebhookEvent =
439
439
  Lithic::Models::InternalTransactionUpdatedWebhookEvent
440
440
 
441
+ IPRangeRetrieveParams = Lithic::Models::IPRangeRetrieveParams
442
+
441
443
  KYB = Lithic::Models::KYB
442
444
 
443
445
  KYBBusinessEntity = Lithic::Models::KYBBusinessEntity
@@ -28,7 +28,8 @@ module Lithic
28
28
  # Globally unique identifier for the account holder.
29
29
  account_holder_token,
30
30
  # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
31
- # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
31
+ # acceptable; APO/FPO are acceptable. Only USA addresses are supported for the KYB
32
+ # and KYC workflows.
32
33
  address:,
33
34
  # Individual's date of birth, as an RFC 3339 date.
34
35
  dob:,
@@ -22,14 +22,14 @@ module Lithic
22
22
  # `/v2/auth_rules/{auth_rule_token}/backtests/{auth_rule_backtest_token}`
23
23
  # endpoint.
24
24
  #
25
- # Lithic currently supports backtesting for `CONDITIONAL_BLOCK` /
26
- # `CONDITIONAL_ACTION` rules. Backtesting for `VELOCITY_LIMIT` rules is generally
27
- # not supported. In specific cases (i.e. where Lithic has pre-calculated the
28
- # requested velocity metrics for historical transactions), a backtest may be
29
- # feasible. However, such cases are uncommon and customers should not anticipate
30
- # support for velocity backtests under most configurations. If a historical
31
- # transaction does not feature the required inputs to evaluate the rule, then it
32
- # will not be included in the final backtest report.
25
+ # Lithic currently supports backtesting for `CONDITIONAL_ACTION` rules.
26
+ # Backtesting for `VELOCITY_LIMIT` rules is generally not supported. In specific
27
+ # cases (i.e. where Lithic has pre-calculated the requested velocity metrics for
28
+ # historical transactions), a backtest may be feasible. However, such cases are
29
+ # uncommon and customers should not anticipate support for velocity backtests
30
+ # under most configurations. If a historical transaction does not feature the
31
+ # required inputs to evaluate the rule, then it will not be included in the final
32
+ # backtest report.
33
33
  sig do
34
34
  params(
35
35
  auth_rule_token: String,
@@ -12,6 +12,7 @@ module Lithic
12
12
  params(
13
13
  body:
14
14
  T.any(
15
+ Lithic::AuthRules::V2CreateParams::Body::Rule::OrHash,
15
16
  Lithic::AuthRules::V2CreateParams::Body::AccountLevelRule::OrHash,
16
17
  Lithic::AuthRules::V2CreateParams::Body::CardLevelRule::OrHash,
17
18
  Lithic::AuthRules::V2CreateParams::Body::ProgramLevelRule::OrHash
@@ -19,7 +20,11 @@ module Lithic
19
20
  request_options: Lithic::RequestOptions::OrHash
20
21
  ).returns(Lithic::AuthRules::AuthRule)
21
22
  end
22
- def create(body:, request_options: {})
23
+ def create(
24
+ # Deprecated: Use `entities` instead. Cannot be combined with `entities`.
25
+ body:,
26
+ request_options: {}
27
+ )
23
28
  end
24
29
 
25
30
  # Fetches a V2 Auth rule by its token
@@ -34,14 +39,15 @@ module Lithic
34
39
 
35
40
  # Updates a V2 Auth rule's properties
36
41
  #
37
- # If `account_tokens`, `card_tokens`, `program_level`, `excluded_card_tokens`,
38
- # `excluded_account_tokens`, or `excluded_business_account_tokens` is provided,
39
- # this will replace existing associations with the provided list of entities.
42
+ # If `entities` is provided, this will replace the rule's existing entities with
43
+ # the provided `include` and `exclude` lists. To change entities incrementally,
44
+ # use `PATCH /v2/auth_rules/{auth_rule_token}/entities` instead.
40
45
  sig do
41
46
  params(
42
47
  auth_rule_token: String,
43
48
  body:
44
49
  T.any(
50
+ Lithic::AuthRules::V2UpdateParams::Body::Rule::OrHash,
45
51
  Lithic::AuthRules::V2UpdateParams::Body::AccountLevelRule::OrHash,
46
52
  Lithic::AuthRules::V2UpdateParams::Body::CardLevelRule::OrHash,
47
53
  Lithic::AuthRules::V2UpdateParams::Body::ProgramLevelRule::OrHash
@@ -49,7 +55,13 @@ module Lithic
49
55
  request_options: Lithic::RequestOptions::OrHash
50
56
  ).returns(Lithic::AuthRules::AuthRule)
51
57
  end
52
- def update(auth_rule_token, body:, request_options: {})
58
+ def update(
59
+ auth_rule_token,
60
+ # Replaces the rule's existing entities with the provided `include` and `exclude`
61
+ # lists. A missing list is treated as empty, so `include` must always be provided.
62
+ body:,
63
+ request_options: {}
64
+ )
53
65
  end
54
66
 
55
67
  # Lists V2 Auth rules
@@ -86,7 +98,8 @@ module Lithic
86
98
  event_streams: nil,
87
99
  # Page size (for pagination).
88
100
  page_size: nil,
89
- # Only return Auth Rules that are bound to the provided scope.
101
+ # Only return Auth Rules that are bound to the provided scope. When no token is
102
+ # provided, `CARD` also returns Auth Rules that include a `CARD_TAG` entity.
90
103
  scope: nil,
91
104
  # A cursor representing an item's token after which a page of results should
92
105
  # begin. Used to retrieve the next page of results after this item.
@@ -115,7 +128,6 @@ module Lithic
115
128
  parameters:
116
129
  T.nilable(
117
130
  T.any(
118
- Lithic::AuthRules::ConditionalBlockParameters::OrHash,
119
131
  Lithic::AuthRules::VelocityLimitParams::OrHash,
120
132
  Lithic::AuthRules::MerchantLockParameters::OrHash,
121
133
  Lithic::AuthRules::Conditional3DSActionParameters::OrHash,
@@ -218,7 +230,7 @@ module Lithic
218
230
  # - VelocityLimit Rules calculates the current Velocity Feature data. This
219
231
  # requires a `card_token` or `account_token` matching what the rule is Scoped
220
232
  # to.
221
- # - ConditionalBlock Rules calculates the CARD*TRANSACTION_COUNT*\* attributes on
233
+ # - ConditionalAction Rules calculates the CARD*TRANSACTION_COUNT*\* attributes on
222
234
  # the rule. This requires a `card_token`
223
235
  sig do
224
236
  params(
@@ -267,6 +279,29 @@ module Lithic
267
279
  )
268
280
  end
269
281
 
282
+ # Adds entities to and removes entities from a V2 Auth rule's `include` and
283
+ # `exclude` lists
284
+ #
285
+ # To replace all of the rule's entities at once, provide `entities` to
286
+ # `PATCH /v2/auth_rules/{auth_rule_token}` instead.
287
+ sig do
288
+ params(
289
+ auth_rule_token: String,
290
+ add: Lithic::AuthRules::AuthRuleEntities::OrHash,
291
+ remove: Lithic::AuthRules::AuthRuleEntities::OrHash,
292
+ request_options: Lithic::RequestOptions::OrHash
293
+ ).returns(Lithic::AuthRules::AuthRule)
294
+ end
295
+ def update_entities(
296
+ auth_rule_token,
297
+ # Entities to add to the rule's `include` and `exclude` lists
298
+ add: nil,
299
+ # Entities to remove from the rule's `include` and `exclude` lists
300
+ remove: nil,
301
+ request_options: {}
302
+ )
303
+ end
304
+
270
305
  # @api private
271
306
  sig { params(client: Lithic::Client).returns(T.attached_class) }
272
307
  def self.new(client:)
@@ -29,13 +29,14 @@ module Lithic
29
29
  Lithic::Cards::FinancialTransactionListParams::Category::OrSymbol,
30
30
  end_: Time,
31
31
  ending_before: String,
32
+ page_size: Integer,
32
33
  result:
33
34
  Lithic::Cards::FinancialTransactionListParams::Result::OrSymbol,
34
35
  starting_after: String,
35
36
  status:
36
37
  Lithic::Cards::FinancialTransactionListParams::Status::OrSymbol,
37
38
  request_options: Lithic::RequestOptions::OrHash
38
- ).returns(Lithic::Internal::SinglePage[Lithic::FinancialTransaction])
39
+ ).returns(Lithic::Internal::CursorPage[Lithic::FinancialTransaction])
39
40
  end
40
41
  def list(
41
42
  card_token,
@@ -50,6 +51,8 @@ module Lithic
50
51
  # A cursor representing an item's token before which a page of results should end.
51
52
  # Used to retrieve the previous page of results before this item.
52
53
  ending_before: nil,
54
+ # Page size (for pagination).
55
+ page_size: nil,
53
56
  # Financial Transaction result to be returned.
54
57
  result: nil,
55
58
  # A cursor representing an item's token after which a page of results should
@@ -34,6 +34,7 @@ module Lithic
34
34
  spend_limit: Integer,
35
35
  spend_limit_duration: Lithic::SpendLimitDuration::OrSymbol,
36
36
  state: Lithic::CardCreateParams::State::OrSymbol,
37
+ tags: T::Hash[Symbol, String],
37
38
  idempotency_key: String,
38
39
  request_options: Lithic::RequestOptions::OrHash
39
40
  ).returns(Lithic::Card)
@@ -184,6 +185,10 @@ module Lithic
184
185
  # - `PAUSED` - Card will decline authorizations, but can be resumed at a later
185
186
  # time.
186
187
  state: nil,
188
+ # Body param: Key-value pairs to tag the card with. A replacement card does not
189
+ # inherit tags from the card it replaces. A card can have at most 50 tags, with
190
+ # keys up to 40 characters and values up to 500 characters
191
+ tags: nil,
187
192
  # Header param: Idempotency key for the request
188
193
  idempotency_key: nil,
189
194
  request_options: {}
@@ -218,6 +223,7 @@ module Lithic
218
223
  spend_limit_duration: Lithic::SpendLimitDuration::OrSymbol,
219
224
  state: Lithic::CardUpdateParams::State::OrSymbol,
220
225
  substatus: Lithic::CardUpdateParams::Substatus::OrSymbol,
226
+ tags: T::Hash[Symbol, T.nilable(String)],
221
227
  request_options: Lithic::RequestOptions::OrHash
222
228
  ).returns(Lithic::Card)
223
229
  end
@@ -298,6 +304,11 @@ module Lithic
298
304
  # - `OTHER` - The reason for the status does not fall into any of the above
299
305
  # categories. A comment should be provided to specify the reason.
300
306
  substatus: nil,
307
+ # Key-value pairs to merge into the card's tags. Supplied keys are added or
308
+ # overwritten, a key with a `null` value is removed, and omitted keys remain
309
+ # unchanged. A card can have at most 50 tags, with keys up to 40 characters and
310
+ # values up to 500 characters
311
+ tags: nil,
301
312
  request_options: {}
302
313
  )
303
314
  end
@@ -18,7 +18,10 @@ module Lithic
18
18
  )
19
19
  end
20
20
 
21
- # Update an account's credit configuration
21
+ # Update an account's credit configuration. A credit product can only be attached
22
+ # while the financial account is in the `PENDING` state; once a credit product has
23
+ # been assigned the account transitions to `OPEN` and `credit_product_token` can
24
+ # no longer be changed
22
25
  sig do
23
26
  params(
24
27
  financial_account_token: String,
@@ -36,7 +39,10 @@ module Lithic
36
39
  financial_account_token,
37
40
  auto_collection_configuration: nil,
38
41
  credit_limit: nil,
39
- # Globally unique identifier for the credit product
42
+ # Globally unique identifier for the credit product. This can only be set while
43
+ # the financial account is in the `PENDING` state. Because assigning a credit
44
+ # product transitions the account to `OPEN`, a credit product can be attached only
45
+ # once; updating it on an account in any other state returns a `403`
40
46
  credit_product_token: nil,
41
47
  external_bank_account_token: nil,
42
48
  # Tier to assign to a financial account
@@ -30,13 +30,14 @@ module Lithic
30
30
  Lithic::FinancialAccounts::FinancialTransactionListParams::Category::OrSymbol,
31
31
  end_: Time,
32
32
  ending_before: String,
33
+ page_size: Integer,
33
34
  result:
34
35
  Lithic::FinancialAccounts::FinancialTransactionListParams::Result::OrSymbol,
35
36
  starting_after: String,
36
37
  status:
37
38
  Lithic::FinancialAccounts::FinancialTransactionListParams::Status::OrSymbol,
38
39
  request_options: Lithic::RequestOptions::OrHash
39
- ).returns(Lithic::Internal::SinglePage[Lithic::FinancialTransaction])
40
+ ).returns(Lithic::Internal::CursorPage[Lithic::FinancialTransaction])
40
41
  end
41
42
  def list(
42
43
  # Globally unique identifier for financial account.
@@ -52,6 +53,8 @@ module Lithic
52
53
  # A cursor representing an item's token before which a page of results should end.
53
54
  # Used to retrieve the previous page of results before this item.
54
55
  ending_before: nil,
56
+ # Page size (for pagination).
57
+ page_size: nil,
55
58
  # Financial Transaction result to be returned.
56
59
  result: nil,
57
60
  # A cursor representing an item's token after which a page of results should
@@ -0,0 +1,86 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Resources
5
+ class FinancialAccounts
6
+ class InstallmentPlans
7
+ class Statements
8
+ # Get a specific statement snapshot for a given installment plan.
9
+ sig do
10
+ params(
11
+ statement_token: String,
12
+ financial_account_token: String,
13
+ installment_plan_token: String,
14
+ request_options: Lithic::RequestOptions::OrHash
15
+ ).returns(
16
+ Lithic::FinancialAccounts::InstallmentPlans::InstallmentPlanStatement
17
+ )
18
+ end
19
+ def retrieve(
20
+ # Globally unique identifier for statement.
21
+ statement_token,
22
+ # Globally unique identifier for financial account.
23
+ financial_account_token:,
24
+ # Globally unique identifier for installment plan.
25
+ installment_plan_token:,
26
+ request_options: {}
27
+ )
28
+ end
29
+
30
+ # List the statement snapshots for a given installment plan.
31
+ sig do
32
+ params(
33
+ installment_plan_token: String,
34
+ financial_account_token: String,
35
+ begin_: Date,
36
+ end_: Date,
37
+ ending_before: String,
38
+ page_size: Integer,
39
+ starting_after: String,
40
+ state:
41
+ T.nilable(
42
+ Lithic::FinancialAccounts::InstallmentPlans::StatementListParams::State::OrSymbol
43
+ ),
44
+ request_options: Lithic::RequestOptions::OrHash
45
+ ).returns(
46
+ Lithic::Internal::CursorPage[
47
+ Lithic::FinancialAccounts::InstallmentPlans::InstallmentPlanStatement
48
+ ]
49
+ )
50
+ end
51
+ def list(
52
+ # Path param: Globally unique identifier for installment plan.
53
+ installment_plan_token,
54
+ # Path param: Globally unique identifier for financial account.
55
+ financial_account_token:,
56
+ # Query param: Date string in RFC 3339 format. Only entries created after the
57
+ # specified date will be included.
58
+ begin_: nil,
59
+ # Query param: Date string in RFC 3339 format. Only entries created before the
60
+ # specified date will be included.
61
+ end_: nil,
62
+ # Query param: A cursor representing an item's token before which a page of
63
+ # results should end. Used to retrieve the previous page of results before this
64
+ # item.
65
+ ending_before: nil,
66
+ # Query param: Page size (for pagination).
67
+ page_size: nil,
68
+ # Query param: A cursor representing an item's token after which a page of results
69
+ # should begin. Used to retrieve the next page of results after this item.
70
+ starting_after: nil,
71
+ # Query param: Only snapshots in which the plan was in this state will be
72
+ # included.
73
+ state: nil,
74
+ request_options: {}
75
+ )
76
+ end
77
+
78
+ # @api private
79
+ sig { params(client: Lithic::Client).returns(T.attached_class) }
80
+ def self.new(client:)
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
@@ -4,6 +4,13 @@ module Lithic
4
4
  module Resources
5
5
  class FinancialAccounts
6
6
  class InstallmentPlans
7
+ sig do
8
+ returns(
9
+ Lithic::Resources::FinancialAccounts::InstallmentPlans::Statements
10
+ )
11
+ end
12
+ attr_reader :statements
13
+
7
14
  # Get a specific installment plan for a given financial account.
8
15
  sig do
9
16
  params(
@@ -10,9 +10,9 @@ module Lithic
10
10
  financial_account_token: String,
11
11
  credit_product_token: String,
12
12
  effective_date: Date,
13
- penalty_rates: T.anything,
14
- tier_name: String,
15
- tier_rates: T.anything,
13
+ penalty_rates: T.nilable(T.anything),
14
+ tier_name: T.nilable(String),
15
+ tier_rates: T.nilable(T.anything),
16
16
  request_options: Lithic::RequestOptions::OrHash
17
17
  ).returns(
18
18
  Lithic::FinancialAccounts::FinancialAccountsInterestTierSchedule
@@ -60,9 +60,9 @@ module Lithic
60
60
  params(
61
61
  effective_date: Date,
62
62
  financial_account_token: String,
63
- penalty_rates: T.anything,
64
- tier_name: String,
65
- tier_rates: T.anything,
63
+ penalty_rates: T.nilable(T.anything),
64
+ tier_name: T.nilable(String),
65
+ tier_rates: T.nilable(T.anything),
66
66
  request_options: Lithic::RequestOptions::OrHash
67
67
  ).returns(
68
68
  Lithic::FinancialAccounts::FinancialAccountsInterestTierSchedule
@@ -20,16 +20,28 @@ module Lithic
20
20
  # Get all funding events for program
21
21
  sig do
22
22
  params(
23
+ begin_: Time,
24
+ end_: Time,
23
25
  ending_before: String,
26
+ network_settlement_date: Date,
24
27
  page_size: Integer,
25
28
  starting_after: String,
26
29
  request_options: Lithic::RequestOptions::OrHash
27
30
  ).returns(Lithic::Internal::CursorPage[Lithic::FundingEvent])
28
31
  end
29
32
  def list(
33
+ # Date string in RFC 3339 format. Only entries created after the specified time
34
+ # will be included. UTC time zone.
35
+ begin_: nil,
36
+ # Date string in RFC 3339 format. Only entries created before the specified time
37
+ # will be included. UTC time zone.
38
+ end_: nil,
30
39
  # A cursor representing an item's token before which a page of results should end.
31
40
  # Used to retrieve the previous page of results before this item.
32
41
  ending_before: nil,
42
+ # Only funding events with a settlement breakout for this network settlement date
43
+ # will be included.
44
+ network_settlement_date: nil,
33
45
  # Page size (for pagination).
34
46
  page_size: nil,
35
47
  # A cursor representing an item's token after which a page of results should
@@ -0,0 +1,25 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Resources
5
+ class IPRanges
6
+ # Returns the IP addresses Lithic sends responder requests from (Auth Stream
7
+ # Access, 3DS decisioning, and tokenization decisioning), so you can allowlist
8
+ # them in your firewall. Each environment returns its own set of addresses. Lithic
9
+ # announces new addresses at least 30 days before sending traffic from them. Event
10
+ # webhooks are not sent from these addresses
11
+ sig do
12
+ params(request_options: Lithic::RequestOptions::OrHash).returns(
13
+ Lithic::Models::IPRangeRetrieveResponse
14
+ )
15
+ end
16
+ def retrieve(request_options: {})
17
+ end
18
+
19
+ # @api private
20
+ sig { params(client: Lithic::Client).returns(T.attached_class) }
21
+ def self.new(client:)
22
+ end
23
+ end
24
+ end
25
+ end