lithic 0.1.0.pre.alpha.54 → 0.1.0.pre.alpha.56

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 (229) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +39 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/models/account_activity_list_response.rb +60 -148
  6. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +60 -151
  7. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +2 -2
  8. data/lib/lithic/models/account_holder_update_response.rb +4 -4
  9. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +8 -51
  10. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +8 -51
  11. data/lib/lithic/models/auth_rules/conditional_ach_action_parameters.rb +260 -0
  12. data/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb +207 -0
  13. data/lib/lithic/models/auth_rules/conditional_operation.rb +26 -0
  14. data/lib/lithic/models/auth_rules/conditional_tokenization_action_parameters.rb +254 -0
  15. data/lib/lithic/models/auth_rules/conditional_value.rb +27 -0
  16. data/lib/lithic/models/auth_rules/v2_create_params.rb +46 -283
  17. data/lib/lithic/models/auth_rules/v2_create_response.rb +23 -510
  18. data/lib/lithic/models/auth_rules/v2_draft_params.rb +6 -248
  19. data/lib/lithic/models/auth_rules/v2_draft_response.rb +23 -510
  20. data/lib/lithic/models/auth_rules/v2_list_params.rb +3 -0
  21. data/lib/lithic/models/auth_rules/v2_list_response.rb +23 -510
  22. data/lib/lithic/models/auth_rules/v2_promote_response.rb +23 -510
  23. data/lib/lithic/models/auth_rules/v2_retrieve_features_response.rb +4 -11
  24. data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +23 -510
  25. data/lib/lithic/models/auth_rules/v2_update_response.rb +23 -510
  26. data/lib/lithic/models/auth_rules/velocity_limit_params.rb +4 -7
  27. data/lib/lithic/models/auth_rules/velocity_limit_period.rb +154 -0
  28. data/lib/lithic/models/book_transfer_response.rb +6 -5
  29. data/lib/lithic/models/category_details.rb +27 -0
  30. data/lib/lithic/models/dispute_v2.rb +555 -0
  31. data/lib/lithic/models/disputes_v2_list_params.rb +84 -0
  32. data/lib/lithic/models/disputes_v2_retrieve_params.rb +14 -0
  33. data/lib/lithic/models/event.rb +213 -69
  34. data/lib/lithic/models/event_list_params.rb +112 -6
  35. data/lib/lithic/models/event_subscription.rb +112 -6
  36. data/lib/lithic/models/events/subscription_create_params.rb +112 -6
  37. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +12 -6
  38. data/lib/lithic/models/events/subscription_update_params.rb +112 -6
  39. data/lib/lithic/models/external_bank_account_address.rb +2 -2
  40. data/lib/lithic/models/external_bank_account_create_response.rb +18 -18
  41. data/lib/lithic/models/external_bank_account_list_response.rb +18 -18
  42. data/lib/lithic/models/external_bank_account_retrieve_response.rb +18 -18
  43. data/lib/lithic/models/external_bank_account_retry_micro_deposits_response.rb +18 -18
  44. data/lib/lithic/models/external_bank_account_retry_prenote_response.rb +18 -18
  45. data/lib/lithic/models/external_bank_account_unpause_params.rb +14 -0
  46. data/lib/lithic/models/external_bank_account_unpause_response.rb +242 -0
  47. data/lib/lithic/models/external_bank_account_update_response.rb +18 -18
  48. data/lib/lithic/models/external_bank_accounts/micro_deposit_create_response.rb +18 -18
  49. data/lib/lithic/models/external_payment.rb +3 -2
  50. data/lib/lithic/models/external_payment_list_params.rb +1 -0
  51. data/lib/lithic/models/financial_account.rb +5 -68
  52. data/lib/lithic/models/financial_accounts/category_balances.rb +29 -0
  53. data/lib/lithic/models/financial_accounts/financial_account_credit_config.rb +1 -64
  54. data/lib/lithic/models/financial_accounts/loan_tape.rb +35 -424
  55. data/lib/lithic/models/financial_accounts/statement.rb +73 -211
  56. data/lib/lithic/models/financial_event.rb +148 -0
  57. data/lib/lithic/models/financial_transaction.rb +3 -146
  58. data/lib/lithic/models/management_operation_list_params.rb +1 -0
  59. data/lib/lithic/models/management_operation_transaction.rb +5 -4
  60. data/lib/lithic/models/merchant.rb +70 -0
  61. data/lib/lithic/models/payment.rb +16 -14
  62. data/lib/lithic/models/payment_return_params.rb +62 -0
  63. data/lib/lithic/models/payment_simulate_action_params.rb +17 -1
  64. data/lib/lithic/models/statement_totals.rb +100 -0
  65. data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +9 -9
  66. data/lib/lithic/models/tokenization.rb +189 -23
  67. data/lib/lithic/models/transaction.rb +15 -185
  68. data/lib/lithic/models/transactions/events/enhanced_data.rb +52 -43
  69. data/lib/lithic/models/transfer.rb +3 -146
  70. data/lib/lithic/models.rb +18 -0
  71. data/lib/lithic/resources/auth_rules/v2/backtests.rb +3 -5
  72. data/lib/lithic/resources/auth_rules/v2.rb +13 -56
  73. data/lib/lithic/resources/disputes_v2.rb +74 -0
  74. data/lib/lithic/resources/external_bank_accounts.rb +19 -0
  75. data/lib/lithic/resources/payments.rb +53 -1
  76. data/lib/lithic/version.rb +1 -1
  77. data/lib/lithic.rb +18 -3
  78. data/rbi/lithic/client.rbi +3 -0
  79. data/rbi/lithic/models/account_activity_list_response.rbi +121 -544
  80. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +121 -544
  81. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +3 -6
  82. data/rbi/lithic/models/account_holder_update_response.rbi +6 -12
  83. data/rbi/lithic/models/auth_rules/auth_rule_condition.rbi +13 -139
  84. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +13 -153
  85. data/rbi/lithic/models/auth_rules/conditional_ach_action_parameters.rbi +789 -0
  86. data/rbi/lithic/models/auth_rules/conditional_authorization_action_parameters.rbi +437 -0
  87. data/rbi/lithic/models/auth_rules/conditional_operation.rbi +74 -0
  88. data/rbi/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbi +674 -0
  89. data/rbi/lithic/models/auth_rules/conditional_value.rbi +28 -0
  90. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +112 -680
  91. data/rbi/lithic/models/auth_rules/v2_create_response.rbi +33 -1149
  92. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +12 -575
  93. data/rbi/lithic/models/auth_rules/v2_draft_response.rbi +33 -1149
  94. data/rbi/lithic/models/auth_rules/v2_list_params.rbi +15 -0
  95. data/rbi/lithic/models/auth_rules/v2_list_response.rbi +33 -1149
  96. data/rbi/lithic/models/auth_rules/v2_promote_response.rbi +33 -1149
  97. data/rbi/lithic/models/auth_rules/v2_retrieve_features_response.rbi +9 -22
  98. data/rbi/lithic/models/auth_rules/v2_retrieve_response.rbi +33 -1149
  99. data/rbi/lithic/models/auth_rules/v2_update_response.rbi +33 -1149
  100. data/rbi/lithic/models/auth_rules/velocity_limit_params.rbi +17 -29
  101. data/rbi/lithic/models/auth_rules/velocity_limit_period.rbi +223 -0
  102. data/rbi/lithic/models/book_transfer_response.rbi +16 -11
  103. data/rbi/lithic/models/category_details.rbi +43 -0
  104. data/rbi/lithic/models/dispute_v2.rbi +965 -0
  105. data/rbi/lithic/models/disputes_v2_list_params.rbi +129 -0
  106. data/rbi/lithic/models/disputes_v2_retrieve_params.rbi +27 -0
  107. data/rbi/lithic/models/event.rbi +348 -111
  108. data/rbi/lithic/models/event_list_params.rbi +155 -25
  109. data/rbi/lithic/models/event_subscription.rbi +155 -25
  110. data/rbi/lithic/models/events/subscription_create_params.rbi +155 -25
  111. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +55 -25
  112. data/rbi/lithic/models/events/subscription_update_params.rbi +155 -25
  113. data/rbi/lithic/models/external_bank_account_address.rbi +3 -6
  114. data/rbi/lithic/models/external_bank_account_create_response.rbi +31 -51
  115. data/rbi/lithic/models/external_bank_account_list_response.rbi +31 -51
  116. data/rbi/lithic/models/external_bank_account_retrieve_response.rbi +31 -51
  117. data/rbi/lithic/models/external_bank_account_retry_micro_deposits_response.rbi +31 -51
  118. data/rbi/lithic/models/external_bank_account_retry_prenote_response.rbi +31 -51
  119. data/rbi/lithic/models/external_bank_account_unpause_params.rbi +30 -0
  120. data/rbi/lithic/models/external_bank_account_unpause_response.rbi +375 -0
  121. data/rbi/lithic/models/external_bank_account_update_response.rbi +31 -51
  122. data/rbi/lithic/models/external_bank_accounts/micro_deposit_create_response.rbi +31 -51
  123. data/rbi/lithic/models/external_payment.rbi +5 -6
  124. data/rbi/lithic/models/external_payment_list_params.rbi +5 -0
  125. data/rbi/lithic/models/financial_account.rbi +15 -136
  126. data/rbi/lithic/models/financial_accounts/category_balances.rbi +42 -0
  127. data/rbi/lithic/models/financial_accounts/financial_account_credit_config.rbi +3 -136
  128. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +47 -679
  129. data/rbi/lithic/models/financial_accounts/statement.rbi +118 -348
  130. data/rbi/lithic/models/financial_event.rbi +409 -0
  131. data/rbi/lithic/models/financial_transaction.rbi +3 -509
  132. data/rbi/lithic/models/management_operation_list_params.rbi +5 -0
  133. data/rbi/lithic/models/management_operation_transaction.rbi +11 -12
  134. data/rbi/lithic/models/merchant.rbi +89 -0
  135. data/rbi/lithic/models/payment.rbi +27 -21
  136. data/rbi/lithic/models/payment_return_params.rbi +85 -0
  137. data/rbi/lithic/models/payment_simulate_action_params.rbi +22 -0
  138. data/rbi/lithic/models/statement_totals.rbi +128 -0
  139. data/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi +12 -12
  140. data/rbi/lithic/models/tokenization.rbi +429 -34
  141. data/rbi/lithic/models/transaction.rbi +26 -336
  142. data/rbi/lithic/models/transactions/events/enhanced_data.rbi +77 -136
  143. data/rbi/lithic/models/transfer.rbi +4 -436
  144. data/rbi/lithic/models.rbi +19 -0
  145. data/rbi/lithic/resources/auth_rules/v2/backtests.rbi +0 -3
  146. data/rbi/lithic/resources/auth_rules/v2.rbi +29 -72
  147. data/rbi/lithic/resources/disputes_v2.rbi +64 -0
  148. data/rbi/lithic/resources/external_bank_accounts.rbi +10 -0
  149. data/rbi/lithic/resources/payments.rbi +52 -0
  150. data/sig/lithic/client.rbs +2 -0
  151. data/sig/lithic/models/account_activity_list_response.rbs +67 -221
  152. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +67 -221
  153. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +4 -6
  154. data/sig/lithic/models/account_holder_update_response.rbs +8 -12
  155. data/sig/lithic/models/auth_rules/auth_rule_condition.rbs +10 -61
  156. data/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs +10 -61
  157. data/sig/lithic/models/auth_rules/conditional_ach_action_parameters.rbs +293 -0
  158. data/sig/lithic/models/auth_rules/conditional_authorization_action_parameters.rbs +112 -0
  159. data/sig/lithic/models/auth_rules/conditional_operation.rbs +34 -0
  160. data/sig/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbs +237 -0
  161. data/sig/lithic/models/auth_rules/conditional_value.rbs +15 -0
  162. data/sig/lithic/models/auth_rules/v2_create_params.rbs +32 -188
  163. data/sig/lithic/models/auth_rules/v2_create_response.rbs +15 -319
  164. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +3 -159
  165. data/sig/lithic/models/auth_rules/v2_draft_response.rbs +15 -319
  166. data/sig/lithic/models/auth_rules/v2_list_params.rbs +9 -1
  167. data/sig/lithic/models/auth_rules/v2_list_response.rbs +15 -319
  168. data/sig/lithic/models/auth_rules/v2_promote_response.rbs +15 -319
  169. data/sig/lithic/models/auth_rules/v2_retrieve_features_response.rbs +4 -4
  170. data/sig/lithic/models/auth_rules/v2_retrieve_response.rbs +15 -319
  171. data/sig/lithic/models/auth_rules/v2_update_response.rbs +15 -319
  172. data/sig/lithic/models/auth_rules/velocity_limit_params.rbs +4 -4
  173. data/sig/lithic/models/auth_rules/velocity_limit_period.rbs +91 -0
  174. data/sig/lithic/models/book_transfer_response.rbs +10 -8
  175. data/sig/lithic/models/category_details.rbs +26 -0
  176. data/sig/lithic/models/dispute_v2.rbs +438 -0
  177. data/sig/lithic/models/disputes_v2_list_params.rbs +77 -0
  178. data/sig/lithic/models/disputes_v2_retrieve_params.rbs +15 -0
  179. data/sig/lithic/models/event.rbs +25 -13
  180. data/sig/lithic/models/event_list_params.rbs +25 -13
  181. data/sig/lithic/models/event_subscription.rbs +25 -13
  182. data/sig/lithic/models/events/subscription_create_params.rbs +25 -13
  183. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +25 -13
  184. data/sig/lithic/models/events/subscription_update_params.rbs +25 -13
  185. data/sig/lithic/models/external_bank_account_address.rbs +4 -6
  186. data/sig/lithic/models/external_bank_account_create_response.rbs +36 -56
  187. data/sig/lithic/models/external_bank_account_list_response.rbs +36 -56
  188. data/sig/lithic/models/external_bank_account_retrieve_response.rbs +36 -56
  189. data/sig/lithic/models/external_bank_account_retry_micro_deposits_response.rbs +36 -56
  190. data/sig/lithic/models/external_bank_account_retry_prenote_response.rbs +36 -56
  191. data/sig/lithic/models/external_bank_account_unpause_params.rbs +15 -0
  192. data/sig/lithic/models/external_bank_account_unpause_response.rbs +162 -0
  193. data/sig/lithic/models/external_bank_account_update_response.rbs +36 -56
  194. data/sig/lithic/models/external_bank_accounts/micro_deposit_create_response.rbs +36 -56
  195. data/sig/lithic/models/external_payment.rbs +7 -7
  196. data/sig/lithic/models/external_payment_list_params.rbs +3 -1
  197. data/sig/lithic/models/financial_account.rbs +7 -49
  198. data/sig/lithic/models/financial_accounts/category_balances.rbs +24 -0
  199. data/sig/lithic/models/financial_accounts/financial_account_credit_config.rbs +3 -49
  200. data/sig/lithic/models/financial_accounts/loan_tape.rbs +48 -386
  201. data/sig/lithic/models/financial_accounts/statement.rbs +59 -192
  202. data/sig/lithic/models/financial_event.rbs +216 -0
  203. data/sig/lithic/models/financial_transaction.rbs +4 -217
  204. data/sig/lithic/models/management_operation_list_params.rbs +3 -1
  205. data/sig/lithic/models/management_operation_transaction.rbs +11 -13
  206. data/sig/lithic/models/merchant.rbs +50 -0
  207. data/sig/lithic/models/payment.rbs +17 -15
  208. data/sig/lithic/models/payment_return_params.rbs +46 -0
  209. data/sig/lithic/models/payment_simulate_action_params.rbs +14 -0
  210. data/sig/lithic/models/statement_totals.rbs +76 -0
  211. data/sig/lithic/models/tokenization.rbs +160 -13
  212. data/sig/lithic/models/transaction.rbs +17 -145
  213. data/sig/lithic/models/transactions/events/enhanced_data.rbs +78 -124
  214. data/sig/lithic/models/transfer.rbs +6 -219
  215. data/sig/lithic/models.rbs +18 -0
  216. data/sig/lithic/resources/auth_rules/v2.rbs +2 -12
  217. data/sig/lithic/resources/disputes_v2.rbs +24 -0
  218. data/sig/lithic/resources/external_bank_accounts.rbs +5 -0
  219. data/sig/lithic/resources/payments.rbs +12 -0
  220. metadata +56 -11
  221. data/lib/lithic/models/auth_rules/v2_apply_params.rb +0 -56
  222. data/lib/lithic/models/auth_rules/v2_apply_response.rb +0 -766
  223. data/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb +0 -248
  224. data/rbi/lithic/models/auth_rules/v2_apply_params.rbi +0 -86
  225. data/rbi/lithic/models/auth_rules/v2_apply_response.rbi +0 -1638
  226. data/rbi/lithic/models/auth_rules/velocity_limit_params_period_window.rbi +0 -557
  227. data/sig/lithic/models/auth_rules/v2_apply_params.rbs +0 -54
  228. data/sig/lithic/models/auth_rules/v2_apply_response.rbs +0 -509
  229. data/sig/lithic/models/auth_rules/velocity_limit_params_period_window.rbs +0 -223
