lithic 0.14.0 → 0.16.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 (279) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +52 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +8 -0
  5. data/lib/lithic/internal/transport/base_client.rb +5 -0
  6. data/lib/lithic/models/account.rb +2 -2
  7. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +4 -4
  8. data/lib/lithic/models/account_holders/account_holder_entity.rb +3 -16
  9. data/lib/lithic/models/account_holders/entity_create_params.rb +3 -14
  10. data/lib/lithic/models/auth_rules/auth_rule.rb +14 -8
  11. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +2 -2
  12. data/lib/lithic/models/auth_rules/auth_rule_version.rb +5 -3
  13. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +8 -6
  14. data/lib/lithic/models/auth_rules/conditional_ach_action_parameters.rb +4 -4
  15. data/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb +52 -34
  16. data/lib/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rb +531 -0
  17. data/lib/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rb +213 -23
  18. data/lib/lithic/models/auth_rules/conditional_tokenization_action_parameters.rb +6 -6
  19. data/lib/lithic/models/auth_rules/conditional_value.rb +3 -2
  20. data/lib/lithic/models/auth_rules/rule_feature.rb +29 -6
  21. data/lib/lithic/models/auth_rules/typescript_code_parameters.rb +2 -2
  22. data/lib/lithic/models/auth_rules/v2_create_params.rb +27 -15
  23. data/lib/lithic/models/auth_rules/v2_draft_params.rb +5 -3
  24. data/lib/lithic/models/balance.rb +8 -6
  25. data/lib/lithic/models/card.rb +1 -1
  26. data/lib/lithic/models/card_authorization.rb +1372 -0
  27. data/lib/lithic/models/card_authorization_approval_request_webhook_event.rb +3 -1253
  28. data/lib/lithic/models/card_authorization_challenge_response_params.rb +40 -0
  29. data/lib/lithic/models/card_authorization_challenge_response_webhook_event.rb +1 -0
  30. data/lib/lithic/models/card_authorization_challenge_webhook_event.rb +67 -0
  31. data/lib/lithic/models/card_program.rb +2 -2
  32. data/lib/lithic/models/event.rb +13 -4
  33. data/lib/lithic/models/event_list_params.rb +7 -2
  34. data/lib/lithic/models/event_subscription.rb +7 -2
  35. data/lib/lithic/models/events/subscription_create_params.rb +7 -2
  36. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +1 -0
  37. data/lib/lithic/models/events/subscription_update_params.rb +7 -2
  38. data/lib/lithic/models/external_bank_account.rb +1 -1
  39. data/lib/lithic/models/external_bank_account_pause_params.rb +20 -0
  40. data/lib/lithic/models/financial_accounts/loan_tape.rb +9 -1
  41. data/lib/lithic/models/financial_accounts/statement.rb +4 -4
  42. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +3 -2
  43. data/lib/lithic/models/financial_event.rb +1 -0
  44. data/lib/lithic/models/kyb_business_entity.rb +2 -2
  45. data/lib/lithic/models/parsed_webhook_event.rb +4 -1
  46. data/lib/lithic/models/payment.rb +13 -1
  47. data/lib/lithic/models/settlement_detail.rb +14 -14
  48. data/lib/lithic/models/statement_totals.rb +6 -6
  49. data/lib/lithic/models/tokenization_decline_reason.rb +1 -0
  50. data/lib/lithic/models/transaction.rb +2 -2
  51. data/lib/lithic/models/transaction_monitoring/case_activity_entry.rb +74 -0
  52. data/lib/lithic/models/transaction_monitoring/case_activity_type.rb +35 -0
  53. data/lib/lithic/models/transaction_monitoring/case_card.rb +37 -0
  54. data/lib/lithic/models/transaction_monitoring/case_entity.rb +50 -0
  55. data/lib/lithic/models/transaction_monitoring/case_list_activity_params.rb +53 -0
  56. data/lib/lithic/models/transaction_monitoring/case_list_params.rb +136 -0
  57. data/lib/lithic/models/transaction_monitoring/case_list_transactions_params.rb +53 -0
  58. data/lib/lithic/models/transaction_monitoring/case_priority.rb +20 -0
  59. data/lib/lithic/models/transaction_monitoring/case_retrieve_cards_params.rb +22 -0
  60. data/lib/lithic/models/transaction_monitoring/case_retrieve_cards_response.rb +11 -0
  61. data/lib/lithic/models/transaction_monitoring/case_retrieve_params.rb +22 -0
  62. data/lib/lithic/models/transaction_monitoring/case_sort_order.rb +29 -0
  63. data/lib/lithic/models/transaction_monitoring/case_status.rb +31 -0
  64. data/lib/lithic/models/transaction_monitoring/case_transaction.rb +53 -0
  65. data/lib/lithic/models/transaction_monitoring/case_update_params.rb +116 -0
  66. data/lib/lithic/models/transaction_monitoring/cases/case_file.rb +141 -0
  67. data/lib/lithic/models/transaction_monitoring/cases/comment_create_params.rb +47 -0
  68. data/lib/lithic/models/transaction_monitoring/cases/comment_delete_params.rb +30 -0
  69. data/lib/lithic/models/transaction_monitoring/cases/comment_update_params.rb +54 -0
  70. data/lib/lithic/models/transaction_monitoring/cases/file_create_params.rb +33 -0
  71. data/lib/lithic/models/transaction_monitoring/cases/file_delete_params.rb +30 -0
  72. data/lib/lithic/models/transaction_monitoring/cases/file_list_params.rb +54 -0
  73. data/lib/lithic/models/transaction_monitoring/cases/file_retrieve_params.rb +30 -0
  74. data/lib/lithic/models/transaction_monitoring/cases/file_status.rb +26 -0
  75. data/lib/lithic/models/transaction_monitoring/cases/upload_constraints.rb +31 -0
  76. data/lib/lithic/models/transaction_monitoring/entity_type.rb +18 -0
  77. data/lib/lithic/models/transaction_monitoring/monitoring_case.rb +168 -0
  78. data/lib/lithic/models/transaction_monitoring/queue.rb +120 -0
  79. data/lib/lithic/models/transaction_monitoring/queue_create_params.rb +32 -0
  80. data/lib/lithic/models/transaction_monitoring/queue_delete_params.rb +22 -0
  81. data/lib/lithic/models/transaction_monitoring/queue_list_params.rb +45 -0
  82. data/lib/lithic/models/transaction_monitoring/queue_retrieve_params.rb +22 -0
  83. data/lib/lithic/models/transaction_monitoring/queue_update_params.rb +39 -0
  84. data/lib/lithic/models/transaction_monitoring/resolution_outcome.rb +28 -0
  85. data/lib/lithic/models/transaction_route_params.rb +29 -0
  86. data/lib/lithic/models/transfer_limits_response.rb +12 -12
  87. data/lib/lithic/models.rb +12 -0
  88. data/lib/lithic/resources/account_holders/entities.rb +1 -1
  89. data/lib/lithic/resources/auth_rules/v2.rb +1 -1
  90. data/lib/lithic/resources/card_authorizations.rb +45 -0
  91. data/lib/lithic/resources/cards.rb +2 -2
  92. data/lib/lithic/resources/external_bank_accounts.rb +19 -0
  93. data/lib/lithic/resources/transaction_monitoring/cases/comments.rb +111 -0
  94. data/lib/lithic/resources/transaction_monitoring/cases/files.rb +131 -0
  95. data/lib/lithic/resources/transaction_monitoring/cases.rb +228 -0
  96. data/lib/lithic/resources/transaction_monitoring/queues.rb +137 -0
  97. data/lib/lithic/resources/transaction_monitoring.rb +22 -0
  98. data/lib/lithic/resources/transactions.rb +25 -0
  99. data/lib/lithic/resources/webhooks.rb +1 -1
  100. data/lib/lithic/version.rb +1 -1
  101. data/lib/lithic.rb +46 -0
  102. data/rbi/lithic/client.rbi +6 -0
  103. data/rbi/lithic/models/account.rbi +3 -3
  104. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +6 -12
  105. data/rbi/lithic/models/account_holders/account_holder_entity.rbi +3 -40
  106. data/rbi/lithic/models/account_holders/entity_create_params.rbi +3 -37
  107. data/rbi/lithic/models/auth_rules/auth_rule.rbi +14 -7
  108. data/rbi/lithic/models/auth_rules/auth_rule_version.rbi +4 -2
  109. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +9 -6
  110. data/rbi/lithic/models/auth_rules/conditional_ach_action_parameters.rbi +3 -3
  111. data/rbi/lithic/models/auth_rules/conditional_authorization_action_parameters.rbi +75 -48
  112. data/rbi/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbi +1147 -0
  113. data/rbi/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbi +419 -30
  114. data/rbi/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbi +6 -6
  115. data/rbi/lithic/models/auth_rules/conditional_value.rbi +1 -1
  116. data/rbi/lithic/models/auth_rules/rule_feature.rbi +41 -5
  117. data/rbi/lithic/models/auth_rules/typescript_code_parameters.rbi +3 -0
  118. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +42 -21
  119. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +8 -4
  120. data/rbi/lithic/models/balance.rbi +12 -6
  121. data/rbi/lithic/models/card.rbi +2 -2
  122. data/rbi/lithic/models/card_authorization.rbi +2769 -0
  123. data/rbi/lithic/models/card_authorization_approval_request_webhook_event.rbi +5 -2758
  124. data/rbi/lithic/models/card_authorization_challenge_response_params.rbi +93 -0
  125. data/rbi/lithic/models/card_authorization_challenge_response_webhook_event.rbi +5 -0
  126. data/rbi/lithic/models/card_authorization_challenge_webhook_event.rbi +119 -0
  127. data/rbi/lithic/models/card_program.rbi +3 -6
  128. data/rbi/lithic/models/event.rbi +23 -6
  129. data/rbi/lithic/models/event_list_params.rbi +11 -2
  130. data/rbi/lithic/models/event_subscription.rbi +11 -2
  131. data/rbi/lithic/models/events/subscription_create_params.rbi +11 -2
  132. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +5 -0
  133. data/rbi/lithic/models/events/subscription_update_params.rbi +11 -2
  134. data/rbi/lithic/models/external_bank_account_pause_params.rbi +41 -0
  135. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +8 -0
  136. data/rbi/lithic/models/financial_accounts/statement.rbi +6 -12
  137. data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +8 -6
  138. data/rbi/lithic/models/financial_event.rbi +2 -0
  139. data/rbi/lithic/models/kyb_business_entity.rbi +3 -6
  140. data/rbi/lithic/models/parsed_webhook_event.rbi +1 -0
  141. data/rbi/lithic/models/payment.rbi +13 -0
  142. data/rbi/lithic/models/settlement_detail.rbi +15 -15
  143. data/rbi/lithic/models/statement_totals.rbi +9 -18
  144. data/rbi/lithic/models/tokenization_decline_reason.rbi +2 -0
  145. data/rbi/lithic/models/transaction.rbi +3 -3
  146. data/rbi/lithic/models/transaction_monitoring/case_activity_entry.rbi +107 -0
  147. data/rbi/lithic/models/transaction_monitoring/case_activity_type.rbi +84 -0
  148. data/rbi/lithic/models/transaction_monitoring/case_card.rbi +60 -0
  149. data/rbi/lithic/models/transaction_monitoring/case_entity.rbi +101 -0
  150. data/rbi/lithic/models/transaction_monitoring/case_list_activity_params.rbi +83 -0
  151. data/rbi/lithic/models/transaction_monitoring/case_list_params.rbi +220 -0
  152. data/rbi/lithic/models/transaction_monitoring/case_list_transactions_params.rbi +83 -0
  153. data/rbi/lithic/models/transaction_monitoring/case_priority.rbi +44 -0
  154. data/rbi/lithic/models/transaction_monitoring/case_retrieve_cards_params.rbi +40 -0
  155. data/rbi/lithic/models/transaction_monitoring/case_retrieve_cards_response.rbi +15 -0
  156. data/rbi/lithic/models/transaction_monitoring/case_retrieve_params.rbi +40 -0
  157. data/rbi/lithic/models/transaction_monitoring/case_sort_order.rbi +64 -0
  158. data/rbi/lithic/models/transaction_monitoring/case_status.rbi +63 -0
  159. data/rbi/lithic/models/transaction_monitoring/case_transaction.rbi +75 -0
  160. data/rbi/lithic/models/transaction_monitoring/case_update_params.rbi +201 -0
  161. data/rbi/lithic/models/transaction_monitoring/cases/case_file.rbi +188 -0
  162. data/rbi/lithic/models/transaction_monitoring/cases/comment_create_params.rbi +71 -0
  163. data/rbi/lithic/models/transaction_monitoring/cases/comment_delete_params.rbi +50 -0
  164. data/rbi/lithic/models/transaction_monitoring/cases/comment_update_params.rbi +77 -0
  165. data/rbi/lithic/models/transaction_monitoring/cases/file_create_params.rbi +56 -0
  166. data/rbi/lithic/models/transaction_monitoring/cases/file_delete_params.rbi +50 -0
  167. data/rbi/lithic/models/transaction_monitoring/cases/file_list_params.rbi +85 -0
  168. data/rbi/lithic/models/transaction_monitoring/cases/file_retrieve_params.rbi +50 -0
  169. data/rbi/lithic/models/transaction_monitoring/cases/file_status.rbi +51 -0
  170. data/rbi/lithic/models/transaction_monitoring/cases/upload_constraints.rbi +51 -0
  171. data/rbi/lithic/models/transaction_monitoring/entity_type.rbi +37 -0
  172. data/rbi/lithic/models/transaction_monitoring/monitoring_case.rbi +226 -0
  173. data/rbi/lithic/models/transaction_monitoring/queue.rbi +189 -0
  174. data/rbi/lithic/models/transaction_monitoring/queue_create_params.rbi +56 -0
  175. data/rbi/lithic/models/transaction_monitoring/queue_delete_params.rbi +40 -0
  176. data/rbi/lithic/models/transaction_monitoring/queue_list_params.rbi +77 -0
  177. data/rbi/lithic/models/transaction_monitoring/queue_retrieve_params.rbi +40 -0
  178. data/rbi/lithic/models/transaction_monitoring/queue_update_params.rbi +65 -0
  179. data/rbi/lithic/models/transaction_monitoring/resolution_outcome.rbi +61 -0
  180. data/rbi/lithic/models/transaction_route_params.rbi +49 -0
  181. data/rbi/lithic/models/transfer_limits_response.rbi +48 -48
  182. data/rbi/lithic/models.rbi +15 -0
  183. data/rbi/lithic/resources/account_holders/entities.rbi +1 -1
  184. data/rbi/lithic/resources/auth_rules/v2.rbi +2 -1
  185. data/rbi/lithic/resources/card_authorizations.rbi +35 -0
  186. data/rbi/lithic/resources/cards.rbi +2 -2
  187. data/rbi/lithic/resources/external_bank_accounts.rbi +10 -0
  188. data/rbi/lithic/resources/transaction_monitoring/cases/comments.rbi +81 -0
  189. data/rbi/lithic/resources/transaction_monitoring/cases/files.rbi +98 -0
  190. data/rbi/lithic/resources/transaction_monitoring/cases.rbi +230 -0
  191. data/rbi/lithic/resources/transaction_monitoring/queues.rbi +103 -0
  192. data/rbi/lithic/resources/transaction_monitoring.rbi +18 -0
  193. data/rbi/lithic/resources/transactions.rbi +18 -0
  194. data/rbi/lithic/resources/webhooks.rbi +4 -1
  195. data/sig/lithic/client.rbs +4 -0
  196. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +8 -12
  197. data/sig/lithic/models/account_holders/account_holder_entity.rbs +4 -15
  198. data/sig/lithic/models/account_holders/entity_create_params.rbs +4 -15
  199. data/sig/lithic/models/auth_rules/auth_rule.rbs +2 -0
  200. data/sig/lithic/models/auth_rules/auth_rule_version.rbs +1 -0
  201. data/sig/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbs +276 -0
  202. data/sig/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbs +73 -3
  203. data/sig/lithic/models/auth_rules/conditional_value.rbs +1 -1
  204. data/sig/lithic/models/auth_rules/rule_feature.rbs +16 -0
  205. data/sig/lithic/models/auth_rules/v2_create_params.rbs +3 -0
  206. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +1 -0
  207. data/sig/lithic/models/balance.rbs +17 -9
  208. data/sig/lithic/models/card_authorization.rbs +1112 -0
  209. data/sig/lithic/models/card_authorization_approval_request_webhook_event.rbs +7 -1013
  210. data/sig/lithic/models/card_authorization_challenge_response_params.rbs +42 -0
  211. data/sig/lithic/models/card_authorization_challenge_response_webhook_event.rbs +2 -1
  212. data/sig/lithic/models/card_authorization_challenge_webhook_event.rbs +53 -0
  213. data/sig/lithic/models/card_program.rbs +4 -6
  214. data/sig/lithic/models/event.rbs +2 -0
  215. data/sig/lithic/models/event_list_params.rbs +2 -0
  216. data/sig/lithic/models/event_subscription.rbs +2 -0
  217. data/sig/lithic/models/events/subscription_create_params.rbs +2 -0
  218. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +2 -0
  219. data/sig/lithic/models/events/subscription_update_params.rbs +2 -0
  220. data/sig/lithic/models/external_bank_account_pause_params.rbs +24 -0
  221. data/sig/lithic/models/financial_accounts/loan_tape.rbs +5 -0
  222. data/sig/lithic/models/financial_accounts/statement.rbs +8 -12
  223. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +6 -6
  224. data/sig/lithic/models/financial_event.rbs +2 -0
  225. data/sig/lithic/models/kyb_business_entity.rbs +4 -6
  226. data/sig/lithic/models/parsed_webhook_event.rbs +1 -0
  227. data/sig/lithic/models/payment.rbs +7 -0
  228. data/sig/lithic/models/settlement_detail.rbs +18 -18
  229. data/sig/lithic/models/statement_totals.rbs +12 -18
  230. data/sig/lithic/models/tokenization_decline_reason.rbs +2 -0
  231. data/sig/lithic/models/transaction.rbs +4 -8
  232. data/sig/lithic/models/transaction_monitoring/case_activity_entry.rbs +47 -0
  233. data/sig/lithic/models/transaction_monitoring/case_activity_type.rbs +32 -0
  234. data/sig/lithic/models/transaction_monitoring/case_card.rbs +32 -0
  235. data/sig/lithic/models/transaction_monitoring/case_entity.rbs +38 -0
  236. data/sig/lithic/models/transaction_monitoring/case_list_activity_params.rbs +49 -0
  237. data/sig/lithic/models/transaction_monitoring/case_list_params.rbs +125 -0
  238. data/sig/lithic/models/transaction_monitoring/case_list_transactions_params.rbs +49 -0
  239. data/sig/lithic/models/transaction_monitoring/case_priority.rbs +18 -0
  240. data/sig/lithic/models/transaction_monitoring/case_retrieve_cards_params.rbs +25 -0
  241. data/sig/lithic/models/transaction_monitoring/case_retrieve_cards_response.rbs +10 -0
  242. data/sig/lithic/models/transaction_monitoring/case_retrieve_params.rbs +25 -0
  243. data/sig/lithic/models/transaction_monitoring/case_sort_order.rbs +26 -0
  244. data/sig/lithic/models/transaction_monitoring/case_status.rbs +21 -0
  245. data/sig/lithic/models/transaction_monitoring/case_transaction.rbs +42 -0
  246. data/sig/lithic/models/transaction_monitoring/case_update_params.rbs +91 -0
  247. data/sig/lithic/models/transaction_monitoring/cases/case_file.rbs +86 -0
  248. data/sig/lithic/models/transaction_monitoring/cases/comment_create_params.rbs +38 -0
  249. data/sig/lithic/models/transaction_monitoring/cases/comment_delete_params.rbs +32 -0
  250. data/sig/lithic/models/transaction_monitoring/cases/comment_update_params.rbs +47 -0
  251. data/sig/lithic/models/transaction_monitoring/cases/file_create_params.rbs +32 -0
  252. data/sig/lithic/models/transaction_monitoring/cases/file_delete_params.rbs +32 -0
  253. data/sig/lithic/models/transaction_monitoring/cases/file_list_params.rbs +51 -0
  254. data/sig/lithic/models/transaction_monitoring/cases/file_retrieve_params.rbs +32 -0
  255. data/sig/lithic/models/transaction_monitoring/cases/file_status.rbs +19 -0
  256. data/sig/lithic/models/transaction_monitoring/cases/upload_constraints.rbs +26 -0
  257. data/sig/lithic/models/transaction_monitoring/entity_type.rbs +16 -0
  258. data/sig/lithic/models/transaction_monitoring/monitoring_case.rbs +102 -0
  259. data/sig/lithic/models/transaction_monitoring/queue.rbs +101 -0
  260. data/sig/lithic/models/transaction_monitoring/queue_create_params.rbs +30 -0
  261. data/sig/lithic/models/transaction_monitoring/queue_delete_params.rbs +25 -0
  262. data/sig/lithic/models/transaction_monitoring/queue_list_params.rbs +40 -0
  263. data/sig/lithic/models/transaction_monitoring/queue_retrieve_params.rbs +25 -0
  264. data/sig/lithic/models/transaction_monitoring/queue_update_params.rbs +36 -0
  265. data/sig/lithic/models/transaction_monitoring/resolution_outcome.rbs +24 -0
  266. data/sig/lithic/models/transaction_route_params.rbs +28 -0
  267. data/sig/lithic/models/transfer_limits_response.rbs +24 -36
  268. data/sig/lithic/models.rbs +12 -0
  269. data/sig/lithic/resources/account_holders/entities.rbs +1 -1
  270. data/sig/lithic/resources/card_authorizations.rbs +13 -0
  271. data/sig/lithic/resources/external_bank_accounts.rbs +5 -0
  272. data/sig/lithic/resources/transaction_monitoring/cases/comments.rbs +32 -0
  273. data/sig/lithic/resources/transaction_monitoring/cases/files.rbs +37 -0
  274. data/sig/lithic/resources/transaction_monitoring/cases.rbs +71 -0
  275. data/sig/lithic/resources/transaction_monitoring/queues.rbs +39 -0
  276. data/sig/lithic/resources/transaction_monitoring.rbs +11 -0
  277. data/sig/lithic/resources/transactions.rbs +6 -0
  278. data/sig/lithic/resources/webhooks.rbs +1 -0
  279. metadata +140 -2
