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,242 @@
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
+ # RoutingDetail Model.
9
+ class RoutingDetail < 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 routing number of the bank.
42
+ # @return [String]
43
+ attr_accessor :routing_number
44
+
45
+ # One of `aba`, `swift`, `ca_cpa`, `au_bsb`, `gb_sort_code`, `in_ifsc`,
46
+ # `cnaps`.
47
+ # @return [RoutingNumberTypeEnum]
48
+ attr_accessor :routing_number_type
49
+
50
+ # If the routing detail is to be used for a specific payment type this field
51
+ # will be populated, otherwise null.
52
+ # @return [PaymentType1Enum]
53
+ attr_accessor :payment_type
54
+
55
+ # The name of the bank.
56
+ # @return [String]
57
+ attr_accessor :bank_name
58
+
59
+ # The name of the bank.
60
+ # @return [Address]
61
+ attr_accessor :bank_address
62
+
63
+ # A mapping from model property names to API property names.
64
+ def self.names
65
+ @_hash = {} if @_hash.nil?
66
+ @_hash['id'] = 'id'
67
+ @_hash['object'] = 'object'
68
+ @_hash['live_mode'] = 'live_mode'
69
+ @_hash['created_at'] = 'created_at'
70
+ @_hash['updated_at'] = 'updated_at'
71
+ @_hash['discarded_at'] = 'discarded_at'
72
+ @_hash['routing_number'] = 'routing_number'
73
+ @_hash['routing_number_type'] = 'routing_number_type'
74
+ @_hash['payment_type'] = 'payment_type'
75
+ @_hash['bank_name'] = 'bank_name'
76
+ @_hash['bank_address'] = 'bank_address'
77
+ @_hash
78
+ end
79
+
80
+ # An array for optional fields
81
+ def self.optionals
82
+ []
83
+ end
84
+
85
+ # An array for nullable fields
86
+ def self.nullables
87
+ %w[
88
+ discarded_at
89
+ payment_type
90
+ bank_address
91
+ ]
92
+ end
93
+
94
+ def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
95
+ updated_at = nil, discarded_at = nil, routing_number = nil,
96
+ routing_number_type = nil, payment_type = nil,
97
+ bank_name = nil, bank_address = nil)
98
+ @id = id
99
+ @object = object
100
+ @live_mode = live_mode
101
+ @created_at = created_at
102
+ @updated_at = updated_at
103
+ @discarded_at = discarded_at
104
+ @routing_number = routing_number
105
+ @routing_number_type = routing_number_type
106
+ @payment_type = payment_type
107
+ @bank_name = bank_name
108
+ @bank_address = bank_address
109
+ end
110
+
111
+ # Creates an instance of the object from a hash.
112
+ def self.from_hash(hash)
113
+ return nil unless hash
114
+
115
+ # Extract variables from the hash.
116
+ id = hash.key?('id') ? hash['id'] : nil
117
+ object = hash.key?('object') ? hash['object'] : nil
118
+ live_mode = hash.key?('live_mode') ? hash['live_mode'] : nil
119
+ created_at = if hash.key?('created_at')
120
+ (DateTimeHelper.from_rfc3339(hash['created_at']) if hash['created_at'])
121
+ end
122
+ updated_at = if hash.key?('updated_at')
123
+ (DateTimeHelper.from_rfc3339(hash['updated_at']) if hash['updated_at'])
124
+ end
125
+ discarded_at = if hash.key?('discarded_at')
126
+ (DateTimeHelper.from_rfc3339(hash['discarded_at']) if hash['discarded_at'])
127
+ end
128
+ routing_number =
129
+ hash.key?('routing_number') ? hash['routing_number'] : nil
130
+ routing_number_type =
131
+ hash.key?('routing_number_type') ? hash['routing_number_type'] : nil
132
+ payment_type = hash.key?('payment_type') ? hash['payment_type'] : nil
133
+ bank_name = hash.key?('bank_name') ? hash['bank_name'] : nil
134
+ bank_address = Address.from_hash(hash['bank_address']) if hash['bank_address']
135
+
136
+ # Create object from extracted values.
137
+ RoutingDetail.new(id,
138
+ object,
139
+ live_mode,
140
+ created_at,
141
+ updated_at,
142
+ discarded_at,
143
+ routing_number,
144
+ routing_number_type,
145
+ payment_type,
146
+ bank_name,
147
+ bank_address)
148
+ end
149
+
150
+ def to_custom_created_at
151
+ DateTimeHelper.to_rfc3339(created_at)
152
+ end
153
+
154
+ def to_custom_updated_at
155
+ DateTimeHelper.to_rfc3339(updated_at)
156
+ end
157
+
158
+ def to_custom_discarded_at
159
+ DateTimeHelper.to_rfc3339(discarded_at)
160
+ end
161
+
162
+ # Validates an instance of the object from a given value.
163
+ # @param [RoutingDetail | Hash] The value against the validation is performed.
164
+ def self.validate(value)
165
+ if value.instance_of? self
166
+ return (
167
+ APIHelper.valid_type?(value.id,
168
+ ->(val) { val.instance_of? String }) and
169
+ APIHelper.valid_type?(value.object,
170
+ ->(val) { val.instance_of? String }) and
171
+ APIHelper.valid_type?(value.live_mode,
172
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
173
+ APIHelper.valid_type?(value.created_at,
174
+ ->(val) { val.instance_of? DateTime }) and
175
+ APIHelper.valid_type?(value.updated_at,
176
+ ->(val) { val.instance_of? DateTime }) and
177
+ APIHelper.valid_type?(value.discarded_at,
178
+ ->(val) { val.instance_of? DateTime }) and
179
+ APIHelper.valid_type?(value.routing_number,
180
+ ->(val) { val.instance_of? String }) and
181
+ APIHelper.valid_type?(value.routing_number_type,
182
+ ->(val) { RoutingNumberTypeEnum.validate(val) }) and
183
+ APIHelper.valid_type?(value.payment_type,
184
+ ->(val) { PaymentType1Enum.validate(val) }) and
185
+ APIHelper.valid_type?(value.bank_name,
186
+ ->(val) { val.instance_of? String }) and
187
+ APIHelper.valid_type?(value.bank_address,
188
+ ->(val) { Address.validate(val) },
189
+ is_model_hash: true)
190
+ )
191
+ end
192
+
193
+ return false unless value.instance_of? Hash
194
+
195
+ (
196
+ APIHelper.valid_type?(value['id'],
197
+ ->(val) { val.instance_of? String }) and
198
+ APIHelper.valid_type?(value['object'],
199
+ ->(val) { val.instance_of? String }) and
200
+ APIHelper.valid_type?(value['live_mode'],
201
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
202
+ APIHelper.valid_type?(value['created_at'],
203
+ ->(val) { val.instance_of? String }) and
204
+ APIHelper.valid_type?(value['updated_at'],
205
+ ->(val) { val.instance_of? String }) and
206
+ APIHelper.valid_type?(value['discarded_at'],
207
+ ->(val) { val.instance_of? String }) and
208
+ APIHelper.valid_type?(value['routing_number'],
209
+ ->(val) { val.instance_of? String }) and
210
+ APIHelper.valid_type?(value['routing_number_type'],
211
+ ->(val) { RoutingNumberTypeEnum.validate(val) }) and
212
+ APIHelper.valid_type?(value['payment_type'],
213
+ ->(val) { PaymentType1Enum.validate(val) }) and
214
+ APIHelper.valid_type?(value['bank_name'],
215
+ ->(val) { val.instance_of? String }) and
216
+ APIHelper.valid_type?(value['bank_address'],
217
+ ->(val) { Address.validate(val) },
218
+ is_model_hash: true)
219
+ )
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},"\
227
+ " routing_number: #{@routing_number}, routing_number_type: #{@routing_number_type},"\
228
+ " payment_type: #{@payment_type}, bank_name: #{@bank_name}, bank_address: #{@bank_address}>"
229
+ end
230
+
231
+ # Provides a debugging-friendly string with detailed object information.
232
+ def inspect
233
+ class_name = self.class.name.split('::').last
234
+ "<#{class_name} id: #{@id.inspect}, object: #{@object.inspect}, live_mode:"\
235
+ " #{@live_mode.inspect}, created_at: #{@created_at.inspect}, updated_at:"\
236
+ " #{@updated_at.inspect}, discarded_at: #{@discarded_at.inspect}, routing_number:"\
237
+ " #{@routing_number.inspect}, routing_number_type: #{@routing_number_type.inspect},"\
238
+ " payment_type: #{@payment_type.inspect}, bank_name: #{@bank_name.inspect}, bank_address:"\
239
+ " #{@bank_address.inspect}>"
240
+ end
241
+ end
242
+ end
@@ -0,0 +1,83 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # RoutingDetail1 Model.
8
+ class RoutingDetail1 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :routing_number
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [RoutingNumberType1Enum]
18
+ attr_accessor :routing_number_type
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [PaymentType2Enum]
22
+ attr_accessor :payment_type
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['routing_number'] = 'routing_number'
28
+ @_hash['routing_number_type'] = 'routing_number_type'
29
+ @_hash['payment_type'] = 'payment_type'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ payment_type
37
+ ]
38
+ end
39
+
40
+ # An array for nullable fields
41
+ def self.nullables
42
+ []
43
+ end
44
+
45
+ def initialize(routing_number = nil, routing_number_type = nil,
46
+ payment_type = SKIP)
47
+ @routing_number = routing_number
48
+ @routing_number_type = routing_number_type
49
+ @payment_type = payment_type unless payment_type == SKIP
50
+ end
51
+
52
+ # Creates an instance of the object from a hash.
53
+ def self.from_hash(hash)
54
+ return nil unless hash
55
+
56
+ # Extract variables from the hash.
57
+ routing_number =
58
+ hash.key?('routing_number') ? hash['routing_number'] : nil
59
+ routing_number_type =
60
+ hash.key?('routing_number_type') ? hash['routing_number_type'] : nil
61
+ payment_type = hash.key?('payment_type') ? hash['payment_type'] : SKIP
62
+
63
+ # Create object from extracted values.
64
+ RoutingDetail1.new(routing_number,
65
+ routing_number_type,
66
+ payment_type)
67
+ end
68
+
69
+ # Provides a human-readable string representation of the object.
70
+ def to_s
71
+ class_name = self.class.name.split('::').last
72
+ "<#{class_name} routing_number: #{@routing_number}, routing_number_type:"\
73
+ " #{@routing_number_type}, payment_type: #{@payment_type}>"
74
+ end
75
+
76
+ # Provides a debugging-friendly string with detailed object information.
77
+ def inspect
78
+ class_name = self.class.name.split('::').last
79
+ "<#{class_name} routing_number: #{@routing_number.inspect}, routing_number_type:"\
80
+ " #{@routing_number_type.inspect}, payment_type: #{@payment_type.inspect}>"
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,87 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # RoutingDetailCreateRequest Model.
8
+ class RoutingDetailCreateRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The routing number of the bank.
13
+ # @return [String]
14
+ attr_accessor :routing_number
15
+
16
+ # One of `aba`, `swift`, `ca_cpa`, `au_bsb`, `gb_sort_code`, `in_ifsc`,
17
+ # `cnaps`.
18
+ # @return [RoutingNumberTypeEnum]
19
+ attr_accessor :routing_number_type
20
+
21
+ # If the routing detail is to be used for a specific payment type this field
22
+ # will be populated, otherwise null.
23
+ # @return [PaymentType1Enum]
24
+ attr_accessor :payment_type
25
+
26
+ # A mapping from model property names to API property names.
27
+ def self.names
28
+ @_hash = {} if @_hash.nil?
29
+ @_hash['routing_number'] = 'routing_number'
30
+ @_hash['routing_number_type'] = 'routing_number_type'
31
+ @_hash['payment_type'] = 'payment_type'
32
+ @_hash
33
+ end
34
+
35
+ # An array for optional fields
36
+ def self.optionals
37
+ %w[
38
+ payment_type
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ %w[
45
+ payment_type
46
+ ]
47
+ end
48
+
49
+ def initialize(routing_number = nil, routing_number_type = nil,
50
+ payment_type = SKIP)
51
+ @routing_number = routing_number
52
+ @routing_number_type = routing_number_type
53
+ @payment_type = payment_type unless payment_type == SKIP
54
+ end
55
+
56
+ # Creates an instance of the object from a hash.
57
+ def self.from_hash(hash)
58
+ return nil unless hash
59
+
60
+ # Extract variables from the hash.
61
+ routing_number =
62
+ hash.key?('routing_number') ? hash['routing_number'] : nil
63
+ routing_number_type =
64
+ hash.key?('routing_number_type') ? hash['routing_number_type'] : nil
65
+ payment_type = hash.key?('payment_type') ? hash['payment_type'] : SKIP
66
+
67
+ # Create object from extracted values.
68
+ RoutingDetailCreateRequest.new(routing_number,
69
+ routing_number_type,
70
+ payment_type)
71
+ end
72
+
73
+ # Provides a human-readable string representation of the object.
74
+ def to_s
75
+ class_name = self.class.name.split('::').last
76
+ "<#{class_name} routing_number: #{@routing_number}, routing_number_type:"\
77
+ " #{@routing_number_type}, payment_type: #{@payment_type}>"
78
+ end
79
+
80
+ # Provides a debugging-friendly string with detailed object information.
81
+ def inspect
82
+ class_name = self.class.name.split('::').last
83
+ "<#{class_name} routing_number: #{@routing_number.inspect}, routing_number_type:"\
84
+ " #{@routing_number_type.inspect}, payment_type: #{@payment_type.inspect}>"
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,124 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # RoutingNumberLookupRequest Model.
8
+ class RoutingNumberLookupRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The routing number of the bank.
13
+ # @return [String]
14
+ attr_accessor :routing_number
15
+
16
+ # One of `aba`, `au_bsb`, `br_codigo`, `ca_cpa`, `cnaps`, `gb_sort_code`,
17
+ # `in_ifsc`, `my_branch_code`, or `swift`. In sandbox mode we currently only
18
+ # support `aba` and `swift` with routing numbers '123456789' and
19
+ # 'GRINUST0XXX' respectively.
20
+ # @return [RoutingNumberType7Enum]
21
+ attr_accessor :routing_number_type
22
+
23
+ # An array of payment types that are supported for this routing number. This
24
+ # can include `ach`, `wire`, `rtp`, `sepa`, `bacs`, `au_becs` currently.
25
+ # @return [Array[SupportedPaymentTypeEnum]]
26
+ attr_accessor :supported_payment_types
27
+
28
+ # The name of the bank.
29
+ # @return [String]
30
+ attr_accessor :bank_name
31
+
32
+ # The name of the bank.
33
+ # @return [AddressRequest]
34
+ attr_accessor :bank_address
35
+
36
+ # An object containing key-value pairs, each with a sanctions list as the
37
+ # key and a boolean value representing whether the bank is on that
38
+ # particular sanctions list. Currently, this includes eu_con, uk_hmt,
39
+ # us_ofac, and un sanctions lists.
40
+ # @return [Object]
41
+ attr_accessor :sanctions
42
+
43
+ # A mapping from model property names to API property names.
44
+ def self.names
45
+ @_hash = {} if @_hash.nil?
46
+ @_hash['routing_number'] = 'routing_number'
47
+ @_hash['routing_number_type'] = 'routing_number_type'
48
+ @_hash['supported_payment_types'] = 'supported_payment_types'
49
+ @_hash['bank_name'] = 'bank_name'
50
+ @_hash['bank_address'] = 'bank_address'
51
+ @_hash['sanctions'] = 'sanctions'
52
+ @_hash
53
+ end
54
+
55
+ # An array for optional fields
56
+ def self.optionals
57
+ %w[
58
+ routing_number
59
+ routing_number_type
60
+ supported_payment_types
61
+ bank_name
62
+ bank_address
63
+ sanctions
64
+ ]
65
+ end
66
+
67
+ # An array for nullable fields
68
+ def self.nullables
69
+ []
70
+ end
71
+
72
+ def initialize(routing_number = SKIP, routing_number_type = SKIP,
73
+ supported_payment_types = SKIP, bank_name = SKIP,
74
+ bank_address = SKIP, sanctions = SKIP)
75
+ @routing_number = routing_number unless routing_number == SKIP
76
+ @routing_number_type = routing_number_type unless routing_number_type == SKIP
77
+ @supported_payment_types = supported_payment_types unless supported_payment_types == SKIP
78
+ @bank_name = bank_name unless bank_name == SKIP
79
+ @bank_address = bank_address unless bank_address == SKIP
80
+ @sanctions = sanctions unless sanctions == SKIP
81
+ end
82
+
83
+ # Creates an instance of the object from a hash.
84
+ def self.from_hash(hash)
85
+ return nil unless hash
86
+
87
+ # Extract variables from the hash.
88
+ routing_number =
89
+ hash.key?('routing_number') ? hash['routing_number'] : SKIP
90
+ routing_number_type =
91
+ hash.key?('routing_number_type') ? hash['routing_number_type'] : SKIP
92
+ supported_payment_types =
93
+ hash.key?('supported_payment_types') ? hash['supported_payment_types'] : SKIP
94
+ bank_name = hash.key?('bank_name') ? hash['bank_name'] : SKIP
95
+ bank_address = AddressRequest.from_hash(hash['bank_address']) if hash['bank_address']
96
+ sanctions = hash.key?('sanctions') ? hash['sanctions'] : SKIP
97
+
98
+ # Create object from extracted values.
99
+ RoutingNumberLookupRequest.new(routing_number,
100
+ routing_number_type,
101
+ supported_payment_types,
102
+ bank_name,
103
+ bank_address,
104
+ sanctions)
105
+ end
106
+
107
+ # Provides a human-readable string representation of the object.
108
+ def to_s
109
+ class_name = self.class.name.split('::').last
110
+ "<#{class_name} routing_number: #{@routing_number}, routing_number_type:"\
111
+ " #{@routing_number_type}, supported_payment_types: #{@supported_payment_types}, bank_name:"\
112
+ " #{@bank_name}, bank_address: #{@bank_address}, sanctions: #{@sanctions}>"
113
+ end
114
+
115
+ # Provides a debugging-friendly string with detailed object information.
116
+ def inspect
117
+ class_name = self.class.name.split('::').last
118
+ "<#{class_name} routing_number: #{@routing_number.inspect}, routing_number_type:"\
119
+ " #{@routing_number_type.inspect}, supported_payment_types:"\
120
+ " #{@supported_payment_types.inspect}, bank_name: #{@bank_name.inspect}, bank_address:"\
121
+ " #{@bank_address.inspect}, sanctions: #{@sanctions.inspect}>"
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,68 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # RoutingNumberType1.
8
+ class RoutingNumberType1Enum
9
+ ROUTING_NUMBER_TYPE1_ENUM = [
10
+ # TODO: Write general description for ABA
11
+ ABA = 'aba'.freeze,
12
+
13
+ # TODO: Write general description for AU_BSB
14
+ AU_BSB = 'au_bsb'.freeze,
15
+
16
+ # TODO: Write general description for BR_CODIGO
17
+ BR_CODIGO = 'br_codigo'.freeze,
18
+
19
+ # TODO: Write general description for CA_CPA
20
+ CA_CPA = 'ca_cpa'.freeze,
21
+
22
+ # TODO: Write general description for CHIPS
23
+ CHIPS = 'chips'.freeze,
24
+
25
+ # TODO: Write general description for CNAPS
26
+ CNAPS = 'cnaps'.freeze,
27
+
28
+ # TODO: Write general description for GB_SORT_CODE
29
+ GB_SORT_CODE = 'gb_sort_code'.freeze,
30
+
31
+ # TODO: Write general description for IN_IFSC
32
+ IN_IFSC = 'in_ifsc'.freeze,
33
+
34
+ # TODO: Write general description for MY_BRANCH_CODE
35
+ MY_BRANCH_CODE = 'my_branch_code'.freeze,
36
+
37
+ # TODO: Write general description for SWIFT
38
+ SWIFT = 'swift'.freeze
39
+ ].freeze
40
+
41
+ def self.validate(value)
42
+ return false if value.nil?
43
+
44
+ ROUTING_NUMBER_TYPE1_ENUM.include?(value)
45
+ end
46
+
47
+ def self.from_value(value, default_value = ABA)
48
+ return default_value if value.nil?
49
+
50
+ str = value.to_s.strip
51
+
52
+ case str.downcase
53
+ when 'aba' then ABA
54
+ when 'au_bsb' then AU_BSB
55
+ when 'br_codigo' then BR_CODIGO
56
+ when 'ca_cpa' then CA_CPA
57
+ when 'chips' then CHIPS
58
+ when 'cnaps' then CNAPS
59
+ when 'gb_sort_code' then GB_SORT_CODE
60
+ when 'in_ifsc' then IN_IFSC
61
+ when 'my_branch_code' then MY_BRANCH_CODE
62
+ when 'swift' then SWIFT
63
+ else
64
+ default_value
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,55 @@
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 `aba`, `au_bsb`, `br_codigo`, `ca_cpa`, `cnaps`, `gb_sort_code`,
8
+ # `in_ifsc`, `my_branch_code`, or `swift`. In sandbox mode we currently only
9
+ # support `aba` and `swift` with routing numbers '123456789' and 'GRINUST0XXX'
10
+ # respectively.
11
+ class RoutingNumberType7Enum
12
+ ROUTING_NUMBER_TYPE7_ENUM = [
13
+ # TODO: Write general description for ABA
14
+ ABA = 'aba'.freeze,
15
+
16
+ # TODO: Write general description for AU_BSB
17
+ AU_BSB = 'au_bsb'.freeze,
18
+
19
+ # TODO: Write general description for CA_CPA
20
+ CA_CPA = 'ca_cpa'.freeze,
21
+
22
+ # TODO: Write general description for GB_SORT_CODE
23
+ GB_SORT_CODE = 'gb_sort_code'.freeze,
24
+
25
+ # TODO: Write general description for IN_IFSC
26
+ IN_IFSC = 'in_ifsc'.freeze,
27
+
28
+ # TODO: Write general description for SWIFT
29
+ SWIFT = 'swift'.freeze
30
+ ].freeze
31
+
32
+ def self.validate(value)
33
+ return false if value.nil?
34
+
35
+ ROUTING_NUMBER_TYPE7_ENUM.include?(value)
36
+ end
37
+
38
+ def self.from_value(value, default_value = ABA)
39
+ return default_value if value.nil?
40
+
41
+ str = value.to_s.strip
42
+
43
+ case str.downcase
44
+ when 'aba' then ABA
45
+ when 'au_bsb' then AU_BSB
46
+ when 'ca_cpa' then CA_CPA
47
+ when 'gb_sort_code' then GB_SORT_CODE
48
+ when 'in_ifsc' then IN_IFSC
49
+ when 'swift' then SWIFT
50
+ else
51
+ default_value
52
+ end
53
+ end
54
+ end
55
+ end