@@ -0,0 +1,254 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module AuthRules
6
+ class ConditionalTokenizationActionParameters < Lithic::Internal::Type::BaseModel
7
+ # @!attribute action
8
+ # The action to take if the conditions are met
9
+ #
10
+ # @return [Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::DeclineAction, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::RequireTfaAction]
11
+ required :action, union: -> { Lithic::AuthRules::ConditionalTokenizationActionParameters::Action }
12
+
13
+ # @!attribute conditions
14
+ #
15
+ # @return [Array<Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Condition>]
16
+ required :conditions,
17
+ -> { Lithic::Internal::Type::ArrayOf[Lithic::AuthRules::ConditionalTokenizationActionParameters::Condition] }
18
+
19
+ # @!method initialize(action:, conditions:)
20
+ # @param action [Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::DeclineAction, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::RequireTfaAction] The action to take if the conditions are met
21
+ #
22
+ # @param conditions [Array<Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Condition>]
23
+
24
+ # The action to take if the conditions are met
25
+ #
26
+ # @see Lithic::Models::AuthRules::ConditionalTokenizationActionParameters#action
27
+ module Action
28
+ extend Lithic::Internal::Type::Union
29
+
30
+ variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters::Action::DeclineAction }
31
+
32
+ variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters::Action::RequireTfaAction }
33
+
34
+ class DeclineAction < Lithic::Internal::Type::BaseModel
35
+ # @!attribute type
36
+ # Decline the tokenization request
37
+ #
38
+ # @return [Symbol, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::DeclineAction::Type]
39
+ required :type,
40
+ enum: -> { Lithic::AuthRules::ConditionalTokenizationActionParameters::Action::DeclineAction::Type }
41
+
42
+ # @!attribute reason
43
+ # Reason code for declining the tokenization request
44
+ #
45
+ # @return [Symbol, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::DeclineAction::Reason, nil]
46
+ optional :reason,
47
+ enum: -> { Lithic::AuthRules::ConditionalTokenizationActionParameters::Action::DeclineAction::Reason }
48
+
49
+ # @!method initialize(type:, reason: nil)
50
+ # @param type [Symbol, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::DeclineAction::Type] Decline the tokenization request
51
+ #
52
+ # @param reason [Symbol, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::DeclineAction::Reason] Reason code for declining the tokenization request
53
+
54
+ # Decline the tokenization request
55
+ #
56
+ # @see Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::DeclineAction#type
57
+ module Type
58
+ extend Lithic::Internal::Type::Enum
59
+
60
+ DECLINE = :DECLINE
61
+
62
+ # @!method self.values
63
+ # @return [Array<Symbol>]
64
+ end
65
+
66
+ # Reason code for declining the tokenization request
67
+ #
68
+ # @see Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::DeclineAction#reason
69
+ module Reason
70
+ extend Lithic::Internal::Type::Enum
71
+
72
+ ACCOUNT_SCORE_1 = :ACCOUNT_SCORE_1
73
+ DEVICE_SCORE_1 = :DEVICE_SCORE_1
74
+ ALL_WALLET_DECLINE_REASONS_PRESENT = :ALL_WALLET_DECLINE_REASONS_PRESENT
75
+ WALLET_RECOMMENDED_DECISION_RED = :WALLET_RECOMMENDED_DECISION_RED
76
+ CVC_MISMATCH = :CVC_MISMATCH
77
+ CARD_EXPIRY_MONTH_MISMATCH = :CARD_EXPIRY_MONTH_MISMATCH
78
+ CARD_EXPIRY_YEAR_MISMATCH = :CARD_EXPIRY_YEAR_MISMATCH
79
+ CARD_INVALID_STATE = :CARD_INVALID_STATE
80
+ CUSTOMER_RED_PATH = :CUSTOMER_RED_PATH
81
+ INVALID_CUSTOMER_RESPONSE = :INVALID_CUSTOMER_RESPONSE
82
+ NETWORK_FAILURE = :NETWORK_FAILURE
83
+ GENERIC_DECLINE = :GENERIC_DECLINE
84
+ DIGITAL_CARD_ART_REQUIRED = :DIGITAL_CARD_ART_REQUIRED
85
+
86
+ # @!method self.values
87
+ # @return [Array<Symbol>]
88
+ end
89
+ end
90
+
91
+ class RequireTfaAction < Lithic::Internal::Type::BaseModel
92
+ # @!attribute type
93
+ # Require two-factor authentication for the tokenization request
94
+ #
95
+ # @return [Symbol, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::RequireTfaAction::Type]
96
+ required :type,
97
+ enum: -> { Lithic::AuthRules::ConditionalTokenizationActionParameters::Action::RequireTfaAction::Type }
98
+
99
+ # @!attribute reason
100
+ # Reason code for requiring two-factor authentication
101
+ #
102
+ # @return [Symbol, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::RequireTfaAction::Reason, nil]
103
+ optional :reason,
104
+ enum: -> { Lithic::AuthRules::ConditionalTokenizationActionParameters::Action::RequireTfaAction::Reason }
105
+
106
+ # @!method initialize(type:, reason: nil)
107
+ # @param type [Symbol, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::RequireTfaAction::Type] Require two-factor authentication for the tokenization request
108
+ #
109
+ # @param reason [Symbol, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::RequireTfaAction::Reason] Reason code for requiring two-factor authentication
110
+
111
+ # Require two-factor authentication for the tokenization request
112
+ #
113
+ # @see Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::RequireTfaAction#type
114
+ module Type
115
+ extend Lithic::Internal::Type::Enum
116
+
117
+ REQUIRE_TFA = :REQUIRE_TFA
118
+
119
+ # @!method self.values
120
+ # @return [Array<Symbol>]
121
+ end
122
+
123
+ # Reason code for requiring two-factor authentication
124
+ #
125
+ # @see Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::RequireTfaAction#reason
126
+ module Reason
127
+ extend Lithic::Internal::Type::Enum
128
+
129
+ WALLET_RECOMMENDED_TFA = :WALLET_RECOMMENDED_TFA
130
+ SUSPICIOUS_ACTIVITY = :SUSPICIOUS_ACTIVITY
131
+ DEVICE_RECENTLY_LOST = :DEVICE_RECENTLY_LOST
132
+ TOO_MANY_RECENT_ATTEMPTS = :TOO_MANY_RECENT_ATTEMPTS
133
+ TOO_MANY_RECENT_TOKENS = :TOO_MANY_RECENT_TOKENS
134
+ TOO_MANY_DIFFERENT_CARDHOLDERS = :TOO_MANY_DIFFERENT_CARDHOLDERS
135
+ OUTSIDE_HOME_TERRITORY = :OUTSIDE_HOME_TERRITORY
136
+ HAS_SUSPENDED_TOKENS = :HAS_SUSPENDED_TOKENS
137
+ HIGH_RISK = :HIGH_RISK
138
+ ACCOUNT_SCORE_LOW = :ACCOUNT_SCORE_LOW
139
+ DEVICE_SCORE_LOW = :DEVICE_SCORE_LOW
140
+ CARD_STATE_TFA = :CARD_STATE_TFA
141
+ HARDCODED_TFA = :HARDCODED_TFA
142
+ CUSTOMER_RULE_TFA = :CUSTOMER_RULE_TFA
143
+ DEVICE_HOST_CARD_EMULATION = :DEVICE_HOST_CARD_EMULATION
144
+
145
+ # @!method self.values
146
+ # @return [Array<Symbol>]
147
+ end
148
+ end
149
+
150
+ # @!method self.variants
151
+ # @return [Array(Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::DeclineAction, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Action::RequireTfaAction)]
152
+ end
153
+
154
+ class Condition < Lithic::Internal::Type::BaseModel
155
+ # @!attribute attribute
156
+ # The attribute to target.
157
+ #
158
+ # The following attributes may be targeted:
159
+ #
160
+ # - `TIMESTAMP`: The timestamp of the tokenization request in ISO 8601 format.
161
+ # - `TOKENIZATION_CHANNEL`: The channel through which the tokenization request was
162
+ # initiated (e.g., DIGITAL_WALLET, ECOMMERCE).
163
+ # - `TOKENIZATION_SOURCE`: The source of the tokenization request.
164
+ # - `TOKEN_REQUESTOR_NAME`: The name of the entity requesting the token. Valid
165
+ # values are `ALT_ID`, `AMAZON_ONE`, `AMERICAN_EXPRESS_TOKEN_SERVICE`,
166
+ # `ANDROID_PAY`, `APPLE_PAY`, `FACEBOOK`, `FITBIT_PAY`, `GARMIN_PAY`,
167
+ # `GOOGLE_PAY`, `GOOGLE_VCN`, `ISSUER_HCE`, `MICROSOFT_PAY`, `NETFLIX`,
168
+ # `SAMSUNG_PAY`, `UNKNOWN`, `VISA_CHECKOUT`.
169
+ # - `WALLET_ACCOUNT_SCORE`: Risk score for the account in the digital wallet.
170
+ # Numeric value where lower numbers indicate higher risk (e.g., 1 = high risk, 2
171
+ # = medium risk).
172
+ # - `WALLET_DEVICE_SCORE`: Risk score for the device in the digital wallet.
173
+ # Numeric value where lower numbers indicate higher risk (e.g., 1 = high risk, 2
174
+ # = medium risk).
175
+ # - `WALLET_RECOMMENDED_DECISION`: The decision recommended by the digital wallet
176
+ # provider. Valid values include APPROVE, DECLINE,
177
+ # REQUIRE_ADDITIONAL_AUTHENTICATION.
178
+ # - `TOKEN_REQUESTOR_ID`: Unique identifier for the entity requesting the token.
179
+ # - `WALLET_TOKEN_STATUS`: The current status of the wallet token.
180
+ #
181
+ # @return [Symbol, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Condition::Attribute]
182
+ required :attribute,
183
+ enum: -> { Lithic::AuthRules::ConditionalTokenizationActionParameters::Condition::Attribute }
184
+
185
+ # @!attribute operation
186
+ # The operation to apply to the attribute
187
+ #
188
+ # @return [Symbol, Lithic::Models::AuthRules::ConditionalOperation]
189
+ required :operation, enum: -> { Lithic::AuthRules::ConditionalOperation }
190
+
191
+ # @!attribute value
192
+ # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
193
+ #
194
+ # @return [String, Integer, Array<String>]
195
+ required :value, union: -> { Lithic::AuthRules::ConditionalValue }
196
+
197
+ # @!method initialize(attribute:, operation:, value:)
198
+ # Some parameter documentations has been truncated, see
199
+ # {Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Condition}
200
+ # for more details.
201
+ #
202
+ # @param attribute [Symbol, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Condition::Attribute] The attribute to target.
203
+ #
204
+ # @param operation [Symbol, Lithic::Models::AuthRules::ConditionalOperation] The operation to apply to the attribute
205
+ #
206
+ # @param value [String, Integer, Array<String>] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
207
+
208
+ # The attribute to target.
209
+ #
210
+ # The following attributes may be targeted:
211
+ #
212
+ # - `TIMESTAMP`: The timestamp of the tokenization request in ISO 8601 format.
213
+ # - `TOKENIZATION_CHANNEL`: The channel through which the tokenization request was
214
+ # initiated (e.g., DIGITAL_WALLET, ECOMMERCE).
215
+ # - `TOKENIZATION_SOURCE`: The source of the tokenization request.
216
+ # - `TOKEN_REQUESTOR_NAME`: The name of the entity requesting the token. Valid
217
+ # values are `ALT_ID`, `AMAZON_ONE`, `AMERICAN_EXPRESS_TOKEN_SERVICE`,
218
+ # `ANDROID_PAY`, `APPLE_PAY`, `FACEBOOK`, `FITBIT_PAY`, `GARMIN_PAY`,
219
+ # `GOOGLE_PAY`, `GOOGLE_VCN`, `ISSUER_HCE`, `MICROSOFT_PAY`, `NETFLIX`,
220
+ # `SAMSUNG_PAY`, `UNKNOWN`, `VISA_CHECKOUT`.
221
+ # - `WALLET_ACCOUNT_SCORE`: Risk score for the account in the digital wallet.
222
+ # Numeric value where lower numbers indicate higher risk (e.g., 1 = high risk, 2
223
+ # = medium risk).
224
+ # - `WALLET_DEVICE_SCORE`: Risk score for the device in the digital wallet.
225
+ # Numeric value where lower numbers indicate higher risk (e.g., 1 = high risk, 2
226
+ # = medium risk).
227
+ # - `WALLET_RECOMMENDED_DECISION`: The decision recommended by the digital wallet
228
+ # provider. Valid values include APPROVE, DECLINE,
229
+ # REQUIRE_ADDITIONAL_AUTHENTICATION.
230
+ # - `TOKEN_REQUESTOR_ID`: Unique identifier for the entity requesting the token.
231
+ # - `WALLET_TOKEN_STATUS`: The current status of the wallet token.
232
+ #
233
+ # @see Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Condition#attribute
234
+ module Attribute
235
+ extend Lithic::Internal::Type::Enum
236
+
237
+ TIMESTAMP = :TIMESTAMP
238
+ TOKENIZATION_CHANNEL = :TOKENIZATION_CHANNEL
239
+ TOKENIZATION_SOURCE = :TOKENIZATION_SOURCE
240
+ TOKEN_REQUESTOR_NAME = :TOKEN_REQUESTOR_NAME
241
+ WALLET_ACCOUNT_SCORE = :WALLET_ACCOUNT_SCORE
242
+ WALLET_DEVICE_SCORE = :WALLET_DEVICE_SCORE
243
+ WALLET_RECOMMENDED_DECISION = :WALLET_RECOMMENDED_DECISION
244
+ TOKEN_REQUESTOR_ID = :TOKEN_REQUESTOR_ID
245
+ WALLET_TOKEN_STATUS = :WALLET_TOKEN_STATUS
246
+
247
+ # @!method self.values
248
+ # @return [Array<Symbol>]
249
+ end
250
+ end
251
+ end
252
+ end
253
+ end
254
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module AuthRules
6
+ # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
7
+ module ConditionalValue
8
+ extend Lithic::Internal::Type::Union
9
+
10
+ # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
11
+ variant String
12
+
13
+ # 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`
14
+ variant Integer
15
+
16
+ # An array of strings, to be used with `IS_ONE_OF` or `IS_NOT_ONE_OF`
17
+ variant -> { Lithic::Models::AuthRules::ConditionalValue::StringArray }
18
+
19
+ # @!method self.variants
20
+ # @return [Array(String, Integer, Array<String>)]
21
+
22
+ # @type [Lithic::Internal::Type::Converter]
23
+ StringArray = Lithic::Internal::Type::ArrayOf[String]
24
+ end
25
+ end
26
+ end
27
+ end
@@ -8,6 +8,27 @@ module Lithic
8
8
  extend Lithic::Internal::Type::RequestParameters::Converter
