lithic 0.4.0 → 0.6.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 (149) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +59 -0
  3. data/README.md +10 -1
  4. data/lib/lithic/internal/transport/pooled_net_requester.rb +1 -1
  5. data/lib/lithic/internal/util.rb +1 -1
  6. data/lib/lithic/models/account_holder.rb +14 -5
  7. data/lib/lithic/models/account_holder_create_params.rb +10 -1
  8. data/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb +1 -0
  9. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +14 -5
  10. data/lib/lithic/models/account_holder_update_params.rb +10 -1
  11. data/lib/lithic/models/account_holder_update_response.rb +14 -5
  12. data/lib/lithic/models/account_holder_updated_webhook_event.rb +10 -1
  13. data/lib/lithic/models/account_holders/account_holder_entity.rb +183 -0
  14. data/lib/lithic/models/account_holders/entity_create_params.rb +159 -0
  15. data/lib/lithic/models/account_holders/entity_create_response.rb +113 -0
  16. data/lib/lithic/models/account_holders/entity_delete_params.rb +22 -0
  17. data/lib/lithic/models/auth_rules/auth_rule.rb +6 -2
  18. data/lib/lithic/models/auth_rules/conditional_ach_action_parameters.rb +3 -3
  19. data/lib/lithic/models/auth_rules/conditional_block_parameters.rb +3 -0
  20. data/lib/lithic/models/auth_rules/conditional_tokenization_action_parameters.rb +47 -21
  21. data/lib/lithic/models/auth_rules/v2_create_params.rb +5 -2
  22. data/lib/lithic/models/auth_rules/v2_draft_params.rb +1 -0
  23. data/lib/lithic/models/auth_rules/v2_list_results_params.rb +70 -0
  24. data/lib/lithic/models/auth_rules/v2_list_results_response.rb +740 -0
  25. data/lib/lithic/models/book_transfer_create_params.rb +9 -1
  26. data/lib/lithic/models/card_authorization_approval_request_webhook_event.rb +178 -25
  27. data/lib/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rb +9 -9
  28. data/lib/lithic/models/financial_account.rb +1 -0
  29. data/lib/lithic/models/financial_account_update_status_params.rb +1 -0
  30. data/lib/lithic/models/financial_accounts/category_tier.rb +28 -0
  31. data/lib/lithic/models/financial_accounts/interest_tier_schedule.rb +50 -0
  32. data/lib/lithic/models/financial_accounts/interest_tier_schedule_create_params.rb +16 -0
  33. data/lib/lithic/models/financial_accounts/interest_tier_schedule_delete_params.rb +22 -0
  34. data/lib/lithic/models/financial_accounts/interest_tier_schedule_list_params.rb +40 -0
  35. data/lib/lithic/models/financial_accounts/interest_tier_schedule_retrieve_params.rb +22 -0
  36. data/lib/lithic/models/financial_accounts/interest_tier_schedule_update_params.rb +44 -0
  37. data/lib/lithic/models/financial_accounts/loan_tape.rb +1 -0
  38. data/lib/lithic/models/financial_accounts/loan_tape_configuration.rb +63 -0
  39. data/lib/lithic/models/financial_accounts/loan_tape_configuration_retrieve_params.rb +16 -0
  40. data/lib/lithic/models/financial_accounts/loan_tape_rebuild_configuration.rb +36 -0
  41. data/lib/lithic/models/financial_accounts/statement.rb +1 -0
  42. data/lib/lithic/models/kyb.rb +10 -1
  43. data/lib/lithic/models/parsed_webhook_event.rb +10 -1
  44. data/lib/lithic/models/{digital_wallet_token_metadata.rb → token_metadata.rb} +18 -19
  45. data/lib/lithic/models/tokenization_approval_request_webhook_event.rb +9 -9
  46. data/lib/lithic/models/tokenization_decisioning_request_webhook_event.rb +9 -9
  47. data/lib/lithic/models.rb +4 -2
  48. data/lib/lithic/resources/account_holders/entities.rb +89 -0
  49. data/lib/lithic/resources/account_holders.rb +10 -2
  50. data/lib/lithic/resources/auth_rules/v2.rb +42 -0
  51. data/lib/lithic/resources/book_transfers.rb +3 -1
  52. data/lib/lithic/resources/financial_accounts/interest_tier_schedule.rb +205 -0
  53. data/lib/lithic/resources/financial_accounts/loan_tape_configuration.rb +36 -0
  54. data/lib/lithic/resources/financial_accounts.rb +9 -0
  55. data/lib/lithic/version.rb +1 -1
  56. data/lib/lithic.rb +20 -1
  57. data/rbi/lithic/internal/util.rbi +1 -1
  58. data/rbi/lithic/models/account_holder.rbi +19 -6
  59. data/rbi/lithic/models/account_holder_create_params.rbi +13 -0
  60. data/rbi/lithic/models/account_holder_simulate_enrollment_review_params.rbi +5 -0
  61. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +19 -6
  62. data/rbi/lithic/models/account_holder_update_params.rbi +13 -0
  63. data/rbi/lithic/models/account_holder_update_response.rbi +19 -6
  64. data/rbi/lithic/models/account_holder_updated_webhook_event.rbi +13 -0
  65. data/rbi/lithic/models/account_holders/account_holder_entity.rbi +296 -0
  66. data/rbi/lithic/models/account_holders/entity_create_params.rbi +242 -0
  67. data/rbi/lithic/models/account_holders/entity_create_response.rbi +292 -0
  68. data/rbi/lithic/models/account_holders/entity_delete_params.rbi +43 -0
  69. data/rbi/lithic/models/auth_rules/auth_rule.rbi +6 -3
  70. data/rbi/lithic/models/auth_rules/conditional_ach_action_parameters.rbi +3 -3
  71. data/rbi/lithic/models/auth_rules/conditional_block_parameters.rbi +1 -0
  72. data/rbi/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbi +69 -30
  73. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +6 -3
  74. data/rbi/lithic/models/auth_rules/v2_list_results_params.rbi +112 -0
  75. data/rbi/lithic/models/auth_rules/v2_list_results_response.rbi +1826 -0
  76. data/rbi/lithic/models/book_transfer_create_params.rbi +11 -0
  77. data/rbi/lithic/models/card_authorization_approval_request_webhook_event.rbi +337 -36
  78. data/rbi/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbi +15 -17
  79. data/rbi/lithic/models/financial_account.rbi +5 -0
  80. data/rbi/lithic/models/financial_account_update_status_params.rbi +5 -0
  81. data/rbi/lithic/models/financial_accounts/category_tier.rbi +45 -0
  82. data/rbi/lithic/models/financial_accounts/interest_tier_schedule.rbi +75 -0
  83. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_create_params.rbi +32 -0
  84. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_delete_params.rbi +43 -0
  85. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_list_params.rbi +73 -0
  86. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_retrieve_params.rbi +43 -0
  87. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbi +70 -0
  88. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +5 -0
  89. data/rbi/lithic/models/financial_accounts/loan_tape_configuration.rbi +99 -0
  90. data/rbi/lithic/models/financial_accounts/loan_tape_configuration_retrieve_params.rbi +32 -0
  91. data/rbi/lithic/models/financial_accounts/loan_tape_rebuild_configuration.rbi +65 -0
  92. data/rbi/lithic/models/financial_accounts/statement.rbi +5 -0
  93. data/rbi/lithic/models/kyb.rbi +13 -0
  94. data/rbi/lithic/models/parsed_webhook_event.rbi +13 -0
  95. data/rbi/lithic/models/{digital_wallet_token_metadata.rbi → token_metadata.rbi} +34 -41
  96. data/rbi/lithic/models/tokenization_approval_request_webhook_event.rbi +11 -17
  97. data/rbi/lithic/models/tokenization_decisioning_request_webhook_event.rbi +15 -17
  98. data/rbi/lithic/models.rbi +4 -2
  99. data/rbi/lithic/resources/account_holders/entities.rbi +80 -0
  100. data/rbi/lithic/resources/account_holders.rbi +11 -0
  101. data/rbi/lithic/resources/auth_rules/v2.rbi +44 -1
  102. data/rbi/lithic/resources/book_transfers.rbi +3 -0
  103. data/rbi/lithic/resources/financial_accounts/interest_tier_schedule.rbi +156 -0
  104. data/rbi/lithic/resources/financial_accounts/loan_tape_configuration.rbi +30 -0
  105. data/rbi/lithic/resources/financial_accounts.rbi +10 -0
  106. data/sig/lithic/models/account_holder.rbs +7 -0
  107. data/sig/lithic/models/account_holder_create_params.rbs +7 -0
  108. data/sig/lithic/models/account_holder_simulate_enrollment_review_params.rbs +2 -1
  109. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +7 -0
  110. data/sig/lithic/models/account_holder_update_params.rbs +7 -0
  111. data/sig/lithic/models/account_holder_update_response.rbs +7 -0
  112. data/sig/lithic/models/account_holder_updated_webhook_event.rbs +7 -0
  113. data/sig/lithic/models/account_holders/account_holder_entity.rbs +137 -0
  114. data/sig/lithic/models/account_holders/entity_create_params.rbs +118 -0
  115. data/sig/lithic/models/account_holders/entity_create_response.rbs +117 -0
  116. data/sig/lithic/models/account_holders/entity_delete_params.rbs +26 -0
  117. data/sig/lithic/models/auth_rules/v2_list_results_params.rbs +65 -0
  118. data/sig/lithic/models/auth_rules/v2_list_results_response.rbs +752 -0
  119. data/sig/lithic/models/book_transfer_create_params.rbs +7 -0
  120. data/sig/lithic/models/card_authorization_approval_request_webhook_event.rbs +96 -0
  121. data/sig/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbs +5 -9
  122. data/sig/lithic/models/financial_account.rbs +2 -0
  123. data/sig/lithic/models/financial_account_update_status_params.rbs +2 -0
  124. data/sig/lithic/models/financial_accounts/category_tier.rbs +21 -0
  125. data/sig/lithic/models/financial_accounts/interest_tier_schedule.rbs +41 -0
  126. data/sig/lithic/models/financial_accounts/interest_tier_schedule_create_params.rbs +17 -0
  127. data/sig/lithic/models/financial_accounts/interest_tier_schedule_delete_params.rbs +26 -0
  128. data/sig/lithic/models/financial_accounts/interest_tier_schedule_list_params.rbs +40 -0
  129. data/sig/lithic/models/financial_accounts/interest_tier_schedule_retrieve_params.rbs +26 -0
  130. data/sig/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbs +38 -0
  131. data/sig/lithic/models/financial_accounts/loan_tape.rbs +2 -0
  132. data/sig/lithic/models/financial_accounts/loan_tape_configuration.rbs +60 -0
  133. data/sig/lithic/models/financial_accounts/loan_tape_configuration_retrieve_params.rbs +17 -0
  134. data/sig/lithic/models/financial_accounts/loan_tape_rebuild_configuration.rbs +32 -0
  135. data/sig/lithic/models/financial_accounts/statement.rbs +2 -0
  136. data/sig/lithic/models/kyb.rbs +7 -0
  137. data/sig/lithic/models/parsed_webhook_event.rbs +7 -0
  138. data/sig/lithic/models/{digital_wallet_token_metadata.rbs → token_metadata.rbs} +19 -17
  139. data/sig/lithic/models/tokenization_approval_request_webhook_event.rbs +5 -9
  140. data/sig/lithic/models/tokenization_decisioning_request_webhook_event.rbs +5 -9
  141. data/sig/lithic/models.rbs +4 -2
  142. data/sig/lithic/resources/account_holders/entities.rbs +28 -0
  143. data/sig/lithic/resources/account_holders.rbs +4 -0
  144. data/sig/lithic/resources/auth_rules/v2.rbs +10 -0
  145. data/sig/lithic/resources/book_transfers.rbs +1 -0
  146. data/sig/lithic/resources/financial_accounts/interest_tier_schedule.rbs +46 -0
  147. data/sig/lithic/resources/financial_accounts/loan_tape_configuration.rbs +14 -0
  148. data/sig/lithic/resources/financial_accounts.rbs +4 -0
  149. metadata +62 -5
