mt-sdk 0.0.1

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 (318) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +188 -0
  4. data/bin/console +15 -0
  5. data/lib/modern_treasury/api_helper.rb +10 -0
  6. data/lib/modern_treasury/client.rb +275 -0
  7. data/lib/modern_treasury/configuration.rb +206 -0
  8. data/lib/modern_treasury/controllers/account_collection_flow_controller.rb +130 -0
  9. data/lib/modern_treasury/controllers/account_detail_controller.rb +131 -0
  10. data/lib/modern_treasury/controllers/balance_report_controller.rb +76 -0
  11. data/lib/modern_treasury/controllers/base_controller.rb +60 -0
  12. data/lib/modern_treasury/controllers/connection_controller.rb +40 -0
  13. data/lib/modern_treasury/controllers/counterparty_controller.rb +188 -0
  14. data/lib/modern_treasury/controllers/document_controller.rb +285 -0
  15. data/lib/modern_treasury/controllers/event_controller.rb +72 -0
  16. data/lib/modern_treasury/controllers/expected_payment_controller.rb +162 -0
  17. data/lib/modern_treasury/controllers/external_account_controller.rb +202 -0
  18. data/lib/modern_treasury/controllers/incoming_payment_detail_controller.rb +150 -0
  19. data/lib/modern_treasury/controllers/internal_account_controller.rb +134 -0
  20. data/lib/modern_treasury/controllers/invoice_controller.rb +98 -0
  21. data/lib/modern_treasury/controllers/invoice_line_item_controller.rb +136 -0
  22. data/lib/modern_treasury/controllers/ledger_account_category_controller.rb +292 -0
  23. data/lib/modern_treasury/controllers/ledger_account_controller.rb +202 -0
  24. data/lib/modern_treasury/controllers/ledger_account_payout_controller.rb +126 -0
  25. data/lib/modern_treasury/controllers/ledger_account_statement_controller.rb +60 -0
  26. data/lib/modern_treasury/controllers/ledger_controller.rb +152 -0
  27. data/lib/modern_treasury/controllers/ledger_entry_controller.rb +148 -0
  28. data/lib/modern_treasury/controllers/ledger_event_handler_controller.rb +119 -0
  29. data/lib/modern_treasury/controllers/ledger_transaction_controller.rb +328 -0
  30. data/lib/modern_treasury/controllers/ledgerable_event_controller.rb +61 -0
  31. data/lib/modern_treasury/controllers/line_item_controller.rb +107 -0
  32. data/lib/modern_treasury/controllers/paper_item_controller.rb +69 -0
  33. data/lib/modern_treasury/controllers/payment_flow_controller.rb +138 -0
  34. data/lib/modern_treasury/controllers/payment_order_controller.rb +368 -0
  35. data/lib/modern_treasury/controllers/payment_reference_controller.rb +64 -0
  36. data/lib/modern_treasury/controllers/ping_controller.rb +34 -0
  37. data/lib/modern_treasury/controllers/return_controller.rb +105 -0
  38. data/lib/modern_treasury/controllers/reversal_controller.rb +99 -0
  39. data/lib/modern_treasury/controllers/routing_detail_controller.rb +131 -0
  40. data/lib/modern_treasury/controllers/transaction_controller.rb +133 -0
  41. data/lib/modern_treasury/controllers/transaction_line_item_controller.rb +39 -0
  42. data/lib/modern_treasury/controllers/validation_controller.rb +41 -0
  43. data/lib/modern_treasury/controllers/virtual_account_controller.rb +142 -0
  44. data/lib/modern_treasury/exceptions/api_exception.rb +21 -0
  45. data/lib/modern_treasury/exceptions/error_message_exception.rb +46 -0
  46. data/lib/modern_treasury/http/auth/basic_auth.rb +62 -0
  47. data/lib/modern_treasury/http/http_call_back.rb +10 -0
  48. data/lib/modern_treasury/http/http_method_enum.rb +10 -0
  49. data/lib/modern_treasury/http/http_request.rb +10 -0
  50. data/lib/modern_treasury/http/http_response.rb +10 -0
  51. data/lib/modern_treasury/http/proxy_settings.rb +22 -0
  52. data/lib/modern_treasury/models/account.rb +304 -0
  53. data/lib/modern_treasury/models/account1.rb +217 -0
  54. data/lib/modern_treasury/models/account_collection_flow.rb +178 -0
  55. data/lib/modern_treasury/models/account_collection_flow_create_request.rb +70 -0
  56. data/lib/modern_treasury/models/account_collection_flow_update_request.rb +61 -0
  57. data/lib/modern_treasury/models/account_detail.rb +211 -0
  58. data/lib/modern_treasury/models/account_detail1.rb +74 -0
  59. data/lib/modern_treasury/models/account_detail_create_request.rb +75 -0
  60. data/lib/modern_treasury/models/account_number_type2_enum.rb +48 -0
  61. data/lib/modern_treasury/models/account_number_type_enum.rb +49 -0
  62. data/lib/modern_treasury/models/account_type5_enum.rb +56 -0
  63. data/lib/modern_treasury/models/account_type_enum.rb +56 -0
  64. data/lib/modern_treasury/models/accounting.rb +88 -0
  65. data/lib/modern_treasury/models/accounting1.rb +63 -0
  66. data/lib/modern_treasury/models/accounts_type1_enum.rb +26 -0
  67. data/lib/modern_treasury/models/accounts_type_enum.rb +36 -0
  68. data/lib/modern_treasury/models/address.rb +231 -0
  69. data/lib/modern_treasury/models/address_request.rb +118 -0
  70. data/lib/modern_treasury/models/async_response.rb +68 -0
  71. data/lib/modern_treasury/models/balance.rb +164 -0
  72. data/lib/modern_treasury/models/balance_report.rb +178 -0
  73. data/lib/modern_treasury/models/balance_report_type1_enum.rb +44 -0
  74. data/lib/modern_treasury/models/balance_report_type_enum.rb +45 -0
  75. data/lib/modern_treasury/models/balance_type_enum.rb +63 -0
  76. data/lib/modern_treasury/models/balances.rb +71 -0
  77. data/lib/modern_treasury/models/balances1.rb +81 -0
  78. data/lib/modern_treasury/models/balances2.rb +120 -0
  79. data/lib/modern_treasury/models/balances3.rb +130 -0
  80. data/lib/modern_treasury/models/base_model.rb +110 -0
  81. data/lib/modern_treasury/models/charge_bearer_enum.rb +42 -0
  82. data/lib/modern_treasury/models/code1_enum.rb +200 -0
  83. data/lib/modern_treasury/models/code_enum.rb +68 -0
  84. data/lib/modern_treasury/models/connection.rb +209 -0
  85. data/lib/modern_treasury/models/contact_detail.rb +200 -0
  86. data/lib/modern_treasury/models/contact_detail_create_request.rb +75 -0
  87. data/lib/modern_treasury/models/contact_identifier_type_enum.rb +40 -0
  88. data/lib/modern_treasury/models/content_type_enum.rb +36 -0
  89. data/lib/modern_treasury/models/counterparty.rb +200 -0
  90. data/lib/modern_treasury/models/counterparty_billing_address.rb +106 -0
  91. data/lib/modern_treasury/models/counterparty_collect_account_request.rb +104 -0
  92. data/lib/modern_treasury/models/counterparty_collect_account_response.rb +82 -0
  93. data/lib/modern_treasury/models/counterparty_create_request.rb +161 -0
  94. data/lib/modern_treasury/models/counterparty_shipping_address.rb +107 -0
  95. data/lib/modern_treasury/models/counterparty_update_request.rb +107 -0
  96. data/lib/modern_treasury/models/created_at_enum.rb +36 -0
  97. data/lib/modern_treasury/models/currency1_enum.rb +37 -0
  98. data/lib/modern_treasury/models/currency_enum.rb +784 -0
  99. data/lib/modern_treasury/models/direction10_enum.rb +38 -0
  100. data/lib/modern_treasury/models/direction14_enum.rb +36 -0
  101. data/lib/modern_treasury/models/direction15_enum.rb +36 -0
  102. data/lib/modern_treasury/models/direction1_enum.rb +37 -0
  103. data/lib/modern_treasury/models/direction4_enum.rb +36 -0
  104. data/lib/modern_treasury/models/direction5_enum.rb +39 -0
  105. data/lib/modern_treasury/models/direction9_enum.rb +37 -0
  106. data/lib/modern_treasury/models/direction_enum.rb +38 -0
  107. data/lib/modern_treasury/models/document.rb +207 -0
  108. data/lib/modern_treasury/models/document_create_request.rb +92 -0
  109. data/lib/modern_treasury/models/document_detail.rb +154 -0
  110. data/lib/modern_treasury/models/documentable_type1_enum.rb +72 -0
  111. data/lib/modern_treasury/models/documentable_type2_enum.rb +72 -0
  112. data/lib/modern_treasury/models/documentable_type_enum.rb +75 -0
  113. data/lib/modern_treasury/models/effective_at_enum.rb +36 -0
  114. data/lib/modern_treasury/models/errors.rb +81 -0
  115. data/lib/modern_treasury/models/event.rb +162 -0
  116. data/lib/modern_treasury/models/expected_payment.rb +343 -0
  117. data/lib/modern_treasury/models/expected_payment_create_request.rb +254 -0
  118. data/lib/modern_treasury/models/expected_payment_update_request.rb +239 -0
  119. data/lib/modern_treasury/models/external_account.rb +283 -0
  120. data/lib/modern_treasury/models/external_account_complete_verification_request.rb +62 -0
  121. data/lib/modern_treasury/models/external_account_create_request.rb +230 -0
  122. data/lib/modern_treasury/models/external_account_update_request.rb +132 -0
  123. data/lib/modern_treasury/models/external_account_verify_request.rb +83 -0
  124. data/lib/modern_treasury/models/fallback_type_enum.rb +28 -0
  125. data/lib/modern_treasury/models/field_enum.rb +112 -0
  126. data/lib/modern_treasury/models/file.rb +81 -0
  127. data/lib/modern_treasury/models/foreign_exchange_indicator_enum.rb +38 -0
  128. data/lib/modern_treasury/models/incoming_payment_detail.rb +348 -0
  129. data/lib/modern_treasury/models/incoming_payment_detail_create_request.rb +141 -0
  130. data/lib/modern_treasury/models/incoming_payment_detail_update_request.rb +63 -0
  131. data/lib/modern_treasury/models/internal_account.rb +361 -0
  132. data/lib/modern_treasury/models/internal_account_create_request.rb +135 -0
  133. data/lib/modern_treasury/models/internal_account_update_request.rb +95 -0
  134. data/lib/modern_treasury/models/invoice.rb +342 -0
  135. data/lib/modern_treasury/models/invoice_create_request.rb +235 -0
  136. data/lib/modern_treasury/models/invoice_line_item.rb +171 -0
  137. data/lib/modern_treasury/models/invoice_line_item_create_request.rb +104 -0
  138. data/lib/modern_treasury/models/invoice_line_item_update_request.rb +240 -0
  139. data/lib/modern_treasury/models/invoice_update_request.rb +251 -0
  140. data/lib/modern_treasury/models/invoicer_address.rb +106 -0
  141. data/lib/modern_treasury/models/itemizable_type1_enum.rb +36 -0
  142. data/lib/modern_treasury/models/itemizable_type_enum.rb +36 -0
  143. data/lib/modern_treasury/models/ledger.rb +158 -0
  144. data/lib/modern_treasury/models/ledger_account.rb +220 -0
  145. data/lib/modern_treasury/models/ledger_account_category.rb +187 -0
  146. data/lib/modern_treasury/models/ledger_account_category_create_request.rb +125 -0
  147. data/lib/modern_treasury/models/ledger_account_category_update_request.rb +84 -0
  148. data/lib/modern_treasury/models/ledger_account_create_request.rb +150 -0
  149. data/lib/modern_treasury/models/ledger_account_normal_balance_enum.rb +36 -0
  150. data/lib/modern_treasury/models/ledger_account_payout.rb +238 -0
  151. data/lib/modern_treasury/models/ledger_account_payout_create_request.rb +152 -0
  152. data/lib/modern_treasury/models/ledger_account_payout_update_request.rb +85 -0
  153. data/lib/modern_treasury/models/ledger_account_statement.rb +233 -0
  154. data/lib/modern_treasury/models/ledger_account_statement_create_request.rb +122 -0
  155. data/lib/modern_treasury/models/ledger_account_update_request.rb +84 -0
  156. data/lib/modern_treasury/models/ledger_balance.rb +97 -0
  157. data/lib/modern_treasury/models/ledger_balances.rb +81 -0
  158. data/lib/modern_treasury/models/ledger_balances_with_effective_at.rb +123 -0
  159. data/lib/modern_treasury/models/ledger_create_request.rb +83 -0
  160. data/lib/modern_treasury/models/ledger_entry.rb +247 -0
  161. data/lib/modern_treasury/models/ledger_entry_create_request.rb +177 -0
  162. data/lib/modern_treasury/models/ledger_entry_of_transaction_version.rb +214 -0
  163. data/lib/modern_treasury/models/ledger_event_handler.rb +182 -0
  164. data/lib/modern_treasury/models/ledger_event_handler_conditions.rb +78 -0
  165. data/lib/modern_treasury/models/ledger_event_handler_create_request.rb +119 -0
  166. data/lib/modern_treasury/models/ledger_event_handler_ledger_entries.rb +80 -0
  167. data/lib/modern_treasury/models/ledger_event_handler_ledger_transaction_template.rb +103 -0
  168. data/lib/modern_treasury/models/ledger_transaction.rb +259 -0
  169. data/lib/modern_treasury/models/ledger_transaction_create_request.rb +164 -0
  170. data/lib/modern_treasury/models/ledger_transaction_reversal_create_request.rb +142 -0
  171. data/lib/modern_treasury/models/ledger_transaction_update_request.rb +115 -0
  172. data/lib/modern_treasury/models/ledger_transaction_version.rb +254 -0
  173. data/lib/modern_treasury/models/ledger_type_enum.rb +37 -0
  174. data/lib/modern_treasury/models/ledger_update_request.rb +84 -0
  175. data/lib/modern_treasury/models/ledgerable_event.rb +206 -0
  176. data/lib/modern_treasury/models/ledgerable_event_create_request.rb +140 -0
  177. data/lib/modern_treasury/models/ledgerable_type2_enum.rb +71 -0
  178. data/lib/modern_treasury/models/ledgerable_type5_enum.rb +69 -0
  179. data/lib/modern_treasury/models/ledgerable_type6_enum.rb +68 -0
  180. data/lib/modern_treasury/models/ledgerable_type_enum.rb +38 -0
  181. data/lib/modern_treasury/models/legacy_document_create_request.rb +70 -0
  182. data/lib/modern_treasury/models/line_item.rb +200 -0
  183. data/lib/modern_treasury/models/line_item_request.rb +98 -0
  184. data/lib/modern_treasury/models/line_item_update_request.rb +63 -0
  185. data/lib/modern_treasury/models/mreturn.rb +425 -0
  186. data/lib/modern_treasury/models/normal_balance2_enum.rb +36 -0
  187. data/lib/modern_treasury/models/normal_balance_enum.rb +36 -0
  188. data/lib/modern_treasury/models/order_by.rb +72 -0
  189. data/lib/modern_treasury/models/originating_account_number_type_enum.rb +48 -0
  190. data/lib/modern_treasury/models/originating_routing_number_type_enum.rb +68 -0
  191. data/lib/modern_treasury/models/paper_item.rb +249 -0
  192. data/lib/modern_treasury/models/party_address.rb +106 -0
  193. data/lib/modern_treasury/models/party_type5_enum.rb +36 -0
  194. data/lib/modern_treasury/models/party_type_enum.rb +36 -0
  195. data/lib/modern_treasury/models/payment_direction_enum.rb +36 -0
  196. data/lib/modern_treasury/models/payment_flow.rb +230 -0
  197. data/lib/modern_treasury/models/payment_flow_create_request.rb +103 -0
  198. data/lib/modern_treasury/models/payment_flow_update_request.rb +61 -0
  199. data/lib/modern_treasury/models/payment_method1_enum.rb +46 -0
  200. data/lib/modern_treasury/models/payment_method_enum.rb +42 -0
  201. data/lib/modern_treasury/models/payment_order.rb +820 -0
  202. data/lib/modern_treasury/models/payment_order_async_create_request.rb +536 -0
  203. data/lib/modern_treasury/models/payment_order_create_request.rb +556 -0
  204. data/lib/modern_treasury/models/payment_order_update_request.rb +543 -0
  205. data/lib/modern_treasury/models/payment_reference.rb +175 -0
  206. data/lib/modern_treasury/models/payment_reference_object.rb +156 -0
  207. data/lib/modern_treasury/models/payment_type13_enum.rb +96 -0
  208. data/lib/modern_treasury/models/payment_type1_enum.rb +97 -0
  209. data/lib/modern_treasury/models/payment_type2_enum.rb +96 -0
  210. data/lib/modern_treasury/models/payment_type4_enum.rb +96 -0
  211. data/lib/modern_treasury/models/payment_type5_enum.rb +36 -0
  212. data/lib/modern_treasury/models/payment_type6_enum.rb +97 -0
  213. data/lib/modern_treasury/models/payment_type_enum.rb +37 -0
  214. data/lib/modern_treasury/models/ping_response.rb +60 -0
  215. data/lib/modern_treasury/models/priority4_enum.rb +36 -0
  216. data/lib/modern_treasury/models/priority_enum.rb +38 -0
  217. data/lib/modern_treasury/models/reason1_enum.rb +50 -0
  218. data/lib/modern_treasury/models/reason_enum.rb +48 -0
  219. data/lib/modern_treasury/models/receiving_account.rb +304 -0
  220. data/lib/modern_treasury/models/receiving_account1.rb +219 -0
  221. data/lib/modern_treasury/models/receiving_account_type_enum.rb +36 -0
  222. data/lib/modern_treasury/models/reconciliation_method_enum.rb +38 -0
  223. data/lib/modern_treasury/models/reference_number_type1_enum.rb +248 -0
  224. data/lib/modern_treasury/models/reference_number_type_enum.rb +248 -0
  225. data/lib/modern_treasury/models/referenceable_type1_enum.rb +40 -0
  226. data/lib/modern_treasury/models/referenceable_type_enum.rb +41 -0
  227. data/lib/modern_treasury/models/return_create_request.rb +119 -0
  228. data/lib/modern_treasury/models/returnable_type1_enum.rb +48 -0
  229. data/lib/modern_treasury/models/returnable_type_enum.rb +48 -0
  230. data/lib/modern_treasury/models/reversal.rb +151 -0
  231. data/lib/modern_treasury/models/reversal_create_request.rb +86 -0
  232. data/lib/modern_treasury/models/role_enum.rb +36 -0
  233. data/lib/modern_treasury/models/routing_detail.rb +242 -0
  234. data/lib/modern_treasury/models/routing_detail1.rb +83 -0
  235. data/lib/modern_treasury/models/routing_detail_create_request.rb +87 -0
  236. data/lib/modern_treasury/models/routing_number_lookup_request.rb +124 -0
  237. data/lib/modern_treasury/models/routing_number_type1_enum.rb +68 -0
  238. data/lib/modern_treasury/models/routing_number_type7_enum.rb +55 -0
  239. data/lib/modern_treasury/models/routing_number_type8_enum.rb +68 -0
  240. data/lib/modern_treasury/models/routing_number_type_enum.rb +69 -0
  241. data/lib/modern_treasury/models/status11_enum.rb +40 -0
  242. data/lib/modern_treasury/models/status12_enum.rb +40 -0
  243. data/lib/modern_treasury/models/status15_enum.rb +41 -0
  244. data/lib/modern_treasury/models/status16_enum.rb +41 -0
  245. data/lib/modern_treasury/models/status17_enum.rb +45 -0
  246. data/lib/modern_treasury/models/status18_enum.rb +74 -0
  247. data/lib/modern_treasury/models/status19_enum.rb +52 -0
  248. data/lib/modern_treasury/models/status1_enum.rb +40 -0
  249. data/lib/modern_treasury/models/status20_enum.rb +40 -0
  250. data/lib/modern_treasury/models/status21_enum.rb +40 -0
  251. data/lib/modern_treasury/models/status22_enum.rb +40 -0
  252. data/lib/modern_treasury/models/status24_enum.rb +72 -0
  253. data/lib/modern_treasury/models/status2_enum.rb +41 -0
  254. data/lib/modern_treasury/models/status3_enum.rb +72 -0
  255. data/lib/modern_treasury/models/status4_enum.rb +52 -0
  256. data/lib/modern_treasury/models/status5_enum.rb +48 -0
  257. data/lib/modern_treasury/models/status6_enum.rb +49 -0
  258. data/lib/modern_treasury/models/status7_enum.rb +37 -0
  259. data/lib/modern_treasury/models/status8_enum.rb +37 -0
  260. data/lib/modern_treasury/models/status9_enum.rb +41 -0
  261. data/lib/modern_treasury/models/status_enum.rb +45 -0
  262. data/lib/modern_treasury/models/subtype_enum.rb +71 -0
  263. data/lib/modern_treasury/models/supported_payment_type_enum.rb +96 -0
  264. data/lib/modern_treasury/models/transactable_type_enum.rb +53 -0
  265. data/lib/modern_treasury/models/transaction.rb +311 -0
  266. data/lib/modern_treasury/models/transaction_line_item.rb +211 -0
  267. data/lib/modern_treasury/models/type10_enum.rb +64 -0
  268. data/lib/modern_treasury/models/type11_enum.rb +97 -0
  269. data/lib/modern_treasury/models/type12_enum.rb +37 -0
  270. data/lib/modern_treasury/models/type13_enum.rb +96 -0
  271. data/lib/modern_treasury/models/type14_enum.rb +64 -0
  272. data/lib/modern_treasury/models/type16_enum.rb +36 -0
  273. data/lib/modern_treasury/models/type1_enum.rb +97 -0
  274. data/lib/modern_treasury/models/type4_enum.rb +65 -0
  275. data/lib/modern_treasury/models/type5_enum.rb +97 -0
  276. data/lib/modern_treasury/models/type6_enum.rb +77 -0
  277. data/lib/modern_treasury/models/type_enum.rb +37 -0
  278. data/lib/modern_treasury/models/vendor_code_type1_enum.rb +111 -0
  279. data/lib/modern_treasury/models/vendor_code_type_enum.rb +108 -0
  280. data/lib/modern_treasury/models/verification_status1_enum.rb +44 -0
  281. data/lib/modern_treasury/models/verification_status_enum.rb +40 -0
  282. data/lib/modern_treasury/models/virtual_account.rb +247 -0
  283. data/lib/modern_treasury/models/virtual_account_create_request.rb +172 -0
  284. data/lib/modern_treasury/models/virtual_account_update_request.rb +85 -0
  285. data/lib/modern_treasury/utilities/date_time_helper.rb +11 -0
  286. data/lib/modern_treasury/utilities/file_wrapper.rb +28 -0
  287. data/lib/modern_treasury/utilities/union_type_lookup.rb +32 -0
  288. data/lib/modern_treasury.rb +316 -0
  289. data/test/controllers/controller_test_base.rb +23 -0
  290. data/test/controllers/test_account_collection_flow_controller.rb +64 -0
  291. data/test/controllers/test_connection_controller.rb +41 -0
  292. data/test/controllers/test_counterparty_controller.rb +65 -0
  293. data/test/controllers/test_document_controller.rb +41 -0
  294. data/test/controllers/test_event_controller.rb +46 -0
  295. data/test/controllers/test_expected_payment_controller.rb +71 -0
  296. data/test/controllers/test_external_account_controller.rb +63 -0
  297. data/test/controllers/test_incoming_payment_detail_controller.rb +68 -0
  298. data/test/controllers/test_internal_account_controller.rb +65 -0
  299. data/test/controllers/test_invoice_controller.rb +56 -0
  300. data/test/controllers/test_ledger_account_category_controller.rb +67 -0
  301. data/test/controllers/test_ledger_account_controller.rb +70 -0
  302. data/test/controllers/test_ledger_account_payout_controller.rb +62 -0
  303. data/test/controllers/test_ledger_account_statement_controller.rb +36 -0
  304. data/test/controllers/test_ledger_controller.rb +59 -0
  305. data/test/controllers/test_ledger_entry_controller.rb +65 -0
  306. data/test/controllers/test_ledger_event_handler_controller.rb +63 -0
  307. data/test/controllers/test_ledger_transaction_controller.rb +112 -0
  308. data/test/controllers/test_ledgerable_event_controller.rb +36 -0
  309. data/test/controllers/test_paper_item_controller.rb +43 -0
  310. data/test/controllers/test_payment_flow_controller.rb +67 -0
  311. data/test/controllers/test_payment_order_controller.rb +76 -0
  312. data/test/controllers/test_payment_reference_controller.rb +43 -0
  313. data/test/controllers/test_ping_controller.rb +31 -0
  314. data/test/controllers/test_return_controller.rb +64 -0
  315. data/test/controllers/test_transaction_controller.rb +56 -0
  316. data/test/controllers/test_virtual_account_controller.rb +63 -0
  317. data/test/http_response_catcher.rb +19 -0
  318. metadata +429 -0