9
9
  include Lithic::Internal::Type::RequestParameters
10
10
 
11
+ # @!attribute parameters
12
+ # Parameters for the Auth Rule
13
+ #
14
+ # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters]
15
+ required :parameters, union: -> { Lithic::AuthRules::V2CreateParams::Parameters }
16
+
17
+ # @!attribute type
18
+ # The type of Auth Rule. For certain rule types, this determines the event stream
19
+ # during which it will be evaluated. For rules that can be applied to one of
20
+ # several event streams, the effective one is defined by the separate
21
+ # `event_stream` field.
22
+ #
23
+ # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream.
24
+ # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
25
+ # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
26
+ # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
27
+ # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
28
+ #
29
+ # @return [Symbol, Lithic::Models::AuthRules::V2CreateParams::Type]
30
+ required :type, enum: -> { Lithic::AuthRules::V2CreateParams::Type }
31
+
11
32
  # @!attribute account_tokens
12
33
  # Account tokens to which the Auth Rule applies.
13
34
  #
@@ -32,26 +53,6 @@ module Lithic
32
53
  # @return [String, nil]
33
54
  optional :name, String, nil?: true
34
55
 
35
- # @!attribute parameters
36
- # Parameters for the Auth Rule
37
- #
38
- # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters, nil]
39
- optional :parameters, union: -> { Lithic::AuthRules::V2CreateParams::Parameters }
40
-
41
- # @!attribute type
42
- # The type of Auth Rule. For certain rule types, this determines the event stream
43
- # during which it will be evaluated. For rules that can be applied to one of
44
- # several event streams, the effective one is defined by the separate
45
- # `event_stream` field.
46
- #
47
- # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream.
48
- # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
49
- # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
50
- # - `CONDITIONAL_ACTION`: AUTHORIZATION or THREE_DS_AUTHENTICATION event stream.
51
- #
52
- # @return [Symbol, Lithic::Models::AuthRules::V2CreateParams::Type, nil]
53
- optional :type, enum: -> { Lithic::AuthRules::V2CreateParams::Type }
54
-
55
56
  # @!attribute card_tokens