@@ -0,0 +1,2769 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class CardAuthorization < Lithic::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Lithic::CardAuthorization, Lithic::Internal::AnyHash)
9
+ end
10
+
11
+ # The provisional transaction group uuid associated with the authorization
12
+ sig { returns(String) }
13
+ attr_accessor :token
14
+
15
+ # Fee (in cents) assessed by the merchant and paid for by the cardholder. Will be
16
+ # zero if no fee is assessed. Rebates may be transmitted as a negative value to
17
+ # indicate credited fees.
18
+ sig { returns(Integer) }
19
+ attr_accessor :acquirer_fee
20
+
21
+ # Deprecated, use `amounts`. Authorization amount of the transaction (in cents),
22
+ # including any acquirer fees. The contents of this field are identical to
23
+ # `authorization_amount`.
24
+ sig { returns(Integer) }
25
+ attr_accessor :amount
26
+
27
+ # Structured amounts for this authorization. The `cardholder` and `merchant`
28
+ # amounts reflect the original network authorization values. For programs with
29
+ # hold adjustments enabled (e.g., automated fuel dispensers or tipping MCCs), the
30
+ # `hold` amount may exceed the `cardholder` and `merchant` amounts to account for
31
+ # anticipated final transaction amounts such as tips or fuel fill-ups
32
+ sig { returns(Lithic::CardAuthorization::Amounts) }
33
+ attr_reader :amounts
34
+
35
+ sig { params(amounts: Lithic::CardAuthorization::Amounts::OrHash).void }
36
+ attr_writer :amounts
37
+
38
+ # Deprecated, use `amounts`. The base transaction amount (in cents) plus the
39
+ # acquirer fee field. This is the amount the issuer should authorize against
40
+ # unless the issuer is paying the acquirer fee on behalf of the cardholder.
41
+ sig { returns(Integer) }
42
+ attr_accessor :authorization_amount
43
+
44
+ sig { returns(Lithic::CardAuthorization::Avs) }
45
+ attr_reader :avs
46
+
47
+ sig { params(avs: Lithic::CardAuthorization::Avs::OrHash).void }
48
+ attr_writer :avs
49
+
50
+ # Card object in ASA
51
+ sig { returns(Lithic::CardAuthorization::Card) }
52
+ attr_reader :card
53
+
54
+ sig { params(card: Lithic::CardAuthorization::Card::OrHash).void }
55
+ attr_writer :card
56
+
57
+ # Deprecated, use `amounts`. 3-character alphabetic ISO 4217 code for cardholder's
58
+ # billing currency.
59
+ sig { returns(String) }
60
+ attr_accessor :cardholder_currency
61
+
62
+ # The portion of the transaction requested as cash back by the cardholder, and
63
+ # does not include any acquirer fees. The amount field includes the purchase
64
+ # amount, the requested cash back amount, and any acquirer fees.
65
+ #
66
+ # If no cash back was requested, the value of this field will be 0, and the field
67
+ # will always be present.
68
+ sig { returns(Integer) }
69
+ attr_accessor :cash_amount
70
+
71
+ # Date and time when the transaction first occurred in UTC.
72
+ sig { returns(Time) }
73
+ attr_accessor :created
74
+
75
+ # Merchant information including full location details.
76
+ sig { returns(Lithic::CardAuthorization::Merchant) }
77
+ attr_reader :merchant
78
+
79
+ sig { params(merchant: Lithic::CardAuthorization::Merchant::OrHash).void }
80
+ attr_writer :merchant
81
+
82
+ # Deprecated, use `amounts`. The amount that the merchant will receive,
83
+ # denominated in `merchant_currency` and in the smallest currency unit. Note the
84
+ # amount includes `acquirer_fee`, similar to `authorization_amount`. It will be
85
+ # different from `authorization_amount` if the merchant is taking payment in a
86
+ # different currency.
87
+ sig { returns(Integer) }
88
+ attr_accessor :merchant_amount
89
+
90
+ # 3-character alphabetic ISO 4217 code for the local currency of the transaction.
91
+ sig { returns(String) }
92
+ attr_accessor :merchant_currency
93
+
94
+ # Network name validation data, present when the card network requested name
95
+ # validation for this transaction. Contains the cardholder name provided by the
96
+ # network and Lithic's computed match result against KYC data on file.
97
+ sig { returns(T.nilable(Lithic::CardAuthorization::NameValidation)) }
98
+ attr_reader :name_validation
99
+
100
+ sig do
101
+ params(
102
+ name_validation:
103
+ T.nilable(Lithic::CardAuthorization::NameValidation::OrHash)
104
+ ).void
105
+ end
106
+ attr_writer :name_validation
107
+
108
+ # Where the cardholder received the service, when different from the card acceptor
109
+ # location. This is populated from network data elements such as Mastercard DE-122
110
+ # SE1 SF9-14 and Visa F34 DS02.
111
+ sig { returns(T.nilable(Lithic::CardAuthorization::ServiceLocation)) }
112
+ attr_reader :service_location
113
+
114
+ sig do
115
+ params(
116
+ service_location:
117
+ T.nilable(Lithic::CardAuthorization::ServiceLocation::OrHash)
118
+ ).void
119
+ end
120
+ attr_writer :service_location
121
+
122
+ # Deprecated, use `amounts`. Amount (in cents) of the transaction that has been
123
+ # settled, including any acquirer fees.
124
+ sig { returns(Integer) }
125
+ attr_accessor :settled_amount
126
+
127
+ # The type of authorization request that this request is for. Note that
128
+ # `CREDIT_AUTHORIZATION` and `FINANCIAL_CREDIT_AUTHORIZATION` is only available to
129
+ # users with credit decisioning via ASA enabled.
130
+ sig { returns(Lithic::CardAuthorization::Status::TaggedSymbol) }
131
+ attr_accessor :status
132
+
133
+ # The entity that initiated the transaction.
134
+ sig do
135
+ returns(Lithic::CardAuthorization::TransactionInitiator::TaggedSymbol)
136
+ end
137
+ attr_accessor :transaction_initiator
138
+
139
+ sig do
140
+ returns(T.nilable(Lithic::CardAuthorization::AccountType::TaggedSymbol))
141
+ end
142
+ attr_reader :account_type
143
+
144
+ sig do
145
+ params(
146
+ account_type: Lithic::CardAuthorization::AccountType::OrSymbol
147
+ ).void
148
+ end
149
+ attr_writer :account_type
150
+
151
+ sig { returns(T.nilable(Lithic::CardholderAuthentication)) }
152
+ attr_reader :cardholder_authentication
153
+
154
+ sig do
155
+ params(
156
+ cardholder_authentication: Lithic::CardholderAuthentication::OrHash
157
+ ).void
158
+ end
159
+ attr_writer :cardholder_authentication
160
+
161
+ # Deprecated, use `cash_amount`.
162
+ sig { returns(T.nilable(Integer)) }
163
+ attr_reader :cashback
164
+
165
+ sig { params(cashback: Integer).void }
166
+ attr_writer :cashback
167
+
168
+ # Deprecated, use `amounts`. If the transaction was requested in a currency other
169
+ # than the settlement currency, this field will be populated to indicate the rate
170
+ # used to translate the merchant_amount to the amount (i.e., `merchant_amount` x
171
+ # `conversion_rate` = `amount`). Note that the `merchant_amount` is in the local
172
+ # currency and the amount is in the settlement currency.
173
+ sig { returns(T.nilable(Float)) }
174
+ attr_reader :conversion_rate
175
+
176
+ sig { params(conversion_rate: Float).void }
177
+ attr_writer :conversion_rate
178
+
179
+ # The event token associated with the authorization. This field is only set for
180
+ # programs enrolled into the beta.
181
+ sig { returns(T.nilable(String)) }
182
+ attr_reader :event_token
183
+
184
+ sig { params(event_token: String).void }
185
+ attr_writer :event_token
186
+
187
+ # Optional Object containing information if the Card is a part of a Fleet managed
188
+ # program
189
+ sig { returns(T.nilable(Lithic::CardAuthorization::FleetInfo)) }
190
+ attr_reader :fleet_info
191
+
192
+ sig do
193
+ params(
194
+ fleet_info: T.nilable(Lithic::CardAuthorization::FleetInfo::OrHash)
195
+ ).void
196
+ end
197
+ attr_writer :fleet_info
198
+
199
+ # The latest Authorization Challenge that was issued to the cardholder for this
200
+ # merchant.
201
+ sig { returns(T.nilable(Lithic::CardAuthorization::LatestChallenge)) }
202
+ attr_reader :latest_challenge
203
+
204
+ sig do
205
+ params(
206
+ latest_challenge: Lithic::CardAuthorization::LatestChallenge::OrHash
207
+ ).void
208
+ end
209
+ attr_writer :latest_challenge
210
+
211
+ # Card network of the authorization.
212
+ sig do
213
+ returns(T.nilable(Lithic::CardAuthorization::Network::TaggedSymbol))
214
+ end
215
+ attr_reader :network
216
+
217
+ sig { params(network: Lithic::CardAuthorization::Network::OrSymbol).void }
218
+ attr_writer :network
219
+
220
+ # Network-provided score assessing risk level associated with a given
221
+ # authorization. Scores are on a range of 0-999, with 0 representing the lowest
222
+ # risk and 999 representing the highest risk. For Visa transactions, where the raw
223
+ # score has a range of 0-99, Lithic will normalize the score by multiplying the
224
+ # raw score by 10x.
225
+ sig { returns(T.nilable(Integer)) }
226
+ attr_accessor :network_risk_score
227
+
228
+ # Contains raw data provided by the card network, including attributes that
229
+ # provide further context about the authorization. If populated by the network,
230
+ # data is organized by Lithic and passed through without further modification.
231
+ # Please consult the official network documentation for more details about these
232
+ # values and how to use them. This object is only available to certain programs-
233
+ # contact your Customer Success Manager to discuss enabling access.
234
+ sig { returns(T.nilable(Lithic::CardAuthorization::NetworkSpecificData)) }
235
+ attr_reader :network_specific_data
236
+
237
+ sig do
238
+ params(
239
+ network_specific_data:
240
+ T.nilable(Lithic::CardAuthorization::NetworkSpecificData::OrHash)
241
+ ).void
242
+ end
243
+ attr_writer :network_specific_data
244
+
245
+ sig { returns(T.nilable(Lithic::CardAuthorization::Pos)) }
246
+ attr_reader :pos
247
+
248
+ sig { params(pos: Lithic::CardAuthorization::Pos::OrHash).void }
249
+ attr_writer :pos
250
+
251
+ sig { returns(T.nilable(Lithic::TokenInfo)) }
252
+ attr_reader :token_info
253
+
254
+ sig { params(token_info: T.nilable(Lithic::TokenInfo::OrHash)).void }
255
+ attr_writer :token_info
256
+
257
+ # Deprecated: approximate time-to-live for the authorization.
258
+ sig { returns(T.nilable(Time)) }
259
+ attr_reader :ttl
260
+
261
+ sig { params(ttl: Time).void }
262
+ attr_writer :ttl
263
+
264
+ # Card Authorization
265
+ sig do
266
+ params(
267
+ token: String,
268
+ acquirer_fee: Integer,
269
+ amount: Integer,
270
+ amounts: Lithic::CardAuthorization::Amounts::OrHash,
271
+ authorization_amount: Integer,
272
+ avs: Lithic::CardAuthorization::Avs::OrHash,
273
+ card: Lithic::CardAuthorization::Card::OrHash,
274
+ cardholder_currency: String,
275
+ cash_amount: Integer,
276
+ created: Time,
277
+ merchant: Lithic::CardAuthorization::Merchant::OrHash,
278
+ merchant_amount: Integer,
279
+ merchant_currency: String,
280
+ name_validation:
281
+ T.nilable(Lithic::CardAuthorization::NameValidation::OrHash),
282
+ service_location:
283
+ T.nilable(Lithic::CardAuthorization::ServiceLocation::OrHash),
284
+ settled_amount: Integer,
285
+ status: Lithic::CardAuthorization::Status::OrSymbol,
286
+ transaction_initiator:
287
+ Lithic::CardAuthorization::TransactionInitiator::OrSymbol,
288
+ account_type: Lithic::CardAuthorization::AccountType::OrSymbol,
289
+ cardholder_authentication: Lithic::CardholderAuthentication::OrHash,
290
+ cashback: Integer,
291
+ conversion_rate: Float,
292
+ event_token: String,
293
+ fleet_info: T.nilable(Lithic::CardAuthorization::FleetInfo::OrHash),
294
+ latest_challenge: Lithic::CardAuthorization::LatestChallenge::OrHash,
295
+ network: Lithic::CardAuthorization::Network::OrSymbol,
296
+ network_risk_score: T.nilable(Integer),
297
+ network_specific_data:
298
+ T.nilable(Lithic::CardAuthorization::NetworkSpecificData::OrHash),
299
+ pos: Lithic::CardAuthorization::Pos::OrHash,
300
+ token_info: T.nilable(Lithic::TokenInfo::OrHash),
301
+ ttl: Time
302
+ ).returns(T.attached_class)
303
+ end
304
+ def self.new(
305
+ # The provisional transaction group uuid associated with the authorization
306
+ token:,
307
+ # Fee (in cents) assessed by the merchant and paid for by the cardholder. Will be
308
+ # zero if no fee is assessed. Rebates may be transmitted as a negative value to
309
+ # indicate credited fees.
310
+ acquirer_fee:,
311
+ # Deprecated, use `amounts`. Authorization amount of the transaction (in cents),
312
+ # including any acquirer fees. The contents of this field are identical to
313
+ # `authorization_amount`.
314
+ amount:,
315
+ # Structured amounts for this authorization. The `cardholder` and `merchant`
316
+ # amounts reflect the original network authorization values. For programs with
317
+ # hold adjustments enabled (e.g., automated fuel dispensers or tipping MCCs), the
318
+ # `hold` amount may exceed the `cardholder` and `merchant` amounts to account for
319
+ # anticipated final transaction amounts such as tips or fuel fill-ups
320
+ amounts:,
321
+ # Deprecated, use `amounts`. The base transaction amount (in cents) plus the
322
+ # acquirer fee field. This is the amount the issuer should authorize against
323
+ # unless the issuer is paying the acquirer fee on behalf of the cardholder.
324
+ authorization_amount:,
325
+ avs:,
326
+ # Card object in ASA
327
+ card:,
328
+ # Deprecated, use `amounts`. 3-character alphabetic ISO 4217 code for cardholder's
329
+ # billing currency.
330
+ cardholder_currency:,
331
+ # The portion of the transaction requested as cash back by the cardholder, and
332
+ # does not include any acquirer fees. The amount field includes the purchase
333
+ # amount, the requested cash back amount, and any acquirer fees.
334
+ #
335
+ # If no cash back was requested, the value of this field will be 0, and the field
336
+ # will always be present.
337
+ cash_amount:,
338
+ # Date and time when the transaction first occurred in UTC.
339
+ created:,
340
+ # Merchant information including full location details.
341
+ merchant:,
342
+ # Deprecated, use `amounts`. The amount that the merchant will receive,
343
+ # denominated in `merchant_currency` and in the smallest currency unit. Note the
344
+ # amount includes `acquirer_fee`, similar to `authorization_amount`. It will be
345
+ # different from `authorization_amount` if the merchant is taking payment in a
346
+ # different currency.
347
+ merchant_amount:,
348
+ # 3-character alphabetic ISO 4217 code for the local currency of the transaction.
349
+ merchant_currency:,
350
+ # Network name validation data, present when the card network requested name
351
+ # validation for this transaction. Contains the cardholder name provided by the
352
+ # network and Lithic's computed match result against KYC data on file.
353
+ name_validation:,
354
+ # Where the cardholder received the service, when different from the card acceptor
355
+ # location. This is populated from network data elements such as Mastercard DE-122
356
+ # SE1 SF9-14 and Visa F34 DS02.
357
+ service_location:,
358
+ # Deprecated, use `amounts`. Amount (in cents) of the transaction that has been
359
+ # settled, including any acquirer fees.
360
+ settled_amount:,
361
+ # The type of authorization request that this request is for. Note that
362
+ # `CREDIT_AUTHORIZATION` and `FINANCIAL_CREDIT_AUTHORIZATION` is only available to
363
+ # users with credit decisioning via ASA enabled.
364
+ status:,
365
+ # The entity that initiated the transaction.
366
+ transaction_initiator:,
367
+ account_type: nil,
368
+ cardholder_authentication: nil,
369
+ # Deprecated, use `cash_amount`.
370
+ cashback: nil,
371
+ # Deprecated, use `amounts`. If the transaction was requested in a currency other
372
+ # than the settlement currency, this field will be populated to indicate the rate
373
+ # used to translate the merchant_amount to the amount (i.e., `merchant_amount` x
374
+ # `conversion_rate` = `amount`). Note that the `merchant_amount` is in the local
375
+ # currency and the amount is in the settlement currency.
376
+ conversion_rate: nil,
377
+ # The event token associated with the authorization. This field is only set for
378
+ # programs enrolled into the beta.
379
+ event_token: nil,
380
+ # Optional Object containing information if the Card is a part of a Fleet managed
381
+ # program
382
+ fleet_info: nil,
383
+ # The latest Authorization Challenge that was issued to the cardholder for this
384
+ # merchant.
385
+ latest_challenge: nil,
386
+ # Card network of the authorization.
387
+ network: nil,
388
+ # Network-provided score assessing risk level associated with a given
389
+ # authorization. Scores are on a range of 0-999, with 0 representing the lowest
390
+ # risk and 999 representing the highest risk. For Visa transactions, where the raw
391
+ # score has a range of 0-99, Lithic will normalize the score by multiplying the
392
+ # raw score by 10x.
393
+ network_risk_score: nil,
394
+ # Contains raw data provided by the card network, including attributes that
395
+ # provide further context about the authorization. If populated by the network,
396
+ # data is organized by Lithic and passed through without further modification.
397
+ # Please consult the official network documentation for more details about these
398
+ # values and how to use them. This object is only available to certain programs-
399
+ # contact your Customer Success Manager to discuss enabling access.
400
+ network_specific_data: nil,
401
+ pos: nil,
402
+ token_info: nil,
403
+ # Deprecated: approximate time-to-live for the authorization.
404
+ ttl: nil
405
+ )
406
+ end
407
+
408
+ sig do
409
+ override.returns(
410
+ {
411
+ token: String,
412
+ acquirer_fee: Integer,
413
+ amount: Integer,
414
+ amounts: Lithic::CardAuthorization::Amounts,
415
+ authorization_amount: Integer,
416
+ avs: Lithic::CardAuthorization::Avs,
417
+ card: Lithic::CardAuthorization::Card,
418
+ cardholder_currency: String,
419
+ cash_amount: Integer,
420
+ created: Time,
421
+ merchant: Lithic::CardAuthorization::Merchant,
422
+ merchant_amount: Integer,
423
+ merchant_currency: String,
424
+ name_validation:
425
+ T.nilable(Lithic::CardAuthorization::NameValidation),
426
+ service_location:
427
+ T.nilable(Lithic::CardAuthorization::ServiceLocation),
428
+ settled_amount: Integer,
429
+ status: Lithic::CardAuthorization::Status::TaggedSymbol,
430
+ transaction_initiator:
431
+ Lithic::CardAuthorization::TransactionInitiator::TaggedSymbol,
432
+ account_type: Lithic::CardAuthorization::AccountType::TaggedSymbol,
433
+ cardholder_authentication: Lithic::CardholderAuthentication,
434
+ cashback: Integer,
435
+ conversion_rate: Float,
436
+ event_token: String,
437
+ fleet_info: T.nilable(Lithic::CardAuthorization::FleetInfo),
438
+ latest_challenge: Lithic::CardAuthorization::LatestChallenge,
439
+ network: Lithic::CardAuthorization::Network::TaggedSymbol,
440
+ network_risk_score: T.nilable(Integer),
441
+ network_specific_data:
442
+ T.nilable(Lithic::CardAuthorization::NetworkSpecificData),
443
+ pos: Lithic::CardAuthorization::Pos,
444
+ token_info: T.nilable(Lithic::TokenInfo),
445
+ ttl: Time
446
+ }
447
+ )
448
+ end
449
+ def to_hash
450
+ end
451
+
452
+ class Amounts < Lithic::Internal::Type::BaseModel
453
+ OrHash =
454
+ T.type_alias do
455
+ T.any(Lithic::CardAuthorization::Amounts, Lithic::Internal::AnyHash)
456
+ end
457
+
458
+ sig { returns(Lithic::CardAuthorization::Amounts::Cardholder) }
459
+ attr_reader :cardholder
460
+
461
+ sig do
462
+ params(
463
+ cardholder: Lithic::CardAuthorization::Amounts::Cardholder::OrHash
464
+ ).void
465
+ end
466
+ attr_writer :cardholder
467
+
468
+ sig { returns(T.nilable(Lithic::CardAuthorization::Amounts::Hold)) }
469
+ attr_reader :hold
470
+
471
+ sig do
472
+ params(
473
+ hold: T.nilable(Lithic::CardAuthorization::Amounts::Hold::OrHash)
474
+ ).void
475
+ end
476
+ attr_writer :hold
477
+
478
+ sig { returns(Lithic::CardAuthorization::Amounts::Merchant) }
479
+ attr_reader :merchant
480
+
481
+ sig do
482
+ params(
483
+ merchant: Lithic::CardAuthorization::Amounts::Merchant::OrHash
484
+ ).void
485
+ end
486
+ attr_writer :merchant
487
+
488
+ sig do
489
+ returns(T.nilable(Lithic::CardAuthorization::Amounts::Settlement))
490
+ end
491
+ attr_reader :settlement
492
+
493
+ sig do
494
+ params(
495
+ settlement:
496
+ T.nilable(Lithic::CardAuthorization::Amounts::Settlement::OrHash)
497
+ ).void
498
+ end
499
+ attr_writer :settlement
500
+
501
+ # Structured amounts for this authorization. The `cardholder` and `merchant`
502
+ # amounts reflect the original network authorization values. For programs with
503
+ # hold adjustments enabled (e.g., automated fuel dispensers or tipping MCCs), the
504
+ # `hold` amount may exceed the `cardholder` and `merchant` amounts to account for
505
+ # anticipated final transaction amounts such as tips or fuel fill-ups
506
+ sig do
507
+ params(
508
+ cardholder: Lithic::CardAuthorization::Amounts::Cardholder::OrHash,
509
+ hold: T.nilable(Lithic::CardAuthorization::Amounts::Hold::OrHash),
510
+ merchant: Lithic::CardAuthorization::Amounts::Merchant::OrHash,
511
+ settlement:
512
+ T.nilable(Lithic::CardAuthorization::Amounts::Settlement::OrHash)
513
+ ).returns(T.attached_class)
514
+ end
515
+ def self.new(cardholder:, hold:, merchant:, settlement:)
516
+ end
517
+
518
+ sig do
519
+ override.returns(
520
+ {
521
+ cardholder: Lithic::CardAuthorization::Amounts::Cardholder,
522
+ hold: T.nilable(Lithic::CardAuthorization::Amounts::Hold),
523
+ merchant: Lithic::CardAuthorization::Amounts::Merchant,
524
+ settlement:
525
+ T.nilable(Lithic::CardAuthorization::Amounts::Settlement)
526
+ }
527
+ )
528
+ end
529
+ def to_hash
530
+ end
531
+
532
+ class Cardholder < Lithic::Internal::Type::BaseModel
533
+ OrHash =
534
+ T.type_alias do
535
+ T.any(
536
+ Lithic::CardAuthorization::Amounts::Cardholder,
537
+ Lithic::Internal::AnyHash
538
+ )
539
+ end
540
+
541
+ # Amount in the smallest unit of the applicable currency (e.g., cents)
542
+ sig { returns(Integer) }
543
+ attr_accessor :amount
544
+
545
+ # Exchange rate used for currency conversion
546
+ sig { returns(String) }
547
+ attr_accessor :conversion_rate
548
+
549
+ # 3-character alphabetic ISO 4217 currency
550
+ sig { returns(String) }
551
+ attr_accessor :currency
552
+
553
+ sig do
554
+ params(
555
+ amount: Integer,
556
+ conversion_rate: String,
557
+ currency: String
558
+ ).returns(T.attached_class)
559
+ end
560
+ def self.new(
561
+ # Amount in the smallest unit of the applicable currency (e.g., cents)
562
+ amount:,
563
+ # Exchange rate used for currency conversion
564
+ conversion_rate:,
565
+ # 3-character alphabetic ISO 4217 currency
566
+ currency:
567
+ )
568
+ end
569
+
570
+ sig do
571
+ override.returns(
572
+ { amount: Integer, conversion_rate: String, currency: String }
573
+ )
574
+ end
575
+ def to_hash
576
+ end
577
+ end
578
+
579
+ class Hold < Lithic::Internal::Type::BaseModel
580
+ OrHash =
581
+ T.type_alias do
582
+ T.any(
583
+ Lithic::CardAuthorization::Amounts::Hold,
584
+ Lithic::Internal::AnyHash
585
+ )
586
+ end
587
+
588
+ # Amount in the smallest unit of the applicable currency (e.g., cents)
589
+ sig { returns(Integer) }
590
+ attr_accessor :amount
591
+
592
+ # 3-character alphabetic ISO 4217 currency
593
+ sig { returns(String) }
594
+ attr_accessor :currency
595
+
596
+ sig do
597
+ params(amount: Integer, currency: String).returns(T.attached_class)
598
+ end
599
+ def self.new(
600
+ # Amount in the smallest unit of the applicable currency (e.g., cents)
601
+ amount:,
602
+ # 3-character alphabetic ISO 4217 currency
603
+ currency:
604
+ )
605
+ end
606
+
607
+ sig { override.returns({ amount: Integer, currency: String }) }
608
+ def to_hash
609
+ end
610
+ end
611
+
612
+ class Merchant < Lithic::Internal::Type::BaseModel
613
+ OrHash =
614
+ T.type_alias do
615
+ T.any(
616
+ Lithic::CardAuthorization::Amounts::Merchant,
617
+ Lithic::Internal::AnyHash
618
+ )
619
+ end
620
+
621
+ # Amount in the smallest unit of the applicable currency (e.g., cents)
622
+ sig { returns(Integer) }
623
+ attr_accessor :amount
624
+
625
+ # 3-character alphabetic ISO 4217 currency
626
+ sig { returns(String) }
627
+ attr_accessor :currency
628
+
629
+ sig do
630
+ params(amount: Integer, currency: String).returns(T.attached_class)
631
+ end
632
+ def self.new(
633
+ # Amount in the smallest unit of the applicable currency (e.g., cents)
634
+ amount:,
635
+ # 3-character alphabetic ISO 4217 currency
636
+ currency:
637
+ )
638
+ end
639
+
640
+ sig { override.returns({ amount: Integer, currency: String }) }
641
+ def to_hash
642
+ end
643
+ end
644
+
645
+ class Settlement < Lithic::Internal::Type::BaseModel
646
+ OrHash =
647
+ T.type_alias do
648
+ T.any(
649
+ Lithic::CardAuthorization::Amounts::Settlement,
650
+ Lithic::Internal::AnyHash
651
+ )
652
+ end
653
+
654
+ # Amount in the smallest unit of the applicable currency (e.g., cents)
655
+ sig { returns(Integer) }
656
+ attr_accessor :amount
657
+
658
+ # 3-character alphabetic ISO 4217 currency
659
+ sig { returns(String) }
660
+ attr_accessor :currency
661
+
662
+ sig do
663
+ params(amount: Integer, currency: String).returns(T.attached_class)
664
+ end
665
+ def self.new(
666
+ # Amount in the smallest unit of the applicable currency (e.g., cents)
667
+ amount:,
668
+ # 3-character alphabetic ISO 4217 currency
669
+ currency:
670
+ )
671
+ end
672
+
673
+ sig { override.returns({ amount: Integer, currency: String }) }
674
+ def to_hash
675
+ end
676
+ end
677
+ end
678
+
679
+ class Avs < Lithic::Internal::Type::BaseModel
680
+ OrHash =
681
+ T.type_alias do
682
+ T.any(Lithic::CardAuthorization::Avs, Lithic::Internal::AnyHash)
683
+ end
684
+
685
+ # Cardholder address
686
+ sig { returns(String) }
687
+ attr_accessor :address
688
+
689
+ # Lithic's evaluation result comparing the transaction's address data with the
690
+ # cardholder KYC data if it exists. In the event Lithic does not have any
691
+ # Cardholder KYC data, or the transaction does not contain any address data,
692
+ # NOT_PRESENT will be returned
693
+ sig do
694
+ returns(
695
+ Lithic::CardAuthorization::Avs::AddressOnFileMatch::TaggedSymbol
696
+ )
697
+ end
698
+ attr_accessor :address_on_file_match
699
+
700
+ # Cardholder ZIP code
701
+ sig { returns(String) }
702
+ attr_accessor :zipcode
703
+
704
+ sig do
705
+ params(
706
+ address: String,
707
+ address_on_file_match:
708
+ Lithic::CardAuthorization::Avs::AddressOnFileMatch::OrSymbol,
709
+ zipcode: String
710
+ ).returns(T.attached_class)
711
+ end
712
+ def self.new(
713
+ # Cardholder address
714
+ address:,
715
+ # Lithic's evaluation result comparing the transaction's address data with the
716
+ # cardholder KYC data if it exists. In the event Lithic does not have any
717
+ # Cardholder KYC data, or the transaction does not contain any address data,
718
+ # NOT_PRESENT will be returned
719
+ address_on_file_match:,
720
+ # Cardholder ZIP code
721
+ zipcode:
722
+ )
723
+ end
724
+
725
+ sig do
726
+ override.returns(
727
+ {
728
+ address: String,
729
+ address_on_file_match:
730
+ Lithic::CardAuthorization::Avs::AddressOnFileMatch::TaggedSymbol,
731
+ zipcode: String
732
+ }
733
+ )
734
+ end
735
+ def to_hash
736
+ end
737
+
738
+ # Lithic's evaluation result comparing the transaction's address data with the
739
+ # cardholder KYC data if it exists. In the event Lithic does not have any
740
+ # Cardholder KYC data, or the transaction does not contain any address data,
741
+ # NOT_PRESENT will be returned
742
+ module AddressOnFileMatch
743
+ extend Lithic::Internal::Type::Enum
744
+
745
+ TaggedSymbol =
746
+ T.type_alias do
747
+ T.all(Symbol, Lithic::CardAuthorization::Avs::AddressOnFileMatch)
748
+ end
749
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
750
+
751
+ MATCH =
752
+ T.let(
753
+ :MATCH,
754
+ Lithic::CardAuthorization::Avs::AddressOnFileMatch::TaggedSymbol
755
+ )
756
+ MATCH_ADDRESS_ONLY =
757
+ T.let(
758
+ :MATCH_ADDRESS_ONLY,
759
+ Lithic::CardAuthorization::Avs::AddressOnFileMatch::TaggedSymbol
760
+ )
761
+ MATCH_ZIP_ONLY =
762
+ T.let(
763
+ :MATCH_ZIP_ONLY,
764
+ Lithic::CardAuthorization::Avs::AddressOnFileMatch::TaggedSymbol
765
+ )
766
+ MISMATCH =
767
+ T.let(
768
+ :MISMATCH,
769
+ Lithic::CardAuthorization::Avs::AddressOnFileMatch::TaggedSymbol
770
+ )
771
+ NOT_PRESENT =
772
+ T.let(
773
+ :NOT_PRESENT,
774
+ Lithic::CardAuthorization::Avs::AddressOnFileMatch::TaggedSymbol
775
+ )
776
+
777
+ sig do
778
+ override.returns(
779
+ T::Array[
780
+ Lithic::CardAuthorization::Avs::AddressOnFileMatch::TaggedSymbol
781
+ ]
782
+ )
783
+ end
784
+ def self.values
785
+ end
786
+ end
787
+ end
788
+
789
+ class Card < Lithic::Internal::Type::BaseModel
790
+ OrHash =
791
+ T.type_alias do
792
+ T.any(Lithic::CardAuthorization::Card, Lithic::Internal::AnyHash)
793
+ end
794
+
795
+ # Globally unique identifier for the card.
796
+ sig { returns(String) }
797
+ attr_accessor :token
798
+
799
+ # Last four digits of the card number
800
+ sig { returns(String) }
801
+ attr_accessor :last_four
802
+
803
+ # Customizable name to identify the card
804
+ sig { returns(String) }
805
+ attr_accessor :memo
806
+
807
+ # Amount (in cents) to limit approved authorizations. Purchase requests above the
808
+ # spend limit will be declined (refunds and credits will be approved).
809
+ #
810
+ # Note that while spend limits are enforced based on authorized and settled volume
811
+ # on a card, they are not recommended to be used for balance or
812
+ # reconciliation-level accuracy. Spend limits also cannot block force posted
813
+ # charges (i.e., when a merchant sends a clearing message without a prior
814
+ # authorization).
815
+ sig { returns(Integer) }
816
+ attr_accessor :spend_limit
817
+
818
+ # Note that to support recurring monthly payments, which can occur on different
819
+ # day every month, the time window we consider for MONTHLY velocity starts 6 days
820
+ # after the current calendar date one month prior.
821
+ sig do
822
+ returns(
823
+ Lithic::CardAuthorization::Card::SpendLimitDuration::TaggedSymbol
824
+ )
825
+ end
826
+ attr_accessor :spend_limit_duration
827
+
828
+ sig { returns(Lithic::CardAuthorization::Card::State::TaggedSymbol) }
829
+ attr_accessor :state
830
+
831
+ sig { returns(Lithic::CardAuthorization::Card::Type::TaggedSymbol) }
832
+ attr_accessor :type
833
+
834
+ # Card object in ASA
835
+ sig do
836
+ params(
837
+ token: String,
838
+ last_four: String,
839
+ memo: String,
840
+ spend_limit: Integer,
841
+ spend_limit_duration:
842
+ Lithic::CardAuthorization::Card::SpendLimitDuration::OrSymbol,
843
+ state: Lithic::CardAuthorization::Card::State::OrSymbol,
844
+ type: Lithic::CardAuthorization::Card::Type::OrSymbol
845
+ ).returns(T.attached_class)
846
+ end
847
+ def self.new(
848
+ # Globally unique identifier for the card.
849
+ token:,
850
+ # Last four digits of the card number
851
+ last_four:,
852
+ # Customizable name to identify the card
853
+ memo:,
854
+ # Amount (in cents) to limit approved authorizations. Purchase requests above the
855
+ # spend limit will be declined (refunds and credits will be approved).
856
+ #
857
+ # Note that while spend limits are enforced based on authorized and settled volume
858
+ # on a card, they are not recommended to be used for balance or
859
+ # reconciliation-level accuracy. Spend limits also cannot block force posted
860
+ # charges (i.e., when a merchant sends a clearing message without a prior
861
+ # authorization).
862
+ spend_limit:,
863
+ # Note that to support recurring monthly payments, which can occur on different
864
+ # day every month, the time window we consider for MONTHLY velocity starts 6 days
865
+ # after the current calendar date one month prior.
866
+ spend_limit_duration:,
867
+ state:,
868
+ type:
869
+ )
870
+ end
871
+
872
+ sig do
873
+ override.returns(
874
+ {
875
+ token: String,
876
+ last_four: String,
877
+ memo: String,
878
+ spend_limit: Integer,
879
+ spend_limit_duration:
880
+ Lithic::CardAuthorization::Card::SpendLimitDuration::TaggedSymbol,
881
+ state: Lithic::CardAuthorization::Card::State::TaggedSymbol,
882
+ type: Lithic::CardAuthorization::Card::Type::TaggedSymbol
883
+ }
884
+ )
885
+ end
886
+ def to_hash
887
+ end
888
+
889
+ # Note that to support recurring monthly payments, which can occur on different
890
+ # day every month, the time window we consider for MONTHLY velocity starts 6 days
891
+ # after the current calendar date one month prior.
892
+ module SpendLimitDuration
893
+ extend Lithic::Internal::Type::Enum
894
+
895
+ TaggedSymbol =
896
+ T.type_alias do
897
+ T.all(Symbol, Lithic::CardAuthorization::Card::SpendLimitDuration)
898
+ end
899
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
900
+
901
+ ANNUALLY =
902
+ T.let(
903
+ :ANNUALLY,
904
+ Lithic::CardAuthorization::Card::SpendLimitDuration::TaggedSymbol
905
+ )
906
+ FOREVER =
907
+ T.let(
908
+ :FOREVER,
909
+ Lithic::CardAuthorization::Card::SpendLimitDuration::TaggedSymbol
910
+ )
911
+ MONTHLY =
912
+ T.let(
913
+ :MONTHLY,
914
+ Lithic::CardAuthorization::Card::SpendLimitDuration::TaggedSymbol
915
+ )
916
+ TRANSACTION =
917
+ T.let(
918
+ :TRANSACTION,
919
+ Lithic::CardAuthorization::Card::SpendLimitDuration::TaggedSymbol
920
+ )
921
+
922
+ sig do
923
+ override.returns(
924
+ T::Array[
925
+ Lithic::CardAuthorization::Card::SpendLimitDuration::TaggedSymbol
926
+ ]
927
+ )
928
+ end
929
+ def self.values
930
+ end
931
+ end
932
+
933
+ module State
934
+ extend Lithic::Internal::Type::Enum
935
+
936
+ TaggedSymbol =
937
+ T.type_alias do
938
+ T.all(Symbol, Lithic::CardAuthorization::Card::State)
939
+ end
940
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
941
+
942
+ CLOSED =
943
+ T.let(:CLOSED, Lithic::CardAuthorization::Card::State::TaggedSymbol)
944
+ OPEN =
945
+ T.let(:OPEN, Lithic::CardAuthorization::Card::State::TaggedSymbol)
946
+ PAUSED =
947
+ T.let(:PAUSED, Lithic::CardAuthorization::Card::State::TaggedSymbol)
948
+ PENDING_ACTIVATION =
949
+ T.let(
950
+ :PENDING_ACTIVATION,
951
+ Lithic::CardAuthorization::Card::State::TaggedSymbol
952
+ )
953
+ PENDING_FULFILLMENT =
954
+ T.let(
955
+ :PENDING_FULFILLMENT,
956
+ Lithic::CardAuthorization::Card::State::TaggedSymbol
957
+ )
958
+
959
+ sig do
960
+ override.returns(
961
+ T::Array[Lithic::CardAuthorization::Card::State::TaggedSymbol]
962
+ )
963
+ end
964
+ def self.values
965
+ end
966
+ end
967
+
968
+ module Type
969
+ extend Lithic::Internal::Type::Enum
970
+
971
+ TaggedSymbol =
972
+ T.type_alias do
973
+ T.all(Symbol, Lithic::CardAuthorization::Card::Type)
974
+ end
975
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
976
+
977
+ SINGLE_USE =
978
+ T.let(
979
+ :SINGLE_USE,
980
+ Lithic::CardAuthorization::Card::Type::TaggedSymbol
981
+ )
982
+ MERCHANT_LOCKED =
983
+ T.let(
984
+ :MERCHANT_LOCKED,
985
+ Lithic::CardAuthorization::Card::Type::TaggedSymbol
986
+ )
987
+ UNLOCKED =
988
+ T.let(
989
+ :UNLOCKED,
990
+ Lithic::CardAuthorization::Card::Type::TaggedSymbol
991
+ )
992
+ PHYSICAL =
993
+ T.let(
994
+ :PHYSICAL,
995
+ Lithic::CardAuthorization::Card::Type::TaggedSymbol
996
+ )
997
+ DIGITAL_WALLET =
998
+ T.let(
999
+ :DIGITAL_WALLET,
1000
+ Lithic::CardAuthorization::Card::Type::TaggedSymbol
1001
+ )
1002
+ VIRTUAL =
1003
+ T.let(:VIRTUAL, Lithic::CardAuthorization::Card::Type::TaggedSymbol)
1004
+
1005
+ sig do
1006
+ override.returns(
1007
+ T::Array[Lithic::CardAuthorization::Card::Type::TaggedSymbol]
1008
+ )
1009
+ end
1010
+ def self.values
1011
+ end
1012
+ end
1013
+ end
1014
+
1015
+ class Merchant < Lithic::Models::Merchant
1016
+ OrHash =
1017
+ T.type_alias do
1018
+ T.any(
1019
+ Lithic::CardAuthorization::Merchant,
1020
+ Lithic::Internal::AnyHash
1021
+ )
1022
+ end
1023
+
1024
+ # Phone number of card acceptor.
1025
+ sig { returns(T.nilable(String)) }
1026
+ attr_accessor :phone_number
1027
+
1028
+ # Postal code of card acceptor.
1029
+ sig { returns(T.nilable(String)) }
1030
+ attr_accessor :postal_code
1031
+
1032
+ # Street address of card acceptor.
1033
+ sig { returns(T.nilable(String)) }
1034
+ attr_accessor :street_address
1035
+
1036
+ # Merchant information including full location details.
1037
+ sig do
1038
+ params(
1039
+ phone_number: T.nilable(String),
1040
+ postal_code: T.nilable(String),
1041
+ street_address: T.nilable(String)
1042
+ ).returns(T.attached_class)
1043
+ end
1044
+ def self.new(
1045
+ # Phone number of card acceptor.
1046
+ phone_number:,
1047
+ # Postal code of card acceptor.
1048
+ postal_code:,
1049
+ # Street address of card acceptor.
1050
+ street_address:
1051
+ )
1052
+ end
1053
+
1054
+ sig do
1055
+ override.returns(
1056
+ {
1057
+ phone_number: T.nilable(String),
1058
+ postal_code: T.nilable(String),
1059
+ street_address: T.nilable(String)
1060
+ }
1061
+ )
1062
+ end
1063
+ def to_hash
1064
+ end
1065
+ end
1066
+
1067
+ class NameValidation < Lithic::Internal::Type::BaseModel
1068
+ OrHash =
1069
+ T.type_alias do
1070
+ T.any(
1071
+ Lithic::CardAuthorization::NameValidation,
1072
+ Lithic::Internal::AnyHash
1073
+ )
1074
+ end
1075
+
1076
+ # Cardholder name as provided by the card network.
1077
+ sig { returns(Lithic::CardAuthorization::NameValidation::Name) }
1078
+ attr_reader :name
1079
+
1080
+ sig do
1081
+ params(
1082
+ name: Lithic::CardAuthorization::NameValidation::Name::OrHash
1083
+ ).void
1084
+ end
1085
+ attr_writer :name
1086
+
1087
+ # Lithic's computed match result comparing the network-provided name to the name
1088
+ # on file.
1089
+ sig do
1090
+ returns(Lithic::CardAuthorization::NameValidation::NameOnFileMatch)
1091
+ end
1092
+ attr_reader :name_on_file_match
1093
+
1094
+ sig do
1095
+ params(
1096
+ name_on_file_match:
1097
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::OrHash
1098
+ ).void
1099
+ end
1100
+ attr_writer :name_on_file_match
1101
+
1102
+ # Network name validation data, present when the card network requested name
1103
+ # validation for this transaction. Contains the cardholder name provided by the
1104
+ # network and Lithic's computed match result against KYC data on file.
1105
+ sig do
1106
+ params(
1107
+ name: Lithic::CardAuthorization::NameValidation::Name::OrHash,
1108
+ name_on_file_match:
1109
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::OrHash
1110
+ ).returns(T.attached_class)
1111
+ end
1112
+ def self.new(
1113
+ # Cardholder name as provided by the card network.
1114
+ name:,
1115
+ # Lithic's computed match result comparing the network-provided name to the name
1116
+ # on file.
1117
+ name_on_file_match:
1118
+ )
1119
+ end
1120
+
1121
+ sig do
1122
+ override.returns(
1123
+ {
1124
+ name: Lithic::CardAuthorization::NameValidation::Name,
1125
+ name_on_file_match:
1126
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch
1127
+ }
1128
+ )
1129
+ end
1130
+ def to_hash
1131
+ end
1132
+
1133
+ class Name < Lithic::Internal::Type::BaseModel
1134
+ OrHash =
1135
+ T.type_alias do
1136
+ T.any(
1137
+ Lithic::CardAuthorization::NameValidation::Name,
1138
+ Lithic::Internal::AnyHash
1139
+ )
1140
+ end
1141
+
1142
+ # First name
1143
+ sig { returns(String) }
1144
+ attr_accessor :first
1145
+
1146
+ # Last name
1147
+ sig { returns(String) }
1148
+ attr_accessor :last
1149
+
1150
+ # Middle name
1151
+ sig { returns(T.nilable(String)) }
1152
+ attr_accessor :middle
1153
+
1154
+ # Cardholder name as provided by the card network.
1155
+ sig do
1156
+ params(
1157
+ first: String,
1158
+ last: String,
1159
+ middle: T.nilable(String)
1160
+ ).returns(T.attached_class)
1161
+ end
1162
+ def self.new(
1163
+ # First name
1164
+ first:,
1165
+ # Last name
1166
+ last:,
1167
+ # Middle name
1168
+ middle:
1169
+ )
1170
+ end
1171
+
1172
+ sig do
1173
+ override.returns(
1174
+ { first: String, last: String, middle: T.nilable(String) }
1175
+ )
1176
+ end
1177
+ def to_hash
1178
+ end
1179
+ end
1180
+
1181
+ class NameOnFileMatch < Lithic::Internal::Type::BaseModel
1182
+ OrHash =
1183
+ T.type_alias do
1184
+ T.any(
1185
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch,
1186
+ Lithic::Internal::AnyHash
1187
+ )
1188
+ end
1189
+
1190
+ # Overall name match result.
1191
+ sig do
1192
+ returns(
1193
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName::TaggedSymbol
1194
+ )
1195
+ end
1196
+ attr_accessor :full_name
1197
+
1198
+ # Lithic's computed match result comparing the network-provided name to the name
1199
+ # on file.
1200
+ sig do
1201
+ params(
1202
+ full_name:
1203
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName::OrSymbol
1204
+ ).returns(T.attached_class)
1205
+ end
1206
+ def self.new(
1207
+ # Overall name match result.
1208
+ full_name:
1209
+ )
1210
+ end
1211
+
1212
+ sig do
1213
+ override.returns(
1214
+ {
1215
+ full_name:
1216
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName::TaggedSymbol
1217
+ }
1218
+ )
1219
+ end
1220
+ def to_hash
1221
+ end
1222
+
1223
+ # Overall name match result.
1224
+ module FullName
1225
+ extend Lithic::Internal::Type::Enum
1226
+
1227
+ TaggedSymbol =
1228
+ T.type_alias do
1229
+ T.all(
1230
+ Symbol,
1231
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName
1232
+ )
1233
+ end
1234
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1235
+
1236
+ MATCH =
1237
+ T.let(
1238
+ :MATCH,
1239
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName::TaggedSymbol
1240
+ )
1241
+ PARTIAL_MATCH =
1242
+ T.let(
1243
+ :PARTIAL_MATCH,
1244
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName::TaggedSymbol
1245
+ )
1246
+ NO_MATCH =
1247
+ T.let(
1248
+ :NO_MATCH,
1249
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName::TaggedSymbol
1250
+ )
1251
+ UNVERIFIED =
1252
+ T.let(
1253
+ :UNVERIFIED,
1254
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName::TaggedSymbol
1255
+ )
1256
+
1257
+ sig do
1258
+ override.returns(
1259
+ T::Array[
1260
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName::TaggedSymbol
1261
+ ]
1262
+ )
1263
+ end
1264
+ def self.values
1265
+ end
1266
+ end
1267
+ end
1268
+ end
1269
+
1270
+ class ServiceLocation < Lithic::Internal::Type::BaseModel
1271
+ OrHash =
1272
+ T.type_alias do
1273
+ T.any(
1274
+ Lithic::CardAuthorization::ServiceLocation,
1275
+ Lithic::Internal::AnyHash
1276
+ )
1277
+ end
1278
+
1279
+ # City of service location.
1280
+ sig { returns(T.nilable(String)) }
1281
+ attr_accessor :city
1282
+
1283
+ # Country code of service location, ISO 3166-1 alpha-3.
1284
+ sig { returns(T.nilable(String)) }
1285
+ attr_accessor :country
1286
+
1287
+ # Postal code of service location.
1288
+ sig { returns(T.nilable(String)) }
1289
+ attr_accessor :postal_code
1290
+
1291
+ # State/province code of service location, ISO 3166-2.
1292
+ sig { returns(T.nilable(String)) }
1293
+ attr_accessor :state
1294
+
1295
+ # Street address of service location.
1296
+ sig { returns(T.nilable(String)) }
1297
+ attr_accessor :street_address
1298
+
1299
+ # Where the cardholder received the service, when different from the card acceptor
1300
+ # location. This is populated from network data elements such as Mastercard DE-122
1301
+ # SE1 SF9-14 and Visa F34 DS02.
1302
+ sig do
1303
+ params(
1304
+ city: T.nilable(String),
1305
+ country: T.nilable(String),
1306
+ postal_code: T.nilable(String),
1307
+ state: T.nilable(String),
1308
+ street_address: T.nilable(String)
1309
+ ).returns(T.attached_class)
1310
+ end
1311
+ def self.new(
1312
+ # City of service location.
1313
+ city:,
1314
+ # Country code of service location, ISO 3166-1 alpha-3.
1315
+ country:,
1316
+ # Postal code of service location.
1317
+ postal_code:,
1318
+ # State/province code of service location, ISO 3166-2.
1319
+ state:,
1320
+ # Street address of service location.
1321
+ street_address:
1322
+ )
1323
+ end
1324
+
1325
+ sig do
1326
+ override.returns(
1327
+ {
1328
+ city: T.nilable(String),
1329
+ country: T.nilable(String),
1330
+ postal_code: T.nilable(String),
1331
+ state: T.nilable(String),
1332
+ street_address: T.nilable(String)
1333
+ }
1334
+ )
1335
+ end
1336
+ def to_hash
1337
+ end
1338
+ end
1339
+
1340
+ # The type of authorization request that this request is for. Note that
1341
+ # `CREDIT_AUTHORIZATION` and `FINANCIAL_CREDIT_AUTHORIZATION` is only available to
1342
+ # users with credit decisioning via ASA enabled.
1343
+ module Status
1344
+ extend Lithic::Internal::Type::Enum
1345
+
1346
+ TaggedSymbol =
1347
+ T.type_alias { T.all(Symbol, Lithic::CardAuthorization::Status) }
1348
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1349
+
1350
+ AUTHORIZATION =
1351
+ T.let(:AUTHORIZATION, Lithic::CardAuthorization::Status::TaggedSymbol)
1352
+ CREDIT_AUTHORIZATION =
1353
+ T.let(
1354
+ :CREDIT_AUTHORIZATION,
1355
+ Lithic::CardAuthorization::Status::TaggedSymbol
1356
+ )
1357
+ FINANCIAL_AUTHORIZATION =
1358
+ T.let(
1359
+ :FINANCIAL_AUTHORIZATION,
1360
+ Lithic::CardAuthorization::Status::TaggedSymbol
1361
+ )
1362
+ FINANCIAL_CREDIT_AUTHORIZATION =
1363
+ T.let(
1364
+ :FINANCIAL_CREDIT_AUTHORIZATION,
1365
+ Lithic::CardAuthorization::Status::TaggedSymbol
1366
+ )
1367
+ BALANCE_INQUIRY =
1368
+ T.let(
1369
+ :BALANCE_INQUIRY,
1370
+ Lithic::CardAuthorization::Status::TaggedSymbol
1371
+ )
1372
+
1373
+ sig do
1374
+ override.returns(
1375
+ T::Array[Lithic::CardAuthorization::Status::TaggedSymbol]
1376
+ )
1377
+ end
1378
+ def self.values
1379
+ end
1380
+ end
1381
+
1382
+ # The entity that initiated the transaction.
1383
+ module TransactionInitiator
1384
+ extend Lithic::Internal::Type::Enum
1385
+
1386
+ TaggedSymbol =
1387
+ T.type_alias do
1388
+ T.all(Symbol, Lithic::CardAuthorization::TransactionInitiator)
1389
+ end
1390
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1391
+
1392
+ CARDHOLDER =
1393
+ T.let(
1394
+ :CARDHOLDER,
1395
+ Lithic::CardAuthorization::TransactionInitiator::TaggedSymbol
1396
+ )
1397
+ MERCHANT =
1398
+ T.let(
1399
+ :MERCHANT,
1400
+ Lithic::CardAuthorization::TransactionInitiator::TaggedSymbol
1401
+ )
1402
+ UNKNOWN =
1403
+ T.let(
1404
+ :UNKNOWN,
1405
+ Lithic::CardAuthorization::TransactionInitiator::TaggedSymbol
1406
+ )
1407
+
1408
+ sig do
1409
+ override.returns(
1410
+ T::Array[
1411
+ Lithic::CardAuthorization::TransactionInitiator::TaggedSymbol
1412
+ ]
1413
+ )
1414
+ end
1415
+ def self.values
1416
+ end
1417
+ end
1418
+
1419
+ module AccountType
1420
+ extend Lithic::Internal::Type::Enum
1421
+
1422
+ TaggedSymbol =
1423
+ T.type_alias { T.all(Symbol, Lithic::CardAuthorization::AccountType) }
1424
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1425
+
1426
+ CHECKING =
1427
+ T.let(:CHECKING, Lithic::CardAuthorization::AccountType::TaggedSymbol)
1428
+ SAVINGS =
1429
+ T.let(:SAVINGS, Lithic::CardAuthorization::AccountType::TaggedSymbol)
1430
+
1431
+ sig do
1432
+ override.returns(
1433
+ T::Array[Lithic::CardAuthorization::AccountType::TaggedSymbol]
1434
+ )
1435
+ end
1436
+ def self.values
1437
+ end
1438
+ end
1439
+
1440
+ class FleetInfo < Lithic::Internal::Type::BaseModel
1441
+ OrHash =
1442
+ T.type_alias do
1443
+ T.any(
1444
+ Lithic::CardAuthorization::FleetInfo,
1445
+ Lithic::Internal::AnyHash
1446
+ )
1447
+ end
1448
+
1449
+ # Code indicating what the driver was prompted to enter at time of purchase. This
1450
+ # is configured at a program level and is a static configuration, and does not
1451
+ # change on a request to request basis
1452
+ sig do
1453
+ returns(
1454
+ Lithic::CardAuthorization::FleetInfo::FleetPromptCode::TaggedSymbol
1455
+ )
1456
+ end
1457
+ attr_accessor :fleet_prompt_code
1458
+
1459
+ # Code indicating which restrictions, if any, there are on purchase. This is
1460
+ # configured at a program level and is a static configuration, and does not change
1461
+ # on a request to request basis
1462
+ sig do
1463
+ returns(
1464
+ Lithic::CardAuthorization::FleetInfo::FleetRestrictionCode::TaggedSymbol
1465
+ )
1466
+ end
1467
+ attr_accessor :fleet_restriction_code
1468
+
1469
+ # Number representing the driver
1470
+ sig { returns(T.nilable(String)) }
1471
+ attr_accessor :driver_number
1472
+
1473
+ # Number associated with the vehicle
1474
+ sig { returns(T.nilable(String)) }
1475
+ attr_accessor :vehicle_number
1476
+
1477
+ # Optional Object containing information if the Card is a part of a Fleet managed
1478
+ # program
1479
+ sig do
1480
+ params(
1481
+ fleet_prompt_code:
1482
+ Lithic::CardAuthorization::FleetInfo::FleetPromptCode::OrSymbol,
1483
+ fleet_restriction_code:
1484
+ Lithic::CardAuthorization::FleetInfo::FleetRestrictionCode::OrSymbol,
1485
+ driver_number: T.nilable(String),
1486
+ vehicle_number: T.nilable(String)
1487
+ ).returns(T.attached_class)
1488
+ end
1489
+ def self.new(
1490
+ # Code indicating what the driver was prompted to enter at time of purchase. This
1491
+ # is configured at a program level and is a static configuration, and does not
1492
+ # change on a request to request basis
1493
+ fleet_prompt_code:,
1494
+ # Code indicating which restrictions, if any, there are on purchase. This is
1495
+ # configured at a program level and is a static configuration, and does not change
1496
+ # on a request to request basis
1497
+ fleet_restriction_code:,
1498
+ # Number representing the driver
1499
+ driver_number: nil,
1500
+ # Number associated with the vehicle
1501
+ vehicle_number: nil
1502
+ )
1503
+ end
1504
+
1505
+ sig do
1506
+ override.returns(
1507
+ {
1508
+ fleet_prompt_code:
1509
+ Lithic::CardAuthorization::FleetInfo::FleetPromptCode::TaggedSymbol,
1510
+ fleet_restriction_code:
1511
+ Lithic::CardAuthorization::FleetInfo::FleetRestrictionCode::TaggedSymbol,
1512
+ driver_number: T.nilable(String),
1513
+ vehicle_number: T.nilable(String)
1514
+ }
1515
+ )
1516
+ end
1517
+ def to_hash
1518
+ end
1519
+
1520
+ # Code indicating what the driver was prompted to enter at time of purchase. This
1521
+ # is configured at a program level and is a static configuration, and does not
1522
+ # change on a request to request basis
1523
+ module FleetPromptCode
1524
+ extend Lithic::Internal::Type::Enum
1525
+
1526
+ TaggedSymbol =
1527
+ T.type_alias do
1528
+ T.all(
1529
+ Symbol,
1530
+ Lithic::CardAuthorization::FleetInfo::FleetPromptCode
1531
+ )
1532
+ end
1533
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1534
+
1535
+ NO_PROMPT =
1536
+ T.let(
1537
+ :NO_PROMPT,
1538
+ Lithic::CardAuthorization::FleetInfo::FleetPromptCode::TaggedSymbol
1539
+ )
1540
+ VEHICLE_NUMBER =
1541
+ T.let(
1542
+ :VEHICLE_NUMBER,
1543
+ Lithic::CardAuthorization::FleetInfo::FleetPromptCode::TaggedSymbol
1544
+ )
1545
+ DRIVER_NUMBER =
1546
+ T.let(
1547
+ :DRIVER_NUMBER,
1548
+ Lithic::CardAuthorization::FleetInfo::FleetPromptCode::TaggedSymbol
1549
+ )
1550
+
1551
+ sig do
1552
+ override.returns(
1553
+ T::Array[
1554
+ Lithic::CardAuthorization::FleetInfo::FleetPromptCode::TaggedSymbol
1555
+ ]
1556
+ )
1557
+ end
1558
+ def self.values
1559
+ end
1560
+ end
1561
+
1562
+ # Code indicating which restrictions, if any, there are on purchase. This is
1563
+ # configured at a program level and is a static configuration, and does not change
1564
+ # on a request to request basis
1565
+ module FleetRestrictionCode
1566
+ extend Lithic::Internal::Type::Enum
1567
+
1568
+ TaggedSymbol =
1569
+ T.type_alias do
1570
+ T.all(
1571
+ Symbol,
1572
+ Lithic::CardAuthorization::FleetInfo::FleetRestrictionCode
1573
+ )
1574
+ end
1575
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1576
+
1577
+ NO_RESTRICTIONS =
1578
+ T.let(
1579
+ :NO_RESTRICTIONS,
1580
+ Lithic::CardAuthorization::FleetInfo::FleetRestrictionCode::TaggedSymbol
1581
+ )
1582
+ FUEL_ONLY =
1583
+ T.let(
1584
+ :FUEL_ONLY,
1585
+ Lithic::CardAuthorization::FleetInfo::FleetRestrictionCode::TaggedSymbol
1586
+ )
1587
+
1588
+ sig do
1589
+ override.returns(
1590
+ T::Array[
1591
+ Lithic::CardAuthorization::FleetInfo::FleetRestrictionCode::TaggedSymbol
1592
+ ]
1593
+ )
1594
+ end
1595
+ def self.values
1596
+ end
1597
+ end
1598
+ end
1599
+
1600
+ class LatestChallenge < Lithic::Internal::Type::BaseModel
1601
+ OrHash =
1602
+ T.type_alias do
1603
+ T.any(
1604
+ Lithic::CardAuthorization::LatestChallenge,
1605
+ Lithic::Internal::AnyHash
1606
+ )
1607
+ end
1608
+
1609
+ # The date and time when the Authorization Challenge was completed in UTC. Filled
1610
+ # only if the challenge has been completed.
1611
+ sig { returns(T.nilable(Time)) }
1612
+ attr_accessor :completed_at
1613
+
1614
+ # The date and time when the Authorization Challenge was created in UTC
1615
+ sig { returns(Time) }
1616
+ attr_accessor :created
1617
+
1618
+ # The method used to deliver the challenge to the cardholder
1619
+ #
1620
+ # - `SMS` - Challenge was delivered via SMS
1621
+ # - `OUT_OF_BAND` - Challenge was delivered via an out-of-band method
1622
+ sig do
1623
+ returns(
1624
+ Lithic::CardAuthorization::LatestChallenge::Method::TaggedSymbol
1625
+ )
1626
+ end
1627
+ attr_accessor :method_
1628
+
1629
+ # The phone number used for sending the Authorization Challenge. Present only when
1630
+ # the challenge method is `SMS`.
1631
+ sig { returns(T.nilable(String)) }
1632
+ attr_accessor :phone_number
1633
+
1634
+ # The status of the Authorization Challenge
1635
+ #
1636
+ # - `COMPLETED` - Challenge was successfully completed by the cardholder
1637
+ # - `DECLINED` - Challenge was declined by the cardholder
1638
+ # - `PENDING` - Challenge is still open
1639
+ # - `EXPIRED` - Challenge has expired without being completed
1640
+ # - `ERROR` - There was an error processing the challenge
1641
+ sig do
1642
+ returns(
1643
+ Lithic::CardAuthorization::LatestChallenge::Status::TaggedSymbol
1644
+ )
1645
+ end
1646
+ attr_accessor :status
1647
+
1648
+ # The latest Authorization Challenge that was issued to the cardholder for this
1649
+ # merchant.
1650
+ sig do
1651
+ params(
1652
+ completed_at: T.nilable(Time),
1653
+ created: Time,
1654
+ method_:
1655
+ Lithic::CardAuthorization::LatestChallenge::Method::OrSymbol,
1656
+ phone_number: T.nilable(String),
1657
+ status: Lithic::CardAuthorization::LatestChallenge::Status::OrSymbol
1658
+ ).returns(T.attached_class)
1659
+ end
1660
+ def self.new(
1661
+ # The date and time when the Authorization Challenge was completed in UTC. Filled
1662
+ # only if the challenge has been completed.
1663
+ completed_at:,
1664
+ # The date and time when the Authorization Challenge was created in UTC
1665
+ created:,
1666
+ # The method used to deliver the challenge to the cardholder
1667
+ #
1668
+ # - `SMS` - Challenge was delivered via SMS
1669
+ # - `OUT_OF_BAND` - Challenge was delivered via an out-of-band method
1670
+ method_:,
1671
+ # The phone number used for sending the Authorization Challenge. Present only when
1672
+ # the challenge method is `SMS`.
1673
+ phone_number:,
1674
+ # The status of the Authorization Challenge
1675
+ #
1676
+ # - `COMPLETED` - Challenge was successfully completed by the cardholder
1677
+ # - `DECLINED` - Challenge was declined by the cardholder
1678
+ # - `PENDING` - Challenge is still open
1679
+ # - `EXPIRED` - Challenge has expired without being completed
1680
+ # - `ERROR` - There was an error processing the challenge
1681
+ status:
1682
+ )
1683
+ end
1684
+
1685
+ sig do
1686
+ override.returns(
1687
+ {
1688
+ completed_at: T.nilable(Time),
1689
+ created: Time,
1690
+ method_:
1691
+ Lithic::CardAuthorization::LatestChallenge::Method::TaggedSymbol,
1692
+ phone_number: T.nilable(String),
1693
+ status:
1694
+ Lithic::CardAuthorization::LatestChallenge::Status::TaggedSymbol
1695
+ }
1696
+ )
1697
+ end
1698
+ def to_hash
1699
+ end
1700
+
1701
+ # The method used to deliver the challenge to the cardholder
1702
+ #
1703
+ # - `SMS` - Challenge was delivered via SMS
1704
+ # - `OUT_OF_BAND` - Challenge was delivered via an out-of-band method
1705
+ module Method
1706
+ extend Lithic::Internal::Type::Enum
1707
+
1708
+ TaggedSymbol =
1709
+ T.type_alias do
1710
+ T.all(Symbol, Lithic::CardAuthorization::LatestChallenge::Method)
1711
+ end
1712
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1713
+
1714
+ SMS =
1715
+ T.let(
1716
+ :SMS,
1717
+ Lithic::CardAuthorization::LatestChallenge::Method::TaggedSymbol
1718
+ )
1719
+ OUT_OF_BAND =
1720
+ T.let(
1721
+ :OUT_OF_BAND,
1722
+ Lithic::CardAuthorization::LatestChallenge::Method::TaggedSymbol
1723
+ )
1724
+
1725
+ sig do
1726
+ override.returns(
1727
+ T::Array[
1728
+ Lithic::CardAuthorization::LatestChallenge::Method::TaggedSymbol
1729
+ ]
1730
+ )
1731
+ end
1732
+ def self.values
1733
+ end
1734
+ end
1735
+
1736
+ # The status of the Authorization Challenge
1737
+ #
1738
+ # - `COMPLETED` - Challenge was successfully completed by the cardholder
1739
+ # - `DECLINED` - Challenge was declined by the cardholder
1740
+ # - `PENDING` - Challenge is still open
1741
+ # - `EXPIRED` - Challenge has expired without being completed
1742
+ # - `ERROR` - There was an error processing the challenge
1743
+ module Status
1744
+ extend Lithic::Internal::Type::Enum
1745
+
1746
+ TaggedSymbol =
1747
+ T.type_alias do
1748
+ T.all(Symbol, Lithic::CardAuthorization::LatestChallenge::Status)
1749
+ end
1750
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1751
+
1752
+ COMPLETED =
1753
+ T.let(
1754
+ :COMPLETED,
1755
+ Lithic::CardAuthorization::LatestChallenge::Status::TaggedSymbol
1756
+ )
1757
+ DECLINED =
1758
+ T.let(
1759
+ :DECLINED,
1760
+ Lithic::CardAuthorization::LatestChallenge::Status::TaggedSymbol
1761
+ )
1762
+ PENDING =
1763
+ T.let(
1764
+ :PENDING,
1765
+ Lithic::CardAuthorization::LatestChallenge::Status::TaggedSymbol
1766
+ )
1767
+ EXPIRED =
1768
+ T.let(
1769
+ :EXPIRED,
1770
+ Lithic::CardAuthorization::LatestChallenge::Status::TaggedSymbol
1771
+ )
1772
+ ERROR =
1773
+ T.let(
1774
+ :ERROR,
1775
+ Lithic::CardAuthorization::LatestChallenge::Status::TaggedSymbol
1776
+ )
1777
+
1778
+ sig do
1779
+ override.returns(
1780
+ T::Array[
1781
+ Lithic::CardAuthorization::LatestChallenge::Status::TaggedSymbol
1782
+ ]
1783
+ )
1784
+ end
1785
+ def self.values
1786
+ end
1787
+ end
1788
+ end
1789
+
1790
+ # Card network of the authorization.
1791
+ module Network
1792
+ extend Lithic::Internal::Type::Enum
1793
+
1794
+ TaggedSymbol =
1795
+ T.type_alias { T.all(Symbol, Lithic::CardAuthorization::Network) }
1796
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1797
+
1798
+ AMEX = T.let(:AMEX, Lithic::CardAuthorization::Network::TaggedSymbol)
1799
+ INTERLINK =
1800
+ T.let(:INTERLINK, Lithic::CardAuthorization::Network::TaggedSymbol)
1801
+ MAESTRO =
1802
+ T.let(:MAESTRO, Lithic::CardAuthorization::Network::TaggedSymbol)
1803
+ MASTERCARD =
1804
+ T.let(:MASTERCARD, Lithic::CardAuthorization::Network::TaggedSymbol)
1805
+ UNKNOWN =
1806
+ T.let(:UNKNOWN, Lithic::CardAuthorization::Network::TaggedSymbol)
1807
+ VISA = T.let(:VISA, Lithic::CardAuthorization::Network::TaggedSymbol)
1808
+
1809
+ sig do
1810
+ override.returns(
1811
+ T::Array[Lithic::CardAuthorization::Network::TaggedSymbol]
1812
+ )
1813
+ end
1814
+ def self.values
1815
+ end
1816
+ end
1817
+
1818
+ class NetworkSpecificData < Lithic::Internal::Type::BaseModel
1819
+ OrHash =
1820
+ T.type_alias do
1821
+ T.any(
1822
+ Lithic::CardAuthorization::NetworkSpecificData,
1823
+ Lithic::Internal::AnyHash
1824
+ )
1825
+ end
1826
+
1827
+ sig do
1828
+ returns(
1829
+ T.nilable(
1830
+ Lithic::CardAuthorization::NetworkSpecificData::Mastercard
1831
+ )
1832
+ )
1833
+ end
1834
+ attr_reader :mastercard
1835
+
1836
+ sig do
1837
+ params(
1838
+ mastercard:
1839
+ T.nilable(
1840
+ Lithic::CardAuthorization::NetworkSpecificData::Mastercard::OrHash
1841
+ )
1842
+ ).void
1843
+ end
1844
+ attr_writer :mastercard
1845
+
1846
+ sig do
1847
+ returns(
1848
+ T.nilable(Lithic::CardAuthorization::NetworkSpecificData::Visa)
1849
+ )
1850
+ end
1851
+ attr_reader :visa
1852
+
1853
+ sig do
1854
+ params(
1855
+ visa:
1856
+ T.nilable(
1857
+ Lithic::CardAuthorization::NetworkSpecificData::Visa::OrHash
1858
+ )
1859
+ ).void
1860
+ end
1861
+ attr_writer :visa
1862
+
1863
+ # Contains raw data provided by the card network, including attributes that
1864
+ # provide further context about the authorization. If populated by the network,
1865
+ # data is organized by Lithic and passed through without further modification.
1866
+ # Please consult the official network documentation for more details about these
1867
+ # values and how to use them. This object is only available to certain programs-
1868
+ # contact your Customer Success Manager to discuss enabling access.
1869
+ sig do
1870
+ params(
1871
+ mastercard:
1872
+ T.nilable(
1873
+ Lithic::CardAuthorization::NetworkSpecificData::Mastercard::OrHash
1874
+ ),
1875
+ visa:
1876
+ T.nilable(
1877
+ Lithic::CardAuthorization::NetworkSpecificData::Visa::OrHash
1878
+ )
1879
+ ).returns(T.attached_class)
1880
+ end
1881
+ def self.new(mastercard: nil, visa: nil)
1882
+ end
1883
+
1884
+ sig do
1885
+ override.returns(
1886
+ {
1887
+ mastercard:
1888
+ T.nilable(
1889
+ Lithic::CardAuthorization::NetworkSpecificData::Mastercard
1890
+ ),
1891
+ visa:
1892
+ T.nilable(Lithic::CardAuthorization::NetworkSpecificData::Visa)
1893
+ }
1894
+ )
1895
+ end
1896
+ def to_hash
1897
+ end
1898
+
1899
+ class Mastercard < Lithic::Internal::Type::BaseModel
1900
+ OrHash =
1901
+ T.type_alias do
1902
+ T.any(
1903
+ Lithic::CardAuthorization::NetworkSpecificData::Mastercard,
1904
+ Lithic::Internal::AnyHash
1905
+ )
1906
+ end
1907
+
1908
+ # Indicates the electronic commerce security level and UCAF collection.
1909
+ sig { returns(T.nilable(String)) }
1910
+ attr_accessor :ecommerce_security_level_indicator
1911
+
1912
+ # The On-behalf Service performed on the transaction and the results. Contains all
1913
+ # applicable, on-behalf service results that were performed on a given
1914
+ # transaction.
1915
+ sig do
1916
+ returns(
1917
+ T.nilable(
1918
+ T::Array[
1919
+ Lithic::CardAuthorization::NetworkSpecificData::Mastercard::OnBehalfServiceResult
1920
+ ]
1921
+ )
1922
+ )
1923
+ end
1924
+ attr_accessor :on_behalf_service_result
1925
+
1926
+ # Indicates the type of additional transaction purpose.
1927
+ sig { returns(T.nilable(String)) }
1928
+ attr_accessor :transaction_type_identifier
1929
+
1930
+ sig do
1931
+ params(
1932
+ ecommerce_security_level_indicator: T.nilable(String),
1933
+ on_behalf_service_result:
1934
+ T.nilable(
1935
+ T::Array[
1936
+ Lithic::CardAuthorization::NetworkSpecificData::Mastercard::OnBehalfServiceResult::OrHash
1937
+ ]
1938
+ ),
1939
+ transaction_type_identifier: T.nilable(String)
1940
+ ).returns(T.attached_class)
1941
+ end
1942
+ def self.new(
1943
+ # Indicates the electronic commerce security level and UCAF collection.
1944
+ ecommerce_security_level_indicator: nil,
1945
+ # The On-behalf Service performed on the transaction and the results. Contains all
1946
+ # applicable, on-behalf service results that were performed on a given
1947
+ # transaction.
1948
+ on_behalf_service_result: nil,
1949
+ # Indicates the type of additional transaction purpose.
1950
+ transaction_type_identifier: nil
1951
+ )
1952
+ end
1953
+
1954
+ sig do
1955
+ override.returns(
1956
+ {
1957
+ ecommerce_security_level_indicator: T.nilable(String),
1958
+ on_behalf_service_result:
1959
+ T.nilable(
1960
+ T::Array[
1961
+ Lithic::CardAuthorization::NetworkSpecificData::Mastercard::OnBehalfServiceResult
1962
+ ]
1963
+ ),
1964
+ transaction_type_identifier: T.nilable(String)
1965
+ }
1966
+ )
1967
+ end
1968
+ def to_hash
1969
+ end
1970
+
1971
+ class OnBehalfServiceResult < Lithic::Internal::Type::BaseModel
1972
+ OrHash =
1973
+ T.type_alias do
1974
+ T.any(
1975
+ Lithic::CardAuthorization::NetworkSpecificData::Mastercard::OnBehalfServiceResult,
1976
+ Lithic::Internal::AnyHash
1977
+ )
1978
+ end
1979
+
1980
+ # Indicates the results of the service processing.
1981
+ sig { returns(String) }
1982
+ attr_accessor :result_1
1983
+
1984
+ # Identifies the results of the service processing.
1985
+ sig { returns(String) }
1986
+ attr_accessor :result_2
1987
+
1988
+ # Indicates the service performed on the transaction.
1989
+ sig { returns(String) }
1990
+ attr_accessor :service
1991
+
1992
+ sig do
1993
+ params(
1994
+ result_1: String,
1995
+ result_2: String,
1996
+ service: String
1997
+ ).returns(T.attached_class)
1998
+ end
1999
+ def self.new(
2000
+ # Indicates the results of the service processing.
2001
+ result_1:,
2002
+ # Identifies the results of the service processing.
2003
+ result_2:,
2004
+ # Indicates the service performed on the transaction.
2005
+ service:
2006
+ )
2007
+ end
2008
+
2009
+ sig do
2010
+ override.returns(
2011
+ { result_1: String, result_2: String, service: String }
2012
+ )
2013
+ end
2014
+ def to_hash
2015
+ end
2016
+ end
2017
+ end
2018
+
2019
+ class Visa < Lithic::Internal::Type::BaseModel
2020
+ OrHash =
2021
+ T.type_alias do
2022
+ T.any(
2023
+ Lithic::CardAuthorization::NetworkSpecificData::Visa,
2024
+ Lithic::Internal::AnyHash
2025
+ )
2026
+ end
2027
+
2028
+ # Identifies the purpose or category of a transaction, used to classify and
2029
+ # process transactions according to Visa’s rules.
2030
+ sig { returns(T.nilable(String)) }
2031
+ attr_accessor :business_application_identifier
2032
+
2033
+ sig do
2034
+ params(business_application_identifier: T.nilable(String)).returns(
2035
+ T.attached_class
2036
+ )
2037
+ end
2038
+ def self.new(
2039
+ # Identifies the purpose or category of a transaction, used to classify and
2040
+ # process transactions according to Visa’s rules.
2041
+ business_application_identifier: nil
2042
+ )
2043
+ end
2044
+
2045
+ sig do
2046
+ override.returns(
2047
+ { business_application_identifier: T.nilable(String) }
2048
+ )
2049
+ end
2050
+ def to_hash
2051
+ end
2052
+ end
2053
+ end
2054
+
2055
+ class Pos < Lithic::Internal::Type::BaseModel
2056
+ OrHash =
2057
+ T.type_alias do
2058
+ T.any(Lithic::CardAuthorization::Pos, Lithic::Internal::AnyHash)
2059
+ end
2060
+
2061
+ # POS > Entry Mode object in ASA
2062
+ sig { returns(T.nilable(Lithic::CardAuthorization::Pos::EntryMode)) }
2063
+ attr_reader :entry_mode
2064
+
2065
+ sig do
2066
+ params(
2067
+ entry_mode: Lithic::CardAuthorization::Pos::EntryMode::OrHash
2068
+ ).void
2069
+ end
2070
+ attr_writer :entry_mode
2071
+
2072
+ sig { returns(T.nilable(Lithic::CardAuthorization::Pos::Terminal)) }
2073
+ attr_reader :terminal
2074
+
2075
+ sig do
2076
+ params(
2077
+ terminal: Lithic::CardAuthorization::Pos::Terminal::OrHash
2078
+ ).void
2079
+ end
2080
+ attr_writer :terminal
2081
+
2082
+ sig do
2083
+ params(
2084
+ entry_mode: Lithic::CardAuthorization::Pos::EntryMode::OrHash,
2085
+ terminal: Lithic::CardAuthorization::Pos::Terminal::OrHash
2086
+ ).returns(T.attached_class)
2087
+ end
2088
+ def self.new(
2089
+ # POS > Entry Mode object in ASA
2090
+ entry_mode: nil,
2091
+ terminal: nil
2092
+ )
2093
+ end
2094
+
2095
+ sig do
2096
+ override.returns(
2097
+ {
2098
+ entry_mode: Lithic::CardAuthorization::Pos::EntryMode,
2099
+ terminal: Lithic::CardAuthorization::Pos::Terminal
2100
+ }
2101
+ )
2102
+ end
2103
+ def to_hash
2104
+ end
2105
+
2106
+ class EntryMode < Lithic::Internal::Type::BaseModel
2107
+ OrHash =
2108
+ T.type_alias do
2109
+ T.any(
2110
+ Lithic::CardAuthorization::Pos::EntryMode,
2111
+ Lithic::Internal::AnyHash
2112
+ )
2113
+ end
2114
+
2115
+ # Card Presence Indicator
2116
+ sig do
2117
+ returns(
2118
+ T.nilable(
2119
+ Lithic::CardAuthorization::Pos::EntryMode::Card::TaggedSymbol
2120
+ )
2121
+ )
2122
+ end
2123
+ attr_reader :card
2124
+
2125
+ sig do
2126
+ params(
2127
+ card: Lithic::CardAuthorization::Pos::EntryMode::Card::OrSymbol
2128
+ ).void
2129
+ end
2130
+ attr_writer :card
2131
+
2132
+ # Cardholder Presence Indicator
2133
+ sig do
2134
+ returns(
2135
+ T.nilable(
2136
+ Lithic::CardAuthorization::Pos::EntryMode::Cardholder::TaggedSymbol
2137
+ )
2138
+ )
2139
+ end
2140
+ attr_reader :cardholder
2141
+
2142
+ sig do
2143
+ params(
2144
+ cardholder:
2145
+ Lithic::CardAuthorization::Pos::EntryMode::Cardholder::OrSymbol
2146
+ ).void
2147
+ end
2148
+ attr_writer :cardholder
2149
+
2150
+ # Method of entry for the PAN
2151
+ sig do
2152
+ returns(
2153
+ T.nilable(
2154
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2155
+ )
2156
+ )
2157
+ end
2158
+ attr_reader :pan
2159
+
2160
+ sig do
2161
+ params(
2162
+ pan: Lithic::CardAuthorization::Pos::EntryMode::Pan::OrSymbol
2163
+ ).void
2164
+ end
2165
+ attr_writer :pan
2166
+
2167
+ # Indicates whether the cardholder entered the PIN. True if the PIN was entered.
2168
+ sig { returns(T.nilable(T::Boolean)) }
2169
+ attr_reader :pin_entered
2170
+
2171
+ sig { params(pin_entered: T::Boolean).void }
2172
+ attr_writer :pin_entered
2173
+
2174
+ # POS > Entry Mode object in ASA
2175
+ sig do
2176
+ params(
2177
+ card: Lithic::CardAuthorization::Pos::EntryMode::Card::OrSymbol,
2178
+ cardholder:
2179
+ Lithic::CardAuthorization::Pos::EntryMode::Cardholder::OrSymbol,
2180
+ pan: Lithic::CardAuthorization::Pos::EntryMode::Pan::OrSymbol,
2181
+ pin_entered: T::Boolean
2182
+ ).returns(T.attached_class)
2183
+ end
2184
+ def self.new(
2185
+ # Card Presence Indicator
2186
+ card: nil,
2187
+ # Cardholder Presence Indicator
2188
+ cardholder: nil,
2189
+ # Method of entry for the PAN
2190
+ pan: nil,
2191
+ # Indicates whether the cardholder entered the PIN. True if the PIN was entered.
2192
+ pin_entered: nil
2193
+ )
2194
+ end
2195
+
2196
+ sig do
2197
+ override.returns(
2198
+ {
2199
+ card:
2200
+ Lithic::CardAuthorization::Pos::EntryMode::Card::TaggedSymbol,
2201
+ cardholder:
2202
+ Lithic::CardAuthorization::Pos::EntryMode::Cardholder::TaggedSymbol,
2203
+ pan:
2204
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol,
2205
+ pin_entered: T::Boolean
2206
+ }
2207
+ )
2208
+ end
2209
+ def to_hash
2210
+ end
2211
+
2212
+ # Card Presence Indicator
2213
+ module Card
2214
+ extend Lithic::Internal::Type::Enum
2215
+
2216
+ TaggedSymbol =
2217
+ T.type_alias do
2218
+ T.all(Symbol, Lithic::CardAuthorization::Pos::EntryMode::Card)
2219
+ end
2220
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2221
+
2222
+ PRESENT =
2223
+ T.let(
2224
+ :PRESENT,
2225
+ Lithic::CardAuthorization::Pos::EntryMode::Card::TaggedSymbol
2226
+ )
2227
+ NOT_PRESENT =
2228
+ T.let(
2229
+ :NOT_PRESENT,
2230
+ Lithic::CardAuthorization::Pos::EntryMode::Card::TaggedSymbol
2231
+ )
2232
+ UNKNOWN =
2233
+ T.let(
2234
+ :UNKNOWN,
2235
+ Lithic::CardAuthorization::Pos::EntryMode::Card::TaggedSymbol
2236
+ )
2237
+
2238
+ sig do
2239
+ override.returns(
2240
+ T::Array[
2241
+ Lithic::CardAuthorization::Pos::EntryMode::Card::TaggedSymbol
2242
+ ]
2243
+ )
2244
+ end
2245
+ def self.values
2246
+ end
2247
+ end
2248
+
2249
+ # Cardholder Presence Indicator
2250
+ module Cardholder
2251
+ extend Lithic::Internal::Type::Enum
2252
+
2253
+ TaggedSymbol =
2254
+ T.type_alias do
2255
+ T.all(
2256
+ Symbol,
2257
+ Lithic::CardAuthorization::Pos::EntryMode::Cardholder
2258
+ )
2259
+ end
2260
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2261
+
2262
+ DEFERRED_BILLING =
2263
+ T.let(
2264
+ :DEFERRED_BILLING,
2265
+ Lithic::CardAuthorization::Pos::EntryMode::Cardholder::TaggedSymbol
2266
+ )
2267
+ ELECTRONIC_ORDER =
2268
+ T.let(
2269
+ :ELECTRONIC_ORDER,
2270
+ Lithic::CardAuthorization::Pos::EntryMode::Cardholder::TaggedSymbol
2271
+ )
2272
+ INSTALLMENT =
2273
+ T.let(
2274
+ :INSTALLMENT,
2275
+ Lithic::CardAuthorization::Pos::EntryMode::Cardholder::TaggedSymbol
2276
+ )
2277
+ MAIL_ORDER =
2278
+ T.let(
2279
+ :MAIL_ORDER,
2280
+ Lithic::CardAuthorization::Pos::EntryMode::Cardholder::TaggedSymbol
2281
+ )
2282
+ NOT_PRESENT =
2283
+ T.let(
2284
+ :NOT_PRESENT,
2285
+ Lithic::CardAuthorization::Pos::EntryMode::Cardholder::TaggedSymbol
2286
+ )
2287
+ PRESENT =
2288
+ T.let(
2289
+ :PRESENT,
2290
+ Lithic::CardAuthorization::Pos::EntryMode::Cardholder::TaggedSymbol
2291
+ )
2292
+ REOCCURRING =
2293
+ T.let(
2294
+ :REOCCURRING,
2295
+ Lithic::CardAuthorization::Pos::EntryMode::Cardholder::TaggedSymbol
2296
+ )
2297
+ TELEPHONE_ORDER =
2298
+ T.let(
2299
+ :TELEPHONE_ORDER,
2300
+ Lithic::CardAuthorization::Pos::EntryMode::Cardholder::TaggedSymbol
2301
+ )
2302
+ UNKNOWN =
2303
+ T.let(
2304
+ :UNKNOWN,
2305
+ Lithic::CardAuthorization::Pos::EntryMode::Cardholder::TaggedSymbol
2306
+ )
2307
+
2308
+ sig do
2309
+ override.returns(
2310
+ T::Array[
2311
+ Lithic::CardAuthorization::Pos::EntryMode::Cardholder::TaggedSymbol
2312
+ ]
2313
+ )
2314
+ end
2315
+ def self.values
2316
+ end
2317
+ end
2318
+
2319
+ # Method of entry for the PAN
2320
+ module Pan
2321
+ extend Lithic::Internal::Type::Enum
2322
+
2323
+ TaggedSymbol =
2324
+ T.type_alias do
2325
+ T.all(Symbol, Lithic::CardAuthorization::Pos::EntryMode::Pan)
2326
+ end
2327
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2328
+
2329
+ AUTO_ENTRY =
2330
+ T.let(
2331
+ :AUTO_ENTRY,
2332
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2333
+ )
2334
+ BAR_CODE =
2335
+ T.let(
2336
+ :BAR_CODE,
2337
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2338
+ )
2339
+ CONTACTLESS =
2340
+ T.let(
2341
+ :CONTACTLESS,
2342
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2343
+ )
2344
+ ECOMMERCE =
2345
+ T.let(
2346
+ :ECOMMERCE,
2347
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2348
+ )
2349
+ ERROR_KEYED =
2350
+ T.let(
2351
+ :ERROR_KEYED,
2352
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2353
+ )
2354
+ ERROR_MAGNETIC_STRIPE =
2355
+ T.let(
2356
+ :ERROR_MAGNETIC_STRIPE,
2357
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2358
+ )
2359
+ ICC =
2360
+ T.let(
2361
+ :ICC,
2362
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2363
+ )
2364
+ KEY_ENTERED =
2365
+ T.let(
2366
+ :KEY_ENTERED,
2367
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2368
+ )
2369
+ MAGNETIC_STRIPE =
2370
+ T.let(
2371
+ :MAGNETIC_STRIPE,
2372
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2373
+ )
2374
+ MANUAL =
2375
+ T.let(
2376
+ :MANUAL,
2377
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2378
+ )
2379
+ OCR =
2380
+ T.let(
2381
+ :OCR,
2382
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2383
+ )
2384
+ SECURE_CARDLESS =
2385
+ T.let(
2386
+ :SECURE_CARDLESS,
2387
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2388
+ )
2389
+ UNSPECIFIED =
2390
+ T.let(
2391
+ :UNSPECIFIED,
2392
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2393
+ )
2394
+ UNKNOWN =
2395
+ T.let(
2396
+ :UNKNOWN,
2397
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2398
+ )
2399
+ CREDENTIAL_ON_FILE =
2400
+ T.let(
2401
+ :CREDENTIAL_ON_FILE,
2402
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2403
+ )
2404
+
2405
+ sig do
2406
+ override.returns(
2407
+ T::Array[
2408
+ Lithic::CardAuthorization::Pos::EntryMode::Pan::TaggedSymbol
2409
+ ]
2410
+ )
2411
+ end
2412
+ def self.values
2413
+ end
2414
+ end
2415
+ end
2416
+
2417
+ class Terminal < Lithic::Internal::Type::BaseModel
2418
+ OrHash =
2419
+ T.type_alias do
2420
+ T.any(
2421
+ Lithic::CardAuthorization::Pos::Terminal,
2422
+ Lithic::Internal::AnyHash
2423
+ )
2424
+ end
2425
+
2426
+ # True if a clerk is present at the sale.
2427
+ sig { returns(T::Boolean) }
2428
+ attr_accessor :attended
2429
+
2430
+ # True if the terminal is capable of retaining the card.
2431
+ sig { returns(T::Boolean) }
2432
+ attr_accessor :card_retention_capable
2433
+
2434
+ # True if the sale was made at the place of business (vs. mobile).
2435
+ sig { returns(T::Boolean) }
2436
+ attr_accessor :on_premise
2437
+
2438
+ # The person that is designated to swipe the card
2439
+ sig do
2440
+ returns(
2441
+ Lithic::CardAuthorization::Pos::Terminal::Operator::TaggedSymbol
2442
+ )
2443
+ end
2444
+ attr_accessor :operator
2445
+
2446
+ # True if the terminal is capable of partial approval. Partial approval is when
2447
+ # part of a transaction is approved and another payment must be used for the
2448
+ # remainder. Example scenario: A $40 transaction is attempted on a prepaid card
2449
+ # with a $25 balance. If partial approval is enabled, $25 can be authorized, at
2450
+ # which point the POS will prompt the user for an additional payment of $15.
2451
+ sig { returns(T::Boolean) }
2452
+ attr_accessor :partial_approval_capable
2453
+
2454
+ # Status of whether the POS is able to accept PINs
2455
+ sig do
2456
+ returns(
2457
+ Lithic::CardAuthorization::Pos::Terminal::PinCapability::TaggedSymbol
2458
+ )
2459
+ end
2460
+ attr_accessor :pin_capability
2461
+
2462
+ # POS Type
2463
+ sig do
2464
+ returns(
2465
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2466
+ )
2467
+ end
2468
+ attr_accessor :type
2469
+
2470
+ # Uniquely identifies a terminal at the card acceptor location of acquiring
2471
+ # institutions or merchant POS Systems. Left justified with trailing spaces.
2472
+ sig { returns(T.nilable(String)) }
2473
+ attr_accessor :acceptor_terminal_id
2474
+
2475
+ sig do
2476
+ params(
2477
+ attended: T::Boolean,
2478
+ card_retention_capable: T::Boolean,
2479
+ on_premise: T::Boolean,
2480
+ operator:
2481
+ Lithic::CardAuthorization::Pos::Terminal::Operator::OrSymbol,
2482
+ partial_approval_capable: T::Boolean,
2483
+ pin_capability:
2484
+ Lithic::CardAuthorization::Pos::Terminal::PinCapability::OrSymbol,
2485
+ type: Lithic::CardAuthorization::Pos::Terminal::Type::OrSymbol,
2486
+ acceptor_terminal_id: T.nilable(String)
2487
+ ).returns(T.attached_class)
2488
+ end
2489
+ def self.new(
2490
+ # True if a clerk is present at the sale.
2491
+ attended:,
2492
+ # True if the terminal is capable of retaining the card.
2493
+ card_retention_capable:,
2494
+ # True if the sale was made at the place of business (vs. mobile).
2495
+ on_premise:,
2496
+ # The person that is designated to swipe the card
2497
+ operator:,
2498
+ # True if the terminal is capable of partial approval. Partial approval is when
2499
+ # part of a transaction is approved and another payment must be used for the
2500
+ # remainder. Example scenario: A $40 transaction is attempted on a prepaid card
2501
+ # with a $25 balance. If partial approval is enabled, $25 can be authorized, at
2502
+ # which point the POS will prompt the user for an additional payment of $15.
2503
+ partial_approval_capable:,
2504
+ # Status of whether the POS is able to accept PINs
2505
+ pin_capability:,
2506
+ # POS Type
2507
+ type:,
2508
+ # Uniquely identifies a terminal at the card acceptor location of acquiring
2509
+ # institutions or merchant POS Systems. Left justified with trailing spaces.
2510
+ acceptor_terminal_id: nil
2511
+ )
2512
+ end
2513
+
2514
+ sig do
2515
+ override.returns(
2516
+ {
2517
+ attended: T::Boolean,
2518
+ card_retention_capable: T::Boolean,
2519
+ on_premise: T::Boolean,
2520
+ operator:
2521
+ Lithic::CardAuthorization::Pos::Terminal::Operator::TaggedSymbol,
2522
+ partial_approval_capable: T::Boolean,
2523
+ pin_capability:
2524
+ Lithic::CardAuthorization::Pos::Terminal::PinCapability::TaggedSymbol,
2525
+ type:
2526
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol,
2527
+ acceptor_terminal_id: T.nilable(String)
2528
+ }
2529
+ )
2530
+ end
2531
+ def to_hash
2532
+ end
2533
+
2534
+ # The person that is designated to swipe the card
2535
+ module Operator
2536
+ extend Lithic::Internal::Type::Enum
2537
+
2538
+ TaggedSymbol =
2539
+ T.type_alias do
2540
+ T.all(
2541
+ Symbol,
2542
+ Lithic::CardAuthorization::Pos::Terminal::Operator
2543
+ )
2544
+ end
2545
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2546
+
2547
+ ADMINISTRATIVE =
2548
+ T.let(
2549
+ :ADMINISTRATIVE,
2550
+ Lithic::CardAuthorization::Pos::Terminal::Operator::TaggedSymbol
2551
+ )
2552
+ CARDHOLDER =
2553
+ T.let(
2554
+ :CARDHOLDER,
2555
+ Lithic::CardAuthorization::Pos::Terminal::Operator::TaggedSymbol
2556
+ )
2557
+ CARD_ACCEPTOR =
2558
+ T.let(
2559
+ :CARD_ACCEPTOR,
2560
+ Lithic::CardAuthorization::Pos::Terminal::Operator::TaggedSymbol
2561
+ )
2562
+ UNKNOWN =
2563
+ T.let(
2564
+ :UNKNOWN,
2565
+ Lithic::CardAuthorization::Pos::Terminal::Operator::TaggedSymbol
2566
+ )
2567
+
2568
+ sig do
2569
+ override.returns(
2570
+ T::Array[
2571
+ Lithic::CardAuthorization::Pos::Terminal::Operator::TaggedSymbol
2572
+ ]
2573
+ )
2574
+ end
2575
+ def self.values
2576
+ end
2577
+ end
2578
+
2579
+ # Status of whether the POS is able to accept PINs
2580
+ module PinCapability
2581
+ extend Lithic::Internal::Type::Enum
2582
+
2583
+ TaggedSymbol =
2584
+ T.type_alias do
2585
+ T.all(
2586
+ Symbol,
2587
+ Lithic::CardAuthorization::Pos::Terminal::PinCapability
2588
+ )
2589
+ end
2590
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2591
+
2592
+ CAPABLE =
2593
+ T.let(
2594
+ :CAPABLE,
2595
+ Lithic::CardAuthorization::Pos::Terminal::PinCapability::TaggedSymbol
2596
+ )
2597
+ INOPERATIVE =
2598
+ T.let(
2599
+ :INOPERATIVE,
2600
+ Lithic::CardAuthorization::Pos::Terminal::PinCapability::TaggedSymbol
2601
+ )
2602
+ NOT_CAPABLE =
2603
+ T.let(
2604
+ :NOT_CAPABLE,
2605
+ Lithic::CardAuthorization::Pos::Terminal::PinCapability::TaggedSymbol
2606
+ )
2607
+ UNSPECIFIED =
2608
+ T.let(
2609
+ :UNSPECIFIED,
2610
+ Lithic::CardAuthorization::Pos::Terminal::PinCapability::TaggedSymbol
2611
+ )
2612
+
2613
+ sig do
2614
+ override.returns(
2615
+ T::Array[
2616
+ Lithic::CardAuthorization::Pos::Terminal::PinCapability::TaggedSymbol
2617
+ ]
2618
+ )
2619
+ end
2620
+ def self.values
2621
+ end
2622
+ end
2623
+
2624
+ # POS Type
2625
+ module Type
2626
+ extend Lithic::Internal::Type::Enum
2627
+
2628
+ TaggedSymbol =
2629
+ T.type_alias do
2630
+ T.all(Symbol, Lithic::CardAuthorization::Pos::Terminal::Type)
2631
+ end
2632
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2633
+
2634
+ ADMINISTRATIVE =
2635
+ T.let(
2636
+ :ADMINISTRATIVE,
2637
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2638
+ )
2639
+ ATM =
2640
+ T.let(
2641
+ :ATM,
2642
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2643
+ )
2644
+ AUTHORIZATION =
2645
+ T.let(
2646
+ :AUTHORIZATION,
2647
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2648
+ )
2649
+ COUPON_MACHINE =
2650
+ T.let(
2651
+ :COUPON_MACHINE,
2652
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2653
+ )
2654
+ DIAL_TERMINAL =
2655
+ T.let(
2656
+ :DIAL_TERMINAL,
2657
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2658
+ )
2659
+ ECOMMERCE =
2660
+ T.let(
2661
+ :ECOMMERCE,
2662
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2663
+ )
2664
+ ECR =
2665
+ T.let(
2666
+ :ECR,
2667
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2668
+ )
2669
+ FUEL_MACHINE =
2670
+ T.let(
2671
+ :FUEL_MACHINE,
2672
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2673
+ )
2674
+ HOME_TERMINAL =
2675
+ T.let(
2676
+ :HOME_TERMINAL,
2677
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2678
+ )
2679
+ MICR =
2680
+ T.let(
2681
+ :MICR,
2682
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2683
+ )
2684
+ OFF_PREMISE =
2685
+ T.let(
2686
+ :OFF_PREMISE,
2687
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2688
+ )
2689
+ PAYMENT =
2690
+ T.let(
2691
+ :PAYMENT,
2692
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2693
+ )
2694
+ PDA =
2695
+ T.let(
2696
+ :PDA,
2697
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2698
+ )
2699
+ PHONE =
2700
+ T.let(
2701
+ :PHONE,
2702
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2703
+ )
2704
+ POINT =
2705
+ T.let(
2706
+ :POINT,
2707
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2708
+ )
2709
+ POS_TERMINAL =
2710
+ T.let(
2711
+ :POS_TERMINAL,
2712
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2713
+ )
2714
+ PUBLIC_UTILITY =
2715
+ T.let(
2716
+ :PUBLIC_UTILITY,
2717
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2718
+ )
2719
+ SELF_SERVICE =
2720
+ T.let(
2721
+ :SELF_SERVICE,
2722
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2723
+ )
2724
+ TELEVISION =
2725
+ T.let(
2726
+ :TELEVISION,
2727
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2728
+ )
2729
+ TELLER =
2730
+ T.let(
2731
+ :TELLER,
2732
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2733
+ )
2734
+ TRAVELERS_CHECK_MACHINE =
2735
+ T.let(
2736
+ :TRAVELERS_CHECK_MACHINE,
2737
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2738
+ )
2739
+ VENDING =
2740
+ T.let(
2741
+ :VENDING,
2742
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2743
+ )
2744
+ VOICE =
2745
+ T.let(
2746
+ :VOICE,
2747
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2748
+ )
2749
+ UNKNOWN =
2750
+ T.let(
2751
+ :UNKNOWN,
2752
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2753
+ )
2754
+
2755
+ sig do
2756
+ override.returns(
2757
+ T::Array[
2758
+ Lithic::CardAuthorization::Pos::Terminal::Type::TaggedSymbol
2759
+ ]
2760
+ )
2761
+ end
2762
+ def self.values
2763
+ end
2764
+ end
2765
+ end
2766
+ end
2767
+ end
2768
+ end
2769
+ end