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,111 @@
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 `vendor_code` being reported. Can be one of `bai2`, `bankprov`,
8
+ # `bnk_dev`, `cleartouch`, `currencycloud`, `cross_river`, `dc_bank`,
9
+ # `dwolla`, `evolve`, `goldman_sachs`, `iso20022`, `jpmc`, `mx`, `signet`,
10
+ # `silvergate`, `swift`, or `us_bank`.
11
+ class VendorCodeType1Enum
12
+ VENDOR_CODE_TYPE1_ENUM = [
13
+ # TODO: Write general description for BAI2
14
+ BAI2 = 'bai2'.freeze,
15
+
16
+ # TODO: Write general description for BANKPROV
17
+ BANKPROV = 'bankprov'.freeze,
18
+
19
+ # TODO: Write general description for BNK_DEV
20
+ BNK_DEV = 'bnk_dev'.freeze,
21
+
22
+ # TODO: Write general description for CLEARTOUCH
23
+ CLEARTOUCH = 'cleartouch'.freeze,
24
+
25
+ # TODO: Write general description for COLUMN
26
+ COLUMN = 'column'.freeze,
27
+
28
+ # TODO: Write general description for CROSS_RIVER
29
+ CROSS_RIVER = 'cross_river'.freeze,
30
+
31
+ # TODO: Write general description for CURRENCYCLOUD
32
+ CURRENCYCLOUD = 'currencycloud'.freeze,
33
+
34
+ # TODO: Write general description for DC_BANK
35
+ DC_BANK = 'dc_bank'.freeze,
36
+
37
+ # TODO: Write general description for DWOLLA
38
+ DWOLLA = 'dwolla'.freeze,
39
+
40
+ # TODO: Write general description for EVOLVE
41
+ EVOLVE = 'evolve'.freeze,
42
+
43
+ # TODO: Write general description for GOLDMAN_SACHS
44
+ GOLDMAN_SACHS = 'goldman_sachs'.freeze,
45
+
46
+ # TODO: Write general description for ISO20022
47
+ ISO20022 = 'iso20022'.freeze,
48
+
49
+ # TODO: Write general description for JPMC
50
+ JPMC = 'jpmc'.freeze,
51
+
52
+ # TODO: Write general description for MX
53
+ MX = 'mx'.freeze,
54
+
55
+ # TODO: Write general description for PLAID
56
+ PLAID = 'plaid'.freeze,
57
+
58
+ # TODO: Write general description for RSPEC_VENDOR
59
+ RSPEC_VENDOR = 'rspec_vendor'.freeze,
60
+
61
+ # TODO: Write general description for SIGNET
62
+ SIGNET = 'signet'.freeze,
63
+
64
+ # TODO: Write general description for SILVERGATE
65
+ SILVERGATE = 'silvergate'.freeze,
66
+
67
+ # TODO: Write general description for SWIFT
68
+ SWIFT = 'swift'.freeze,
69
+
70
+ # TODO: Write general description for US_BANK
71
+ US_BANK = 'us_bank'.freeze
72
+ ].freeze
73
+
74
+ def self.validate(value)
75
+ return false if value.nil?
76
+
77
+ VENDOR_CODE_TYPE1_ENUM.include?(value)
78
+ end
79
+
80
+ def self.from_value(value, default_value = BAI2)
81
+ return default_value if value.nil?
82
+
83
+ str = value.to_s.strip
84
+
85
+ case str.downcase
86
+ when 'bai2' then BAI2
87
+ when 'bankprov' then BANKPROV
88
+ when 'bnk_dev' then BNK_DEV
89
+ when 'cleartouch' then CLEARTOUCH
90
+ when 'column' then COLUMN
91
+ when 'cross_river' then CROSS_RIVER
92
+ when 'currencycloud' then CURRENCYCLOUD
93
+ when 'dc_bank' then DC_BANK
94
+ when 'dwolla' then DWOLLA
95
+ when 'evolve' then EVOLVE
96
+ when 'goldman_sachs' then GOLDMAN_SACHS
97
+ when 'iso20022' then ISO20022
98
+ when 'jpmc' then JPMC
99
+ when 'mx' then MX
100
+ when 'plaid' then PLAID
101
+ when 'rspec_vendor' then RSPEC_VENDOR
102
+ when 'signet' then SIGNET
103
+ when 'silvergate' then SILVERGATE
104
+ when 'swift' then SWIFT
105
+ when 'us_bank' then US_BANK
106
+ else
107
+ default_value
108
+ end
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,108 @@
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 code used by the bank when reporting this specific balance.
8
+ class VendorCodeTypeEnum
9
+ VENDOR_CODE_TYPE_ENUM = [
10
+ # TODO: Write general description for BAI2
11
+ BAI2 = 'bai2'.freeze,
12
+
13
+ # TODO: Write general description for BANKPROV
14
+ BANKPROV = 'bankprov'.freeze,
15
+
16
+ # TODO: Write general description for BNK_DEV
17
+ BNK_DEV = 'bnk_dev'.freeze,
18
+
19
+ # TODO: Write general description for CLEARTOUCH
20
+ CLEARTOUCH = 'cleartouch'.freeze,
21
+
22
+ # TODO: Write general description for COLUMN
23
+ COLUMN = 'column'.freeze,
24
+
25
+ # TODO: Write general description for CROSS_RIVER
26
+ CROSS_RIVER = 'cross_river'.freeze,
27
+
28
+ # TODO: Write general description for CURRENCYCLOUD
29
+ CURRENCYCLOUD = 'currencycloud'.freeze,
30
+
31
+ # TODO: Write general description for DC_BANK
32
+ DC_BANK = 'dc_bank'.freeze,
33
+
34
+ # TODO: Write general description for DWOLLA
35
+ DWOLLA = 'dwolla'.freeze,
36
+
37
+ # TODO: Write general description for EVOLVE
38
+ EVOLVE = 'evolve'.freeze,
39
+
40
+ # TODO: Write general description for GOLDMAN_SACHS
41
+ GOLDMAN_SACHS = 'goldman_sachs'.freeze,
42
+
43
+ # TODO: Write general description for ISO20022
44
+ ISO20022 = 'iso20022'.freeze,
45
+
46
+ # TODO: Write general description for JPMC
47
+ JPMC = 'jpmc'.freeze,
48
+
49
+ # TODO: Write general description for MX
50
+ MX = 'mx'.freeze,
51
+
52
+ # TODO: Write general description for PLAID
53
+ PLAID = 'plaid'.freeze,
54
+
55
+ # TODO: Write general description for RSPEC_VENDOR
56
+ RSPEC_VENDOR = 'rspec_vendor'.freeze,
57
+
58
+ # TODO: Write general description for SIGNET
59
+ SIGNET = 'signet'.freeze,
60
+
61
+ # TODO: Write general description for SILVERGATE
62
+ SILVERGATE = 'silvergate'.freeze,
63
+
64
+ # TODO: Write general description for SWIFT
65
+ SWIFT = 'swift'.freeze,
66
+
67
+ # TODO: Write general description for US_BANK
68
+ US_BANK = 'us_bank'.freeze
69
+ ].freeze
70
+
71
+ def self.validate(value)
72
+ return false if value.nil?
73
+
74
+ VENDOR_CODE_TYPE_ENUM.include?(value)
75
+ end
76
+
77
+ def self.from_value(value, default_value = BAI2)
78
+ return default_value if value.nil?
79
+
80
+ str = value.to_s.strip
81
+
82
+ case str.downcase
83
+ when 'bai2' then BAI2
84
+ when 'bankprov' then BANKPROV
85
+ when 'bnk_dev' then BNK_DEV
86
+ when 'cleartouch' then CLEARTOUCH
87
+ when 'column' then COLUMN
88
+ when 'cross_river' then CROSS_RIVER
89
+ when 'currencycloud' then CURRENCYCLOUD
90
+ when 'dc_bank' then DC_BANK
91
+ when 'dwolla' then DWOLLA
92
+ when 'evolve' then EVOLVE
93
+ when 'goldman_sachs' then GOLDMAN_SACHS
94
+ when 'iso20022' then ISO20022
95
+ when 'jpmc' then JPMC
96
+ when 'mx' then MX
97
+ when 'plaid' then PLAID
98
+ when 'rspec_vendor' then RSPEC_VENDOR
99
+ when 'signet' then SIGNET
100
+ when 'silvergate' then SILVERGATE
101
+ when 'swift' then SWIFT
102
+ when 'us_bank' then US_BANK
103
+ else
104
+ default_value
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,44 @@
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 verification status of the counterparty.
8
+ class VerificationStatus1Enum
9
+ VERIFICATION_STATUS1_ENUM = [
10
+ # TODO: Write general description for DENIED
11
+ DENIED = 'denied'.freeze,
12
+
13
+ # TODO: Write general description for NEEDS_APPROVAL
14
+ NEEDS_APPROVAL = 'needs_approval'.freeze,
15
+
16
+ # TODO: Write general description for UNVERIFIED
17
+ UNVERIFIED = 'unverified'.freeze,
18
+
19
+ # TODO: Write general description for VERIFIED
20
+ VERIFIED = 'verified'.freeze
21
+ ].freeze
22
+
23
+ def self.validate(value)
24
+ return false if value.nil?
25
+
26
+ VERIFICATION_STATUS1_ENUM.include?(value)
27
+ end
28
+
29
+ def self.from_value(value, default_value = DENIED)
30
+ return default_value if value.nil?
31
+
32
+ str = value.to_s.strip
33
+
34
+ case str.downcase
35
+ when 'denied' then DENIED
36
+ when 'needs_approval' then NEEDS_APPROVAL
37
+ when 'unverified' then UNVERIFIED
38
+ when 'verified' then VERIFIED
39
+ else
40
+ default_value
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,40 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # VerificationStatus.
8
+ class VerificationStatusEnum
9
+ VERIFICATION_STATUS_ENUM = [
10
+ # TODO: Write general description for PENDING_VERIFICATION
11
+ PENDING_VERIFICATION = 'pending_verification'.freeze,
12
+
13
+ # TODO: Write general description for UNVERIFIED
14
+ UNVERIFIED = 'unverified'.freeze,
15
+
16
+ # TODO: Write general description for VERIFIED
17
+ VERIFIED = 'verified'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ VERIFICATION_STATUS_ENUM.include?(value)
24
+ end
25
+
26
+ def self.from_value(value, default_value = PENDING_VERIFICATION)
27
+ return default_value if value.nil?
28
+
29
+ str = value.to_s.strip
30
+
31
+ case str.downcase
32
+ when 'pending_verification' then PENDING_VERIFICATION
33
+ when 'unverified' then UNVERIFIED
34
+ when 'verified' then VERIFIED
35
+ else
36
+ default_value
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,247 @@
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
+ # VirtualAccount Model.
9
+ class VirtualAccount < 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
+ # This field will be true if this object exists in the live environment or
37
+ # false if it exists in the test environment.
38
+ # @return [DateTime]
39
+ attr_accessor :discarded_at
40
+
41
+ # The name of the virtual account.
42
+ # @return [String]
43
+ attr_accessor :name
44
+
45
+ # An optional free-form description for internal use.
46
+ # @return [String]
47
+ attr_accessor :description
48
+
49
+ # The ID of a counterparty that the virtual account belongs to. Optional.
50
+ # @return [UUID | String]
51
+ attr_accessor :counterparty_id
52
+
53
+ # The ID of the internal account that the virtual account is in.
54
+ # @return [UUID | String]
55
+ attr_accessor :internal_account_id
56
+
57
+ # An array of account detail objects.
58
+ # @return [Array[AccountDetail]]
59
+ attr_accessor :account_details
60
+
61
+ # An array of routing detail objects. These will be the routing details of
62
+ # the internal account.
63
+ # @return [Array[RoutingDetail]]
64
+ attr_accessor :routing_details
65
+
66
+ # The ID of a debit normal ledger account. When money enters the virtual
67
+ # account, this ledger account will be debited. Must be accompanied by a
68
+ # credit_ledger_account_id if present.
69
+ # @return [UUID | String]
70
+ attr_accessor :debit_ledger_account_id
71
+
72
+ # The ID of a credit normal ledger account. When money enters the virtual
73
+ # account, this ledger account will be credited. Must be accompanied by a
74
+ # debit_ledger_account_id if present.
75
+ # @return [UUID | String]
76
+ attr_accessor :credit_ledger_account_id
77
+
78
+ # Additional data represented as key-value pairs. Both the key and value
79
+ # must be strings.
80
+ # @return [Hash[String, String]]
81
+ attr_accessor :metadata
82
+
83
+ # A mapping from model property names to API property names.
84
+ def self.names
85
+ @_hash = {} if @_hash.nil?
86
+ @_hash['id'] = 'id'
87
+ @_hash['object'] = 'object'
88
+ @_hash['live_mode'] = 'live_mode'
89
+ @_hash['created_at'] = 'created_at'
90
+ @_hash['updated_at'] = 'updated_at'
91
+ @_hash['discarded_at'] = 'discarded_at'
92
+ @_hash['name'] = 'name'
93
+ @_hash['description'] = 'description'
94
+ @_hash['counterparty_id'] = 'counterparty_id'
95
+ @_hash['internal_account_id'] = 'internal_account_id'
96
+ @_hash['account_details'] = 'account_details'
97
+ @_hash['routing_details'] = 'routing_details'
98
+ @_hash['debit_ledger_account_id'] = 'debit_ledger_account_id'
99
+ @_hash['credit_ledger_account_id'] = 'credit_ledger_account_id'
100
+ @_hash['metadata'] = 'metadata'
101
+ @_hash
102
+ end
103
+
104
+ # An array for optional fields
105
+ def self.optionals
106
+ []
107
+ end
108
+
109
+ # An array for nullable fields
110
+ def self.nullables
111
+ %w[
112
+ discarded_at
113
+ description
114
+ counterparty_id
115
+ debit_ledger_account_id
116
+ credit_ledger_account_id
117
+ ]
118
+ end
119
+
120
+ def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
121
+ updated_at = nil, discarded_at = nil, name = nil,
122
+ description = nil, counterparty_id = nil,
123
+ internal_account_id = nil, account_details = nil,
124
+ routing_details = nil, debit_ledger_account_id = nil,
125
+ credit_ledger_account_id = nil, metadata = nil)
126
+ @id = id
127
+ @object = object
128
+ @live_mode = live_mode
129
+ @created_at = created_at
130
+ @updated_at = updated_at
131
+ @discarded_at = discarded_at
132
+ @name = name
133
+ @description = description
134
+ @counterparty_id = counterparty_id
135
+ @internal_account_id = internal_account_id
136
+ @account_details = account_details
137
+ @routing_details = routing_details
138
+ @debit_ledger_account_id = debit_ledger_account_id
139
+ @credit_ledger_account_id = credit_ledger_account_id
140
+ @metadata = metadata
141
+ end
142
+
143
+ # Creates an instance of the object from a hash.
144
+ def self.from_hash(hash)
145
+ return nil unless hash
146
+
147
+ # Extract variables from the hash.
148
+ id = hash.key?('id') ? hash['id'] : nil
149
+ object = hash.key?('object') ? hash['object'] : nil
150
+ live_mode = hash.key?('live_mode') ? hash['live_mode'] : nil
151
+ created_at = if hash.key?('created_at')
152
+ (DateTimeHelper.from_rfc3339(hash['created_at']) if hash['created_at'])
153
+ end
154
+ updated_at = if hash.key?('updated_at')
155
+ (DateTimeHelper.from_rfc3339(hash['updated_at']) if hash['updated_at'])
156
+ end
157
+ discarded_at = if hash.key?('discarded_at')
158
+ (DateTimeHelper.from_rfc3339(hash['discarded_at']) if hash['discarded_at'])
159
+ end
160
+ name = hash.key?('name') ? hash['name'] : nil
161
+ description = hash.key?('description') ? hash['description'] : nil
162
+ counterparty_id =
163
+ hash.key?('counterparty_id') ? hash['counterparty_id'] : nil
164
+ internal_account_id =
165
+ hash.key?('internal_account_id') ? hash['internal_account_id'] : nil
166
+ # Parameter is an array, so we need to iterate through it
167
+ account_details = nil
168
+ unless hash['account_details'].nil?
169
+ account_details = []
170
+ hash['account_details'].each do |structure|
171
+ account_details << (AccountDetail.from_hash(structure) if structure)
172
+ end
173
+ end
174
+
175
+ account_details = nil unless hash.key?('account_details')
176
+ # Parameter is an array, so we need to iterate through it
177
+ routing_details = nil
178
+ unless hash['routing_details'].nil?
179
+ routing_details = []
180
+ hash['routing_details'].each do |structure|
181
+ routing_details << (RoutingDetail.from_hash(structure) if structure)
182
+ end
183
+ end
184
+
185
+ routing_details = nil unless hash.key?('routing_details')
186
+ debit_ledger_account_id =
187
+ hash.key?('debit_ledger_account_id') ? hash['debit_ledger_account_id'] : nil
188
+ credit_ledger_account_id =
189
+ hash.key?('credit_ledger_account_id') ? hash['credit_ledger_account_id'] : nil
190
+ metadata = hash.key?('metadata') ? hash['metadata'] : nil
191
+
192
+ # Create object from extracted values.
193
+ VirtualAccount.new(id,
194
+ object,
195
+ live_mode,
196
+ created_at,
197
+ updated_at,
198
+ discarded_at,
199
+ name,
200
+ description,
201
+ counterparty_id,
202
+ internal_account_id,
203
+ account_details,
204
+ routing_details,
205
+ debit_ledger_account_id,
206
+ credit_ledger_account_id,
207
+ metadata)
208
+ end
209
+
210
+ def to_custom_created_at
211
+ DateTimeHelper.to_rfc3339(created_at)
212
+ end
213
+
214
+ def to_custom_updated_at
215
+ DateTimeHelper.to_rfc3339(updated_at)
216
+ end
217
+
218
+ def to_custom_discarded_at
219
+ DateTimeHelper.to_rfc3339(discarded_at)
220
+ end
221
+
222
+ # Provides a human-readable string representation of the object.
223
+ def to_s
224
+ class_name = self.class.name.split('::').last
225
+ "<#{class_name} id: #{@id}, object: #{@object}, live_mode: #{@live_mode}, created_at:"\
226
+ " #{@created_at}, updated_at: #{@updated_at}, discarded_at: #{@discarded_at}, name:"\
227
+ " #{@name}, description: #{@description}, counterparty_id: #{@counterparty_id},"\
228
+ " internal_account_id: #{@internal_account_id}, account_details: #{@account_details},"\
229
+ " routing_details: #{@routing_details}, debit_ledger_account_id:"\
230
+ " #{@debit_ledger_account_id}, credit_ledger_account_id: #{@credit_ledger_account_id},"\
231
+ " metadata: #{@metadata}>"
232
+ end
233
+
234
+ # Provides a debugging-friendly string with detailed object information.
235
+ def inspect
236
+ class_name = self.class.name.split('::').last
237
+ "<#{class_name} id: #{@id.inspect}, object: #{@object.inspect}, live_mode:"\
238
+ " #{@live_mode.inspect}, created_at: #{@created_at.inspect}, updated_at:"\
239
+ " #{@updated_at.inspect}, discarded_at: #{@discarded_at.inspect}, name: #{@name.inspect},"\
240
+ " description: #{@description.inspect}, counterparty_id: #{@counterparty_id.inspect},"\
241
+ " internal_account_id: #{@internal_account_id.inspect}, account_details:"\
242
+ " #{@account_details.inspect}, routing_details: #{@routing_details.inspect},"\
243
+ " debit_ledger_account_id: #{@debit_ledger_account_id.inspect}, credit_ledger_account_id:"\
244
+ " #{@credit_ledger_account_id.inspect}, metadata: #{@metadata.inspect}>"
245
+ end
246
+ end
247
+ end