56
57
  # Card tokens to which the Auth Rule applies.
57
58
  #
@@ -70,10 +71,14 @@ module Lithic
70
71
  # @return [Array<String>, nil]
71
72
  optional :excluded_card_tokens, Lithic::Internal::Type::ArrayOf[String]
72
73
 
73
- # @!method initialize(card_tokens:, program_level:, account_tokens: nil, business_account_tokens: nil, event_stream: nil, name: nil, parameters: nil, type: nil, excluded_card_tokens: nil, request_options: {})
74
+ # @!method initialize(parameters:, type:, card_tokens:, program_level:, account_tokens: nil, business_account_tokens: nil, event_stream: nil, name: nil, excluded_card_tokens: nil, request_options: {})
74
75
  # Some parameter documentations has been truncated, see
75
76
  # {Lithic::Models::AuthRules::V2CreateParams} for more details.
76
77
  #
78
+ # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule
79
+ #
80
+ # @param type [Symbol, Lithic::Models::AuthRules::V2CreateParams::Type] The type of Auth Rule. For certain rule types, this determines the event stream
81
+ #
77
82
  # @param card_tokens [Array<String>] Card tokens to which the Auth Rule applies.
78
83
  #
79
84
  # @param program_level [Boolean] Whether the Auth Rule applies to all authorizations on the card program.
