lithic 0.1.0.pre.alpha.2 → 0.1.0.pre.alpha.4

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 (494) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -4
  3. data/lib/lithic/client.rb +8 -6
  4. data/lib/lithic/errors.rb +195 -158
  5. data/lib/lithic/models/account.rb +7 -0
  6. data/lib/lithic/models/account_holder.rb +13 -0
  7. data/lib/lithic/models/account_holder_create_params.rb +1 -0
  8. data/lib/lithic/models/account_holder_create_response.rb +3 -0
  9. data/lib/lithic/models/account_holder_list_documents_params.rb +1 -0
  10. data/lib/lithic/models/account_holder_list_documents_response.rb +1 -0
  11. data/lib/lithic/models/account_holder_list_params.rb +1 -0
  12. data/lib/lithic/models/account_holder_retrieve_document_params.rb +1 -0
  13. data/lib/lithic/models/account_holder_retrieve_params.rb +1 -0
  14. data/lib/lithic/models/account_holder_simulate_enrollment_document_review_params.rb +1 -0
  15. data/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb +1 -0
  16. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +15 -0
  17. data/lib/lithic/models/account_holder_update_params.rb +1 -0
  18. data/lib/lithic/models/account_holder_update_response.rb +16 -0
  19. data/lib/lithic/models/account_holder_upload_document_params.rb +1 -0
  20. data/lib/lithic/models/account_list_params.rb +1 -0
  21. data/lib/lithic/models/account_retrieve_params.rb +1 -0
  22. data/lib/lithic/models/account_retrieve_spend_limits_params.rb +1 -0
  23. data/lib/lithic/models/account_spend_limits.rb +4 -0
  24. data/lib/lithic/models/account_update_params.rb +1 -0
  25. data/lib/lithic/models/aggregate_balance.rb +3 -0
  26. data/lib/lithic/models/aggregate_balance_list_params.rb +1 -0
  27. data/lib/lithic/models/api_status.rb +1 -0
  28. data/lib/lithic/models/auth_rules/auth_rule.rb +2 -0
  29. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +4 -0
  30. data/lib/lithic/models/auth_rules/v2/backtest_create_params.rb +1 -0
  31. data/lib/lithic/models/auth_rules/v2/backtest_create_response.rb +1 -0
  32. data/lib/lithic/models/auth_rules/v2/backtest_results.rb +5 -0
  33. data/lib/lithic/models/auth_rules/v2/backtest_retrieve_params.rb +1 -0
  34. data/lib/lithic/models/auth_rules/v2_apply_params.rb +1 -0
  35. data/lib/lithic/models/auth_rules/v2_apply_response.rb +11 -0
  36. data/lib/lithic/models/auth_rules/v2_create_params.rb +1 -0
  37. data/lib/lithic/models/auth_rules/v2_create_response.rb +11 -0
  38. data/lib/lithic/models/auth_rules/v2_delete_params.rb +1 -0
  39. data/lib/lithic/models/auth_rules/v2_draft_params.rb +1 -0
  40. data/lib/lithic/models/auth_rules/v2_draft_response.rb +11 -0
  41. data/lib/lithic/models/auth_rules/v2_list_params.rb +1 -0
  42. data/lib/lithic/models/auth_rules/v2_list_response.rb +11 -0
  43. data/lib/lithic/models/auth_rules/v2_promote_params.rb +1 -0
  44. data/lib/lithic/models/auth_rules/v2_promote_response.rb +11 -0
  45. data/lib/lithic/models/auth_rules/v2_report_params.rb +1 -0
  46. data/lib/lithic/models/auth_rules/v2_report_response.rb +1 -0
  47. data/lib/lithic/models/auth_rules/v2_retrieve_params.rb +1 -0
  48. data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +11 -0
  49. data/lib/lithic/models/auth_rules/v2_update_params.rb +1 -0
  50. data/lib/lithic/models/auth_rules/v2_update_response.rb +11 -0
  51. data/lib/lithic/models/auth_rules/velocity_limit_params.rb +4 -0
  52. data/lib/lithic/models/auth_stream_enrollment_retrieve_secret_params.rb +1 -0
  53. data/lib/lithic/models/auth_stream_enrollment_rotate_secret_params.rb +1 -0
  54. data/lib/lithic/models/auth_stream_secret.rb +1 -0
  55. data/lib/lithic/models/balance.rb +3 -0
  56. data/lib/lithic/models/balance_list_params.rb +1 -0
  57. data/lib/lithic/models/book_transfer_create_params.rb +1 -0
  58. data/lib/lithic/models/book_transfer_list_params.rb +1 -0
  59. data/lib/lithic/models/book_transfer_response.rb +9 -0
  60. data/lib/lithic/models/book_transfer_retrieve_params.rb +1 -0
  61. data/lib/lithic/models/book_transfer_reverse_params.rb +1 -0
  62. data/lib/lithic/models/card.rb +12 -0
  63. data/lib/lithic/models/card_convert_physical_params.rb +2 -1
  64. data/lib/lithic/models/card_create_params.rb +2 -1
  65. data/lib/lithic/models/card_embed_params.rb +1 -0
  66. data/lib/lithic/models/card_list_params.rb +1 -0
  67. data/lib/lithic/models/card_program.rb +1 -0
  68. data/lib/lithic/models/card_program_list_params.rb +1 -0
  69. data/lib/lithic/models/card_program_retrieve_params.rb +1 -0
  70. data/lib/lithic/models/card_provision_params.rb +1 -0
  71. data/lib/lithic/models/card_provision_response.rb +1 -0
  72. data/lib/lithic/models/card_reissue_params.rb +2 -1
  73. data/lib/lithic/models/card_renew_params.rb +2 -1
  74. data/lib/lithic/models/card_retrieve_params.rb +1 -0
  75. data/lib/lithic/models/card_retrieve_spend_limits_params.rb +1 -0
  76. data/lib/lithic/models/card_search_by_pan_params.rb +1 -0
  77. data/lib/lithic/models/card_spend_limits.rb +4 -0
  78. data/lib/lithic/models/card_update_params.rb +1 -0
  79. data/lib/lithic/models/cards/aggregate_balance_list_params.rb +1 -0
  80. data/lib/lithic/models/cards/aggregate_balance_list_response.rb +1 -0
  81. data/lib/lithic/models/cards/balance_list_params.rb +1 -0
  82. data/lib/lithic/models/cards/balance_list_response.rb +3 -0
  83. data/lib/lithic/models/cards/financial_transaction_list_params.rb +1 -0
  84. data/lib/lithic/models/cards/financial_transaction_retrieve_params.rb +1 -0
  85. data/lib/lithic/models/client_api_status_params.rb +1 -0
  86. data/lib/lithic/models/credit_products/extended_credit.rb +1 -0
  87. data/lib/lithic/models/credit_products/extended_credit_retrieve_params.rb +1 -0
  88. data/lib/lithic/models/credit_products/prime_rate_create_params.rb +1 -0
  89. data/lib/lithic/models/credit_products/prime_rate_retrieve_params.rb +1 -0
  90. data/lib/lithic/models/credit_products/prime_rate_retrieve_response.rb +1 -0
  91. data/lib/lithic/models/digital_card_art.rb +3 -0
  92. data/lib/lithic/models/digital_card_art_list_params.rb +1 -0
  93. data/lib/lithic/models/digital_card_art_retrieve_params.rb +1 -0
  94. data/lib/lithic/models/dispute.rb +7 -0
  95. data/lib/lithic/models/dispute_create_params.rb +1 -0
  96. data/lib/lithic/models/dispute_delete_evidence_params.rb +1 -0
  97. data/lib/lithic/models/dispute_delete_params.rb +1 -0
  98. data/lib/lithic/models/dispute_evidence.rb +3 -0
  99. data/lib/lithic/models/dispute_initiate_evidence_upload_params.rb +1 -0
  100. data/lib/lithic/models/dispute_list_evidences_params.rb +1 -0
  101. data/lib/lithic/models/dispute_list_params.rb +1 -0
  102. data/lib/lithic/models/dispute_retrieve_evidence_params.rb +1 -0
  103. data/lib/lithic/models/dispute_retrieve_params.rb +1 -0
  104. data/lib/lithic/models/dispute_update_params.rb +1 -0
  105. data/lib/lithic/models/document.rb +6 -0
  106. data/lib/lithic/models/event.rb +3 -0
  107. data/lib/lithic/models/event_list_attempts_params.rb +1 -0
  108. data/lib/lithic/models/event_list_params.rb +1 -0
  109. data/lib/lithic/models/event_retrieve_params.rb +1 -0
  110. data/lib/lithic/models/events/subscription_create_params.rb +1 -0
  111. data/lib/lithic/models/events/subscription_delete_params.rb +1 -0
  112. data/lib/lithic/models/events/subscription_list_attempts_params.rb +1 -0
  113. data/lib/lithic/models/events/subscription_list_params.rb +1 -0
  114. data/lib/lithic/models/events/subscription_recover_params.rb +1 -0
  115. data/lib/lithic/models/events/subscription_replay_missing_params.rb +1 -0
  116. data/lib/lithic/models/events/subscription_retrieve_params.rb +1 -0
  117. data/lib/lithic/models/events/subscription_retrieve_secret_params.rb +1 -0
  118. data/lib/lithic/models/events/subscription_retrieve_secret_response.rb +1 -0
  119. data/lib/lithic/models/events/subscription_rotate_secret_params.rb +1 -0
  120. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +1 -0
  121. data/lib/lithic/models/events/subscription_update_params.rb +1 -0
  122. data/lib/lithic/models/external_bank_account_create_params.rb +1 -0
  123. data/lib/lithic/models/external_bank_account_create_response.rb +11 -0
  124. data/lib/lithic/models/external_bank_account_list_params.rb +1 -0
  125. data/lib/lithic/models/external_bank_account_list_response.rb +11 -0
  126. data/lib/lithic/models/external_bank_account_retrieve_params.rb +1 -0
  127. data/lib/lithic/models/external_bank_account_retrieve_response.rb +11 -0
  128. data/lib/lithic/models/external_bank_account_retry_micro_deposits_params.rb +1 -0
  129. data/lib/lithic/models/external_bank_account_retry_micro_deposits_response.rb +11 -0
  130. data/lib/lithic/models/external_bank_account_retry_prenote_params.rb +1 -0
  131. data/lib/lithic/models/external_bank_account_retry_prenote_response.rb +7 -0
  132. data/lib/lithic/models/external_bank_account_update_params.rb +1 -0
  133. data/lib/lithic/models/external_bank_account_update_response.rb +11 -0
  134. data/lib/lithic/models/external_bank_accounts/micro_deposit_create_params.rb +1 -0
  135. data/lib/lithic/models/external_bank_accounts/micro_deposit_create_response.rb +11 -0
  136. data/lib/lithic/models/external_payment.rb +7 -0
  137. data/lib/lithic/models/external_payment_cancel_params.rb +1 -0
  138. data/lib/lithic/models/external_payment_create_params.rb +1 -0
  139. data/lib/lithic/models/external_payment_list_params.rb +1 -0
  140. data/lib/lithic/models/external_payment_release_params.rb +1 -0
  141. data/lib/lithic/models/external_payment_retrieve_params.rb +1 -0
  142. data/lib/lithic/models/external_payment_reverse_params.rb +1 -0
  143. data/lib/lithic/models/external_payment_settle_params.rb +1 -0
  144. data/lib/lithic/models/financial_account.rb +11 -0
  145. data/lib/lithic/models/financial_account_create_params.rb +1 -0
  146. data/lib/lithic/models/financial_account_list_params.rb +1 -0
  147. data/lib/lithic/models/financial_account_retrieve_params.rb +1 -0
  148. data/lib/lithic/models/financial_account_update_params.rb +1 -0
  149. data/lib/lithic/models/financial_account_update_status_params.rb +1 -0
  150. data/lib/lithic/models/financial_accounts/balance_list_params.rb +1 -0
  151. data/lib/lithic/models/financial_accounts/balance_list_response.rb +3 -0
  152. data/lib/lithic/models/financial_accounts/credit_configuration_retrieve_params.rb +1 -0
  153. data/lib/lithic/models/financial_accounts/credit_configuration_update_params.rb +1 -0
  154. data/lib/lithic/models/financial_accounts/financial_account_credit_config.rb +5 -0
  155. data/lib/lithic/models/financial_accounts/financial_transaction_list_params.rb +1 -0
  156. data/lib/lithic/models/financial_accounts/financial_transaction_retrieve_params.rb +1 -0
  157. data/lib/lithic/models/financial_accounts/loan_tape.rb +24 -0
  158. data/lib/lithic/models/financial_accounts/loan_tape_list_params.rb +1 -0
  159. data/lib/lithic/models/financial_accounts/loan_tape_retrieve_params.rb +1 -0
  160. data/lib/lithic/models/financial_accounts/statement.rb +17 -0
  161. data/lib/lithic/models/financial_accounts/statement_list_params.rb +1 -0
  162. data/lib/lithic/models/financial_accounts/statement_retrieve_params.rb +1 -0
  163. data/lib/lithic/models/financial_accounts/statements/line_item_list_params.rb +1 -0
  164. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +2 -0
  165. data/lib/lithic/models/financial_transaction.rb +9 -0
  166. data/lib/lithic/models/kyb.rb +4 -0
  167. data/lib/lithic/models/kyb_business_entity.rb +1 -0
  168. data/lib/lithic/models/kyc.rb +3 -0
  169. data/lib/lithic/models/kyc_exempt.rb +4 -0
  170. data/lib/lithic/models/management_operation_create_params.rb +1 -0
  171. data/lib/lithic/models/management_operation_list_params.rb +1 -0
  172. data/lib/lithic/models/management_operation_retrieve_params.rb +1 -0
  173. data/lib/lithic/models/management_operation_reverse_params.rb +1 -0
  174. data/lib/lithic/models/management_operation_transaction.rb +7 -0
  175. data/lib/lithic/models/message_attempt.rb +3 -0
  176. data/lib/lithic/models/payment.rb +16 -0
  177. data/lib/lithic/models/payment_create_params.rb +2 -0
  178. data/lib/lithic/models/payment_create_response.rb +1 -0
  179. data/lib/lithic/models/payment_list_params.rb +1 -0
  180. data/lib/lithic/models/payment_retrieve_params.rb +1 -0
  181. data/lib/lithic/models/payment_retry_params.rb +1 -0
  182. data/lib/lithic/models/payment_retry_response.rb +1 -0
  183. data/lib/lithic/models/payment_simulate_action_params.rb +1 -0
  184. data/lib/lithic/models/payment_simulate_action_response.rb +3 -0
  185. data/lib/lithic/models/payment_simulate_receipt_params.rb +1 -0
  186. data/lib/lithic/models/payment_simulate_receipt_response.rb +3 -0
  187. data/lib/lithic/models/payment_simulate_release_params.rb +1 -0
  188. data/lib/lithic/models/payment_simulate_release_response.rb +3 -0
  189. data/lib/lithic/models/payment_simulate_return_params.rb +1 -0
  190. data/lib/lithic/models/payment_simulate_return_response.rb +3 -0
  191. data/lib/lithic/models/reports/settlement/network_total_list_params.rb +1 -0
  192. data/lib/lithic/models/reports/settlement/network_total_list_response.rb +4 -0
  193. data/lib/lithic/models/reports/settlement/network_total_retrieve_params.rb +1 -0
  194. data/lib/lithic/models/reports/settlement/network_total_retrieve_response.rb +4 -0
  195. data/lib/lithic/models/reports/settlement_list_details_params.rb +1 -0
  196. data/lib/lithic/models/reports/settlement_summary_params.rb +1 -0
  197. data/lib/lithic/models/responder_endpoint_check_status_params.rb +1 -0
  198. data/lib/lithic/models/responder_endpoint_create_params.rb +1 -0
  199. data/lib/lithic/models/responder_endpoint_create_response.rb +1 -0
  200. data/lib/lithic/models/responder_endpoint_delete_params.rb +1 -0
  201. data/lib/lithic/models/responder_endpoint_status.rb +1 -0
  202. data/lib/lithic/models/settlement_detail.rb +5 -0
  203. data/lib/lithic/models/settlement_summary_details.rb +2 -0
  204. data/lib/lithic/models/three_ds/authentication_retrieve_params.rb +1 -0
  205. data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +45 -0
  206. data/lib/lithic/models/three_ds/authentication_simulate_otp_entry_params.rb +1 -0
  207. data/lib/lithic/models/three_ds/authentication_simulate_params.rb +1 -0
  208. data/lib/lithic/models/three_ds/authentication_simulate_response.rb +1 -0
  209. data/lib/lithic/models/three_ds/decisioning_challenge_response_params.rb +1 -0
  210. data/lib/lithic/models/three_ds/decisioning_retrieve_secret_params.rb +1 -0
  211. data/lib/lithic/models/three_ds/decisioning_retrieve_secret_response.rb +1 -0
  212. data/lib/lithic/models/three_ds/decisioning_rotate_secret_params.rb +1 -0
  213. data/lib/lithic/models/tokenization.rb +11 -0
  214. data/lib/lithic/models/tokenization_activate_params.rb +1 -0
  215. data/lib/lithic/models/tokenization_deactivate_params.rb +1 -0
  216. data/lib/lithic/models/tokenization_decisioning_retrieve_secret_params.rb +1 -0
  217. data/lib/lithic/models/tokenization_decisioning_rotate_secret_params.rb +1 -0
  218. data/lib/lithic/models/tokenization_decisioning_rotate_secret_response.rb +1 -0
  219. data/lib/lithic/models/tokenization_list_params.rb +1 -0
  220. data/lib/lithic/models/tokenization_pause_params.rb +1 -0
  221. data/lib/lithic/models/tokenization_resend_activation_code_params.rb +1 -0
  222. data/lib/lithic/models/tokenization_retrieve_params.rb +1 -0
  223. data/lib/lithic/models/tokenization_retrieve_response.rb +1 -0
  224. data/lib/lithic/models/tokenization_secret.rb +1 -0
  225. data/lib/lithic/models/tokenization_simulate_params.rb +1 -0
  226. data/lib/lithic/models/tokenization_simulate_response.rb +1 -0
  227. data/lib/lithic/models/tokenization_unpause_params.rb +1 -0
  228. data/lib/lithic/models/tokenization_update_digital_card_art_params.rb +1 -0
  229. data/lib/lithic/models/tokenization_update_digital_card_art_response.rb +1 -0
  230. data/lib/lithic/models/transaction.rb +60 -1
  231. data/lib/lithic/models/transaction_expire_authorization_params.rb +1 -0
  232. data/lib/lithic/models/transaction_list_params.rb +1 -0
  233. data/lib/lithic/models/transaction_retrieve_params.rb +1 -0
  234. data/lib/lithic/models/transaction_simulate_authorization_advice_params.rb +1 -0
  235. data/lib/lithic/models/transaction_simulate_authorization_advice_response.rb +1 -0
  236. data/lib/lithic/models/transaction_simulate_authorization_params.rb +1 -0
  237. data/lib/lithic/models/transaction_simulate_authorization_response.rb +1 -0
  238. data/lib/lithic/models/transaction_simulate_clearing_params.rb +1 -0
  239. data/lib/lithic/models/transaction_simulate_clearing_response.rb +1 -0
  240. data/lib/lithic/models/transaction_simulate_credit_authorization_params.rb +1 -0
  241. data/lib/lithic/models/transaction_simulate_credit_authorization_response.rb +1 -0
  242. data/lib/lithic/models/transaction_simulate_return_params.rb +1 -0
  243. data/lib/lithic/models/transaction_simulate_return_response.rb +1 -0
  244. data/lib/lithic/models/transaction_simulate_return_reversal_params.rb +1 -0
  245. data/lib/lithic/models/transaction_simulate_return_reversal_response.rb +1 -0
  246. data/lib/lithic/models/transaction_simulate_void_params.rb +1 -0
  247. data/lib/lithic/models/transaction_simulate_void_response.rb +1 -0
  248. data/lib/lithic/models/transactions/enhanced_commercial_data_retrieve_params.rb +1 -0
  249. data/lib/lithic/models/transactions/enhanced_commercial_data_retrieve_response.rb +1 -0
  250. data/lib/lithic/models/transactions/events/enhanced_commercial_data_retrieve_params.rb +1 -0
  251. data/lib/lithic/models/transactions/events/enhanced_data.rb +13 -0
  252. data/lib/lithic/models/transfer.rb +10 -0
  253. data/lib/lithic/models/transfer_create_params.rb +1 -0
  254. data/lib/lithic/resources/account_holders.rb +106 -218
  255. data/lib/lithic/resources/accounts.rb +34 -52
  256. data/lib/lithic/resources/aggregate_balances.rb +7 -4
  257. data/lib/lithic/resources/auth_rules/v2/backtests.rb +17 -16
  258. data/lib/lithic/resources/auth_rules/v2.rb +75 -91
  259. data/lib/lithic/resources/auth_rules.rb +2 -0
  260. data/lib/lithic/resources/auth_stream_enrollment.rb +10 -4
  261. data/lib/lithic/resources/balances.rb +10 -11
  262. data/lib/lithic/resources/book_transfers.rb +44 -65
  263. data/lib/lithic/resources/card_programs.rb +15 -15
  264. data/lib/lithic/resources/cards/aggregate_balances.rb +8 -6
  265. data/lib/lithic/resources/cards/balances.rb +10 -11
  266. data/lib/lithic/resources/cards/financial_transactions.rb +22 -30
  267. data/lib/lithic/resources/cards.rb +115 -305
  268. data/lib/lithic/resources/credit_products/extended_credit.rb +8 -5
  269. data/lib/lithic/resources/credit_products/prime_rates.rb +18 -18
  270. data/lib/lithic/resources/credit_products.rb +2 -0
  271. data/lib/lithic/resources/digital_card_art.rb +15 -18
  272. data/lib/lithic/resources/disputes.rb +76 -95
  273. data/lib/lithic/resources/events/subscriptions.rb +86 -105
  274. data/lib/lithic/resources/events.rb +31 -46
  275. data/lib/lithic/resources/external_bank_accounts/micro_deposits.rb +9 -7
  276. data/lib/lithic/resources/external_bank_accounts.rb +73 -108
  277. data/lib/lithic/resources/external_payments.rb +69 -91
  278. data/lib/lithic/resources/financial_accounts/balances.rb +10 -11
  279. data/lib/lithic/resources/financial_accounts/credit_configuration.rb +18 -18
  280. data/lib/lithic/resources/financial_accounts/financial_transactions.rb +22 -30
  281. data/lib/lithic/resources/financial_accounts/loan_tapes.rb +20 -26
  282. data/lib/lithic/resources/financial_accounts/statements/line_items.rb +12 -16
  283. data/lib/lithic/resources/financial_accounts/statements.rb +21 -28
  284. data/lib/lithic/resources/financial_accounts.rb +39 -41
  285. data/lib/lithic/resources/management_operations.rb +44 -62
  286. data/lib/lithic/resources/payments.rb +73 -94
  287. data/lib/lithic/resources/reports/settlement/network_totals.rb +24 -35
  288. data/lib/lithic/resources/reports/settlement.rb +17 -18
  289. data/lib/lithic/resources/reports.rb +2 -0
  290. data/lib/lithic/resources/responder_endpoints.rb +18 -14
  291. data/lib/lithic/resources/three_ds/authentication.rb +22 -23
  292. data/lib/lithic/resources/three_ds/decisioning.rb +16 -13
  293. data/lib/lithic/resources/three_ds.rb +2 -0
  294. data/lib/lithic/resources/tokenization_decisioning.rb +10 -4
  295. data/lib/lithic/resources/tokenizations.rb +70 -86
  296. data/lib/lithic/resources/transactions/enhanced_commercial_data.rb +8 -5
  297. data/lib/lithic/resources/transactions/events/enhanced_commercial_data.rb +8 -5
  298. data/lib/lithic/resources/transactions/events.rb +2 -0
  299. data/lib/lithic/resources/transactions.rb +81 -144
  300. data/lib/lithic/resources/transfers.rb +11 -16
  301. data/lib/lithic/transport/base_client.rb +9 -9
  302. data/lib/lithic/transport/pooled_net_requester.rb +1 -1
  303. data/lib/lithic/type/base_model.rb +10 -0
  304. data/lib/lithic/type/base_page.rb +1 -1
  305. data/lib/lithic/util.rb +8 -12
  306. data/lib/lithic/version.rb +1 -1
  307. data/rbi/lib/lithic/client.rbi +3 -3
  308. data/rbi/lib/lithic/errors.rbi +145 -115
  309. data/rbi/lib/lithic/models/account.rbi +1 -1
  310. data/rbi/lib/lithic/models/account_financial_account_type.rbi +2 -1
  311. data/rbi/lib/lithic/models/account_holder.rbi +8 -6
  312. data/rbi/lib/lithic/models/account_holder_create_params.rbi +2 -2
  313. data/rbi/lib/lithic/models/account_holder_create_response.rbi +2 -2
  314. data/rbi/lib/lithic/models/account_holder_simulate_enrollment_document_review_params.rbi +8 -1
  315. data/rbi/lib/lithic/models/account_holder_simulate_enrollment_review_params.rbi +8 -2
  316. data/rbi/lib/lithic/models/account_holder_simulate_enrollment_review_response.rbi +24 -4
  317. data/rbi/lib/lithic/models/account_holder_update_response.rbi +18 -2
  318. data/rbi/lib/lithic/models/account_holder_upload_document_params.rbi +1 -1
  319. data/rbi/lib/lithic/models/account_update_params.rbi +2 -1
  320. data/rbi/lib/lithic/models/aggregate_balance.rbi +1 -1
  321. data/rbi/lib/lithic/models/aggregate_balance_list_params.rbi +1 -1
  322. data/rbi/lib/lithic/models/auth_rules/auth_rule.rbi +2 -1
  323. data/rbi/lib/lithic/models/auth_rules/auth_rule_condition.rbi +1 -1
  324. data/rbi/lib/lithic/models/auth_rules/conditional_attribute.rbi +2 -1
  325. data/rbi/lib/lithic/models/auth_rules/v2_apply_response.rbi +3 -2
  326. data/rbi/lib/lithic/models/auth_rules/v2_create_params.rbi +2 -1
  327. data/rbi/lib/lithic/models/auth_rules/v2_create_response.rbi +2 -2
  328. data/rbi/lib/lithic/models/auth_rules/v2_draft_response.rbi +3 -2
  329. data/rbi/lib/lithic/models/auth_rules/v2_list_response.rbi +4 -2
  330. data/rbi/lib/lithic/models/auth_rules/v2_promote_response.rbi +2 -2
  331. data/rbi/lib/lithic/models/auth_rules/v2_retrieve_response.rbi +2 -2
  332. data/rbi/lib/lithic/models/auth_rules/v2_update_params.rbi +2 -1
  333. data/rbi/lib/lithic/models/auth_rules/v2_update_response.rbi +2 -2
  334. data/rbi/lib/lithic/models/auth_rules/velocity_limit_params.rbi +1 -1
  335. data/rbi/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rbi +1 -1
  336. data/rbi/lib/lithic/models/balance.rbi +2 -1
  337. data/rbi/lib/lithic/models/balance_list_params.rbi +1 -1
  338. data/rbi/lib/lithic/models/book_transfer_create_params.rbi +3 -2
  339. data/rbi/lib/lithic/models/book_transfer_list_params.rbi +6 -3
  340. data/rbi/lib/lithic/models/book_transfer_response.rbi +8 -5
  341. data/rbi/lib/lithic/models/card.rbi +5 -5
  342. data/rbi/lib/lithic/models/card_convert_physical_params.rbi +3 -2
  343. data/rbi/lib/lithic/models/card_create_params.rbi +5 -4
  344. data/rbi/lib/lithic/models/card_list_params.rbi +1 -1
  345. data/rbi/lib/lithic/models/card_provision_params.rbi +1 -1
  346. data/rbi/lib/lithic/models/card_reissue_params.rbi +2 -2
  347. data/rbi/lib/lithic/models/card_renew_params.rbi +3 -2
  348. data/rbi/lib/lithic/models/card_update_params.rbi +3 -2
  349. data/rbi/lib/lithic/models/cards/balance_list_response.rbi +2 -1
  350. data/rbi/lib/lithic/models/cards/financial_transaction_list_params.rbi +3 -3
  351. data/rbi/lib/lithic/models/digital_card_art.rbi +2 -1
  352. data/rbi/lib/lithic/models/dispute.rbi +4 -3
  353. data/rbi/lib/lithic/models/dispute_create_params.rbi +2 -1
  354. data/rbi/lib/lithic/models/dispute_evidence.rbi +2 -1
  355. data/rbi/lib/lithic/models/dispute_list_params.rbi +2 -1
  356. data/rbi/lib/lithic/models/dispute_update_params.rbi +2 -1
  357. data/rbi/lib/lithic/models/document.rbi +4 -4
  358. data/rbi/lib/lithic/models/event.rbi +1 -1
  359. data/rbi/lib/lithic/models/event_list_attempts_params.rbi +2 -1
  360. data/rbi/lib/lithic/models/event_list_params.rbi +2 -1
  361. data/rbi/lib/lithic/models/event_subscription.rbi +2 -1
  362. data/rbi/lib/lithic/models/events/subscription_create_params.rbi +1 -1
  363. data/rbi/lib/lithic/models/events/subscription_list_attempts_params.rbi +1 -1
  364. data/rbi/lib/lithic/models/events/subscription_send_simulated_example_params.rbi +7 -1
  365. data/rbi/lib/lithic/models/events/subscription_update_params.rbi +1 -1
  366. data/rbi/lib/lithic/models/external_bank_account_create_params.rbi +2 -2
  367. data/rbi/lib/lithic/models/external_bank_account_create_response.rbi +5 -5
  368. data/rbi/lib/lithic/models/external_bank_account_list_params.rbi +3 -3
  369. data/rbi/lib/lithic/models/external_bank_account_list_response.rbi +5 -5
  370. data/rbi/lib/lithic/models/external_bank_account_retrieve_response.rbi +17 -5
  371. data/rbi/lib/lithic/models/external_bank_account_retry_micro_deposits_response.rbi +11 -3
  372. data/rbi/lib/lithic/models/external_bank_account_retry_prenote_response.rbi +9 -3
  373. data/rbi/lib/lithic/models/external_bank_account_update_params.rbi +1 -1
  374. data/rbi/lib/lithic/models/external_bank_account_update_response.rbi +5 -5
  375. data/rbi/lib/lithic/models/external_bank_accounts/micro_deposit_create_response.rbi +23 -3
  376. data/rbi/lib/lithic/models/external_payment.rbi +11 -7
  377. data/rbi/lib/lithic/models/external_payment_create_params.rbi +3 -3
  378. data/rbi/lib/lithic/models/external_payment_list_params.rbi +3 -3
  379. data/rbi/lib/lithic/models/external_payment_settle_params.rbi +1 -1
  380. data/rbi/lib/lithic/models/financial_account.rbi +17 -5
  381. data/rbi/lib/lithic/models/financial_account_create_params.rbi +1 -1
  382. data/rbi/lib/lithic/models/financial_account_list_params.rbi +2 -1
  383. data/rbi/lib/lithic/models/financial_account_update_status_params.rbi +8 -2
  384. data/rbi/lib/lithic/models/financial_accounts/balance_list_response.rbi +1 -1
  385. data/rbi/lib/lithic/models/financial_accounts/financial_account_credit_config.rbi +2 -0
  386. data/rbi/lib/lithic/models/financial_accounts/financial_transaction_list_params.rbi +21 -3
  387. data/rbi/lib/lithic/models/financial_accounts/loan_tape.rbi +10 -1
  388. data/rbi/lib/lithic/models/financial_accounts/statement.rbi +11 -2
  389. data/rbi/lib/lithic/models/financial_accounts/statements/statement_line_items.rbi +2 -0
  390. data/rbi/lib/lithic/models/financial_transaction.rbi +8 -5
  391. data/rbi/lib/lithic/models/instance_financial_account_type.rbi +2 -1
  392. data/rbi/lib/lithic/models/kyb.rbi +1 -1
  393. data/rbi/lib/lithic/models/kyc.rbi +1 -1
  394. data/rbi/lib/lithic/models/kyc_exempt.rbi +3 -2
  395. data/rbi/lib/lithic/models/management_operation_create_params.rbi +3 -3
  396. data/rbi/lib/lithic/models/management_operation_list_params.rbi +2 -2
  397. data/rbi/lib/lithic/models/management_operation_transaction.rbi +7 -7
  398. data/rbi/lib/lithic/models/message_attempt.rbi +1 -1
  399. data/rbi/lib/lithic/models/owner_type.rbi +1 -1
  400. data/rbi/lib/lithic/models/payment.rbi +11 -10
  401. data/rbi/lib/lithic/models/payment_create_params.rbi +5 -3
  402. data/rbi/lib/lithic/models/payment_list_params.rbi +6 -3
  403. data/rbi/lib/lithic/models/payment_simulate_action_params.rbi +2 -2
  404. data/rbi/lib/lithic/models/payment_simulate_action_response.rbi +1 -1
  405. data/rbi/lib/lithic/models/payment_simulate_receipt_params.rbi +1 -1
  406. data/rbi/lib/lithic/models/payment_simulate_receipt_response.rbi +1 -1
  407. data/rbi/lib/lithic/models/payment_simulate_release_response.rbi +1 -1
  408. data/rbi/lib/lithic/models/payment_simulate_return_response.rbi +1 -1
  409. data/rbi/lib/lithic/models/reports/settlement/network_total_list_params.rbi +1 -1
  410. data/rbi/lib/lithic/models/reports/settlement/network_total_list_response.rbi +7 -1
  411. data/rbi/lib/lithic/models/reports/settlement/network_total_retrieve_response.rbi +7 -1
  412. data/rbi/lib/lithic/models/responder_endpoint_check_status_params.rbi +1 -1
  413. data/rbi/lib/lithic/models/responder_endpoint_create_params.rbi +1 -1
  414. data/rbi/lib/lithic/models/responder_endpoint_delete_params.rbi +1 -1
  415. data/rbi/lib/lithic/models/settlement_detail.rbi +3 -2
  416. data/rbi/lib/lithic/models/settlement_summary_details.rbi +1 -1
  417. data/rbi/lib/lithic/models/spend_limit_duration.rbi +1 -1
  418. data/rbi/lib/lithic/models/three_ds/authentication_retrieve_response.rbi +53 -8
  419. data/rbi/lib/lithic/models/three_ds/authentication_simulate_params.rbi +7 -1
  420. data/rbi/lib/lithic/models/three_ds/challenge_result.rbi +1 -1
  421. data/rbi/lib/lithic/models/tokenization.rbi +8 -5
  422. data/rbi/lib/lithic/models/tokenization_list_params.rbi +1 -1
  423. data/rbi/lib/lithic/models/tokenization_resend_activation_code_params.rbi +7 -1
  424. data/rbi/lib/lithic/models/tokenization_simulate_params.rbi +2 -2
  425. data/rbi/lib/lithic/models/transaction.rbi +49 -22
  426. data/rbi/lib/lithic/models/transaction_list_params.rbi +4 -2
  427. data/rbi/lib/lithic/models/transaction_simulate_authorization_params.rbi +1 -1
  428. data/rbi/lib/lithic/models/transaction_simulate_void_params.rbi +1 -1
  429. data/rbi/lib/lithic/models/transactions/events/enhanced_data.rbi +16 -3
  430. data/rbi/lib/lithic/models/transfer.rbi +5 -5
  431. data/rbi/lib/lithic/models/verification_method.rbi +1 -1
  432. data/rbi/lib/lithic/resources/account_holders.rbi +1 -0
  433. data/rbi/lib/lithic/resources/accounts.rbi +1 -0
  434. data/rbi/lib/lithic/resources/aggregate_balances.rbi +1 -0
  435. data/rbi/lib/lithic/resources/auth_rules/v2/backtests.rbi +1 -0
  436. data/rbi/lib/lithic/resources/auth_rules/v2.rbi +1 -0
  437. data/rbi/lib/lithic/resources/auth_rules.rbi +1 -0
  438. data/rbi/lib/lithic/resources/auth_stream_enrollment.rbi +1 -0
  439. data/rbi/lib/lithic/resources/balances.rbi +1 -0
  440. data/rbi/lib/lithic/resources/book_transfers.rbi +1 -0
  441. data/rbi/lib/lithic/resources/card_programs.rbi +1 -0
  442. data/rbi/lib/lithic/resources/cards/aggregate_balances.rbi +1 -0
  443. data/rbi/lib/lithic/resources/cards/balances.rbi +1 -0
  444. data/rbi/lib/lithic/resources/cards/financial_transactions.rbi +1 -0
  445. data/rbi/lib/lithic/resources/cards.rbi +1 -0
  446. data/rbi/lib/lithic/resources/credit_products/extended_credit.rbi +1 -0
  447. data/rbi/lib/lithic/resources/credit_products/prime_rates.rbi +1 -0
  448. data/rbi/lib/lithic/resources/credit_products.rbi +1 -0
  449. data/rbi/lib/lithic/resources/digital_card_art.rbi +1 -0
  450. data/rbi/lib/lithic/resources/disputes.rbi +1 -0
  451. data/rbi/lib/lithic/resources/events/subscriptions.rbi +1 -0
  452. data/rbi/lib/lithic/resources/events.rbi +1 -0
  453. data/rbi/lib/lithic/resources/external_bank_accounts/micro_deposits.rbi +1 -0
  454. data/rbi/lib/lithic/resources/external_bank_accounts.rbi +1 -0
  455. data/rbi/lib/lithic/resources/external_payments.rbi +1 -0
  456. data/rbi/lib/lithic/resources/financial_accounts/balances.rbi +1 -0
  457. data/rbi/lib/lithic/resources/financial_accounts/credit_configuration.rbi +1 -0
  458. data/rbi/lib/lithic/resources/financial_accounts/financial_transactions.rbi +1 -0
  459. data/rbi/lib/lithic/resources/financial_accounts/loan_tapes.rbi +1 -0
  460. data/rbi/lib/lithic/resources/financial_accounts/statements/line_items.rbi +1 -0
  461. data/rbi/lib/lithic/resources/financial_accounts/statements.rbi +1 -0
  462. data/rbi/lib/lithic/resources/financial_accounts.rbi +1 -0
  463. data/rbi/lib/lithic/resources/management_operations.rbi +1 -0
  464. data/rbi/lib/lithic/resources/payments.rbi +1 -0
  465. data/rbi/lib/lithic/resources/reports/settlement/network_totals.rbi +1 -0
  466. data/rbi/lib/lithic/resources/reports/settlement.rbi +1 -0
  467. data/rbi/lib/lithic/resources/reports.rbi +1 -0
  468. data/rbi/lib/lithic/resources/responder_endpoints.rbi +1 -0
  469. data/rbi/lib/lithic/resources/three_ds/authentication.rbi +1 -0
  470. data/rbi/lib/lithic/resources/three_ds/decisioning.rbi +1 -0
  471. data/rbi/lib/lithic/resources/three_ds.rbi +1 -0
  472. data/rbi/lib/lithic/resources/tokenization_decisioning.rbi +1 -0
  473. data/rbi/lib/lithic/resources/tokenizations.rbi +1 -0
  474. data/rbi/lib/lithic/resources/transactions/enhanced_commercial_data.rbi +1 -0
  475. data/rbi/lib/lithic/resources/transactions/events/enhanced_commercial_data.rbi +1 -0
  476. data/rbi/lib/lithic/resources/transactions/events.rbi +1 -0
  477. data/rbi/lib/lithic/resources/transactions.rbi +1 -0
  478. data/rbi/lib/lithic/resources/transfers.rbi +1 -0
  479. data/rbi/lib/lithic/transport/base_client.rbi +3 -2
  480. data/rbi/lib/lithic/type/base_model.rbi +8 -0
  481. data/rbi/lib/lithic/util.rbi +2 -2
  482. data/rbi/lib/lithic/version.rbi +1 -1
  483. data/sig/lithic/client.rbs +1 -1
  484. data/sig/lithic/errors.rbs +112 -82
  485. data/sig/lithic/models/card_convert_physical_params.rbs +1 -1
  486. data/sig/lithic/models/card_create_params.rbs +1 -1
  487. data/sig/lithic/models/card_reissue_params.rbs +1 -1
  488. data/sig/lithic/models/card_renew_params.rbs +1 -1
  489. data/sig/lithic/models/transaction.rbs +1 -1
  490. data/sig/lithic/transport/base_client.rbs +1 -1
  491. data/sig/lithic/type/base_model.rbs +4 -0
  492. data/sig/lithic/util.rbs +2 -2
  493. data/sig/lithic/version.rbs +1 -1
  494. metadata +2 -2