@@ -58,6 +58,12 @@ module Lithic
58
58
  # @return [String, nil]
59
59
  optional :external_id, String
60
60
 
61
+ # @!attribute hold_token
62
+ # Token of an existing hold to settle when this transfer is initiated
63
+ #
64
+ # @return [String, nil]
65
+ optional :hold_token, String
66
+
61
67
  # @!attribute memo
62
68
  # Optional descriptor for the transfer.
63
69
  #
@@ -70,7 +76,7 @@ module Lithic
70
76
  # @return [Symbol, Lithic::Models::BookTransferCreateParams::OnClosedAccount, nil]
71
77
  optional :on_closed_account, enum: -> { Lithic::BookTransferCreateParams::OnClosedAccount }
72
78
 
73
- # @!method initialize(amount:, category:, from_financial_account_token:, subtype:, to_financial_account_token:, type:, token: nil, external_id: nil, memo: nil, on_closed_account: nil, request_options: {})
79
+ # @!method initialize(amount:, category:, from_financial_account_token:, subtype:, to_financial_account_token:, type:, token: nil, external_id: nil, hold_token: nil, memo: nil, on_closed_account: nil, request_options: {})
74
80
  # Some parameter documentations has been truncated, see
75
81
  # {Lithic::Models::BookTransferCreateParams} for more details.
