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,175 @@
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
+ # PaymentReference Model.
9
+ class PaymentReference < 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 vendor reference number.
37
+ # @return [String]
38
+ attr_accessor :reference_number
39
+
40
+ # The type of the reference number. Referring to the vendor payment id.
41
+ # @return [ReferenceNumberTypeEnum]
42
+ attr_accessor :reference_number_type
43
+
44
+ # A mapping from model property names to API property names.
45
+ def self.names
46
+ @_hash = {} if @_hash.nil?
47
+ @_hash['id'] = 'id'
48
+ @_hash['object'] = 'object'
49
+ @_hash['live_mode'] = 'live_mode'
50
+ @_hash['created_at'] = 'created_at'
51
+ @_hash['updated_at'] = 'updated_at'
52
+ @_hash['reference_number'] = 'reference_number'
53
+ @_hash['reference_number_type'] = 'reference_number_type'
54
+ @_hash
55
+ end
56
+
57
+ # An array for optional fields
58
+ def self.optionals
59
+ []
60
+ end
61
+
62
+ # An array for nullable fields
63
+ def self.nullables
64
+ []
65
+ end
66
+
67
+ def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
68
+ updated_at = nil, reference_number = nil,
69
+ reference_number_type = nil)
70
+ @id = id
71
+ @object = object
72
+ @live_mode = live_mode
73
+ @created_at = created_at
74
+ @updated_at = updated_at
75
+ @reference_number = reference_number
76
+ @reference_number_type = reference_number_type
77
+ end
78
+
79
+ # Creates an instance of the object from a hash.
80
+ def self.from_hash(hash)
81
+ return nil unless hash
82
+
83
+ # Extract variables from the hash.
84
+ id = hash.key?('id') ? hash['id'] : nil
85
+ object = hash.key?('object') ? hash['object'] : nil
86
+ live_mode = hash.key?('live_mode') ? hash['live_mode'] : nil
87
+ created_at = if hash.key?('created_at')
88
+ (DateTimeHelper.from_rfc3339(hash['created_at']) if hash['created_at'])
89
+ end
90
+ updated_at = if hash.key?('updated_at')
91
+ (DateTimeHelper.from_rfc3339(hash['updated_at']) if hash['updated_at'])
92
+ end
93
+ reference_number =
94
+ hash.key?('reference_number') ? hash['reference_number'] : nil
95
+ reference_number_type =
96
+ hash.key?('reference_number_type') ? hash['reference_number_type'] : nil
97
+
98
+ # Create object from extracted values.
99
+ PaymentReference.new(id,
100
+ object,
101
+ live_mode,
102
+ created_at,
103
+ updated_at,
104
+ reference_number,
105
+ reference_number_type)
106
+ end
107
+
108
+ def to_custom_created_at
109
+ DateTimeHelper.to_rfc3339(created_at)
110
+ end
111
+
112
+ def to_custom_updated_at
113
+ DateTimeHelper.to_rfc3339(updated_at)
114
+ end
115
+
116
+ # Validates an instance of the object from a given value.
117
+ # @param [PaymentReference | Hash] The value against the validation is performed.
118
+ def self.validate(value)
119
+ if value.instance_of? self
120
+ return (
121
+ APIHelper.valid_type?(value.id,
122
+ ->(val) { val.instance_of? String }) and
123
+ APIHelper.valid_type?(value.object,
124
+ ->(val) { val.instance_of? String }) and
125
+ APIHelper.valid_type?(value.live_mode,
126
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
127
+ APIHelper.valid_type?(value.created_at,
128
+ ->(val) { val.instance_of? DateTime }) and
129
+ APIHelper.valid_type?(value.updated_at,
130
+ ->(val) { val.instance_of? DateTime }) and
131
+ APIHelper.valid_type?(value.reference_number,
132
+ ->(val) { val.instance_of? String }) and
133
+ APIHelper.valid_type?(value.reference_number_type,
134
+ ->(val) { ReferenceNumberTypeEnum.validate(val) })
135
+ )
136
+ end
137
+
138
+ return false unless value.instance_of? Hash
139
+
140
+ (
141
+ APIHelper.valid_type?(value['id'],
142
+ ->(val) { val.instance_of? String }) and
143
+ APIHelper.valid_type?(value['object'],
144
+ ->(val) { val.instance_of? String }) and
145
+ APIHelper.valid_type?(value['live_mode'],
146
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
147
+ APIHelper.valid_type?(value['created_at'],
148
+ ->(val) { val.instance_of? String }) and
149
+ APIHelper.valid_type?(value['updated_at'],
150
+ ->(val) { val.instance_of? String }) and
151
+ APIHelper.valid_type?(value['reference_number'],
152
+ ->(val) { val.instance_of? String }) and
153
+ APIHelper.valid_type?(value['reference_number_type'],
154
+ ->(val) { ReferenceNumberTypeEnum.validate(val) })
155
+ )
156
+ end
157
+
158
+ # Provides a human-readable string representation of the object.
159
+ def to_s
160
+ class_name = self.class.name.split('::').last
161
+ "<#{class_name} id: #{@id}, object: #{@object}, live_mode: #{@live_mode}, created_at:"\
162
+ " #{@created_at}, updated_at: #{@updated_at}, reference_number: #{@reference_number},"\
163
+ " reference_number_type: #{@reference_number_type}>"
164
+ end
165
+
166
+ # Provides a debugging-friendly string with detailed object information.
167
+ def inspect
168
+ class_name = self.class.name.split('::').last
169
+ "<#{class_name} id: #{@id.inspect}, object: #{@object.inspect}, live_mode:"\
170
+ " #{@live_mode.inspect}, created_at: #{@created_at.inspect}, updated_at:"\
171
+ " #{@updated_at.inspect}, reference_number: #{@reference_number.inspect},"\
172
+ " reference_number_type: #{@reference_number_type.inspect}>"
173
+ end
174
+ end
175
+ end
@@ -0,0 +1,156 @@
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
+ # PaymentReferenceObject Model.
9
+ class PaymentReferenceObject < 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 referenceable to search for. Must be accompanied by the
37
+ # referenceable_type or will return an error.
38
+ # @return [String]
39
+ attr_accessor :referenceable_id
40
+
41
+ # One of the referenceable types. This must be accompanied by the id of the
42
+ # referenceable or will return an error.
43
+ # @return [ReferenceableTypeEnum]
44
+ attr_accessor :referenceable_type
45
+
46
+ # The actual reference number assigned by the bank.
47
+ # @return [String]
48
+ attr_accessor :reference_number
49
+
50
+ # The type of reference number.
51
+ # @return [ReferenceNumberType1Enum]
52
+ attr_accessor :reference_number_type
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['referenceable_id'] = 'referenceable_id'
63
+ @_hash['referenceable_type'] = 'referenceable_type'
64
+ @_hash['reference_number'] = 'reference_number'
65
+ @_hash['reference_number_type'] = 'reference_number_type'
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
+ []
77
+ end
78
+
79
+ def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
80
+ updated_at = nil, referenceable_id = nil,
81
+ referenceable_type = nil, reference_number = nil,
82
+ reference_number_type = nil)
83
+ @id = id
84
+ @object = object
85
+ @live_mode = live_mode
86
+ @created_at = created_at
87
+ @updated_at = updated_at
88
+ @referenceable_id = referenceable_id
89
+ @referenceable_type = referenceable_type
90
+ @reference_number = reference_number
91
+ @reference_number_type = reference_number_type
92
+ end
93
+
94
+ # Creates an instance of the object from a hash.
95
+ def self.from_hash(hash)
96
+ return nil unless hash
97
+
98
+ # Extract variables from the hash.
99
+ id = hash.key?('id') ? hash['id'] : nil
100
+ object = hash.key?('object') ? hash['object'] : nil
101
+ live_mode = hash.key?('live_mode') ? hash['live_mode'] : nil
102
+ created_at = if hash.key?('created_at')
103
+ (DateTimeHelper.from_rfc3339(hash['created_at']) if hash['created_at'])
104
+ end
105
+ updated_at = if hash.key?('updated_at')
106
+ (DateTimeHelper.from_rfc3339(hash['updated_at']) if hash['updated_at'])
107
+ end
108
+ referenceable_id =
109
+ hash.key?('referenceable_id') ? hash['referenceable_id'] : nil
110
+ referenceable_type =
111
+ hash.key?('referenceable_type') ? hash['referenceable_type'] : nil
112
+ reference_number =
113
+ hash.key?('reference_number') ? hash['reference_number'] : nil
114
+ reference_number_type =
115
+ hash.key?('reference_number_type') ? hash['reference_number_type'] : nil
116
+
117
+ # Create object from extracted values.
118
+ PaymentReferenceObject.new(id,
119
+ object,
120
+ live_mode,
121
+ created_at,
122
+ updated_at,
123
+ referenceable_id,
124
+ referenceable_type,
125
+ reference_number,
126
+ reference_number_type)
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
+ # Provides a human-readable string representation of the object.
138
+ def to_s
139
+ class_name = self.class.name.split('::').last
140
+ "<#{class_name} id: #{@id}, object: #{@object}, live_mode: #{@live_mode}, created_at:"\
141
+ " #{@created_at}, updated_at: #{@updated_at}, referenceable_id: #{@referenceable_id},"\
142
+ " referenceable_type: #{@referenceable_type}, reference_number: #{@reference_number},"\
143
+ " reference_number_type: #{@reference_number_type}>"
144
+ end
145
+
146
+ # Provides a debugging-friendly string with detailed object information.
147
+ def inspect
148
+ class_name = self.class.name.split('::').last
149
+ "<#{class_name} id: #{@id.inspect}, object: #{@object.inspect}, live_mode:"\
150
+ " #{@live_mode.inspect}, created_at: #{@created_at.inspect}, updated_at:"\
151
+ " #{@updated_at.inspect}, referenceable_id: #{@referenceable_id.inspect},"\
152
+ " referenceable_type: #{@referenceable_type.inspect}, reference_number:"\
153
+ " #{@reference_number.inspect}, reference_number_type: #{@reference_number_type.inspect}>"
154
+ end
155
+ end
156
+ end
@@ -0,0 +1,96 @@
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_type13.
8
+ class PaymentType13Enum
9
+ PAYMENT_TYPE13_ENUM = [
10
+ # TODO: Write general description for ACH
11
+ ACH = 'ach'.freeze,
12
+
13
+ # TODO: Write general description for AU_BECS
14
+ AU_BECS = 'au_becs'.freeze,
15
+
16
+ # TODO: Write general description for BACS
17
+ BACS = 'bacs'.freeze,
18
+
19
+ # TODO: Write general description for BOOK
20
+ BOOK = 'book'.freeze,
21
+
22
+ # TODO: Write general description for CARD
23
+ CARD = 'card'.freeze,
24
+
25
+ # TODO: Write general description for CHECK
26
+ CHECK = 'check'.freeze,
27
+
28
+ # TODO: Write general description for CROSS_BORDER
29
+ CROSS_BORDER = 'cross_border'.freeze,
30
+
31
+ # TODO: Write general description for EFT
32
+ EFT = 'eft'.freeze,
33
+
34
+ # TODO: Write general description for INTERAC
35
+ INTERAC = 'interac'.freeze,
36
+
37
+ # TODO: Write general description for MASAV
38
+ MASAV = 'masav'.freeze,
39
+
40
+ # TODO: Write general description for NEFT
41
+ NEFT = 'neft'.freeze,
42
+
43
+ # TODO: Write general description for PROVXCHANGE
44
+ PROVXCHANGE = 'provxchange'.freeze,
45
+
46
+ # TODO: Write general description for RTP
47
+ RTP = 'rtp'.freeze,
48
+
49
+ # TODO: Write general description for SEN
50
+ SEN = 'sen'.freeze,
51
+
52
+ # TODO: Write general description for SEPA
53
+ SEPA = 'sepa'.freeze,
54
+
55
+ # TODO: Write general description for SIGNET
56
+ SIGNET = 'signet'.freeze,
57
+
58
+ # TODO: Write general description for WIRE
59
+ WIRE = 'wire'.freeze
60
+ ].freeze
61
+
62
+ def self.validate(value)
63
+ return false if value.nil?
64
+
65
+ PAYMENT_TYPE13_ENUM.include?(value)
66
+ end
67
+
68
+ def self.from_value(value, default_value = ACH)
69
+ return default_value if value.nil?
70
+
71
+ str = value.to_s.strip
72
+
73
+ case str.downcase
74
+ when 'ach' then ACH
75
+ when 'au_becs' then AU_BECS
76
+ when 'bacs' then BACS
77
+ when 'book' then BOOK
78
+ when 'card' then CARD
79
+ when 'check' then CHECK
80
+ when 'cross_border' then CROSS_BORDER
81
+ when 'eft' then EFT
82
+ when 'interac' then INTERAC
83
+ when 'masav' then MASAV
84
+ when 'neft' then NEFT
85
+ when 'provxchange' then PROVXCHANGE
86
+ when 'rtp' then RTP
87
+ when 'sen' then SEN
88
+ when 'sepa' then SEPA
89
+ when 'signet' then SIGNET
90
+ when 'wire' then WIRE
91
+ else
92
+ default_value
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,97 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # If the routing detail is to be used for a specific payment type this field
8
+ # will be populated, otherwise null.
9
+ class PaymentType1Enum
10
+ PAYMENT_TYPE1_ENUM = [
11
+ # TODO: Write general description for ACH
12
+ ACH = 'ach'.freeze,
13
+
14
+ # TODO: Write general description for AU_BECS
15
+ AU_BECS = 'au_becs'.freeze,
16
+
17
+ # TODO: Write general description for BACS
18
+ BACS = 'bacs'.freeze,
19
+
20
+ # TODO: Write general description for BOOK
21
+ BOOK = 'book'.freeze,
22
+
23
+ # TODO: Write general description for CARD
24
+ CARD = 'card'.freeze,
25
+
26
+ # TODO: Write general description for CHECK
27
+ CHECK = 'check'.freeze,
28
+
29
+ # TODO: Write general description for CROSS_BORDER
30
+ CROSS_BORDER = 'cross_border'.freeze,
31
+
32
+ # TODO: Write general description for EFT
33
+ EFT = 'eft'.freeze,
34
+
35
+ # TODO: Write general description for INTERAC
36
+ INTERAC = 'interac'.freeze,
37
+
38
+ # TODO: Write general description for MASAV
39
+ MASAV = 'masav'.freeze,
40
+
41
+ # TODO: Write general description for NEFT
42
+ NEFT = 'neft'.freeze,
43
+
44
+ # TODO: Write general description for PROVXCHANGE
45
+ PROVXCHANGE = 'provxchange'.freeze,
46
+
47
+ # TODO: Write general description for RTP
48
+ RTP = 'rtp'.freeze,
49
+
50
+ # TODO: Write general description for SEN
51
+ SEN = 'sen'.freeze,
52
+
53
+ # TODO: Write general description for SEPA
54
+ SEPA = 'sepa'.freeze,
55
+
56
+ # TODO: Write general description for SIGNET
57
+ SIGNET = 'signet'.freeze,
58
+
59
+ # TODO: Write general description for WIRE
60
+ WIRE = 'wire'.freeze
61
+ ].freeze
62
+
63
+ def self.validate(value)
64
+ return false if value.nil?
65
+
66
+ PAYMENT_TYPE1_ENUM.include?(value)
67
+ end
68
+
69
+ def self.from_value(value, default_value = ACH)
70
+ return default_value if value.nil?
71
+
72
+ str = value.to_s.strip
73
+
74
+ case str.downcase
75
+ when 'ach' then ACH
76
+ when 'au_becs' then AU_BECS
77
+ when 'bacs' then BACS
78
+ when 'book' then BOOK
79
+ when 'card' then CARD
80
+ when 'check' then CHECK
81
+ when 'cross_border' then CROSS_BORDER
82
+ when 'eft' then EFT
83
+ when 'interac' then INTERAC
84
+ when 'masav' then MASAV
85
+ when 'neft' then NEFT
86
+ when 'provxchange' then PROVXCHANGE
87
+ when 'rtp' then RTP
88
+ when 'sen' then SEN
89
+ when 'sepa' then SEPA
90
+ when 'signet' then SIGNET
91
+ when 'wire' then WIRE
92
+ else
93
+ default_value
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,96 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # PaymentType2.
8
+ class PaymentType2Enum
9
+ PAYMENT_TYPE2_ENUM = [
10
+ # TODO: Write general description for ACH
11
+ ACH = 'ach'.freeze,
12
+
13
+ # TODO: Write general description for AU_BECS
14
+ AU_BECS = 'au_becs'.freeze,
15
+
16
+ # TODO: Write general description for BACS
17
+ BACS = 'bacs'.freeze,
18
+
19
+ # TODO: Write general description for BOOK
20
+ BOOK = 'book'.freeze,
21
+
22
+ # TODO: Write general description for CARD
23
+ CARD = 'card'.freeze,
24
+
25
+ # TODO: Write general description for CHECK
26
+ CHECK = 'check'.freeze,
27
+
28
+ # TODO: Write general description for EFT
29
+ EFT = 'eft'.freeze,
30
+
31
+ # TODO: Write general description for CROSS_BORDER
32
+ CROSS_BORDER = 'cross_border'.freeze,
33
+
34
+ # TODO: Write general description for INTERAC
35
+ INTERAC = 'interac'.freeze,
36
+
37
+ # TODO: Write general description for MASAV
38
+ MASAV = 'masav'.freeze,
39
+
40
+ # TODO: Write general description for NEFT
41
+ NEFT = 'neft'.freeze,
42
+
43
+ # TODO: Write general description for PROVXCHANGE
44
+ PROVXCHANGE = 'provxchange'.freeze,
45
+
46
+ # TODO: Write general description for RTP
47
+ RTP = 'rtp'.freeze,
48
+
49
+ # TODO: Write general description for SEN
50
+ SEN = 'sen'.freeze,
51
+
52
+ # TODO: Write general description for SEPA
53
+ SEPA = 'sepa'.freeze,
54
+
55
+ # TODO: Write general description for SIGNET
56
+ SIGNET = 'signet'.freeze,
57
+
58
+ # TODO: Write general description for WIRE
59
+ WIRE = 'wire'.freeze
60
+ ].freeze
61
+
62
+ def self.validate(value)
63
+ return false if value.nil?
64
+
65
+ PAYMENT_TYPE2_ENUM.include?(value)
66
+ end
67
+
68
+ def self.from_value(value, default_value = ACH)
69
+ return default_value if value.nil?
70
+
71
+ str = value.to_s.strip
72
+
73
+ case str.downcase
74
+ when 'ach' then ACH
75
+ when 'au_becs' then AU_BECS
76
+ when 'bacs' then BACS
77
+ when 'book' then BOOK
78
+ when 'card' then CARD
79
+ when 'check' then CHECK
80
+ when 'eft' then EFT
81
+ when 'cross_border' then CROSS_BORDER
82
+ when 'interac' then INTERAC
83
+ when 'masav' then MASAV
84
+ when 'neft' then NEFT
85
+ when 'provxchange' then PROVXCHANGE
86
+ when 'rtp' then RTP
87
+ when 'sen' then SEN
88
+ when 'sepa' then SEPA
89
+ when 'signet' then SIGNET
90
+ when 'wire' then WIRE
91
+ else
92
+ default_value
93
+ end
94
+ end
95
+ end
96
+ end