@@ -12,17 +12,18 @@ module Lithic
12
12
  # Get a specific card transaction. All amounts are in the smallest unit of their
13
13
  # respective currency (e.g., cents for USD).
14
14
  #
15
- # @param transaction_token [String] Globally unique identifier for the transaction.
15
+ # @overload retrieve(transaction_token, request_options: {})
16
16
  #
17
- # @param params [Lithic::Models::TransactionRetrieveParams, Hash{Symbol=>Object}] .
18
- #
19
- # @option params [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
17
+ # @param transaction_token [String]
18
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
20
19
  #
21
20
  # @return [Lithic::Models::Transaction]
21
+ #
22
+ # @see Lithic::Models::TransactionRetrieveParams
22
23
  def retrieve(transaction_token, params = {})
23
24
  @client.request(
24
25
  method: :get,
25
- path: ["v1/transactions/%0s", transaction_token],
26
+ path: ["v1/transactions/%1$s", transaction_token],
26
27
  model: Lithic::Models::Transaction,
27
28
  options: params[:request_options]
28
29
  )
@@ -31,34 +32,22 @@ module Lithic
31
32
  # List card transactions. All amounts are in the smallest unit of their respective
32
33
  # currency (e.g., cents for USD) and inclusive of any acquirer fees.
33
34
  #