76
82
  #
@@ -90,6 +96,8 @@ module Lithic
90
96
  #
91
97
  # @param external_id [String] External ID defined by the customer
92
98
  #
99
+ # @param hold_token [String] Token of an existing hold to settle when this transfer is initiated
100
+ #
93
101
  # @param memo [String] Optional descriptor for the transfer.
94
102
  #
95
103
  # @param on_closed_account [Symbol, Lithic::Models::BookTransferCreateParams::OnClosedAccount] What to do if the financial account is closed when posting an operation
@@ -18,16 +18,31 @@ module Lithic
18
18
  required :acquirer_fee, Integer
19
19
 
20
20
  # @!attribute amount
21
- # Authorization amount of the transaction (in cents), including any acquirer fees.
22
- # The contents of this field are identical to `authorization_amount`.
21
+ # @deprecated
22
+ #
23
+ # Deprecated, use `amounts`. Authorization amount of the transaction (in cents),
24
+ # including any acquirer fees. The contents of this field are identical to
25
+ # `authorization_amount`.
23
26
  #
24
27
  # @return [Integer]
25
28
  required :amount, Integer
26
29
 
30
+ # @!attribute amounts
31
+ # Structured amounts for this authorization. The `cardholder` and `merchant`
32
+ # amounts reflect the original network authorization values. For programs with
33
+ # hold adjustments enabled (e.g., automated fuel dispensers or tipping MCCs), the
34
+ # `hold` amount may exceed the `cardholder` and `merchant` amounts to account for
35
+ # anticipated final transaction amounts such as tips or fuel fill-ups
36
+ #
37
+ # @return [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts]
38
+ required :amounts, -> { Lithic::CardAuthorizationApprovalRequestWebhookEvent::Amounts }
39
+
27
40
  # @!attribute authorization_amount