@@ -86,25 +91,10 @@ module Lithic
86
91
  #
87
92
  # @param name [String, nil] Auth Rule Name
88
93
  #
89
- # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters] Parameters for the Auth Rule
90
- #
91
- # @param type [Symbol, Lithic::Models::AuthRules::V2CreateParams::Type] The type of Auth Rule. For certain rule types, this determines the event stream
92
- #
93
94
  # @param excluded_card_tokens [Array<String>] Card tokens to which the Auth Rule does not apply.
94
95
  #
95
96
  # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
96
97
 
97
- # The event stream during which the rule will be evaluated.
98
- module EventStream
99
- extend Lithic::Internal::Type::Enum
100
-
101
- AUTHORIZATION = :AUTHORIZATION
102
- THREE_DS_AUTHENTICATION = :THREE_DS_AUTHENTICATION
103
-
104
- # @!method self.values
105
- # @return [Array<Symbol>]
106
- end
107
-
108
98
  # Parameters for the Auth Rule
109
99
  module Parameters
110
100
  extend Lithic::Internal::Type::Union
@@ -117,256 +107,14 @@ module Lithic
117
107
 
118
108
  variant -> { Lithic::AuthRules::Conditional3DSActionParameters }
119
109
 
120
- variant -> { Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters }
121
-
122
- class ConditionalAuthorizationActionParameters < Lithic::Internal::Type::BaseModel
123
- # @!attribute action
124
- # The action to take if the conditions are met.
125
- #
126
- # @return [Symbol, Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Action]
127
- required :action,
128
- enum: -> { Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Action }
129
-
130
- # @!attribute conditions
131
- #
132
- # @return [Array<Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition>]
133
- required :conditions,
134
- -> { Lithic::Internal::Type::ArrayOf[Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition] }
135
-
136
- # @!method initialize(action:, conditions:)
137
- # @param action [Symbol, Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Action] The action to take if the conditions are met.
138
- #
139
- # @param conditions [Array<Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition>]
140
-
141
- # The action to take if the conditions are met.
142
- #
143
- # @see Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters#action
144
- module Action
145
- extend Lithic::Internal::Type::Enum
146
-
147
- DECLINE = :DECLINE
148
- CHALLENGE = :CHALLENGE
149
-
150
- # @!method self.values
151
- # @return [Array<Symbol>]
152
- end
153
-
154
- class Condition < Lithic::Internal::Type::BaseModel
155
- # @!attribute attribute
156
- # The attribute to target.
157
- #
158
- # The following attributes may be targeted:
159
- #
160
- # - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify a
161
- # business by the types of goods or services it provides.
162
- # - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all
163
- # ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for
164
- # Netherlands Antilles.
165
- # - `CURRENCY`: 3-character alphabetic ISO 4217 code for the merchant currency of
166
- # the transaction.
167
- # - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor
168
- # (merchant).
169
- # - `DESCRIPTOR`: Short description of card acceptor.
170
- # - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the issuer
171
- # applies to the transaction. Valid values are `NONE`, `3DS_AUTHENTICATED`, or
172
- # `TOKEN_AUTHENTICATED`.
173
- # - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account number
174
- # (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, `CONTACTLESS`,
175
- # `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, `KEY_ENTERED`,
176
- # `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, `UNSPECIFIED`,
177
- # `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`.
178
- # - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer
179
- # fee field in the settlement/cardholder billing currency. This is the amount
180
- # the issuer should authorize against unless the issuer is paying the acquirer
181
- # fee on behalf of the cardholder.
182
- # - `CASH_AMOUNT`: The cash amount of the transaction in minor units (cents). This
183
- # represents the amount of cash being withdrawn or advanced.
184
- # - `RISK_SCORE`: Network-provided score assessing risk level associated with a
185
- # given authorization. Scores are on a range of 0-999, with 0 representing the
186
- # lowest risk and 999 representing the highest risk. For Visa transactions,
187
- # where the raw score has a range of 0-99, Lithic will normalize the score by
188
- # multiplying the raw score by 10x.
189
- # - `CARD_TRANSACTION_COUNT_15M`: The number of transactions on the card in the
190
- # trailing 15 minutes before the authorization.
191
- # - `CARD_TRANSACTION_COUNT_1H`: The number of transactions on the card in the
192
- # trailing hour up and until the authorization.
193
- # - `CARD_TRANSACTION_COUNT_24H`: The number of transactions on the card in the
194
- # trailing 24 hours up and until the authorization.
195
- # - `CARD_STATE`: The current state of the card associated with the transaction.
196
- # Valid values are `CLOSED`, `OPEN`, `PAUSED`, `PENDING_ACTIVATION`,
197
- # `PENDING_FULFILLMENT`.
198
- # - `PIN_ENTERED`: Indicates whether a PIN was entered during the transaction.
199
- # Valid values are `TRUE`, `FALSE`.
200
- # - `PIN_STATUS`: The current state of card's PIN. Valid values are `NOT_SET`,
201
- # `OK`, `BLOCKED`.
202
- # - `WALLET_TYPE`: For transactions using a digital wallet token, indicates the
203
- # source of the token. Valid values are `APPLE_PAY`, `GOOGLE_PAY`,
204
- # `SAMSUNG_PAY`, `MASTERPASS`, `MERCHANT`, `OTHER`, `NONE`.
205
- # - `TRANSACTION_INITIATOR`: The entity that initiated the transaction indicates
206
- # the source of the token. Valid values are `CARDHOLDER`, `MERCHANT`, `UNKNOWN`.
207
- # - `ADDRESS_MATCH`: Lithic's evaluation result comparing transaction's address
208
- # data with the cardholder KYC data if it exists. Valid values are `MATCH`,
209
- # `MATCH_ADDRESS_ONLY`, `MATCH_ZIP_ONLY`,`MISMATCH`,`NOT_PRESENT`.
210
- #
211
- # @return [Symbol, Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute, nil]
212
- optional :attribute,
213
- enum: -> { Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute }
214
-
215
- # @!attribute operation
216
- # The operation to apply to the attribute
217
- #
218
- # @return [Symbol, Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation, nil]
219
- optional :operation,
220
- enum: -> { Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation }
221
-
222
- # @!attribute value
223
- # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
224
- #
225
- # @return [String, Integer, Array<String>, nil]
226
- optional :value,
227
- union: -> { Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Value }
228
-
229
- # @!method initialize(attribute: nil, operation: nil, value: nil)
230
- # Some parameter documentations has been truncated, see
231
- # {Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition}
232
- # for more details.
233
- #
234
- # @param attribute [Symbol, Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute] The attribute to target.
235
- #
236
- # @param operation [Symbol, Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation] The operation to apply to the attribute
237
- #
238
- # @param value [String, Integer, Array<String>] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
239
-
240
- # The attribute to target.
241
- #
242
- # The following attributes may be targeted:
243
- #
244
- # - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify a
245
- # business by the types of goods or services it provides.
246
- # - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all
247
- # ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for
248
- # Netherlands Antilles.
249
- # - `CURRENCY`: 3-character alphabetic ISO 4217 code for the merchant currency of
250
- # the transaction.
251
- # - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor
252
- # (merchant).
253
- # - `DESCRIPTOR`: Short description of card acceptor.
254
- # - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the issuer
255
- # applies to the transaction. Valid values are `NONE`, `3DS_AUTHENTICATED`, or
256
- # `TOKEN_AUTHENTICATED`.
257
- # - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account number
258
- # (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, `CONTACTLESS`,
259
- # `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, `KEY_ENTERED`,
260
- # `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, `UNSPECIFIED`,
261
- # `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`.
262
- # - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer
263
- # fee field in the settlement/cardholder billing currency. This is the amount
264
- # the issuer should authorize against unless the issuer is paying the acquirer
265
- # fee on behalf of the cardholder.
266
- # - `CASH_AMOUNT`: The cash amount of the transaction in minor units (cents). This
267
- # represents the amount of cash being withdrawn or advanced.
268
- # - `RISK_SCORE`: Network-provided score assessing risk level associated with a
269
- # given authorization. Scores are on a range of 0-999, with 0 representing the
270
- # lowest risk and 999 representing the highest risk. For Visa transactions,
271
- # where the raw score has a range of 0-99, Lithic will normalize the score by
272
- # multiplying the raw score by 10x.
273
- # - `CARD_TRANSACTION_COUNT_15M`: The number of transactions on the card in the
274
- # trailing 15 minutes before the authorization.
275
- # - `CARD_TRANSACTION_COUNT_1H`: The number of transactions on the card in the
276
- # trailing hour up and until the authorization.
277
- # - `CARD_TRANSACTION_COUNT_24H`: The number of transactions on the card in the
278
- # trailing 24 hours up and until the authorization.
279
- # - `CARD_STATE`: The current state of the card associated with the transaction.
280
- # Valid values are `CLOSED`, `OPEN`, `PAUSED`, `PENDING_ACTIVATION`,
281
- # `PENDING_FULFILLMENT`.
282
- # - `PIN_ENTERED`: Indicates whether a PIN was entered during the transaction.
283
- # Valid values are `TRUE`, `FALSE`.
284
- # - `PIN_STATUS`: The current state of card's PIN. Valid values are `NOT_SET`,
285
- # `OK`, `BLOCKED`.
286
- # - `WALLET_TYPE`: For transactions using a digital wallet token, indicates the
287
- # source of the token. Valid values are `APPLE_PAY`, `GOOGLE_PAY`,
288
- # `SAMSUNG_PAY`, `MASTERPASS`, `MERCHANT`, `OTHER`, `NONE`.
289
- # - `TRANSACTION_INITIATOR`: The entity that initiated the transaction indicates
290
- # the source of the token. Valid values are `CARDHOLDER`, `MERCHANT`, `UNKNOWN`.
291
- # - `ADDRESS_MATCH`: Lithic's evaluation result comparing transaction's address
292
- # data with the cardholder KYC data if it exists. Valid values are `MATCH`,
293
- # `MATCH_ADDRESS_ONLY`, `MATCH_ZIP_ONLY`,`MISMATCH`,`NOT_PRESENT`.
294
- #
295
- # @see Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition#attribute
296
- module Attribute
297
- extend Lithic::Internal::Type::Enum
298
-
299
- MCC = :MCC
300
- COUNTRY = :COUNTRY
301
- CURRENCY = :CURRENCY
302
- MERCHANT_ID = :MERCHANT_ID
303
- DESCRIPTOR = :DESCRIPTOR
304
- LIABILITY_SHIFT = :LIABILITY_SHIFT
305
- PAN_ENTRY_MODE = :PAN_ENTRY_MODE
306
- TRANSACTION_AMOUNT = :TRANSACTION_AMOUNT
307
- CASH_AMOUNT = :CASH_AMOUNT
308
- RISK_SCORE = :RISK_SCORE
309
- CARD_TRANSACTION_COUNT_15_M = :CARD_TRANSACTION_COUNT_15M
310
- CARD_TRANSACTION_COUNT_1_H = :CARD_TRANSACTION_COUNT_1H
311
- CARD_TRANSACTION_COUNT_24_H = :CARD_TRANSACTION_COUNT_24H
312
- CARD_STATE = :CARD_STATE
313
- PIN_ENTERED = :PIN_ENTERED
314
- PIN_STATUS = :PIN_STATUS
315
- WALLET_TYPE = :WALLET_TYPE
316
- TRANSACTION_INITIATOR = :TRANSACTION_INITIATOR
317
- ADDRESS_MATCH = :ADDRESS_MATCH
110
+ variant -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters }
318
111
 
