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,342 @@
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
+ # Invoice Model.
9
+ class Invoice < 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 invoicer's contact details displayed at the top of the invoice.
37
+ # @return [Array[ContactDetail]]
38
+ attr_accessor :contact_details
39
+
40
+ # The ID of the counterparty receiving the invoice.
41
+ # @return [String]
42
+ attr_accessor :counterparty_id
43
+
44
+ # The counterparty's billing address.
45
+ # @return [CounterpartyBillingAddress]
46
+ attr_accessor :counterparty_billing_address
47
+
48
+ # The counterparty's shipping address where physical goods should be
49
+ # delivered.
50
+ # @return [CounterpartyShippingAddress]
51
+ attr_accessor :counterparty_shipping_address
52
+
53
+ # Three-letter ISO currency code.
54
+ # @return [CurrencyEnum]
55
+ attr_accessor :currency
56
+
57
+ # A free-form description of the invoice.
58
+ # @return [String]
59
+ attr_accessor :description
60
+
61
+ # A future date by when the invoice needs to be paid.
62
+ # @return [DateTime]
63
+ attr_accessor :due_date
64
+
65
+ # The invoice issuer's business address.
66
+ # @return [InvoicerAddress]
67
+ attr_accessor :invoicer_address
68
+
69
+ # The ID of the internal account the invoice should be paid to.
70
+ # @return [String]
71
+ attr_accessor :originating_account_id
72
+
73
+ # The receiving account ID. Can be an `internal_account`.
74
+ # @return [UUID | String]
75
+ attr_accessor :receiving_account_id
76
+
77
+ # Date transactions are to be posted to the participants' account. Defaults
78
+ # to the current business day or the next business day if the current day is
79
+ # a bank holiday or weekend. Format: yyyy-mm-dd.
80
+ # @return [Date]
81
+ attr_accessor :payment_effective_date
82
+
83
+ # One of `ach` or `eft`
84
+ # @return [PaymentType5Enum]
85
+ attr_accessor :payment_type
86
+
87
+ # When opening an invoice, whether to show the embedded payment UI ,
88
+ # automatically debit the recipient, or rely on manual payment from the
89
+ # recipient.
90
+ # @return [PaymentMethodEnum]
91
+ attr_accessor :payment_method
92
+
93
+ # The URL of the hosted web UI where the invoice can be viewed.
94
+ # @return [String]
95
+ attr_accessor :hosted_url
96
+
97
+ # A unique record number assigned to each invoice that is issued.
98
+ # @return [String]
99
+ attr_accessor :number
100
+
101
+ # The payment orders created for paying the invoice through the invoice
102
+ # payment UI.
103
+ # @return [Array[PaymentOrder]]
104
+ attr_accessor :payment_orders
105
+
106
+ # The URL where the invoice PDF can be downloaded.
107
+ # @return [String]
108
+ attr_accessor :pdf_url
109
+
110
+ # The status of the invoice.
111
+ # @return [Status5Enum]
112
+ attr_accessor :status
113
+
114
+ # Total amount due in specified currency's smallest unit, e.g., $10 USD
115
+ # would be represented as 1000.
116
+ # @return [Integer]
117
+ attr_accessor :total_amount
118
+
119
+ # A mapping from model property names to API property names.
120
+ def self.names
121
+ @_hash = {} if @_hash.nil?
122
+ @_hash['id'] = 'id'
123
+ @_hash['object'] = 'object'
124
+ @_hash['live_mode'] = 'live_mode'
125
+ @_hash['created_at'] = 'created_at'
126
+ @_hash['updated_at'] = 'updated_at'
127
+ @_hash['contact_details'] = 'contact_details'
128
+ @_hash['counterparty_id'] = 'counterparty_id'
129
+ @_hash['counterparty_billing_address'] = 'counterparty_billing_address'
130
+ @_hash['counterparty_shipping_address'] =
131
+ 'counterparty_shipping_address'
132
+ @_hash['currency'] = 'currency'
133
+ @_hash['description'] = 'description'
134
+ @_hash['due_date'] = 'due_date'
135
+ @_hash['invoicer_address'] = 'invoicer_address'
136
+ @_hash['originating_account_id'] = 'originating_account_id'
137
+ @_hash['receiving_account_id'] = 'receiving_account_id'
138
+ @_hash['payment_effective_date'] = 'payment_effective_date'
139
+ @_hash['payment_type'] = 'payment_type'
140
+ @_hash['payment_method'] = 'payment_method'
141
+ @_hash['hosted_url'] = 'hosted_url'
142
+ @_hash['number'] = 'number'
143
+ @_hash['payment_orders'] = 'payment_orders'
144
+ @_hash['pdf_url'] = 'pdf_url'
145
+ @_hash['status'] = 'status'
146
+ @_hash['total_amount'] = 'total_amount'
147
+ @_hash
148
+ end
149
+
150
+ # An array for optional fields
151
+ def self.optionals
152
+ []
153
+ end
154
+
155
+ # An array for nullable fields
156
+ def self.nullables
157
+ %w[
158
+ counterparty_billing_address
159
+ counterparty_shipping_address
160
+ invoicer_address
161
+ receiving_account_id
162
+ payment_effective_date
163
+ payment_type
164
+ payment_method
165
+ pdf_url
166
+ ]
167
+ end
168
+
169
+ def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
170
+ updated_at = nil, contact_details = nil,
171
+ counterparty_id = nil, counterparty_billing_address = nil,
172
+ counterparty_shipping_address = nil, currency = nil,
173
+ description = nil, due_date = nil, invoicer_address = nil,
174
+ originating_account_id = nil, receiving_account_id = nil,
175
+ payment_effective_date = nil, payment_type = nil,
176
+ payment_method = nil, hosted_url = nil, number = nil,
177
+ payment_orders = nil, pdf_url = nil, status = nil,
178
+ total_amount = nil)
179
+ @id = id
180
+ @object = object
181
+ @live_mode = live_mode
182
+ @created_at = created_at
183
+ @updated_at = updated_at
184
+ @contact_details = contact_details
185
+ @counterparty_id = counterparty_id
186
+ @counterparty_billing_address = counterparty_billing_address
187
+ @counterparty_shipping_address = counterparty_shipping_address
188
+ @currency = currency
189
+ @description = description
190
+ @due_date = due_date
191
+ @invoicer_address = invoicer_address
192
+ @originating_account_id = originating_account_id
193
+ @receiving_account_id = receiving_account_id
194
+ @payment_effective_date = payment_effective_date
195
+ @payment_type = payment_type
196
+ @payment_method = payment_method
197
+ @hosted_url = hosted_url
198
+ @number = number
199
+ @payment_orders = payment_orders
200
+ @pdf_url = pdf_url
201
+ @status = status
202
+ @total_amount = total_amount
203
+ end
204
+
205
+ # Creates an instance of the object from a hash.
206
+ def self.from_hash(hash)
207
+ return nil unless hash
208
+
209
+ # Extract variables from the hash.
210
+ id = hash.key?('id') ? hash['id'] : nil
211
+ object = hash.key?('object') ? hash['object'] : nil
212
+ live_mode = hash.key?('live_mode') ? hash['live_mode'] : nil
213
+ created_at = if hash.key?('created_at')
214
+ (DateTimeHelper.from_rfc3339(hash['created_at']) if hash['created_at'])
215
+ end
216
+ updated_at = if hash.key?('updated_at')
217
+ (DateTimeHelper.from_rfc3339(hash['updated_at']) if hash['updated_at'])
218
+ end
219
+ # Parameter is an array, so we need to iterate through it
220
+ contact_details = nil
221
+ unless hash['contact_details'].nil?
222
+ contact_details = []
223
+ hash['contact_details'].each do |structure|
224
+ contact_details << (ContactDetail.from_hash(structure) if structure)
225
+ end
226
+ end
227
+
228
+ contact_details = nil unless hash.key?('contact_details')
229
+ counterparty_id =
230
+ hash.key?('counterparty_id') ? hash['counterparty_id'] : nil
231
+ if hash['counterparty_billing_address']
232
+ counterparty_billing_address = CounterpartyBillingAddress.from_hash(hash['counterparty_billing_address'])
233
+ end
234
+ if hash['counterparty_shipping_address']
235
+ counterparty_shipping_address = CounterpartyShippingAddress.from_hash(hash['counterparty_shipping_address'])
236
+ end
237
+ currency = hash.key?('currency') ? hash['currency'] : nil
238
+ description = hash.key?('description') ? hash['description'] : nil
239
+ due_date = if hash.key?('due_date')
240
+ (DateTimeHelper.from_rfc3339(hash['due_date']) if hash['due_date'])
241
+ end
242
+ invoicer_address = InvoicerAddress.from_hash(hash['invoicer_address']) if
243
+ hash['invoicer_address']
244
+ originating_account_id =
245
+ hash.key?('originating_account_id') ? hash['originating_account_id'] : nil
246
+ receiving_account_id =
247
+ hash.key?('receiving_account_id') ? hash['receiving_account_id'] : nil
248
+ payment_effective_date =
249
+ hash.key?('payment_effective_date') ? hash['payment_effective_date'] : nil
250
+ payment_type = hash.key?('payment_type') ? hash['payment_type'] : nil
251
+ payment_method =
252
+ hash.key?('payment_method') ? hash['payment_method'] : nil
253
+ hosted_url = hash.key?('hosted_url') ? hash['hosted_url'] : nil
254
+ number = hash.key?('number') ? hash['number'] : nil
255
+ # Parameter is an array, so we need to iterate through it
256
+ payment_orders = nil
257
+ unless hash['payment_orders'].nil?
258
+ payment_orders = []
259
+ hash['payment_orders'].each do |structure|
260
+ payment_orders << (PaymentOrder.from_hash(structure) if structure)
261
+ end
262
+ end
263
+
264
+ payment_orders = nil unless hash.key?('payment_orders')
265
+ pdf_url = hash.key?('pdf_url') ? hash['pdf_url'] : nil
266
+ status = hash.key?('status') ? hash['status'] : nil
267
+ total_amount = hash.key?('total_amount') ? hash['total_amount'] : nil
268
+
269
+ # Create object from extracted values.
270
+ Invoice.new(id,
271
+ object,
272
+ live_mode,
273
+ created_at,
274
+ updated_at,
275
+ contact_details,
276
+ counterparty_id,
277
+ counterparty_billing_address,
278
+ counterparty_shipping_address,
279
+ currency,
280
+ description,
281
+ due_date,
282
+ invoicer_address,
283
+ originating_account_id,
284
+ receiving_account_id,
285
+ payment_effective_date,
286
+ payment_type,
287
+ payment_method,
288
+ hosted_url,
289
+ number,
290
+ payment_orders,
291
+ pdf_url,
292
+ status,
293
+ total_amount)
294
+ end
295
+
296
+ def to_custom_created_at
297
+ DateTimeHelper.to_rfc3339(created_at)
298
+ end
299
+
300
+ def to_custom_updated_at
301
+ DateTimeHelper.to_rfc3339(updated_at)
302
+ end
303
+
304
+ def to_custom_due_date
305
+ DateTimeHelper.to_rfc3339(due_date)
306
+ end
307
+
308
+ # Provides a human-readable string representation of the object.
309
+ def to_s
310
+ class_name = self.class.name.split('::').last
311
+ "<#{class_name} id: #{@id}, object: #{@object}, live_mode: #{@live_mode}, created_at:"\
312
+ " #{@created_at}, updated_at: #{@updated_at}, contact_details: #{@contact_details},"\
313
+ " counterparty_id: #{@counterparty_id}, counterparty_billing_address:"\
314
+ " #{@counterparty_billing_address}, counterparty_shipping_address:"\
315
+ " #{@counterparty_shipping_address}, currency: #{@currency}, description: #{@description},"\
316
+ " due_date: #{@due_date}, invoicer_address: #{@invoicer_address}, originating_account_id:"\
317
+ " #{@originating_account_id}, receiving_account_id: #{@receiving_account_id},"\
318
+ " payment_effective_date: #{@payment_effective_date}, payment_type: #{@payment_type},"\
319
+ " payment_method: #{@payment_method}, hosted_url: #{@hosted_url}, number: #{@number},"\
320
+ " payment_orders: #{@payment_orders}, pdf_url: #{@pdf_url}, status: #{@status},"\
321
+ " total_amount: #{@total_amount}>"
322
+ end
323
+
324
+ # Provides a debugging-friendly string with detailed object information.
325
+ def inspect
326
+ class_name = self.class.name.split('::').last
327
+ "<#{class_name} id: #{@id.inspect}, object: #{@object.inspect}, live_mode:"\
328
+ " #{@live_mode.inspect}, created_at: #{@created_at.inspect}, updated_at:"\
329
+ " #{@updated_at.inspect}, contact_details: #{@contact_details.inspect}, counterparty_id:"\
330
+ " #{@counterparty_id.inspect}, counterparty_billing_address:"\
331
+ " #{@counterparty_billing_address.inspect}, counterparty_shipping_address:"\
332
+ " #{@counterparty_shipping_address.inspect}, currency: #{@currency.inspect}, description:"\
333
+ " #{@description.inspect}, due_date: #{@due_date.inspect}, invoicer_address:"\
334
+ " #{@invoicer_address.inspect}, originating_account_id: #{@originating_account_id.inspect},"\
335
+ " receiving_account_id: #{@receiving_account_id.inspect}, payment_effective_date:"\
336
+ " #{@payment_effective_date.inspect}, payment_type: #{@payment_type.inspect},"\
337
+ " payment_method: #{@payment_method.inspect}, hosted_url: #{@hosted_url.inspect}, number:"\
338
+ " #{@number.inspect}, payment_orders: #{@payment_orders.inspect}, pdf_url:"\
339
+ " #{@pdf_url.inspect}, status: #{@status.inspect}, total_amount: #{@total_amount.inspect}>"
340
+ end
341
+ end
342
+ end
@@ -0,0 +1,235 @@
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
+ # InvoiceCreateRequest Model.
9
+ class InvoiceCreateRequest < 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
+ # A mapping from model property names to API property names.
76
+ def self.names
77
+ @_hash = {} if @_hash.nil?
78
+ @_hash['contact_details'] = 'contact_details'
79
+ @_hash['counterparty_id'] = 'counterparty_id'
80
+ @_hash['counterparty_billing_address'] = 'counterparty_billing_address'
81
+ @_hash['counterparty_shipping_address'] =
82
+ 'counterparty_shipping_address'
83
+ @_hash['currency'] = 'currency'
84
+ @_hash['description'] = 'description'
85
+ @_hash['due_date'] = 'due_date'
86
+ @_hash['invoicer_address'] = 'invoicer_address'
87
+ @_hash['originating_account_id'] = 'originating_account_id'
88
+ @_hash['receiving_account_id'] = 'receiving_account_id'
89
+ @_hash['payment_effective_date'] = 'payment_effective_date'
90
+ @_hash['payment_type'] = 'payment_type'
91
+ @_hash['payment_method'] = 'payment_method'
92
+ @_hash
93
+ end
94
+
95
+ # An array for optional fields
96
+ def self.optionals
97
+ %w[
98
+ contact_details
99
+ counterparty_billing_address
100
+ counterparty_shipping_address
101
+ currency
102
+ description
103
+ invoicer_address
104
+ receiving_account_id
105
+ payment_effective_date
106
+ payment_type
107
+ payment_method
108
+ ]
109
+ end
110
+
111
+ # An array for nullable fields
112
+ def self.nullables
113
+ %w[
114
+ counterparty_billing_address
115
+ counterparty_shipping_address
116
+ invoicer_address
117
+ ]
118
+ end
119
+
120
+ def initialize(counterparty_id = nil, due_date = nil,
121
+ originating_account_id = nil, contact_details = SKIP,
122
+ counterparty_billing_address = SKIP,
123
+ counterparty_shipping_address = SKIP, currency = SKIP,
124
+ description = SKIP, invoicer_address = SKIP,
125
+ receiving_account_id = SKIP, payment_effective_date = SKIP,
126
+ payment_type = SKIP, payment_method = SKIP)
127
+ @contact_details = contact_details unless contact_details == SKIP
128
+ @counterparty_id = counterparty_id
129
+ unless counterparty_billing_address == SKIP
130
+ @counterparty_billing_address =
131
+ counterparty_billing_address
132
+ end
133
+ unless counterparty_shipping_address == SKIP
134
+ @counterparty_shipping_address =
135
+ counterparty_shipping_address
136
+ end
137
+ @currency = currency unless currency == SKIP
138
+ @description = description unless description == SKIP
139
+ @due_date = due_date
140
+ @invoicer_address = invoicer_address unless invoicer_address == SKIP
141
+ @originating_account_id = originating_account_id
142
+ @receiving_account_id = receiving_account_id unless receiving_account_id == SKIP
143
+ @payment_effective_date = payment_effective_date unless payment_effective_date == SKIP
144
+ @payment_type = payment_type unless payment_type == SKIP
145
+ @payment_method = payment_method unless payment_method == SKIP
146
+ end
147
+
148
+ # Creates an instance of the object from a hash.
149
+ def self.from_hash(hash)
150
+ return nil unless hash
151
+
152
+ # Extract variables from the hash.
153
+ counterparty_id =
154
+ hash.key?('counterparty_id') ? hash['counterparty_id'] : nil
155
+ due_date = if hash.key?('due_date')
156
+ (DateTimeHelper.from_rfc3339(hash['due_date']) if hash['due_date'])
157
+ end
158
+ originating_account_id =
159
+ hash.key?('originating_account_id') ? hash['originating_account_id'] : nil
160
+ # Parameter is an array, so we need to iterate through it
161
+ contact_details = nil
162
+ unless hash['contact_details'].nil?
163
+ contact_details = []
164
+ hash['contact_details'].each do |structure|
165
+ contact_details << (ContactDetail.from_hash(structure) if structure)
166
+ end
167
+ end
168
+
169
+ contact_details = SKIP unless hash.key?('contact_details')
170
+ if hash['counterparty_billing_address']
171
+ counterparty_billing_address = CounterpartyBillingAddress.from_hash(hash['counterparty_billing_address'])
172
+ end
173
+ if hash['counterparty_shipping_address']
174
+ counterparty_shipping_address = CounterpartyShippingAddress.from_hash(hash['counterparty_shipping_address'])
175
+ end
176
+ currency = hash.key?('currency') ? hash['currency'] : SKIP
177
+ description = hash.key?('description') ? hash['description'] : SKIP
178
+ invoicer_address = InvoicerAddress.from_hash(hash['invoicer_address']) if
179
+ hash['invoicer_address']
180
+ receiving_account_id =
181
+ hash.key?('receiving_account_id') ? hash['receiving_account_id'] : SKIP
182
+ payment_effective_date =
183
+ hash.key?('payment_effective_date') ? hash['payment_effective_date'] : SKIP
184
+ payment_type = hash.key?('payment_type') ? hash['payment_type'] : SKIP
185
+ payment_method =
186
+ hash.key?('payment_method') ? hash['payment_method'] : SKIP
187
+
188
+ # Create object from extracted values.
189
+ InvoiceCreateRequest.new(counterparty_id,
190
+ due_date,
191
+ originating_account_id,
192
+ contact_details,
193
+ counterparty_billing_address,
194
+ counterparty_shipping_address,
195
+ currency,
196
+ description,
197
+ invoicer_address,
198
+ receiving_account_id,
199
+ payment_effective_date,
200
+ payment_type,
201
+ payment_method)
202
+ end
203
+
204
+ def to_custom_due_date
205
+ DateTimeHelper.to_rfc3339(due_date)
206
+ end
207
+
208
+ # Provides a human-readable string representation of the object.
209
+ def to_s
210
+ class_name = self.class.name.split('::').last
211
+ "<#{class_name} contact_details: #{@contact_details}, counterparty_id: #{@counterparty_id},"\
212
+ " counterparty_billing_address: #{@counterparty_billing_address},"\
213
+ " counterparty_shipping_address: #{@counterparty_shipping_address}, currency: #{@currency},"\
214
+ " description: #{@description}, due_date: #{@due_date}, invoicer_address:"\
215
+ " #{@invoicer_address}, originating_account_id: #{@originating_account_id},"\
216
+ " receiving_account_id: #{@receiving_account_id}, payment_effective_date:"\
217
+ " #{@payment_effective_date}, payment_type: #{@payment_type}, payment_method:"\
218
+ " #{@payment_method}>"
219
+ end
220
+
221
+ # Provides a debugging-friendly string with detailed object information.
222
+ def inspect
223
+ class_name = self.class.name.split('::').last
224
+ "<#{class_name} contact_details: #{@contact_details.inspect}, counterparty_id:"\
225
+ " #{@counterparty_id.inspect}, counterparty_billing_address:"\
226
+ " #{@counterparty_billing_address.inspect}, counterparty_shipping_address:"\
227
+ " #{@counterparty_shipping_address.inspect}, currency: #{@currency.inspect}, description:"\
228
+ " #{@description.inspect}, due_date: #{@due_date.inspect}, invoicer_address:"\
229
+ " #{@invoicer_address.inspect}, originating_account_id: #{@originating_account_id.inspect},"\
230
+ " receiving_account_id: #{@receiving_account_id.inspect}, payment_effective_date:"\
231
+ " #{@payment_effective_date.inspect}, payment_type: #{@payment_type.inspect},"\
232
+ " payment_method: #{@payment_method.inspect}>"
233
+ end
234
+ end
235
+ end