@@ -0,0 +1,72 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # OrderBy Model.
8
+ class OrderBy < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [CreatedAtEnum]
14
+ attr_accessor :created_at
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [EffectiveAtEnum]
18
+ attr_accessor :effective_at
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['created_at'] = 'created_at'
24
+ @_hash['effective_at'] = 'effective_at'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ created_at
32
+ effective_at
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(created_at = SKIP, effective_at = SKIP)
42
+ @created_at = created_at unless created_at == SKIP
43
+ @effective_at = effective_at unless effective_at == SKIP
44
+ end
45
+
46
+ # Creates an instance of the object from a hash.
47
+ def self.from_hash(hash)
48
+ return nil unless hash
49
+
50
+ # Extract variables from the hash.
51
+ created_at = hash.key?('created_at') ? hash['created_at'] : SKIP
52
+ effective_at = hash.key?('effective_at') ? hash['effective_at'] : SKIP
53
+
54
+ # Create object from extracted values.
55
+ OrderBy.new(created_at,
56
+ effective_at)
57
+ end
58
+
59
+ # Provides a human-readable string representation of the object.
60
+ def to_s
61
+ class_name = self.class.name.split('::').last
62
+ "<#{class_name} created_at: #{@created_at}, effective_at: #{@effective_at}>"
63
+ end
64
+
65
+ # Provides a debugging-friendly string with detailed object information.
66
+ def inspect
67
+ class_name = self.class.name.split('::').last
68
+ "<#{class_name} created_at: #{@created_at.inspect}, effective_at:"\
69
+ " #{@effective_at.inspect}>"
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,48 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # The type of the originating account number for the incoming payment detail.
8
+ class OriginatingAccountNumberTypeEnum
9
+ ORIGINATING_ACCOUNT_NUMBER_TYPE_ENUM = [
10
+ # TODO: Write general description for CLABE
11
+ CLABE = 'clabe'.freeze,
12
+
13
+ # TODO: Write general description for IBAN
14
+ IBAN = 'iban'.freeze,
15
+
16
+ # TODO: Write general description for OTHER
17
+ OTHER = 'other'.freeze,
18
+
19
+ # TODO: Write general description for PAN
20
+ PAN = 'pan'.freeze,
21
+
22
+ # TODO: Write general description for WALLET_ADDRESS
23
+ WALLET_ADDRESS = 'wallet_address'.freeze
24
+ ].freeze
25
+
26
+ def self.validate(value)
27
+ return false if value.nil?
28
+
29
+ ORIGINATING_ACCOUNT_NUMBER_TYPE_ENUM.include?(value)
30
+ end
31
+
32
+ def self.from_value(value, default_value = CLABE)
33
+ return default_value if value.nil?
34
+
35
+ str = value.to_s.strip
36
+
37
+ case str.downcase
38
+ when 'clabe' then CLABE
39
+ when 'iban' then IBAN
40
+ when 'other' then OTHER
41
+ when 'pan' then PAN
42
+ when 'wallet_address' then WALLET_ADDRESS
43
+ else
44
+ default_value
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,68 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # The type of the originating routing number for the incoming payment detail.
8
+ class OriginatingRoutingNumberTypeEnum
9
+ ORIGINATING_ROUTING_NUMBER_TYPE_ENUM = [
10
+ # TODO: Write general description for ABA
11
+ ABA = 'aba'.freeze,
12
+
13
+ # TODO: Write general description for AU_BSB
14
+ AU_BSB = 'au_bsb'.freeze,
15
+
16
+ # TODO: Write general description for BR_CODIGO
17
+ BR_CODIGO = 'br_codigo'.freeze,
18
+
19
+ # TODO: Write general description for CA_CPA
20
+ CA_CPA = 'ca_cpa'.freeze,
21
+
22
+ # TODO: Write general description for CHIPS
23
+ CHIPS = 'chips'.freeze,
24
+
25
+ # TODO: Write general description for CNAPS
26
+ CNAPS = 'cnaps'.freeze,
27
+
28
+ # TODO: Write general description for GB_SORT_CODE
29
+ GB_SORT_CODE = 'gb_sort_code'.freeze,
30
+
31
+ # TODO: Write general description for IN_IFSC
32
+ IN_IFSC = 'in_ifsc'.freeze,
33
+
34
+ # TODO: Write general description for MY_BRANCH_CODE
35
+ MY_BRANCH_CODE = 'my_branch_code'.freeze,
36
+
37
+ # TODO: Write general description for SWIFT
38
+ SWIFT = 'swift'.freeze
39
+ ].freeze
40
+
41
+ def self.validate(value)
42
+ return false if value.nil?
43
+
44
+ ORIGINATING_ROUTING_NUMBER_TYPE_ENUM.include?(value)
45
+ end
46
+
47
+ def self.from_value(value, default_value = ABA)
48
+ return default_value if value.nil?
49
+
50
+ str = value.to_s.strip
51
+
52
+ case str.downcase
53
+ when 'aba' then ABA
54
+ when 'au_bsb' then AU_BSB
55
+ when 'br_codigo' then BR_CODIGO
56
+ when 'ca_cpa' then CA_CPA
57
+ when 'chips' then CHIPS
58
+ when 'cnaps' then CNAPS
59
+ when 'gb_sort_code' then GB_SORT_CODE
60
+ when 'in_ifsc' then IN_IFSC
61
+ when 'my_branch_code' then MY_BRANCH_CODE
62
+ when 'swift' then SWIFT
63
+ else
64
+ default_value
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,249 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module ModernTreasury
8
+ # PaperItem Model.
9
+ class PaperItem < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # TODO: Write general description for this method
14
+ # @return [UUID | String]
15
+ attr_accessor :id
16
+
17
+ # TODO: Write general description for this method
18
+ # @return [String]
19
+ attr_accessor :object
20
+
21
+ # This field will be true if this object exists in the live environment or
22
+ # false if it exists in the test environment.
23
+ # @return [TrueClass | FalseClass]
24
+ attr_accessor :live_mode
25
+
26
+ # This field will be true if this object exists in the live environment or
27
+ # false if it exists in the test environment.
28
+ # @return [DateTime]
29
+ attr_accessor :created_at
30
+
31
+ # This field will be true if this object exists in the live environment or
32
+ # false if it exists in the test environment.
33
+ # @return [DateTime]
34
+ attr_accessor :updated_at
35
+
36
+ # The ID of the reconciled Transaction Line Item or `null`.
37
+ # @return [UUID | String]
38
+ attr_accessor :transaction_line_item_id
39
+
40
+ # The ID of the reconciled Transaction or `null`.
41
+ # @return [UUID | String]
42
+ attr_accessor :transaction_id
43
+
44
+ # The current status of the paper item. One of `pending`, `completed`, or
45
+ # `returned`.
46
+ # @return [Status16Enum]
47
+ attr_accessor :status
48
+
49
+ # The identifier for the lockbox assigned by the bank.
50
+ # @return [String]
51
+ attr_accessor :lockbox_number
52
+
53
+ # The date the paper item was deposited into your organization's bank
54
+ # account.
55
+ # @return [Date]
56
+ attr_accessor :deposit_date
57
+
58
+ # The amount of the paper item.
59
+ # @return [Integer]
60
+ attr_accessor :amount
61
+
62
+ # Three-letter ISO currency code.
63
+ # @return [CurrencyEnum]
64
+ attr_accessor :currency
65
+
66
+ # The account number on the paper item.
67
+ # @return [String]
68
+ attr_accessor :account_number
69
+
70
+ # The last 4 digits of the account_number.
71
+ # @return [String]
72
+ attr_accessor :account_number_safe
73
+
74
+ # The routing number on the paper item.
75
+ # @return [String]
76
+ attr_accessor :routing_number
77
+
78
+ # The check number on the paper item.
79
+ # @return [String]
80
+ attr_accessor :check_number
81
+
82
+ # The name of the remitter on the paper item.
83
+ # @return [String]
84
+ attr_accessor :remitter_name
85
+
86
+ # The memo field on the paper item.
87
+ # @return [String]
88
+ attr_accessor :memo_field
89
+
90
+ # A mapping from model property names to API property names.
91
+ def self.names
92
+ @_hash = {} if @_hash.nil?
93
+ @_hash['id'] = 'id'
94
+ @_hash['object'] = 'object'
95
+ @_hash['live_mode'] = 'live_mode'
96
+ @_hash['created_at'] = 'created_at'
97
+ @_hash['updated_at'] = 'updated_at'
98
+ @_hash['transaction_line_item_id'] = 'transaction_line_item_id'
99
+ @_hash['transaction_id'] = 'transaction_id'
100
+ @_hash['status'] = 'status'
101
+ @_hash['lockbox_number'] = 'lockbox_number'
102
+ @_hash['deposit_date'] = 'deposit_date'
103
+ @_hash['amount'] = 'amount'
104
+ @_hash['currency'] = 'currency'
105
+ @_hash['account_number'] = 'account_number'
106
+ @_hash['account_number_safe'] = 'account_number_safe'
107
+ @_hash['routing_number'] = 'routing_number'
108
+ @_hash['check_number'] = 'check_number'
109
+ @_hash['remitter_name'] = 'remitter_name'
110
+ @_hash['memo_field'] = 'memo_field'
111
+ @_hash
112
+ end
113
+
114
+ # An array for optional fields
115
+ def self.optionals
116
+ []
117
+ end
118
+
119
+ # An array for nullable fields
120
+ def self.nullables
121
+ %w[
122
+ transaction_line_item_id
123
+ transaction_id
124
+ account_number
125
+ account_number_safe
126
+ routing_number
127
+ check_number
128
+ remitter_name
129
+ memo_field
130
+ ]
131
+ end
132
+
133
+ def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
134
+ updated_at = nil, transaction_line_item_id = nil,
135
+ transaction_id = nil, status = nil, lockbox_number = nil,
136
+ deposit_date = nil, amount = nil, currency = nil,
137
+ account_number = nil, account_number_safe = nil,
138
+ routing_number = nil, check_number = nil,
139
+ remitter_name = nil, memo_field = nil)
140
+ @id = id
141
+ @object = object
142
+ @live_mode = live_mode
143
+ @created_at = created_at
144
+ @updated_at = updated_at
145
+ @transaction_line_item_id = transaction_line_item_id
146
+ @transaction_id = transaction_id
147
+ @status = status
148
+ @lockbox_number = lockbox_number
149
+ @deposit_date = deposit_date
150
+ @amount = amount
151
+ @currency = currency
152
+ @account_number = account_number
153
+ @account_number_safe = account_number_safe
154
+ @routing_number = routing_number
155
+ @check_number = check_number
156
+ @remitter_name = remitter_name
157
+ @memo_field = memo_field
158
+ end
159
+
160
+ # Creates an instance of the object from a hash.
161
+ def self.from_hash(hash)
162
+ return nil unless hash
163
+
164
+ # Extract variables from the hash.
165
+ id = hash.key?('id') ? hash['id'] : nil
166
+ object = hash.key?('object') ? hash['object'] : nil
167
+ live_mode = hash.key?('live_mode') ? hash['live_mode'] : nil
168
+ created_at = if hash.key?('created_at')
169
+ (DateTimeHelper.from_rfc3339(hash['created_at']) if hash['created_at'])
170
+ end
171
+ updated_at = if hash.key?('updated_at')
172
+ (DateTimeHelper.from_rfc3339(hash['updated_at']) if hash['updated_at'])
173
+ end
174
+ transaction_line_item_id =
175
+ hash.key?('transaction_line_item_id') ? hash['transaction_line_item_id'] : nil
176
+ transaction_id =
177
+ hash.key?('transaction_id') ? hash['transaction_id'] : nil
178
+ status = hash.key?('status') ? hash['status'] : nil
179
+ lockbox_number =
180
+ hash.key?('lockbox_number') ? hash['lockbox_number'] : nil
181
+ deposit_date = hash.key?('deposit_date') ? hash['deposit_date'] : nil
182
+ amount = hash.key?('amount') ? hash['amount'] : nil
183
+ currency = hash.key?('currency') ? hash['currency'] : nil
184
+ account_number =
185
+ hash.key?('account_number') ? hash['account_number'] : nil
186
+ account_number_safe =
187
+ hash.key?('account_number_safe') ? hash['account_number_safe'] : nil
188
+ routing_number =
189
+ hash.key?('routing_number') ? hash['routing_number'] : nil
190
+ check_number = hash.key?('check_number') ? hash['check_number'] : nil
191
+ remitter_name = hash.key?('remitter_name') ? hash['remitter_name'] : nil
192
+ memo_field = hash.key?('memo_field') ? hash['memo_field'] : nil
193
+
194
+ # Create object from extracted values.
195
+ PaperItem.new(id,
196
+ object,
197
+ live_mode,
198
+ created_at,
199
+ updated_at,
200
+ transaction_line_item_id,
201
+ transaction_id,
202
+ status,
203
+ lockbox_number,
204
+ deposit_date,
205
+ amount,
206
+ currency,
207
+ account_number,
208
+ account_number_safe,
209
+ routing_number,
210
+ check_number,
211
+ remitter_name,
212
+ memo_field)
213
+ end
214
+
215
+ def to_custom_created_at
216
+ DateTimeHelper.to_rfc3339(created_at)
217
+ end
218
+
219
+ def to_custom_updated_at
220
+ DateTimeHelper.to_rfc3339(updated_at)
221
+ end
222
+
223
+ # Provides a human-readable string representation of the object.
224
+ def to_s
225
+ class_name = self.class.name.split('::').last
226
+ "<#{class_name} id: #{@id}, object: #{@object}, live_mode: #{@live_mode}, created_at:"\
227
+ " #{@created_at}, updated_at: #{@updated_at}, transaction_line_item_id:"\
228
+ " #{@transaction_line_item_id}, transaction_id: #{@transaction_id}, status: #{@status},"\
229
+ " lockbox_number: #{@lockbox_number}, deposit_date: #{@deposit_date}, amount: #{@amount},"\
230
+ " currency: #{@currency}, account_number: #{@account_number}, account_number_safe:"\
231
+ " #{@account_number_safe}, routing_number: #{@routing_number}, check_number:"\
232
+ " #{@check_number}, remitter_name: #{@remitter_name}, memo_field: #{@memo_field}>"
233
+ end
234
+
235
+ # Provides a debugging-friendly string with detailed object information.
236
+ def inspect
237
+ class_name = self.class.name.split('::').last
238
+ "<#{class_name} id: #{@id.inspect}, object: #{@object.inspect}, live_mode:"\
239
+ " #{@live_mode.inspect}, created_at: #{@created_at.inspect}, updated_at:"\
240
+ " #{@updated_at.inspect}, transaction_line_item_id: #{@transaction_line_item_id.inspect},"\
241
+ " transaction_id: #{@transaction_id.inspect}, status: #{@status.inspect}, lockbox_number:"\
242
+ " #{@lockbox_number.inspect}, deposit_date: #{@deposit_date.inspect}, amount:"\
243
+ " #{@amount.inspect}, currency: #{@currency.inspect}, account_number:"\
244
+ " #{@account_number.inspect}, account_number_safe: #{@account_number_safe.inspect},"\
245
+ " routing_number: #{@routing_number.inspect}, check_number: #{@check_number.inspect},"\
246
+ " remitter_name: #{@remitter_name.inspect}, memo_field: #{@memo_field.inspect}>"
247
+ end
248
+ end
249
+ end
@@ -0,0 +1,106 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # The address associated with the owner or null.
8
+ class PartyAddress < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :line1
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :line2
19
+
20
+ # Locality or City.
21
+ # @return [String]
22
+ attr_accessor :locality
23
+
24
+ # Region or State.
25
+ # @return [String]
26
+ attr_accessor :region
27
+
28
+ # The postal code of the address.
29
+ # @return [String]
30
+ attr_accessor :postal_code
31
+
32
+ # Country code conforms to [ISO 3166-1 alpha-2]
33
+ # @return [String]
34
+ attr_accessor :country
35
+
36
+ # A mapping from model property names to API property names.
37
+ def self.names
38
+ @_hash = {} if @_hash.nil?
39
+ @_hash['line1'] = 'line1'
40
+ @_hash['line2'] = 'line2'
41
+ @_hash['locality'] = 'locality'
42
+ @_hash['region'] = 'region'
43
+ @_hash['postal_code'] = 'postal_code'
44
+ @_hash['country'] = 'country'
45
+ @_hash
46
+ end
47
+
48
+ # An array for optional fields
49
+ def self.optionals
50
+ %w[
51
+ line2
52
+ ]
53
+ end
54
+
55
+ # An array for nullable fields
56
+ def self.nullables
57
+ []
58
+ end
59
+
60
+ def initialize(line1 = nil, locality = nil, region = nil, postal_code = nil,
61
+ country = nil, line2 = SKIP)
62
+ @line1 = line1
63
+ @line2 = line2 unless line2 == SKIP
64
+ @locality = locality
65
+ @region = region
66
+ @postal_code = postal_code
67
+ @country = country
68
+ end
69
+
70
+ # Creates an instance of the object from a hash.
71
+ def self.from_hash(hash)
72
+ return nil unless hash
73
+
74
+ # Extract variables from the hash.
75
+ line1 = hash.key?('line1') ? hash['line1'] : nil
76
+ locality = hash.key?('locality') ? hash['locality'] : nil
77
+ region = hash.key?('region') ? hash['region'] : nil
78
+ postal_code = hash.key?('postal_code') ? hash['postal_code'] : nil
79
+ country = hash.key?('country') ? hash['country'] : nil
80
+ line2 = hash.key?('line2') ? hash['line2'] : SKIP
81
+
82
+ # Create object from extracted values.
83
+ PartyAddress.new(line1,
84
+ locality,
85
+ region,
86
+ postal_code,
87
+ country,
88
+ line2)
89
+ end
90
+
91
+ # Provides a human-readable string representation of the object.
92
+ def to_s
93
+ class_name = self.class.name.split('::').last
94
+ "<#{class_name} line1: #{@line1}, line2: #{@line2}, locality: #{@locality}, region:"\
95
+ " #{@region}, postal_code: #{@postal_code}, country: #{@country}>"
96
+ end
97
+
98
+ # Provides a debugging-friendly string with detailed object information.
99
+ def inspect
100
+ class_name = self.class.name.split('::').last
101
+ "<#{class_name} line1: #{@line1.inspect}, line2: #{@line2.inspect}, locality:"\
102
+ " #{@locality.inspect}, region: #{@region.inspect}, postal_code: #{@postal_code.inspect},"\
103
+ " country: #{@country.inspect}>"
104
+ end
105
+ end
106
+ end
@@ -0,0 +1,36 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # Either individual or business.
8
+ class PartyType5Enum
9
+ PARTY_TYPE5_ENUM = [
10
+ # TODO: Write general description for BUSINESS
11
+ BUSINESS = 'business'.freeze,
12
+
13
+ # TODO: Write general description for INDIVIDUAL
14
+ INDIVIDUAL = 'individual'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ PARTY_TYPE5_ENUM.include?(value)
21
+ end
22
+
23
+ def self.from_value(value, default_value = BUSINESS)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'business' then BUSINESS
30
+ when 'individual' then INDIVIDUAL
31
+ else
32
+ default_value
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,36 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # Either `individual` or `business`.
8
+ class PartyTypeEnum
9
+ PARTY_TYPE_ENUM = [
10
+ # TODO: Write general description for BUSINESS
11
+ BUSINESS = 'business'.freeze,
12
+
13
+ # TODO: Write general description for INDIVIDUAL
14
+ INDIVIDUAL = 'individual'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ PARTY_TYPE_ENUM.include?(value)
21
+ end
22
+
23
+ def self.from_value(value, default_value = BUSINESS)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'business' then BUSINESS
30
+ when 'individual' then INDIVIDUAL
31
+ else
32
+ default_value
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,36 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # payment_direction.
8
+ class PaymentDirectionEnum
9
+ PAYMENT_DIRECTION_ENUM = [
10
+ # TODO: Write general description for CREDIT
11
+ CREDIT = 'credit'.freeze,
12
+
13
+ # TODO: Write general description for DEBIT
14
+ DEBIT = 'debit'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ PAYMENT_DIRECTION_ENUM.include?(value)
21
+ end
22
+
23
+ def self.from_value(value, default_value = CREDIT)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'credit' then CREDIT
30
+ when 'debit' then DEBIT
31
+ else
32
+ default_value
33
+ end
34
+ end
35
+ end
36
+ end