319
- # @!method self.values
320
- # @return [Array<Symbol>]
321
- end
112
+ variant -> { Lithic::AuthRules::ConditionalACHActionParameters }
322
113
 
323
- # The operation to apply to the attribute
324
- #
325
- # @see Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition#operation
326
- module Operation
327
- extend Lithic::Internal::Type::Enum
328
-
329
- IS_ONE_OF = :IS_ONE_OF
330
- IS_NOT_ONE_OF = :IS_NOT_ONE_OF
331
- MATCHES = :MATCHES
332
- DOES_NOT_MATCH = :DOES_NOT_MATCH
333
- IS_EQUAL_TO = :IS_EQUAL_TO
334
- IS_NOT_EQUAL_TO = :IS_NOT_EQUAL_TO
335
- IS_GREATER_THAN = :IS_GREATER_THAN
336
- IS_GREATER_THAN_OR_EQUAL_TO = :IS_GREATER_THAN_OR_EQUAL_TO
337
- IS_LESS_THAN = :IS_LESS_THAN
338
- IS_LESS_THAN_OR_EQUAL_TO = :IS_LESS_THAN_OR_EQUAL_TO
339
-
340
- # @!method self.values
341
- # @return [Array<Symbol>]
342
- end
343
-
344
- # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
345
- #
346
- # @see Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition#value
347
- module Value
348
- extend Lithic::Internal::Type::Union
349
-
350
- # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
351
- variant String
352
-
353
- # 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`
354
- variant Integer
355
-
356
- # An array of strings, to be used with `IS_ONE_OF` or `IS_NOT_ONE_OF`
357
- variant -> { Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Value::StringArray }
358
-
359
- # @!method self.variants
360
- # @return [Array(String, Integer, Array<String>)]
361
-
362
- # @type [Lithic::Internal::Type::Converter]
363
- StringArray = Lithic::Internal::Type::ArrayOf[String]
364
- end
365
- end
366
- end
114
+ variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters }
367
115
 