34
- # @param params [Lithic::Models::TransactionListParams, Hash{Symbol=>Object}] .
35
- #
36
- # @option params [String] :account_token Filters for transactions associated with a specific account.
37
- #
38
- # @option params [Time] :begin_ Date string in RFC 3339 format. Only entries created after the specified time
39
- # will be included. UTC time zone.
40
- #
41
- # @option params [String] :card_token Filters for transactions associated with a specific card.
42
- #
43
- # @option params [Time] :end_ Date string in RFC 3339 format. Only entries created before the specified time
44
- # will be included. UTC time zone.
45
- #
46
- # @option params [String] :ending_before A cursor representing an item's token before which a page of results should end.
47
- # Used to retrieve the previous page of results before this item.
35
+ # @overload list(account_token: nil, begin_: nil, card_token: nil, end_: nil, ending_before: nil, page_size: nil, result: nil, starting_after: nil, status: nil, request_options: {})
48
36
  #
49
- # @option params [Integer] :page_size Page size (for pagination).
50
- #
51
- # @option params [Symbol, Lithic::Models::TransactionListParams::Result] :result Filters for transactions using transaction result field. Can filter by
52
- # `APPROVED`, and `DECLINED`.
53
- #
54
- # @option params [String] :starting_after A cursor representing an item's token after which a page of results should
55
- # begin. Used to retrieve the next page of results after this item.
56
- #
57
- # @option params [Symbol, Lithic::Models::TransactionListParams::Status] :status Filters for transactions using transaction status field.
58
- #
59
- # @option params [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
37
+ # @param account_token [String]
38
+ # @param begin_ [Time]
39
+ # @param card_token [String]
40
+ # @param end_ [Time]
41
+ # @param ending_before [String]
42
+ # @param page_size [Integer]
43
+ # @param result [Symbol, Lithic::Models::TransactionListParams::Result]
44
+ # @param starting_after [String]
45
+ # @param status [Symbol, Lithic::Models::TransactionListParams::Status]
46
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
60
47
  #