28
- # The base transaction amount (in cents) plus the acquirer fee field. This is the
29
- # amount the issuer should authorize against unless the issuer is paying the
30
- # acquirer fee on behalf of the cardholder.
41
+ # @deprecated
42
+ #
43
+ # Deprecated, use `amounts`. The base transaction amount (in cents) plus the
44
+ # acquirer fee field. This is the amount the issuer should authorize against
45
+ # unless the issuer is paying the acquirer fee on behalf of the cardholder.
31
46
  #
32
47
  # @return [Integer]
33
48
  required :authorization_amount, Integer
@@ -44,7 +59,10 @@ module Lithic
44
59
  required :card, -> { Lithic::CardAuthorizationApprovalRequestWebhookEvent::Card }
45
60
 
46
61
  # @!attribute cardholder_currency
47
- # 3-character alphabetic ISO 4217 code for cardholder's billing currency.
62
+ # @deprecated
63
+ #
64
+ # Deprecated, use `amounts`. 3-character alphabetic ISO 4217 code for cardholder's
65
+ # billing currency.
48
66
  #
49
67
  # @return [String]
50
68
  required :cardholder_currency, String
@@ -77,24 +95,30 @@ module Lithic
77
95
  required :merchant, -> { Lithic::Merchant }
78
96
 
79
97
  # @!attribute merchant_amount
80
- # The amount that the merchant will receive, denominated in `merchant_currency`
81
- # and in the smallest currency unit. Note the amount includes `acquirer_fee`,
82
- # similar to `authorization_amount`. It will be different from
83
- # `authorization_amount` if the merchant is taking payment in a different
84
- # currency.
98
+ # @deprecated
99
+ #
100
+ # Deprecated, use `amounts`. The amount that the merchant will receive,
101
+ # denominated in `merchant_currency` and in the smallest currency unit. Note the
102
+ # amount includes `acquirer_fee`, similar to `authorization_amount`. It will be
103
+ # different from `authorization_amount` if the merchant is taking payment in a
104
+ # different currency.
85
105
  #
86
106
  # @return [Integer]
87
107
  required :merchant_amount, Integer
88
108
 
89
109
  # @!attribute merchant_currency
110
+ # @deprecated
111
+ #
90
112
  # 3-character alphabetic ISO 4217 code for the local currency of the transaction.
91
113
  #
92
114
  # @return [String]
93
115
  required :merchant_currency, String
94
116
 
95
117
  # @!attribute settled_amount
96
- # Amount (in cents) of the transaction that has been settled, including any
97
- # acquirer fees
118
+ # @deprecated
119
+ #
120
+ # Deprecated, use `amounts`. Amount (in cents) of the transaction that has been
121
+ # settled, including any acquirer fees.
98
122
  #
99
123
  # @return [Integer]
100
124
  required :settled_amount, Integer
@@ -131,11 +155,13 @@ module Lithic
131
155
  optional :cashback, Integer
132
156
 
133
157
  # @!attribute conversion_rate
134
- # If the transaction was requested in a currency other than the settlement
135
- # currency, this field will be populated to indicate the rate used to translate
136
- # the merchant_amount to the amount (i.e., `merchant_amount` x `conversion_rate` =
137
- # `amount`). Note that the `merchant_amount` is in the local currency and the
138
- # amount is in the settlement currency.
158
+ # @deprecated
159
+ #
160
+ # Deprecated, use `amounts`. If the transaction was requested in a currency other
161
+ # than the settlement currency, this field will be populated to indicate the rate
162
+ # used to translate the merchant_amount to the amount (i.e., `merchant_amount` x
163
+ # `conversion_rate` = `amount`). Note that the `merchant_amount` is in the local
164
+ # currency and the amount is in the settlement currency.
139
165
  #
140
166
  # @return [Float, nil]
141
167
  optional :conversion_rate, Float
@@ -206,7 +232,7 @@ module Lithic
206
232
  # @return [Time, nil]
207
233
  optional :ttl, Time
208
234
 
209
- # @!method initialize(token:, acquirer_fee:, amount:, authorization_amount:, avs:, card:, cardholder_currency:, cash_amount:, created:, merchant:, merchant_amount:, merchant_currency:, settled_amount:, status:, transaction_initiator:, account_type: nil, cardholder_authentication: nil, cashback: nil, conversion_rate: nil, event_token: nil, fleet_info: nil, latest_challenge: nil, network: nil, network_risk_score: nil, network_specific_data: nil, pos: nil, token_info: nil, ttl: nil, event_type: :"card_authorization.approval_request")
235
+ # @!method initialize(token:, acquirer_fee:, amount:, amounts:, authorization_amount:, avs:, card:, cardholder_currency:, cash_amount:, created:, merchant:, merchant_amount:, merchant_currency:, settled_amount:, status:, transaction_initiator:, account_type: nil, cardholder_authentication: nil, cashback: nil, conversion_rate: nil, event_token: nil, fleet_info: nil, latest_challenge: nil, network: nil, network_risk_score: nil, network_specific_data: nil, pos: nil, token_info: nil, ttl: nil, event_type: :"card_authorization.approval_request")
210
236
  # Some parameter documentations has been truncated, see
