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,251 @@
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
+ # InvoiceUpdateRequest Model.
9
+ class InvoiceUpdateRequest < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The invoicer's contact details displayed at the top of the invoice.
14
+ # @return [Array[ContactDetail]]
15
+ attr_accessor :contact_details
16
+
17
+ # The ID of the counterparty receiving the invoice.
18
+ # @return [String]
19
+ attr_accessor :counterparty_id
20
+
21
+ # The counterparty's billing address.
22
+ # @return [CounterpartyBillingAddress]
23
+ attr_accessor :counterparty_billing_address
24
+
25
+ # The counterparty's shipping address where physical goods should be
26
+ # delivered.
27
+ # @return [CounterpartyShippingAddress]
28
+ attr_accessor :counterparty_shipping_address
29
+
30
+ # Three-letter ISO currency code.
31
+ # @return [CurrencyEnum]
32
+ attr_accessor :currency
33
+
34
+ # A free-form description of the invoice.
35
+ # @return [String]
36
+ attr_accessor :description
37
+
38
+ # A future date by when the invoice needs to be paid.
39
+ # @return [DateTime]
40
+ attr_accessor :due_date
41
+
42
+ # The invoice issuer's business address.
43
+ # @return [InvoicerAddress]
44
+ attr_accessor :invoicer_address
45
+
46
+ # The ID of the internal account the invoice should be paid to.
47
+ # @return [String]
48
+ attr_accessor :originating_account_id
49
+
50
+ # The receiving account ID. Can be an `external_account`.
51
+ # @return [UUID | String]
52
+ attr_accessor :receiving_account_id
53
+
54
+ # Date transactions are to be posted to the participants' account. Defaults
55
+ # to the current business day or the next business day if the current day is
56
+ # a bank holiday or weekend. Format: yyyy-mm-dd.
57
+ # @return [Date]
58
+ attr_accessor :payment_effective_date
59
+
60
+ # One of `ach`, `eft`, `wire`, `check`, `sen`, `book`, `rtp`, `sepa`,
61
+ # `bacs`, `au_becs`, `interac`, `signet`, `provexchange`.
62
+ # @return [PaymentType6Enum]
63
+ attr_accessor :payment_type
64
+
65
+ # The method by which the invoice can be paid. `ui` will show the embedded
66
+ # payment collection flow. `automatic` will automatically initiate payment
67
+ # based upon the account details of the receiving_account id.\nIf the
68
+ # invoice amount is positive, the automatically initiated payment order's
69
+ # direction will be debit. If the invoice amount is negative, the
70
+ # automatically initiated payment order's direction will be credit. One of
71
+ # `manual`, `ui`, or `automatic`.
72
+ # @return [PaymentMethod1Enum]
73
+ attr_accessor :payment_method
74
+
75
+ # Invoice status must be updated in a `PATCH` request that does not modify
76
+ # any other invoice attributes. Valid state transitions are
77
+ # `draft` to `unpaid` and `draft` or `unpaid` to `voided`.
78
+ # @return [String]
79
+ attr_accessor :status
80
+
81
+ # A mapping from model property names to API property names.
82
+ def self.names
83
+ @_hash = {} if @_hash.nil?
84
+ @_hash['contact_details'] = 'contact_details'
85
+ @_hash['counterparty_id'] = 'counterparty_id'
86
+ @_hash['counterparty_billing_address'] = 'counterparty_billing_address'
87
+ @_hash['counterparty_shipping_address'] =
88
+ 'counterparty_shipping_address'
89
+ @_hash['currency'] = 'currency'
90
+ @_hash['description'] = 'description'
91
+ @_hash['due_date'] = 'due_date'
92
+ @_hash['invoicer_address'] = 'invoicer_address'
93
+ @_hash['originating_account_id'] = 'originating_account_id'
94
+ @_hash['receiving_account_id'] = 'receiving_account_id'
95
+ @_hash['payment_effective_date'] = 'payment_effective_date'
96
+ @_hash['payment_type'] = 'payment_type'
97
+ @_hash['payment_method'] = 'payment_method'
98
+ @_hash['status'] = 'status'
99
+ @_hash
100
+ end
101
+
102
+ # An array for optional fields
103
+ def self.optionals
104
+ %w[
105
+ contact_details
106
+ counterparty_id
107
+ counterparty_billing_address
108
+ counterparty_shipping_address
109
+ currency
110
+ description
111
+ due_date
112
+ invoicer_address
113
+ originating_account_id
114
+ receiving_account_id
115
+ payment_effective_date
116
+ payment_type
117
+ payment_method
118
+ status
119
+ ]
120
+ end
121
+
122
+ # An array for nullable fields
123
+ def self.nullables
124
+ %w[
125
+ counterparty_billing_address
126
+ counterparty_shipping_address
127
+ invoicer_address
128
+ ]
129
+ end
130
+
131
+ def initialize(contact_details = SKIP, counterparty_id = SKIP,
132
+ counterparty_billing_address = SKIP,
133
+ counterparty_shipping_address = SKIP, currency = SKIP,
134
+ description = SKIP, due_date = SKIP, invoicer_address = SKIP,
135
+ originating_account_id = SKIP, receiving_account_id = SKIP,
136
+ payment_effective_date = SKIP, payment_type = SKIP,
137
+ payment_method = SKIP, status = SKIP)
138
+ @contact_details = contact_details unless contact_details == SKIP
139
+ @counterparty_id = counterparty_id unless counterparty_id == SKIP
140
+ unless counterparty_billing_address == SKIP
141
+ @counterparty_billing_address =
142
+ counterparty_billing_address
143
+ end
144
+ unless counterparty_shipping_address == SKIP
145
+ @counterparty_shipping_address =
146
+ counterparty_shipping_address
147
+ end
148
+ @currency = currency unless currency == SKIP
149
+ @description = description unless description == SKIP
150
+ @due_date = due_date unless due_date == SKIP
151
+ @invoicer_address = invoicer_address unless invoicer_address == SKIP
152
+ @originating_account_id = originating_account_id unless originating_account_id == SKIP
153
+ @receiving_account_id = receiving_account_id unless receiving_account_id == SKIP
154
+ @payment_effective_date = payment_effective_date unless payment_effective_date == SKIP
155
+ @payment_type = payment_type unless payment_type == SKIP
156
+ @payment_method = payment_method unless payment_method == SKIP
157
+ @status = status unless status == SKIP
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
+ # Parameter is an array, so we need to iterate through it
166
+ contact_details = nil
167
+ unless hash['contact_details'].nil?
168
+ contact_details = []
169
+ hash['contact_details'].each do |structure|
170
+ contact_details << (ContactDetail.from_hash(structure) if structure)
171
+ end
172
+ end
173
+
174
+ contact_details = SKIP unless hash.key?('contact_details')
175
+ counterparty_id =
176
+ hash.key?('counterparty_id') ? hash['counterparty_id'] : SKIP
177
+ if hash['counterparty_billing_address']
178
+ counterparty_billing_address = CounterpartyBillingAddress.from_hash(hash['counterparty_billing_address'])
179
+ end
180
+ if hash['counterparty_shipping_address']
181
+ counterparty_shipping_address = CounterpartyShippingAddress.from_hash(hash['counterparty_shipping_address'])
182
+ end
183
+ currency = hash.key?('currency') ? hash['currency'] : SKIP
184
+ description = hash.key?('description') ? hash['description'] : SKIP
185
+ due_date = if hash.key?('due_date')
186
+ (DateTimeHelper.from_rfc3339(hash['due_date']) if hash['due_date'])
187
+ else
188
+ SKIP
189
+ end
190
+ invoicer_address = InvoicerAddress.from_hash(hash['invoicer_address']) if
191
+ hash['invoicer_address']
192
+ originating_account_id =
193
+ hash.key?('originating_account_id') ? hash['originating_account_id'] : SKIP
194
+ receiving_account_id =
195
+ hash.key?('receiving_account_id') ? hash['receiving_account_id'] : SKIP
196
+ payment_effective_date =
197
+ hash.key?('payment_effective_date') ? hash['payment_effective_date'] : SKIP
198
+ payment_type = hash.key?('payment_type') ? hash['payment_type'] : SKIP
199
+ payment_method =
200
+ hash.key?('payment_method') ? hash['payment_method'] : SKIP
201
+ status = hash.key?('status') ? hash['status'] : SKIP
202
+
203
+ # Create object from extracted values.
204
+ InvoiceUpdateRequest.new(contact_details,
205
+ counterparty_id,
206
+ counterparty_billing_address,
207
+ counterparty_shipping_address,
208
+ currency,
209
+ description,
210
+ due_date,
211
+ invoicer_address,
212
+ originating_account_id,
213
+ receiving_account_id,
214
+ payment_effective_date,
215
+ payment_type,
216
+ payment_method,
217
+ status)
218
+ end
219
+
220
+ def to_custom_due_date
221
+ DateTimeHelper.to_rfc3339(due_date)
222
+ end
223
+
224
+ # Provides a human-readable string representation of the object.
225
+ def to_s
226
+ class_name = self.class.name.split('::').last
227
+ "<#{class_name} contact_details: #{@contact_details}, counterparty_id: #{@counterparty_id},"\
228
+ " counterparty_billing_address: #{@counterparty_billing_address},"\
229
+ " counterparty_shipping_address: #{@counterparty_shipping_address}, currency: #{@currency},"\
230
+ " description: #{@description}, due_date: #{@due_date}, invoicer_address:"\
231
+ " #{@invoicer_address}, originating_account_id: #{@originating_account_id},"\
232
+ " receiving_account_id: #{@receiving_account_id}, payment_effective_date:"\
233
+ " #{@payment_effective_date}, payment_type: #{@payment_type}, payment_method:"\
234
+ " #{@payment_method}, status: #{@status}>"
235
+ end
236
+
237
+ # Provides a debugging-friendly string with detailed object information.
238
+ def inspect
239
+ class_name = self.class.name.split('::').last
240
+ "<#{class_name} contact_details: #{@contact_details.inspect}, counterparty_id:"\
241
+ " #{@counterparty_id.inspect}, counterparty_billing_address:"\
242
+ " #{@counterparty_billing_address.inspect}, counterparty_shipping_address:"\
243
+ " #{@counterparty_shipping_address.inspect}, currency: #{@currency.inspect}, description:"\
244
+ " #{@description.inspect}, due_date: #{@due_date.inspect}, invoicer_address:"\
245
+ " #{@invoicer_address.inspect}, originating_account_id: #{@originating_account_id.inspect},"\
246
+ " receiving_account_id: #{@receiving_account_id.inspect}, payment_effective_date:"\
247
+ " #{@payment_effective_date.inspect}, payment_type: #{@payment_type.inspect},"\
248
+ " payment_method: #{@payment_method.inspect}, status: #{@status.inspect}>"
249
+ end
250
+ end
251
+ 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 invoice issuer's business address.
8
+ class InvoicerAddress < 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
+ InvoicerAddress.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
+ # itemizable_type1.
8
+ class ItemizableType1Enum
9
+ ITEMIZABLE_TYPE1_ENUM = [
10
+ # TODO: Write general description for EXPECTED_PAYMENTS
11
+ EXPECTED_PAYMENTS = 'expected_payments'.freeze,
12
+
13
+ # TODO: Write general description for PAYMENT_ORDERS
14
+ PAYMENT_ORDERS = 'payment_orders'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ ITEMIZABLE_TYPE1_ENUM.include?(value)
21
+ end
22
+
23
+ def self.from_value(value, default_value = EXPECTED_PAYMENTS)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'expected_payments' then EXPECTED_PAYMENTS
30
+ when 'payment_orders' then PAYMENT_ORDERS
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
+ # One of `payment_orders` or `expected_payments`.
8
+ class ItemizableTypeEnum
9
+ ITEMIZABLE_TYPE_ENUM = [
10
+ # TODO: Write general description for EXPECTEDPAYMENT
11
+ EXPECTEDPAYMENT = 'ExpectedPayment'.freeze,
12
+
13
+ # TODO: Write general description for PAYMENTORDER
14
+ PAYMENTORDER = 'PaymentOrder'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ ITEMIZABLE_TYPE_ENUM.include?(value)
21
+ end
22
+
23
+ def self.from_value(value, default_value = EXPECTEDPAYMENT)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'expectedpayment' then EXPECTEDPAYMENT
30
+ when 'paymentorder' then PAYMENTORDER
31
+ else
32
+ default_value
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,158 @@
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
+ # Ledger Model.
9
+ class Ledger < 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 ledger.
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
+ # Additional data represented as key-value pairs. Both the key and value
50
+ # must be strings.
51
+ # @return [Hash[String, String]]
52
+ attr_accessor :metadata
53
+
54
+ # A mapping from model property names to API property names.
55
+ def self.names
56
+ @_hash = {} if @_hash.nil?
57
+ @_hash['id'] = 'id'
58
+ @_hash['object'] = 'object'
59
+ @_hash['live_mode'] = 'live_mode'
60
+ @_hash['created_at'] = 'created_at'
61
+ @_hash['updated_at'] = 'updated_at'
62
+ @_hash['discarded_at'] = 'discarded_at'
63
+ @_hash['name'] = 'name'
64
+ @_hash['description'] = 'description'
65
+ @_hash['metadata'] = 'metadata'
66
+ @_hash
67
+ end
68
+
69
+ # An array for optional fields
70
+ def self.optionals
71
+ []
72
+ end
73
+
74
+ # An array for nullable fields
75
+ def self.nullables
76
+ %w[
77
+ discarded_at
78
+ description
79
+ ]
80
+ end
81
+
82
+ def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
83
+ updated_at = nil, discarded_at = nil, name = nil,
84
+ description = nil, metadata = nil)
85
+ @id = id
86
+ @object = object
87
+ @live_mode = live_mode
88
+ @created_at = created_at
89
+ @updated_at = updated_at
90
+ @discarded_at = discarded_at
91
+ @name = name
92
+ @description = description
93
+ @metadata = metadata
94
+ end
95
+
96
+ # Creates an instance of the object from a hash.
97
+ def self.from_hash(hash)
98
+ return nil unless hash
99
+
100
+ # Extract variables from the hash.
101
+ id = hash.key?('id') ? hash['id'] : nil
102
+ object = hash.key?('object') ? hash['object'] : nil
103
+ live_mode = hash.key?('live_mode') ? hash['live_mode'] : nil
104
+ created_at = if hash.key?('created_at')
105
+ (DateTimeHelper.from_rfc3339(hash['created_at']) if hash['created_at'])
106
+ end
107
+ updated_at = if hash.key?('updated_at')
108
+ (DateTimeHelper.from_rfc3339(hash['updated_at']) if hash['updated_at'])
109
+ end
110
+ discarded_at = if hash.key?('discarded_at')
111
+ (DateTimeHelper.from_rfc3339(hash['discarded_at']) if hash['discarded_at'])
112
+ end
113
+ name = hash.key?('name') ? hash['name'] : nil
114
+ description = hash.key?('description') ? hash['description'] : nil
115
+ metadata = hash.key?('metadata') ? hash['metadata'] : nil
116
+
117
+ # Create object from extracted values.
118
+ Ledger.new(id,
119
+ object,
120
+ live_mode,
121
+ created_at,
122
+ updated_at,
123
+ discarded_at,
124
+ name,
125
+ description,
126
+ metadata)
127
+ end
128
+
129
+ def to_custom_created_at
130
+ DateTimeHelper.to_rfc3339(created_at)
131
+ end
132
+
133
+ def to_custom_updated_at
134
+ DateTimeHelper.to_rfc3339(updated_at)
135
+ end
136
+
137
+ def to_custom_discarded_at
138
+ DateTimeHelper.to_rfc3339(discarded_at)
139
+ end
140
+
141
+ # Provides a human-readable string representation of the object.
142
+ def to_s
143
+ class_name = self.class.name.split('::').last
144
+ "<#{class_name} id: #{@id}, object: #{@object}, live_mode: #{@live_mode}, created_at:"\
145
+ " #{@created_at}, updated_at: #{@updated_at}, discarded_at: #{@discarded_at}, name:"\
146
+ " #{@name}, description: #{@description}, metadata: #{@metadata}>"
147
+ end
148
+
149
+ # Provides a debugging-friendly string with detailed object information.
150
+ def inspect
151
+ class_name = self.class.name.split('::').last
152
+ "<#{class_name} id: #{@id.inspect}, object: #{@object.inspect}, live_mode:"\
153
+ " #{@live_mode.inspect}, created_at: #{@created_at.inspect}, updated_at:"\
154
+ " #{@updated_at.inspect}, discarded_at: #{@discarded_at.inspect}, name: #{@name.inspect},"\
155
+ " description: #{@description.inspect}, metadata: #{@metadata.inspect}>"
156
+ end
157
+ end
158
+ end