61
48
  # @return [Lithic::CursorPage<Lithic::Models::Transaction>]
49
+ #
50
+ # @see Lithic::Models::TransactionListParams
62
51
  def list(params = {})
63
52
  parsed, options = Lithic::Models::TransactionListParams.dump_request(params)
64
53
  @client.request(
@@ -73,17 +62,18 @@ module Lithic
73
62
 
74
63
  # Expire authorization
75
64
  #
76
- # @param transaction_token [String] The token of the transaction to expire.
77
- #
78
- # @param params [Lithic::Models::TransactionExpireAuthorizationParams, Hash{Symbol=>Object}] .
65
+ # @overload expire_authorization(transaction_token, request_options: {})
79
66
  #
80
- # @option params [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
67
+ # @param transaction_token [String]
68
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
81
69
  #
82
70
  # @return [nil]
71
+ #
72
+ # @see Lithic::Models::TransactionExpireAuthorizationParams
83
73
  def expire_authorization(transaction_token, params = {})
84
74
  @client.request(
85
75
  method: :post,
86
- path: ["v1/transactions/%0s/expire_authorization", transaction_token],
76
+ path: ["v1/transactions/%1$s/expire_authorization", transaction_token],
87
77
  model: NilClass,
88
78
  options: params[:request_options]
89
79
  )
@@ -98,56 +88,23 @@ module Lithic
98
88
  # [update account](https://docs.lithic.com/reference/patchaccountbytoken)
99
89
  # endpoint.
100
90
  #
101
- # @param params [Lithic::Models::TransactionSimulateAuthorizationParams, Hash{Symbol=>Object}] .
102
- #
103
- # @option params [Integer] :amount Amount (in cents) to authorize. For credit authorizations and financial credit
104
- # authorizations, any value entered will be converted into a negative amount in
105
- # the simulated transaction. For example, entering 100 in this field will result
106
- # in a -100 amount in the transaction. For balance inquiries, this field must be
107
- # set to 0.
108
- #
109
- # @option params [String] :descriptor Merchant descriptor.
110
- #
111
- # @option params [String] :pan Sixteen digit card number.
112
- #
113
- # @option params [String] :mcc Merchant category code for the transaction to be simulated. A four-digit number
114
- # listed in ISO 18245. Supported merchant category codes can be found
115
- # [here](https://docs.lithic.com/docs/transactions#merchant-category-codes-mccs).
116
- #
117
- # @option params [String] :merchant_acceptor_id Unique identifier to identify the payment card acceptor.
118
- #
119
- # @option params [Integer] :merchant_amount Amount of the transaction to be simulated in currency specified in
120
- # merchant_currency, including any acquirer fees.
91
+ # @overload simulate_authorization(amount:, descriptor:, pan:, mcc: nil, merchant_acceptor_id: nil, merchant_amount: nil, merchant_currency: nil, partial_approval_capable: nil, pin: nil, status: nil, request_options: {})
121
92
  #
122
- # @option params [String] :merchant_currency 3-character alphabetic ISO 4217 currency code. Note: Simulator only accepts USD,
123
- # GBP, EUR and defaults to GBP if another ISO 4217 code is provided
124
- #
125
- # @option params [Boolean] :partial_approval_capable Set to true if the terminal is capable of partial approval otherwise false.
126
- # Partial approval is when part of a transaction is approved and another payment
127
- # must be used for the remainder.
128
- #
129
- # @option params [String] :pin Simulate entering a PIN. If omitted, PIN check will not be performed.
130
- #
131
- # @option params [Symbol, Lithic::Models::TransactionSimulateAuthorizationParams::Status] :status Type of event to simulate.
132
- #
133
- # - `AUTHORIZATION` is a dual message purchase authorization, meaning a subsequent
134
- # clearing step is required to settle the transaction.
135
- # - `BALANCE_INQUIRY` is a $0 authorization requesting the balance held on the
136
- # card, and is most often observed when a cardholder requests to view a card's
137
- # balance at an ATM.
138
- # - `CREDIT_AUTHORIZATION` is a dual message request from a merchant to authorize
139
- # a refund, meaning a subsequent clearing step is required to settle the
140
- # transaction.
141
- # - `FINANCIAL_AUTHORIZATION` is a single message request from a merchant to debit
142
- # funds immediately (such as an ATM withdrawal), and no subsequent clearing is
143
- # required to settle the transaction.
144
- # - `FINANCIAL_CREDIT_AUTHORIZATION` is a single message request from a merchant
145
- # to credit funds immediately, and no subsequent clearing is required to settle
146
- # the transaction.
147
- #
148
- # @option params [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
93
+ # @param amount [Integer]
94
+ # @param descriptor [String]
95
+ # @param pan [String]
96
+ # @param mcc [String]
97
+ # @param merchant_acceptor_id [String]
98
+ # @param merchant_amount [Integer]
99
+ # @param merchant_currency [String]
100
+ # @param partial_approval_capable [Boolean]
101
+ # @param pin [String]
102
+ # @param status [Symbol, Lithic::Models::TransactionSimulateAuthorizationParams::Status]
103
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
149
104
  #
150
105
  # @return [Lithic::Models::TransactionSimulateAuthorizationResponse]
106
+ #
107
+ # @see Lithic::Models::TransactionSimulateAuthorizationParams
151
108
  def simulate_authorization(params)
152
109
  parsed, options = Lithic::Models::TransactionSimulateAuthorizationParams.dump_request(params)
153
110
  @client.request(
@@ -163,16 +120,15 @@ module Lithic
163
120
  # merchant acquirer. An authorization advice changes the pending amount of the
164
121
  # transaction.
165
122
  #
166
- # @param params [Lithic::Models::TransactionSimulateAuthorizationAdviceParams, Hash{Symbol=>Object}] .
123
+ # @overload simulate_authorization_advice(token:, amount:, request_options: {})
167
124
  #
168
- # @option params [String] :token The transaction token returned from the /v1/simulate/authorize. response.
169
- #
170
- # @option params [Integer] :amount Amount (in cents) to authorize. This amount will override the transaction's
171
- # amount that was originally set by /v1/simulate/authorize.
172
- #
173
- # @option params [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
125
+ # @param token [String]
126
+ # @param amount [Integer]
127
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
174
128
  #
175
129
  # @return [Lithic::Models::TransactionSimulateAuthorizationAdviceResponse]
130
+ #
131
+ # @see Lithic::Models::TransactionSimulateAuthorizationAdviceParams
176
132
  def simulate_authorization_advice(params)
177
133
  parsed, options = Lithic::Models::TransactionSimulateAuthorizationAdviceParams.dump_request(params)
178
134
  @client.request(
@@ -191,23 +147,15 @@ module Lithic
191
147
  # Transactions that have already cleared, either partially or fully, cannot be
192
148
  # cleared again using this endpoint.
193
149
  #
194
- # @param params [Lithic::Models::TransactionSimulateClearingParams, Hash{Symbol=>Object}] .
195
- #
196
- # @option params [String] :token The transaction token returned from the /v1/simulate/authorize response.
150
+ # @overload simulate_clearing(token:, amount: nil, request_options: {})
197
151
  #
198
- # @option params [Integer] :amount Amount (in cents) to clear. Typically this will match the amount in the original
199
- # authorization, but can be higher or lower. The sign of this amount will
200
- # automatically match the sign of the original authorization's amount. For
201
- # example, entering 100 in this field will result in a -100 amount in the
202
- # transaction, if the original authorization is a credit authorization.
203
- #
204
- # If `amount` is not set, the full amount of the transaction will be cleared.
205
- # Transactions that have already cleared, either partially or fully, cannot be
206
- # cleared again using this endpoint.
207
- #
208
- # @option params [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
152
+ # @param token [String]
153
+ # @param amount [Integer]
154
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
209
155
  #
210
156
  # @return [Lithic::Models::TransactionSimulateClearingResponse]
157
+ #
158
+ # @see Lithic::Models::TransactionSimulateClearingParams
211
159
  def simulate_clearing(params)
212
160
  parsed, options = Lithic::Models::TransactionSimulateClearingParams.dump_request(params)
213
161
  @client.request(
@@ -222,25 +170,18 @@ module Lithic
222
170
  # Simulates a credit authorization advice from the card network. This message
223
171
  # indicates that the network approved a credit authorization on your behalf.
224
172
  #
225
- # @param params [Lithic::Models::TransactionSimulateCreditAuthorizationParams, Hash{Symbol=>Object}] .
173
+ # @overload simulate_credit_authorization(amount:, descriptor:, pan:, mcc: nil, merchant_acceptor_id: nil, request_options: {})
226
174
  #
227
- # @option params [Integer] :amount Amount (in cents). Any value entered will be converted into a negative amount in
228
- # the simulated transaction. For example, entering 100 in this field will appear
229
- # as a -100 amount in the transaction.
230
- #
231
- # @option params [String] :descriptor Merchant descriptor.
232
- #
233
- # @option params [String] :pan Sixteen digit card number.
234
- #
235
- # @option params [String] :mcc Merchant category code for the transaction to be simulated. A four-digit number
236
- # listed in ISO 18245. Supported merchant category codes can be found
237
- # [here](https://docs.lithic.com/docs/transactions#merchant-category-codes-mccs).
238
- #
239
- # @option params [String] :merchant_acceptor_id Unique identifier to identify the payment card acceptor.
240
- #
241
- # @option params [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
175
+ # @param amount [Integer]
176
+ # @param descriptor [String]
177
+ # @param pan [String]
178
+ # @param mcc [String]
179
+ # @param merchant_acceptor_id [String]
180
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
242
181
  #
243
182
  # @return [Lithic::Models::TransactionSimulateCreditAuthorizationResponse]
183
+ #
184
+ # @see Lithic::Models::TransactionSimulateCreditAuthorizationParams
244
185
  def simulate_credit_authorization(params)
245
186
  parsed, options = Lithic::Models::TransactionSimulateCreditAuthorizationParams.dump_request(params)
246
187
  @client.request(
@@ -256,17 +197,16 @@ module Lithic
256
197
  # endpoint clear immediately, without prior authorization, and result in a
257
198
  # `SETTLED` transaction status.
258
199
  #
259
- # @param params [Lithic::Models::TransactionSimulateReturnParams, Hash{Symbol=>Object}] .
200
+ # @overload simulate_return(amount:, descriptor:, pan:, request_options: {})
260
201
  #
261
- # @option params [Integer] :amount Amount (in cents) to authorize.
262
- #
263
- # @option params [String] :descriptor Merchant descriptor.
264
- #
265
- # @option params [String] :pan Sixteen digit card number.
266
- #
267
- # @option params [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
202
+ # @param amount [Integer]
203
+ # @param descriptor [String]
204
+ # @param pan [String]
205
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
268
206
  #
269
207
  # @return [Lithic::Models::TransactionSimulateReturnResponse]
208
+ #
209
+ # @see Lithic::Models::TransactionSimulateReturnParams
270
210
  def simulate_return(params)
271
211
  parsed, options = Lithic::Models::TransactionSimulateReturnParams.dump_request(params)
272
212
  @client.request(
@@ -282,13 +222,14 @@ module Lithic
282
222
  # can be financial credit authorizations, or credit authorizations that have
283
223
  # cleared.
284
224
  #
285
- # @param params [Lithic::Models::TransactionSimulateReturnReversalParams, Hash{Symbol=>Object}] .
286
- #
287
- # @option params [String] :token The transaction token returned from the /v1/simulate/authorize response.
225
+ # @overload simulate_return_reversal(token:, request_options: {})
288
226
  #
289
- # @option params [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
227
+ # @param token [String]
228
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
290
229
  #
291
230
  # @return [Lithic::Models::TransactionSimulateReturnReversalResponse]
231
+ #
232
+ # @see Lithic::Models::TransactionSimulateReturnReversalParams
292
233
  def simulate_return_reversal(params)
293
234
  parsed, options = Lithic::Models::TransactionSimulateReturnReversalParams.dump_request(params)
294
235
  @client.request(
@@ -305,22 +246,16 @@ module Lithic
305
246
  # transactions. _Simulating an authorization expiry on credit authorizations or
306
247
  # credit authorization advice is not currently supported but will be added soon._
307
248
  #
308
- # @param params [Lithic::Models::TransactionSimulateVoidParams, Hash{Symbol=>Object}] .
249
+ # @overload simulate_void(token:, amount: nil, type: nil, request_options: {})
309
250
  #
310
- # @option params [String] :token The transaction token returned from the /v1/simulate/authorize response.
311
- #
312
- # @option params [Integer] :amount Amount (in cents) to void. Typically this will match the amount in the original
313
- # authorization, but can be less.
314
- #
315
- # @option params [Symbol, Lithic::Models::TransactionSimulateVoidParams::Type] :type Type of event to simulate. Defaults to `AUTHORIZATION_REVERSAL`.
316
- #
317
- # - `AUTHORIZATION_EXPIRY` indicates authorization has expired and been reversed
318
- # by Lithic.
319
- # - `AUTHORIZATION_REVERSAL` indicates authorization was reversed by the merchant.
320
- #
321
- # @option params [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
251
+ # @param token [String]
252
+ # @param amount [Integer]
253
+ # @param type [Symbol, Lithic::Models::TransactionSimulateVoidParams::Type]
254
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
322
255
  #
323
256
  # @return [Lithic::Models::TransactionSimulateVoidResponse]
257
+ #
258
+ # @see Lithic::Models::TransactionSimulateVoidParams
324
259
  def simulate_void(params)
325
260
  parsed, options = Lithic::Models::TransactionSimulateVoidParams.dump_request(params)
326
261
  @client.request(
@@ -332,6 +267,8 @@ module Lithic
332
267
  )
333
268
  end
334
269
 
270
+ # @api private
271
+ #
335
272
  # @param client [Lithic::Client]
336
273
  def initialize(client:)
337
274
  @client = client
@@ -6,25 +6,18 @@ module Lithic
6
6
  # Transfer funds between two financial accounts or between a financial account and
7
7
  # card
8
8
  #
9
- # @param params [Lithic::Models::TransferCreateParams, Hash{Symbol=>Object}] .
9
+ # @overload create(amount:, from:, to:, token: nil, memo: nil, request_options: {})
10
10
  #
11
- # @option params [Integer] :amount Amount to be transferred in the currency’s smallest unit (e.g., cents for USD).
12
- # This should always be a positive value.
13
- #
14
- # @option params [String] :from Globally unique identifier for the financial account or card that will send the
15
- # funds. Accepted type dependent on the program's use case.
16
- #
17
- # @option params [String] :to Globally unique identifier for the financial account or card that will receive
18
- # the funds. Accepted type dependent on the program's use case.
19
- #
20
- # @option params [String] :token Customer-provided token that will serve as an idempotency token. This token will
21
- # become the transaction token.
22
- #
23
- # @option params [String] :memo Optional descriptor for the transfer.
24
- #
25
- # @option params [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
11
+ # @param amount [Integer]
12
+ # @param from [String]
13
+ # @param to [String]
14
+ # @param token [String]
15
+ # @param memo [String]
16
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
26
17
  #
27
18
  # @return [Lithic::Models::Transfer]
19
+ #
20
+ # @see Lithic::Models::TransferCreateParams
28
21
  def create(params)
29
22
  parsed, options = Lithic::Models::TransferCreateParams.dump_request(params)
30
23
  @client.request(
@@ -36,6 +29,8 @@ module Lithic
36
29
  )
37
30
  end
38
31
 
32
+ # @api private
33
+ #
39
34
  # @param client [Lithic::Client]
40
35
  def initialize(client:)
41
36
  @client = client
@@ -92,7 +92,7 @@ module Lithic
92
92
  URI.join(url, response_headers["location"])
93
93
  rescue ArgumentError
94
94
  message = "Server responded with status #{status} but no valid location header."
95
- raise Lithic::APIConnectionError.new(url: url, message: message)
95
+ raise Lithic::Errors::APIConnectionError.new(url: url, message: message)
96
96
  end
97
97
 
98
98
  request = {**request, url: location}
@@ -100,7 +100,7 @@ module Lithic
100
100
  case [url.scheme, location.scheme]
101
101
  in ["https", "http"]
102
102
  message = "Tried to redirect to a insecure URL"
103
- raise Lithic::APIConnectionError.new(url: url, message: message)
103
+ raise Lithic::Errors::APIConnectionError.new(url: url, message: message)
104
104
  else
105
105
  nil
106
106
  end
@@ -129,13 +129,13 @@ module Lithic
129
129
 
130
130
  # @api private
131
131
  #
132
- # @param status [Integer, Lithic::APIConnectionError]
132
+ # @param status [Integer, Lithic::Errors::APIConnectionError]
133
133
  # @param stream [Enumerable, nil]
134
134
  def reap_connection!(status, stream:)
135
135
  case status
136
136
  in (..199) | (300..499)
137
137
  stream&.each { next }
138
- in Lithic::APIConnectionError | (500..)
138
+ in Lithic::Errors::APIConnectionError | (500..)
139
139
  Lithic::Util.close_fused!(stream)
140
140
  else
141
141
  end
@@ -326,7 +326,7 @@ module Lithic
326
326
  #
327
327
  # @param send_retry_header [Boolean]
328
328
  #
329
- # @raise [Lithic::APIError]
329
+ # @raise [Lithic::Errors::APIError]
330
330
  # @return [Array(Integer, Net::HTTPResponse, Enumerable)]
331
331
  private def send_request(request, redirect_count:, retry_count:, send_retry_header:)
332
332
  url, headers, max_retries, timeout = request.fetch_values(:url, :headers, :max_retries, :timeout)
@@ -349,7 +349,7 @@ module Lithic
349
349
  self.class.reap_connection!(status, stream: stream)
350
350
 
351
351
  message = "Failed to complete the request within #{self.class::MAX_REDIRECTS} redirects."
352
- raise Lithic::APIConnectionError.new(url: url, message: message)
352
+ raise Lithic::Errors::APIConnectionError.new(url: url, message: message)
353
353
  in 300..399
354
354
  self.class.reap_connection!(status, stream: stream)
355
355
 
@@ -369,14 +369,14 @@ module Lithic
369
369
  self.class.reap_connection!(status, stream: stream)
370
370
  end
371
371
 
372
- raise Lithic::APIStatusError.for(
372
+ raise Lithic::Errors::APIStatusError.for(
373
373
  url: url,
374
374
  status: status,
375
375
  body: decoded,
376
376
  request: nil,
377
377
  response: response
378
378
  )
379
- in (400..) | Lithic::APIConnectionError
379
+ in (400..) | Lithic::Errors::APIConnectionError
380
380
  self.class.reap_connection!(status, stream: stream)
381
381
 
382
382
  delay = retry_delay(response, retry_count: retry_count)
@@ -416,7 +416,7 @@ module Lithic
416
416
  #
417
417
  # @option req [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] :options
418
418
  #
419
- # @raise [Lithic::APIError]
419
+ # @raise [Lithic::Errors::APIError]
420
420
  # @return [Object]
421
421
  def request(req)
422
422
  self.class.validate!(req)
@@ -153,7 +153,7 @@ module Lithic
153
153
  end
154
154
  end
155
155
  rescue Timeout::Error
156
- raise Lithic::APITimeoutError
156
+ raise Lithic::Errors::APITimeoutError
157
157
  end
158
158
 
159
159
  conn, _, response = enum.next
@@ -331,6 +331,16 @@ module Lithic
331
331
  .to_h
332
332
  end
333
333
 
334
+ # @param a [Object]
335
+ #
336
+ # @return [String]
337
+ def to_json(*a) = self.class.dump(self).to_json(*a)
338
+
339
+ # @param a [Object]
340
+ #
341
+ # @return [String]
342
+ def to_yaml(*a) = self.class.dump(self).to_yaml(*a)
343
+
334
344
  # Create a new instance of a model.
335
345
  #
336
346
  # @param data [Hash{Symbol=>Object}, Lithic::BaseModel]
@@ -29,7 +29,7 @@ module Lithic
29
29
  # @return [Boolean]
30
30
  def next_page? = (raise NotImplementedError)
31
31
 
32
- # @raise [Lithic::APIError]
32
+ # @raise [Lithic::Errors::APIError]
33
33
  # @return [Lithic::Type::BasePage]
34
34
  def next_page = (raise NotImplementedError)
35
35
 
data/lib/lithic/util.rb CHANGED
@@ -253,9 +253,9 @@ module Lithic
253
253
  path
254
254
  in []
255
255
  ""
256
- in [String, *interpolations]
256
+ in [String => p, *interpolations]
257
257
  encoded = interpolations.map { ERB::Util.url_encode(_1) }
258
- path.first % encoded
258
+ format(p, *encoded)
259
259
  end
260
260
  end
261
261
  end
@@ -441,7 +441,7 @@ module Lithic
441
441
  #
442
442
  # @yieldparam [Enumerator::Yielder]
443
443
  # @return [Enumerable]
444
- def string_io(&blk)
444
+ def writable_enum(&blk)
445
445
  Enumerator.new do |y|
446
446
  y.define_singleton_method(:write) do
447
447
  self << _1.clone
@@ -454,15 +454,13 @@ module Lithic
454
454
  end
455
455
 
456
456
  class << self
457
- # rubocop:disable Naming/MethodParameterName
458
-
459
457
  # @api private
460
458
  #
461
459
  # @param y [Enumerator::Yielder]
462
460
  # @param boundary [String]
463
461
  # @param key [Symbol, String]
464
462
  # @param val [Object]
465
- private def encode_multipart_formdata(y, boundary:, key:, val:)
463
+ private def write_multipart_chunk(y, boundary:, key:, val:)
466
464
  y << "--#{boundary}\r\n"
467
465
  y << "Content-Disposition: form-data"
468
466
  unless key.nil?
@@ -494,8 +492,6 @@ module Lithic
494
492
  y << "\r\n"
495
493
  end
496
494
 
497
- # rubocop:enable Naming/MethodParameterName
498
-
499
495
  # @api private
500
496
  #
501
497
  # @param body [Object]
@@ -504,21 +500,21 @@ module Lithic
504
500
  private def encode_multipart_streaming(body)
505
501
  boundary = SecureRandom.urlsafe_base64(60)
506
502
 
507
- strio = string_io do |y|
503
+ strio = writable_enum do |y|
508
504
  case body
509
505
  in Hash
510
506
  body.each do |key, val|
511
507
  case val
512
508
  in Array if val.all? { primitive?(_1) }
513
509
  val.each do |v|
514
- encode_multipart_formdata(y, boundary: boundary, key: key, val: v)
510
+ write_multipart_chunk(y, boundary: boundary, key: key, val: v)
515
511
  end
516
512
  else
517
- encode_multipart_formdata(y, boundary: boundary, key: key, val: val)
513
+ write_multipart_chunk(y, boundary: boundary, key: key, val: val)
518
514
  end
519
515
  end
520
516
  else
521
- encode_multipart_formdata(y, boundary: boundary, key: nil, val: body)
517
+ write_multipart_chunk(y, boundary: boundary, key: nil, val: body)
522
518
  end
523
519
  y << "--#{boundary}--\r\n"
524
520
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lithic
4
- VERSION = "0.1.0-alpha.2"
4
+ VERSION = "0.1.0-alpha.4"
5
5
  end
@@ -110,9 +110,9 @@ module Lithic
110
110
  # Creates and returns a new client for interacting with the API.
111
111
  sig do
112
112
  params(
113
+ api_key: T.nilable(String),
113
114
  environment: NilClass,
114
115
  base_url: T.nilable(String),
115
- api_key: T.nilable(String),
116
116
  max_retries: Integer,
117
117
  timeout: Float,
118
118
  initial_retry_delay: Float,
@@ -121,6 +121,8 @@ module Lithic
121
121
  .returns(T.attached_class)
122
122
  end
123
123
  def self.new(
124
+ # Defaults to `ENV["LITHIC_API_KEY"]`
125
+ api_key: ENV["LITHIC_API_KEY"],
124
126
  # Specifies the environment to use for the API.
125
127
  #
126
128
  # Each environment maps to a different base URL:
@@ -130,8 +132,6 @@ module Lithic
130
132
  environment: nil,
131
133
  # Override the default base URL for the API, e.g., `"https://api.example.com/v2/"`
132
134
  base_url: nil,
133
- # Defaults to `ENV["LITHIC_API_KEY"]`
134
- api_key: ENV["LITHIC_API_KEY"],
135
135
  # Max number of retries to attempt after a failed retryable request.
136
136
  max_retries: DEFAULT_MAX_RETRIES,
137
137
  timeout: DEFAULT_TIMEOUT_IN_SECONDS,