211
237
  # {Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent} for more details.
212
238
  #
@@ -214,15 +240,17 @@ module Lithic
214
240
  #
215
241
  # @param acquirer_fee [Integer] Fee (in cents) assessed by the merchant and paid for by the cardholder. Will be
216
242
  #
217
- # @param amount [Integer] Authorization amount of the transaction (in cents), including any acquirer fees.
243
+ # @param amount [Integer] Deprecated, use `amounts`. Authorization amount of the transaction (in cents), i
244
+ #
245
+ # @param amounts [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts] Structured amounts for this authorization. The `cardholder` and `merchant` amoun
218
246
  #
219
- # @param authorization_amount [Integer] The base transaction amount (in cents) plus the acquirer fee field. This is the
247
+ # @param authorization_amount [Integer] Deprecated, use `amounts`. The base transaction amount (in cents) plus the acqui
220
248
  #
221
249
  # @param avs [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Avs]
222
250
  #
223
251
  # @param card [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Card] Card object in ASA
224
252
  #
225
- # @param cardholder_currency [String] 3-character alphabetic ISO 4217 code for cardholder's billing currency.
253
+ # @param cardholder_currency [String] Deprecated, use `amounts`. 3-character alphabetic ISO 4217 code for cardholder's
226
254
  #
227
255
  # @param cash_amount [Integer] The portion of the transaction requested as cash back by the cardholder, and doe
228
256
  #
@@ -230,11 +258,11 @@ module Lithic
230
258
  #
231
259
  # @param merchant [Lithic::Models::Merchant]
232
260
  #
233
- # @param merchant_amount [Integer] The amount that the merchant will receive, denominated in `merchant_currency` an
261
+ # @param merchant_amount [Integer] Deprecated, use `amounts`. The amount that the merchant will receive, denominate
234
262
  #
235
263
  # @param merchant_currency [String] 3-character alphabetic ISO 4217 code for the local currency of the transaction.
236
264
  #
237
- # @param settled_amount [Integer] Amount (in cents) of the transaction that has been settled, including any acquir
265
+ # @param settled_amount [Integer] Deprecated, use `amounts`. Amount (in cents) of the transaction that has been se
238
266
  #
239
267
  # @param status [Symbol, Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Status] The type of authorization request that this request is for. Note that `CREDIT_AU
240
268
  #
@@ -246,7 +274,7 @@ module Lithic
246
274
  #
247
275
  # @param cashback [Integer] Deprecated, use `cash_amount`.
248
276
  #
249
- # @param conversion_rate [Float] If the transaction was requested in a currency other than the settlement currenc
277
+ # @param conversion_rate [Float] Deprecated, use `amounts`. If the transaction was requested in a currency other
250
278
  #
251
279
  # @param event_token [String] The event token associated with the authorization. This field is only set for pr
252
280
  #
@@ -268,6 +296,131 @@ module Lithic
268
296
  #
269
297
  # @param event_type [Symbol, :"card_authorization.approval_request"]
270
298
 