368
116
  # @!method self.variants
369
- # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters)]
117
+ # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)]
370
118
  end
371
119
 
372
120
  # The type of Auth Rule. For certain rule types, this determines the event stream
@@ -377,7 +125,8 @@ module Lithic
377
125
  # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream.
378
126
  # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
379
127
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
380
- # - `CONDITIONAL_ACTION`: AUTHORIZATION or THREE_DS_AUTHENTICATION event stream.
128
+ # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
129
+ # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
381
130
  module Type
382
131
  extend Lithic::Internal::Type::Enum
383
132
 
@@ -389,6 +138,20 @@ module Lithic
389
138
  # @!method self.values
390
139
  # @return [Array<Symbol>]
391
140
  end
141
+
142
+ # The event stream during which the rule will be evaluated.
143
+ module EventStream
144
+ extend Lithic::Internal::Type::Enum
145
+
146
+ AUTHORIZATION = :AUTHORIZATION
147
+ THREE_DS_AUTHENTICATION = :THREE_DS_AUTHENTICATION
148
+ TOKENIZATION = :TOKENIZATION
149
+ ACH_CREDIT_RECEIPT = :ACH_CREDIT_RECEIPT
150
+ ACH_DEBIT_RECEIPT = :ACH_DEBIT_RECEIPT
151
+
152
+ # @!method self.values
153
+ # @return [Array<Symbol>]
154
+ end
392
155
  end
393
156
  end
394
157
  end