299
+ # @see Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent#amounts
300
+ class Amounts < Lithic::Internal::Type::BaseModel
301
+ # @!attribute cardholder
302
+ #
303
+ # @return [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Cardholder]
304
+ required :cardholder, -> { Lithic::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Cardholder }
305
+
306
+ # @!attribute hold
307
+ #
308
+ # @return [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Hold, nil]
309
+ required :hold, -> { Lithic::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Hold }, nil?: true
310
+
311
+ # @!attribute merchant
312
+ #
313
+ # @return [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Merchant]
314
+ required :merchant, -> { Lithic::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Merchant }
315
+
316
+ # @!attribute settlement
317
+ #
318
+ # @return [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Settlement, nil]
319
+ required :settlement,
320
+ -> { Lithic::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Settlement },
321
+ nil?: true
322
+
323
+ # @!method initialize(cardholder:, hold:, merchant:, settlement:)
324
+ # Structured amounts for this authorization. The `cardholder` and `merchant`
325
+ # amounts reflect the original network authorization values. For programs with
326
+ # hold adjustments enabled (e.g., automated fuel dispensers or tipping MCCs), the
327
+ # `hold` amount may exceed the `cardholder` and `merchant` amounts to account for
328
+ # anticipated final transaction amounts such as tips or fuel fill-ups
329
+ #
330
+ # @param cardholder [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Cardholder]
331
+ # @param hold [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Hold, nil]
332
+ # @param merchant [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Merchant]
333
+ # @param settlement [Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts::Settlement, nil]
334
+
335
+ # @see Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts#cardholder
336
+ class Cardholder < Lithic::Internal::Type::BaseModel
337
+ # @!attribute amount
338
+ # Amount in the smallest unit of the applicable currency (e.g., cents)
339
+ #
340
+ # @return [Integer]
341
+ required :amount, Integer
342
+
343
+ # @!attribute conversion_rate
344
+ # Exchange rate used for currency conversion
345
+ #
346
+ # @return [String]
347
+ required :conversion_rate, String
348
+
349
+ # @!attribute currency
350
+ # 3-character alphabetic ISO 4217 currency
351
+ #
352
+ # @return [String]
353
+ required :currency, String
354
+
355
+ # @!method initialize(amount:, conversion_rate:, currency:)
356
+ # @param amount [Integer] Amount in the smallest unit of the applicable currency (e.g., cents)
357
+ #
358
+ # @param conversion_rate [String] Exchange rate used for currency conversion
359
+ #
360
+ # @param currency [String] 3-character alphabetic ISO 4217 currency
361
+ end
362
+
363
+ # @see Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts#hold
364
+ class Hold < Lithic::Internal::Type::BaseModel
365
+ # @!attribute amount
366
+ # Amount in the smallest unit of the applicable currency (e.g., cents)
367
+ #
368
+ # @return [Integer]
369
+ required :amount, Integer
370
+
371
+ # @!attribute currency
372
+ # 3-character alphabetic ISO 4217 currency
373
+ #
374
+ # @return [String]
375
+ required :currency, String
376
+
377
+ # @!method initialize(amount:, currency:)
378
+ # @param amount [Integer] Amount in the smallest unit of the applicable currency (e.g., cents)
379
+ #
380
+ # @param currency [String] 3-character alphabetic ISO 4217 currency
381
+ end
382
+
383
+ # @see Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts#merchant
384
+ class Merchant < Lithic::Internal::Type::BaseModel
385
+ # @!attribute amount
386
+ # Amount in the smallest unit of the applicable currency (e.g., cents)
387
+ #
388
+ # @return [Integer]
389
+ required :amount, Integer
390
+
391
+ # @!attribute currency
392
+ # 3-character alphabetic ISO 4217 currency
393
+ #
394
+ # @return [String]
395
+ required :currency, String
396
+
397
+ # @!method initialize(amount:, currency:)
398
+ # @param amount [Integer] Amount in the smallest unit of the applicable currency (e.g., cents)
399
+ #
400
+ # @param currency [String] 3-character alphabetic ISO 4217 currency
401
+ end
402
+
403
+ # @see Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent::Amounts#settlement
404
+ class Settlement < Lithic::Internal::Type::BaseModel
405
+ # @!attribute amount
406
+ # Amount in the smallest unit of the applicable currency (e.g., cents)
407
+ #
408
+ # @return [Integer]
409
+ required :amount, Integer
410
+
411
+ # @!attribute currency
412
+ # 3-character alphabetic ISO 4217 currency
413
+ #
414
+ # @return [String]
415
+ required :currency, String
416
+
417
+ # @!method initialize(amount:, currency:)
418
+ # @param amount [Integer] Amount in the smallest unit of the applicable currency (e.g., cents)
419
+ #
420
+ # @param currency [String] 3-character alphabetic ISO 4217 currency
421
+ end
422
+ end
423
+
271
424
  # @see Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent#avs
272
425
  class Avs < Lithic::Internal::Type::BaseModel
273
426
  # @!attribute address
@@ -31,6 +31,12 @@ module Lithic
31
31
  },
32
32
  nil?: true
33
33
 
34
+ # @!attribute digital_wallet_token_metadata
35
+ # Contains the metadata for the digital wallet being tokenized.
36
+ #
37
+ # @return [Lithic::Models::TokenMetadata]
38
+ required :digital_wallet_token_metadata, -> { Lithic::TokenMetadata }
39
+
34
40
  # @!attribute event_type
35
41
  # The name of this event
36
42
  #
@@ -68,12 +74,6 @@ module Lithic
68
74
  # @return [Lithic::Models::Device, nil]
69
75
  optional :device, -> { Lithic::Device }
70
76
 
71
- # @!attribute digital_wallet_token_metadata
72
- # Contains the metadata for the digital wallet being tokenized.
73
- #
74
- # @return [Lithic::Models::DigitalWalletTokenMetadata, nil]
75
- optional :digital_wallet_token_metadata, -> { Lithic::DigitalWalletTokenMetadata }
76
-
77
77
  # @!attribute rule_results
78
78
  # Results from rules that were evaluated for this tokenization
79
79
  #
@@ -101,7 +101,7 @@ module Lithic
101
101
  optional :tokenization_tfa_reasons,
102
102
  -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::TokenizationTfaReason] }
103
103
 
104
- # @!method initialize(account_token:, card_token:, created:, customer_tokenization_decision:, event_type:, issuer_decision:, tokenization_channel:, tokenization_token:, wallet_decisioning_info:, device: nil, digital_wallet_token_metadata: nil, rule_results: nil, tokenization_decline_reasons: nil, tokenization_source: nil, tokenization_tfa_reasons: nil)
104
+ # @!method initialize(account_token:, card_token:, created:, customer_tokenization_decision:, digital_wallet_token_metadata:, event_type:, issuer_decision:, tokenization_channel:, tokenization_token:, wallet_decisioning_info:, device: nil, rule_results: nil, tokenization_decline_reasons: nil, tokenization_source: nil, tokenization_tfa_reasons: nil)
105
105
  # Some parameter documentations has been truncated, see
106
106
  # {Lithic::Models::DigitalWalletTokenizationApprovalRequestWebhookEvent} for more
107
107
  # details.
@@ -114,6 +114,8 @@ module Lithic
114
114
  #
115
115
  # @param customer_tokenization_decision [Lithic::Models::DigitalWalletTokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision, nil] Contains the metadata for the customer tokenization decision.
116
116
  #
117
+ # @param digital_wallet_token_metadata [Lithic::Models::TokenMetadata] Contains the metadata for the digital wallet being tokenized.
118
+ #
117
119
  # @param event_type [Symbol, Lithic::Models::DigitalWalletTokenizationApprovalRequestWebhookEvent::EventType] The name of this event
118
120
  #
119
121
  # @param issuer_decision [Symbol, Lithic::Models::DigitalWalletTokenizationApprovalRequestWebhookEvent::IssuerDecision] Whether Lithic decisioned on the token, and if so, what the decision was. APPROV
@@ -126,8 +128,6 @@ module Lithic
126
128
  #
127
129
  # @param device [Lithic::Models::Device]
128
130
  #
129
- # @param digital_wallet_token_metadata [Lithic::Models::DigitalWalletTokenMetadata] Contains the metadata for the digital wallet being tokenized.
130
- #
131
131
  # @param rule_results [Array<Lithic::Models::TokenizationRuleResult>] Results from rules that were evaluated for this tokenization
132
132
  #
133
133
  # @param tokenization_decline_reasons [Array<Symbol, Lithic::Models::TokenizationDeclineReason>] List of reasons why the tokenization was declined
@@ -182,6 +182,7 @@ module Lithic
182
182
  END_USER_REQUEST = :END_USER_REQUEST
183
183
  BANK_REQUEST = :BANK_REQUEST
184
184
  DELINQUENT = :DELINQUENT
185
+ INTEREST_AND_FEES_PAUSED = :INTEREST_AND_FEES_PAUSED
185
186
 
186
187
  # @!method self.values
187
188
  # @return [Array<Symbol>]
@@ -55,6 +55,7 @@ module Lithic
55
55
  END_USER_REQUEST = :END_USER_REQUEST
56
56
  BANK_REQUEST = :BANK_REQUEST
57
57
  CHARGED_OFF_DELINQUENT = :CHARGED_OFF_DELINQUENT
58
+ INTEREST_AND_FEES_PAUSED = :INTEREST_AND_FEES_PAUSED
58
59
 
59
60
  # @!method self.values
60
61
  # @return [Array<Symbol>]
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ class CategoryTier < Lithic::Internal::Type::BaseModel
7
+ # @!attribute cap_rate
8
+ # Maximum interest rate for this category, e.g. '0.0525' for 5.25%
9
+ #
10
+ # @return [String, nil]
11
+ optional :cap_rate, String
12
+
13
+ # @!attribute rate
14
+ # Interest rate for this category, e.g. '0.0525' for 5.25%
15
+ #
16
+ # @return [String, nil]
17
+ optional :rate, String
18
+
19
+ # @!method initialize(cap_rate: nil, rate: nil)
20
+ # Rate and rate cap for interest on a category
21
+ #
22
+ # @param cap_rate [String] Maximum interest rate for this category, e.g. '0.0525' for 5.25%
23
+ #
24
+ # @param rate [String] Interest rate for this category, e.g. '0.0525' for 5.25%
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ # @see Lithic::Resources::FinancialAccounts::InterestTierSchedule#create
7
+ class FinancialAccountsInterestTierSchedule < Lithic::Internal::Type::BaseModel
8
+ # @!attribute credit_product_token
9
+ # Globally unique identifier for a credit product
10
+ #
11
+ # @return [String]
12
+ required :credit_product_token, String
13
+
14
+ # @!attribute effective_date
15
+ # Date the tier should be effective in YYYY-MM-DD format
16
+ #
17
+ # @return [Date]
18
+ required :effective_date, Date
19
+
20
+ # @!attribute tier_name
21
+ # Name of a tier contained in the credit product. Mutually exclusive with
22
+ # tier_rates
23
+ #
24
+ # @return [String, nil]
25
+ optional :tier_name, String
26
+
27
+ # @!attribute tier_rates
28
+ # Custom rates per category. Mutually exclusive with tier_name
29
+ #
30
+ # @return [Object, nil]
31
+ optional :tier_rates, Lithic::Internal::Type::Unknown
32
+
33
+ # @!method initialize(credit_product_token:, effective_date:, tier_name: nil, tier_rates: nil)
34
+ # Some parameter documentations has been truncated, see
35
+ # {Lithic::Models::FinancialAccounts::FinancialAccountsInterestTierSchedule} for
36
+ # more details.
37
+ #
38
+ # Entry in the Tier Schedule of an account
39
+ #
40
+ # @param credit_product_token [String] Globally unique identifier for a credit product
41
+ #
42
+ # @param effective_date [Date] Date the tier should be effective in YYYY-MM-DD format
43
+ #
44
+ # @param tier_name [String] Name of a tier contained in the credit product. Mutually exclusive with tier_rat
45
+ #
46
+ # @param tier_rates [Object] Custom rates per category. Mutually exclusive with tier_name
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ # @see Lithic::Resources::FinancialAccounts::InterestTierSchedule#create
7
+ class InterestTierScheduleCreateParams < Lithic::Models::FinancialAccounts::FinancialAccountsInterestTierSchedule
8
+ extend Lithic::Internal::Type::RequestParameters::Converter
9
+ include Lithic::Internal::Type::RequestParameters
10
+
11
+ # @!method initialize(request_options: {})
12
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ # @see Lithic::Resources::FinancialAccounts::InterestTierSchedule#delete
7
+ class InterestTierScheduleDeleteParams < Lithic::Internal::Type::BaseModel
8
+ extend Lithic::Internal::Type::RequestParameters::Converter
9
+ include Lithic::Internal::Type::RequestParameters
10
+
11
+ # @!attribute financial_account_token
12
+ #
13
+ # @return [String]
14
+ required :financial_account_token, String
15
+
16
+ # @!method initialize(financial_account_token:, request_options: {})
17
+ # @param financial_account_token [String]
18
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ # @see Lithic::Resources::FinancialAccounts::InterestTierSchedule#list
7
+ class InterestTierScheduleListParams < Lithic::Internal::Type::BaseModel
8
+ extend Lithic::Internal::Type::RequestParameters::Converter
9
+ include Lithic::Internal::Type::RequestParameters
10
+
11
+ # @!attribute after_date
12
+ # Return schedules with effective_date >= after_date (ISO format YYYY-MM-DD)
13
+ #
14
+ # @return [Date, nil]
15
+ optional :after_date, Date
16
+
17
+ # @!attribute before_date
18
+ # Return schedules with effective_date <= before_date (ISO format YYYY-MM-DD)
19
+ #
20
+ # @return [Date, nil]
21
+ optional :before_date, Date
22
+
23
+ # @!attribute for_date
24
+ # Return schedule with effective_date == for_date (ISO format YYYY-MM-DD)
25
+ #
26
+ # @return [Date, nil]
27
+ optional :for_date, Date
28
+
29
+ # @!method initialize(after_date: nil, before_date: nil, for_date: nil, request_options: {})
30
+ # @param after_date [Date] Return schedules with effective_date >= after_date (ISO format YYYY-MM-DD)
31
+ #
32
+ # @param before_date [Date] Return schedules with effective_date <= before_date (ISO format YYYY-MM-DD)
33
+ #
34
+ # @param for_date [Date] Return schedule with effective_date == for_date (ISO format YYYY-MM-DD)
35
+ #
36
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ # @see Lithic::Resources::FinancialAccounts::InterestTierSchedule#retrieve
7
+ class InterestTierScheduleRetrieveParams < Lithic::Internal::Type::BaseModel
8
+ extend Lithic::Internal::Type::RequestParameters::Converter
9
+ include Lithic::Internal::Type::RequestParameters
10
+
11
+ # @!attribute financial_account_token
12
+ #
13
+ # @return [String]
14
+ required :financial_account_token, String
15
+
16
+ # @!method initialize(financial_account_token:, request_options: {})
17
+ # @param financial_account_token [String]
18
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ # @see Lithic::Resources::FinancialAccounts::InterestTierSchedule#update
7
+ class InterestTierScheduleUpdateParams < Lithic::Internal::Type::BaseModel
8
+ extend Lithic::Internal::Type::RequestParameters::Converter
9
+ include Lithic::Internal::Type::RequestParameters
10
+
11
+ # @!attribute financial_account_token
12
+ #
13
+ # @return [String]
14
+ required :financial_account_token, String
15
+
16
+ # @!attribute tier_name
17
+ # Name of a tier contained in the credit product. Mutually exclusive with
18
+ # tier_rates
19
+ #
20
+ # @return [String, nil]
21
+ optional :tier_name, String
22
+
23
+ # @!attribute tier_rates
24
+ # Custom rates per category. Mutually exclusive with tier_name
25
+ #
26
+ # @return [Object, nil]
27
+ optional :tier_rates, Lithic::Internal::Type::Unknown
28
+
29
+ # @!method initialize(financial_account_token:, tier_name: nil, tier_rates: nil, request_options: {})
30
+ # Some parameter documentations has been truncated, see
31
+ # {Lithic::Models::FinancialAccounts::InterestTierScheduleUpdateParams} for more
32
+ # details.
33
+ #
34
+ # @param financial_account_token [String]
35
+ #
36
+ # @param tier_name [String] Name of a tier contained in the credit product. Mutually exclusive with tier_rat
37
+ #
38
+ # @param tier_rates [Object] Custom rates per category. Mutually exclusive with tier_name
39
+ #
40
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
41
+ end
42
+ end
43
+ end
44
+ end
@@ -299,6 +299,7 @@ module Lithic
299
299
  END_USER_REQUEST = :END_USER_REQUEST
300
300
  BANK_REQUEST = :BANK_REQUEST
301
301
  DELINQUENT = :DELINQUENT
302
+ INTEREST_AND_FEES_PAUSED = :INTEREST_AND_FEES_PAUSED
302
303
 
303
304
  # @!method self.values
304
305
  # @return [Array<Symbol>]