melio-platform-api-client 3.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.

Potentially problematic release.


This version of melio-platform-api-client might be problematic. Click here for more details.

Files changed (515) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +132 -0
  4. data/Rakefile +10 -0
  5. data/docs/Account.md +26 -0
  6. data/docs/AccountAllOf.md +22 -0
  7. data/docs/AccountsApi.md +224 -0
  8. data/docs/AddToMyVendorParameters.md +18 -0
  9. data/docs/AddToMyVendorParametersDeliveryMethod.md +20 -0
  10. data/docs/AddToMyVendorParametersDeliveryMethodBillerAccount.md +18 -0
  11. data/docs/Address.md +26 -0
  12. data/docs/Adjustment.md +20 -0
  13. data/docs/AuthApi.md +83 -0
  14. data/docs/BankAccount.md +22 -0
  15. data/docs/BankAccountType.md +15 -0
  16. data/docs/BillerAccount.md +18 -0
  17. data/docs/Card.md +24 -0
  18. data/docs/Charge.md +32 -0
  19. data/docs/ChargeAllOf.md +28 -0
  20. data/docs/ChargesApi.md +317 -0
  21. data/docs/Checkout.md +66 -0
  22. data/docs/CheckoutAllOf.md +62 -0
  23. data/docs/CheckoutAllOfBuyer.md +26 -0
  24. data/docs/CheckoutsApi.md +327 -0
  25. data/docs/Company.md +28 -0
  26. data/docs/ConfirmPaymentIntentsResponse.md +18 -0
  27. data/docs/Currency.md +15 -0
  28. data/docs/DeletedResponse.md +18 -0
  29. data/docs/DeliveryMethod.md +24 -0
  30. data/docs/DeliveryMethodAllOf.md +20 -0
  31. data/docs/DeliveryMethodDetails.md +55 -0
  32. data/docs/DeliveryMethodType.md +15 -0
  33. data/docs/DeliveryMethodsApi.md +485 -0
  34. data/docs/DeliveryPreference.md +28 -0
  35. data/docs/DeliveryPreferenceType.md +15 -0
  36. data/docs/DomesticWireAccount.md +22 -0
  37. data/docs/DomesticWireAccountAddress.md +22 -0
  38. data/docs/ErrorResponse.md +18 -0
  39. data/docs/FileInfo.md +22 -0
  40. data/docs/FileInfoAllOf.md +18 -0
  41. data/docs/FilesApi.md +317 -0
  42. data/docs/Financing.md +24 -0
  43. data/docs/FinancingApi.md +246 -0
  44. data/docs/FinancingDropdownOptions.md +20 -0
  45. data/docs/FinancingFields.md +28 -0
  46. data/docs/FundingSource.md +26 -0
  47. data/docs/FundingSourceAllOf.md +22 -0
  48. data/docs/FundingSourceDetails.md +49 -0
  49. data/docs/FundingSourceType.md +15 -0
  50. data/docs/FundingSourcesApi.md +325 -0
  51. data/docs/GetAccountsAccountIdResponse.md +18 -0
  52. data/docs/GetAccountsResponse.md +18 -0
  53. data/docs/GetChargesChargeIdResponse.md +18 -0
  54. data/docs/GetChargesResponse.md +18 -0
  55. data/docs/GetCheckoutsCheckoutIdResponse.md +18 -0
  56. data/docs/GetDeliveryMethodsDeliveryMethodIdResponse.md +18 -0
  57. data/docs/GetDeliveryMethodsResponse.md +18 -0
  58. data/docs/GetFilesFileIdDataResponse.md +18 -0
  59. data/docs/GetFilesFileIdDataResponseData.md +26 -0
  60. data/docs/GetFilesFileIdDataResponseDataCustomerInfo.md +18 -0
  61. data/docs/GetFilesFileIdDataResponseDataInvoiceInfo.md +20 -0
  62. data/docs/GetFilesFileIdDataResponseDataVendorInfo.md +20 -0
  63. data/docs/GetFilesFileIdResponse.md +18 -0
  64. data/docs/GetFilesResponse.md +18 -0
  65. data/docs/GetFinancingResponse.md +18 -0
  66. data/docs/GetFundingSourcesFundingSourceIdResponse.md +18 -0
  67. data/docs/GetFundingSourcesResponse.md +18 -0
  68. data/docs/GetPaymentIntentsPaymentIntentIdResponse.md +18 -0
  69. data/docs/GetPaymentIntentsResponse.md +18 -0
  70. data/docs/GetPaymentsPaymentIdResponse.md +18 -0
  71. data/docs/GetPaymentsResponse.md +18 -0
  72. data/docs/GetVendorDirectoryResponse.md +18 -0
  73. data/docs/GetVendorsResponse.md +18 -0
  74. data/docs/GetVendorsVendorIdDeliveryMethodsResponse.md +18 -0
  75. data/docs/GetVendorsVendorIdResponse.md +18 -0
  76. data/docs/GetWebhooksCheckoutsResponse.md +18 -0
  77. data/docs/GetWebhooksPaymentsResponse.md +18 -0
  78. data/docs/GetWebhooksResponse.md +18 -0
  79. data/docs/Invoice.md +20 -0
  80. data/docs/LineItem.md +30 -0
  81. data/docs/Merchant.md +38 -0
  82. data/docs/MerchantAllOf.md +34 -0
  83. data/docs/MerchantsApi.md +85 -0
  84. data/docs/ModelError.md +22 -0
  85. data/docs/ModelErrorAllOf.md +20 -0
  86. data/docs/Object.md +20 -0
  87. data/docs/PaperCheck.md +20 -0
  88. data/docs/PartialAddress.md +26 -0
  89. data/docs/PatchChargesChargeIdRequest.md +18 -0
  90. data/docs/PatchChargesChargeIdResponse.md +18 -0
  91. data/docs/PatchPaymentIntentsPaymentIntentIdRequest.md +30 -0
  92. data/docs/PatchPaymentIntentsPaymentIntentIdRequestBillInfo.md +26 -0
  93. data/docs/PatchPaymentIntentsPaymentIntentIdResponse.md +18 -0
  94. data/docs/PatchVendorsVendorIdRequest.md +20 -0
  95. data/docs/PatchVendorsVendorIdRequestContact.md +22 -0
  96. data/docs/PatchVendorsVendorIdResponse.md +18 -0
  97. data/docs/Payment.md +48 -0
  98. data/docs/PaymentAllOf.md +44 -0
  99. data/docs/PaymentFee.md +20 -0
  100. data/docs/PaymentIntent.md +46 -0
  101. data/docs/PaymentIntentAllOf.md +42 -0
  102. data/docs/PaymentIntentAllOfBillInfo.md +30 -0
  103. data/docs/PaymentIntentsApi.md +483 -0
  104. data/docs/PaymentsApi.md +325 -0
  105. data/docs/Person.md +22 -0
  106. data/docs/PlaidDetails.md +20 -0
  107. data/docs/PostAccountsRequest.md +22 -0
  108. data/docs/PostAccountsResponse.md +18 -0
  109. data/docs/PostAuthResponse.md +18 -0
  110. data/docs/PostAuthResponseData.md +22 -0
  111. data/docs/PostCheckoutsCheckoutIdCaptureRequest.md +22 -0
  112. data/docs/PostCheckoutsCheckoutIdCaptureRequestInvoice.md +20 -0
  113. data/docs/PostCheckoutsCheckoutIdCompleteRequest.md +24 -0
  114. data/docs/PostCheckoutsRequest.md +48 -0
  115. data/docs/PostCheckoutsResponse.md +18 -0
  116. data/docs/PostDeliveryMethodsRequest.md +20 -0
  117. data/docs/PostDeliveryMethodsRequestDetails.md +53 -0
  118. data/docs/PostDeliveryMethodsResponse.md +18 -0
  119. data/docs/PostFilesResponse.md +18 -0
  120. data/docs/PostFinancingRequest.md +18 -0
  121. data/docs/PostFinancingRequestFields.md +20 -0
  122. data/docs/PostFinancingResponse.md +18 -0
  123. data/docs/PostFinancingTransactionalRequest.md +20 -0
  124. data/docs/PostFinancingTransactionalResponse.md +18 -0
  125. data/docs/PostFinancingTransactionalResponseData.md +20 -0
  126. data/docs/PostFundingSourcesRequest.md +22 -0
  127. data/docs/PostFundingSourcesRequestDetails.md +51 -0
  128. data/docs/PostFundingSourcesResponse.md +18 -0
  129. data/docs/PostMerchantsRequest.md +32 -0
  130. data/docs/PostMerchantsResponse.md +18 -0
  131. data/docs/PostPaymentIntentsBulkRequest.md +18 -0
  132. data/docs/PostPaymentIntentsBulkResponse.md +18 -0
  133. data/docs/PostPaymentIntentsPaymentIntentIdPaymentResponse.md +18 -0
  134. data/docs/PostPaymentIntentsRequest.md +30 -0
  135. data/docs/PostPaymentIntentsRequestBillInfo.md +26 -0
  136. data/docs/PostPaymentIntentsResponse.md +18 -0
  137. data/docs/PostPaymentsPaymentIdRecoverRequest.md +26 -0
  138. data/docs/PostPaymentsPaymentIdRecoverResponse.md +18 -0
  139. data/docs/PostVendorsBulkRequest.md +18 -0
  140. data/docs/PostVendorsBulkResponse.md +18 -0
  141. data/docs/PostVendorsFromVendorDirectoryRequest.md +20 -0
  142. data/docs/PostVendorsFromVendorDirectoryRequestDeliveryMethod.md +20 -0
  143. data/docs/PostVendorsFromVendorDirectoryResponse.md +18 -0
  144. data/docs/PostVendorsRequest.md +20 -0
  145. data/docs/PostVendorsResponse.md +18 -0
  146. data/docs/PostVendorsVendorIdDeliveryMethodsResponse.md +18 -0
  147. data/docs/PostWebhooksCheckoutsRequest.md +18 -0
  148. data/docs/PostWebhooksCheckoutsResponse.md +18 -0
  149. data/docs/PostWebhooksPaymentsRequest.md +18 -0
  150. data/docs/PostWebhooksPaymentsResponse.md +18 -0
  151. data/docs/PutPaymentIntentsRequest.md +36 -0
  152. data/docs/PutPaymentIntentsResponse.md +18 -0
  153. data/docs/RecoverPaymentRequest.md +36 -0
  154. data/docs/RecoverPaymentResponse.md +18 -0
  155. data/docs/ShortHistory.md +22 -0
  156. data/docs/TabaPayDetails.md +30 -0
  157. data/docs/TabaPayDetailsCardOwner.md +20 -0
  158. data/docs/TaxInfo.md +20 -0
  159. data/docs/Vendor.md +26 -0
  160. data/docs/VendorAllOf.md +22 -0
  161. data/docs/VendorAllOfContact.md +22 -0
  162. data/docs/VendorDirectory.md +26 -0
  163. data/docs/VendorDirectoryApi.md +169 -0
  164. data/docs/VendorDirectoryContact.md +24 -0
  165. data/docs/VendorDirectoryDeliveryMethod.md +18 -0
  166. data/docs/VendorDirectoryNotFoundResponse.md +18 -0
  167. data/docs/VendorsApi.md +806 -0
  168. data/docs/VirtualAccount.md +22 -0
  169. data/docs/Webhook.md +20 -0
  170. data/docs/WebhooksApi.md +510 -0
  171. data/docs/WithUnknownData.md +18 -0
  172. data/lib/melio-platform-api-client/api/accounts_api.rb +213 -0
  173. data/lib/melio-platform-api-client/api/auth_api.rb +89 -0
  174. data/lib/melio-platform-api-client/api/charges_api.rb +307 -0
  175. data/lib/melio-platform-api-client/api/checkouts_api.rb +328 -0
  176. data/lib/melio-platform-api-client/api/delivery_methods_api.rb +439 -0
  177. data/lib/melio-platform-api-client/api/files_api.rb +284 -0
  178. data/lib/melio-platform-api-client/api/financing_api.rb +230 -0
  179. data/lib/melio-platform-api-client/api/funding_sources_api.rb +295 -0
  180. data/lib/melio-platform-api-client/api/merchants_api.rb +96 -0
  181. data/lib/melio-platform-api-client/api/payment_intents_api.rb +443 -0
  182. data/lib/melio-platform-api-client/api/payments_api.rb +294 -0
  183. data/lib/melio-platform-api-client/api/vendor_directory_api.rb +170 -0
  184. data/lib/melio-platform-api-client/api/vendors_api.rb +738 -0
  185. data/lib/melio-platform-api-client/api/webhooks_api.rb +463 -0
  186. data/lib/melio-platform-api-client/api_client.rb +419 -0
  187. data/lib/melio-platform-api-client/api_error.rb +57 -0
  188. data/lib/melio-platform-api-client/configuration.rb +289 -0
  189. data/lib/melio-platform-api-client/models/account.rb +324 -0
  190. data/lib/melio-platform-api-client/models/account_all_of.rb +286 -0
  191. data/lib/melio-platform-api-client/models/add_to_my_vendor_parameters.rb +218 -0
  192. data/lib/melio-platform-api-client/models/add_to_my_vendor_parameters_delivery_method.rb +232 -0
  193. data/lib/melio-platform-api-client/models/add_to_my_vendor_parameters_delivery_method_biller_account.rb +224 -0
  194. data/lib/melio-platform-api-client/models/address.rb +277 -0
  195. data/lib/melio-platform-api-client/models/adjustment.rb +239 -0
  196. data/lib/melio-platform-api-client/models/bank_account.rb +254 -0
  197. data/lib/melio-platform-api-client/models/bank_account_type.rb +37 -0
  198. data/lib/melio-platform-api-client/models/biller_account.rb +223 -0
  199. data/lib/melio-platform-api-client/models/card.rb +339 -0
  200. data/lib/melio-platform-api-client/models/charge.rb +368 -0
  201. data/lib/melio-platform-api-client/models/charge_all_of.rb +330 -0
  202. data/lib/melio-platform-api-client/models/checkout.rb +588 -0
  203. data/lib/melio-platform-api-client/models/checkout_all_of.rb +550 -0
  204. data/lib/melio-platform-api-client/models/checkout_all_of_buyer.rb +265 -0
  205. data/lib/melio-platform-api-client/models/company.rb +295 -0
  206. data/lib/melio-platform-api-client/models/confirm_payment_intents_response.rb +223 -0
  207. data/lib/melio-platform-api-client/models/currency.rb +36 -0
  208. data/lib/melio-platform-api-client/models/deleted_response.rb +224 -0
  209. data/lib/melio-platform-api-client/models/delivery_method.rb +275 -0
  210. data/lib/melio-platform-api-client/models/delivery_method_all_of.rb +237 -0
  211. data/lib/melio-platform-api-client/models/delivery_method_details.rb +108 -0
  212. data/lib/melio-platform-api-client/models/delivery_method_type.rb +40 -0
  213. data/lib/melio-platform-api-client/models/delivery_preference.rb +283 -0
  214. data/lib/melio-platform-api-client/models/delivery_preference_type.rb +42 -0
  215. data/lib/melio-platform-api-client/models/domestic_wire_account.rb +252 -0
  216. data/lib/melio-platform-api-client/models/domestic_wire_account_address.rb +253 -0
  217. data/lib/melio-platform-api-client/models/error_response.rb +224 -0
  218. data/lib/melio-platform-api-client/models/file_info.rb +261 -0
  219. data/lib/melio-platform-api-client/models/file_info_all_of.rb +223 -0
  220. data/lib/melio-platform-api-client/models/financing.rb +293 -0
  221. data/lib/melio-platform-api-client/models/financing_dropdown_options.rb +227 -0
  222. data/lib/melio-platform-api-client/models/financing_fields.rb +265 -0
  223. data/lib/melio-platform-api-client/models/funding_source.rb +280 -0
  224. data/lib/melio-platform-api-client/models/funding_source_all_of.rb +242 -0
  225. data/lib/melio-platform-api-client/models/funding_source_details.rb +105 -0
  226. data/lib/melio-platform-api-client/models/funding_source_type.rb +37 -0
  227. data/lib/melio-platform-api-client/models/get_accounts_account_id_response.rb +223 -0
  228. data/lib/melio-platform-api-client/models/get_accounts_response.rb +225 -0
  229. data/lib/melio-platform-api-client/models/get_charges_charge_id_response.rb +223 -0
  230. data/lib/melio-platform-api-client/models/get_charges_response.rb +225 -0
  231. data/lib/melio-platform-api-client/models/get_checkouts_checkout_id_response.rb +223 -0
  232. data/lib/melio-platform-api-client/models/get_delivery_methods_delivery_method_id_response.rb +223 -0
  233. data/lib/melio-platform-api-client/models/get_delivery_methods_response.rb +225 -0
  234. data/lib/melio-platform-api-client/models/get_files_file_id_data_response.rb +218 -0
  235. data/lib/melio-platform-api-client/models/get_files_file_id_data_response_data.rb +254 -0
  236. data/lib/melio-platform-api-client/models/get_files_file_id_data_response_data_customer_info.rb +218 -0
  237. data/lib/melio-platform-api-client/models/get_files_file_id_data_response_data_invoice_info.rb +227 -0
  238. data/lib/melio-platform-api-client/models/get_files_file_id_data_response_data_vendor_info.rb +227 -0
  239. data/lib/melio-platform-api-client/models/get_files_file_id_response.rb +223 -0
  240. data/lib/melio-platform-api-client/models/get_files_response.rb +225 -0
  241. data/lib/melio-platform-api-client/models/get_financing_response.rb +223 -0
  242. data/lib/melio-platform-api-client/models/get_funding_sources_funding_source_id_response.rb +223 -0
  243. data/lib/melio-platform-api-client/models/get_funding_sources_response.rb +225 -0
  244. data/lib/melio-platform-api-client/models/get_payment_intents_payment_intent_id_response.rb +223 -0
  245. data/lib/melio-platform-api-client/models/get_payment_intents_response.rb +225 -0
  246. data/lib/melio-platform-api-client/models/get_payments_payment_id_response.rb +223 -0
  247. data/lib/melio-platform-api-client/models/get_payments_response.rb +225 -0
  248. data/lib/melio-platform-api-client/models/get_vendor_directory_response.rb +225 -0
  249. data/lib/melio-platform-api-client/models/get_vendors_response.rb +225 -0
  250. data/lib/melio-platform-api-client/models/get_vendors_vendor_id_delivery_methods_response.rb +225 -0
  251. data/lib/melio-platform-api-client/models/get_vendors_vendor_id_response.rb +223 -0
  252. data/lib/melio-platform-api-client/models/get_webhooks_checkouts_response.rb +223 -0
  253. data/lib/melio-platform-api-client/models/get_webhooks_payments_response.rb +223 -0
  254. data/lib/melio-platform-api-client/models/get_webhooks_response.rb +225 -0
  255. data/lib/melio-platform-api-client/models/invoice.rb +234 -0
  256. data/lib/melio-platform-api-client/models/line_item.rb +316 -0
  257. data/lib/melio-platform-api-client/models/merchant.rb +335 -0
  258. data/lib/melio-platform-api-client/models/merchant_all_of.rb +297 -0
  259. data/lib/melio-platform-api-client/models/model_error.rb +256 -0
  260. data/lib/melio-platform-api-client/models/model_error_all_of.rb +237 -0
  261. data/lib/melio-platform-api-client/models/object.rb +238 -0
  262. data/lib/melio-platform-api-client/models/paper_check.rb +239 -0
  263. data/lib/melio-platform-api-client/models/partial_address.rb +258 -0
  264. data/lib/melio-platform-api-client/models/patch_charges_charge_id_request.rb +218 -0
  265. data/lib/melio-platform-api-client/models/patch_charges_charge_id_response.rb +223 -0
  266. data/lib/melio-platform-api-client/models/patch_payment_intents_payment_intent_id_request.rb +275 -0
  267. data/lib/melio-platform-api-client/models/patch_payment_intents_payment_intent_id_request_bill_info.rb +257 -0
  268. data/lib/melio-platform-api-client/models/patch_payment_intents_payment_intent_id_response.rb +223 -0
  269. data/lib/melio-platform-api-client/models/patch_vendors_vendor_id_request.rb +227 -0
  270. data/lib/melio-platform-api-client/models/patch_vendors_vendor_id_request_contact.rb +237 -0
  271. data/lib/melio-platform-api-client/models/patch_vendors_vendor_id_response.rb +223 -0
  272. data/lib/melio-platform-api-client/models/payment.rb +469 -0
  273. data/lib/melio-platform-api-client/models/payment_all_of.rb +431 -0
  274. data/lib/melio-platform-api-client/models/payment_fee.rb +237 -0
  275. data/lib/melio-platform-api-client/models/payment_intent.rb +450 -0
  276. data/lib/melio-platform-api-client/models/payment_intent_all_of.rb +412 -0
  277. data/lib/melio-platform-api-client/models/payment_intent_all_of_bill_info.rb +301 -0
  278. data/lib/melio-platform-api-client/models/person.rb +252 -0
  279. data/lib/melio-platform-api-client/models/plaid_details.rb +239 -0
  280. data/lib/melio-platform-api-client/models/post_accounts_request.rb +248 -0
  281. data/lib/melio-platform-api-client/models/post_accounts_response.rb +223 -0
  282. data/lib/melio-platform-api-client/models/post_auth_response.rb +223 -0
  283. data/lib/melio-platform-api-client/models/post_auth_response_data.rb +251 -0
  284. data/lib/melio-platform-api-client/models/post_checkouts_checkout_id_capture_request.rb +271 -0
  285. data/lib/melio-platform-api-client/models/post_checkouts_checkout_id_capture_request_invoice.rb +234 -0
  286. data/lib/melio-platform-api-client/models/post_checkouts_checkout_id_complete_request.rb +253 -0
  287. data/lib/melio-platform-api-client/models/post_checkouts_request.rb +438 -0
  288. data/lib/melio-platform-api-client/models/post_checkouts_response.rb +223 -0
  289. data/lib/melio-platform-api-client/models/post_delivery_methods_request.rb +237 -0
  290. data/lib/melio-platform-api-client/models/post_delivery_methods_request_details.rb +107 -0
  291. data/lib/melio-platform-api-client/models/post_delivery_methods_response.rb +223 -0
  292. data/lib/melio-platform-api-client/models/post_files_response.rb +223 -0
  293. data/lib/melio-platform-api-client/models/post_financing_request.rb +220 -0
  294. data/lib/melio-platform-api-client/models/post_financing_request_fields.rb +237 -0
  295. data/lib/melio-platform-api-client/models/post_financing_response.rb +223 -0
  296. data/lib/melio-platform-api-client/models/post_financing_transactional_request.rb +239 -0
  297. data/lib/melio-platform-api-client/models/post_financing_transactional_response.rb +224 -0
  298. data/lib/melio-platform-api-client/models/post_financing_transactional_response_data.rb +271 -0
  299. data/lib/melio-platform-api-client/models/post_funding_sources_request.rb +280 -0
  300. data/lib/melio-platform-api-client/models/post_funding_sources_request_details.rb +106 -0
  301. data/lib/melio-platform-api-client/models/post_funding_sources_response.rb +223 -0
  302. data/lib/melio-platform-api-client/models/post_merchants_request.rb +283 -0
  303. data/lib/melio-platform-api-client/models/post_merchants_response.rb +223 -0
  304. data/lib/melio-platform-api-client/models/post_payment_intents_bulk_request.rb +225 -0
  305. data/lib/melio-platform-api-client/models/post_payment_intents_bulk_response.rb +225 -0
  306. data/lib/melio-platform-api-client/models/post_payment_intents_payment_intent_id_payment_response.rb +223 -0
  307. data/lib/melio-platform-api-client/models/post_payment_intents_request.rb +285 -0
  308. data/lib/melio-platform-api-client/models/post_payment_intents_request_bill_info.rb +277 -0
  309. data/lib/melio-platform-api-client/models/post_payment_intents_response.rb +223 -0
  310. data/lib/melio-platform-api-client/models/post_payments_payment_id_recover_request.rb +276 -0
  311. data/lib/melio-platform-api-client/models/post_payments_payment_id_recover_response.rb +223 -0
  312. data/lib/melio-platform-api-client/models/post_vendors_bulk_request.rb +225 -0
  313. data/lib/melio-platform-api-client/models/post_vendors_bulk_response.rb +225 -0
  314. data/lib/melio-platform-api-client/models/post_vendors_from_vendor_directory_request.rb +232 -0
  315. data/lib/melio-platform-api-client/models/post_vendors_from_vendor_directory_request_delivery_method.rb +233 -0
  316. data/lib/melio-platform-api-client/models/post_vendors_from_vendor_directory_response.rb +223 -0
  317. data/lib/melio-platform-api-client/models/post_vendors_request.rb +238 -0
  318. data/lib/melio-platform-api-client/models/post_vendors_response.rb +223 -0
  319. data/lib/melio-platform-api-client/models/post_vendors_vendor_id_delivery_methods_response.rb +223 -0
  320. data/lib/melio-platform-api-client/models/post_webhooks_checkouts_request.rb +223 -0
  321. data/lib/melio-platform-api-client/models/post_webhooks_checkouts_response.rb +223 -0
  322. data/lib/melio-platform-api-client/models/post_webhooks_payments_request.rb +223 -0
  323. data/lib/melio-platform-api-client/models/post_webhooks_payments_response.rb +223 -0
  324. data/lib/melio-platform-api-client/models/put_payment_intents_request.rb +305 -0
  325. data/lib/melio-platform-api-client/models/put_payment_intents_response.rb +223 -0
  326. data/lib/melio-platform-api-client/models/recover_payment_request.rb +304 -0
  327. data/lib/melio-platform-api-client/models/recover_payment_response.rb +223 -0
  328. data/lib/melio-platform-api-client/models/short_history.rb +247 -0
  329. data/lib/melio-platform-api-client/models/taba_pay_details.rb +380 -0
  330. data/lib/melio-platform-api-client/models/taba_pay_details_card_owner.rb +237 -0
  331. data/lib/melio-platform-api-client/models/tax_info.rb +273 -0
  332. data/lib/melio-platform-api-client/models/vendor.rb +292 -0
  333. data/lib/melio-platform-api-client/models/vendor_all_of.rb +254 -0
  334. data/lib/melio-platform-api-client/models/vendor_all_of_contact.rb +254 -0
  335. data/lib/melio-platform-api-client/models/vendor_directory.rb +283 -0
  336. data/lib/melio-platform-api-client/models/vendor_directory_contact.rb +261 -0
  337. data/lib/melio-platform-api-client/models/vendor_directory_delivery_method.rb +223 -0
  338. data/lib/melio-platform-api-client/models/vendor_directory_not_found_response.rb +219 -0
  339. data/lib/melio-platform-api-client/models/virtual_account.rb +243 -0
  340. data/lib/melio-platform-api-client/models/webhook.rb +227 -0
  341. data/lib/melio-platform-api-client/models/with_unknown_data.rb +219 -0
  342. data/lib/melio-platform-api-client/version.rb +15 -0
  343. data/lib/melio-platform-api-client.rb +206 -0
  344. data/melio-platform-api-client.gemspec +38 -0
  345. data/spec/api/accounts_api_spec.rb +71 -0
  346. data/spec/api/auth_api_spec.rb +48 -0
  347. data/spec/api/charges_api_spec.rb +90 -0
  348. data/spec/api/checkouts_api_spec.rb +93 -0
  349. data/spec/api/delivery_methods_api_spec.rb +115 -0
  350. data/spec/api/files_api_spec.rb +85 -0
  351. data/spec/api/financing_api_spec.rb +75 -0
  352. data/spec/api/funding_sources_api_spec.rb +88 -0
  353. data/spec/api/merchants_api_spec.rb +49 -0
  354. data/spec/api/payment_intents_api_spec.rb +114 -0
  355. data/spec/api/payments_api_spec.rb +88 -0
  356. data/spec/api/vendor_directory_api_spec.rb +62 -0
  357. data/spec/api/vendors_api_spec.rb +170 -0
  358. data/spec/api/webhooks_api_spec.rb +118 -0
  359. data/spec/api_client_spec.rb +226 -0
  360. data/spec/configuration_spec.rb +42 -0
  361. data/spec/models/account_all_of_spec.rb +50 -0
  362. data/spec/models/account_spec.rb +62 -0
  363. data/spec/models/add_to_my_vendor_parameters_delivery_method_biller_account_spec.rb +34 -0
  364. data/spec/models/add_to_my_vendor_parameters_delivery_method_spec.rb +40 -0
  365. data/spec/models/add_to_my_vendor_parameters_spec.rb +34 -0
  366. data/spec/models/address_spec.rb +58 -0
  367. data/spec/models/adjustment_spec.rb +40 -0
  368. data/spec/models/bank_account_spec.rb +46 -0
  369. data/spec/models/bank_account_type_spec.rb +28 -0
  370. data/spec/models/biller_account_spec.rb +34 -0
  371. data/spec/models/card_spec.rb +52 -0
  372. data/spec/models/charge_all_of_spec.rb +68 -0
  373. data/spec/models/charge_spec.rb +80 -0
  374. data/spec/models/checkout_all_of_buyer_spec.rb +58 -0
  375. data/spec/models/checkout_all_of_spec.rb +170 -0
  376. data/spec/models/checkout_spec.rb +182 -0
  377. data/spec/models/company_spec.rb +64 -0
  378. data/spec/models/confirm_payment_intents_response_spec.rb +34 -0
  379. data/spec/models/currency_spec.rb +28 -0
  380. data/spec/models/deleted_response_spec.rb +34 -0
  381. data/spec/models/delivery_method_all_of_spec.rb +40 -0
  382. data/spec/models/delivery_method_details_spec.rb +31 -0
  383. data/spec/models/delivery_method_spec.rb +52 -0
  384. data/spec/models/delivery_method_type_spec.rb +28 -0
  385. data/spec/models/delivery_preference_spec.rb +64 -0
  386. data/spec/models/delivery_preference_type_spec.rb +28 -0
  387. data/spec/models/domestic_wire_account_address_spec.rb +46 -0
  388. data/spec/models/domestic_wire_account_spec.rb +46 -0
  389. data/spec/models/error_response_spec.rb +34 -0
  390. data/spec/models/file_info_all_of_spec.rb +34 -0
  391. data/spec/models/file_info_spec.rb +46 -0
  392. data/spec/models/financing_dropdown_options_spec.rb +40 -0
  393. data/spec/models/financing_fields_spec.rb +64 -0
  394. data/spec/models/financing_spec.rb +56 -0
  395. data/spec/models/funding_source_all_of_spec.rb +46 -0
  396. data/spec/models/funding_source_details_spec.rb +31 -0
  397. data/spec/models/funding_source_spec.rb +58 -0
  398. data/spec/models/funding_source_type_spec.rb +28 -0
  399. data/spec/models/get_accounts_account_id_response_spec.rb +34 -0
  400. data/spec/models/get_accounts_response_spec.rb +34 -0
  401. data/spec/models/get_charges_charge_id_response_spec.rb +34 -0
  402. data/spec/models/get_charges_response_spec.rb +34 -0
  403. data/spec/models/get_checkouts_checkout_id_response_spec.rb +34 -0
  404. data/spec/models/get_delivery_methods_delivery_method_id_response_spec.rb +34 -0
  405. data/spec/models/get_delivery_methods_response_spec.rb +34 -0
  406. data/spec/models/get_files_file_id_data_response_data_customer_info_spec.rb +34 -0
  407. data/spec/models/get_files_file_id_data_response_data_invoice_info_spec.rb +40 -0
  408. data/spec/models/get_files_file_id_data_response_data_spec.rb +58 -0
  409. data/spec/models/get_files_file_id_data_response_data_vendor_info_spec.rb +40 -0
  410. data/spec/models/get_files_file_id_data_response_spec.rb +34 -0
  411. data/spec/models/get_files_file_id_response_spec.rb +34 -0
  412. data/spec/models/get_files_response_spec.rb +34 -0
  413. data/spec/models/get_financing_response_spec.rb +34 -0
  414. data/spec/models/get_funding_sources_funding_source_id_response_spec.rb +34 -0
  415. data/spec/models/get_funding_sources_response_spec.rb +34 -0
  416. data/spec/models/get_payment_intents_payment_intent_id_response_spec.rb +34 -0
  417. data/spec/models/get_payment_intents_response_spec.rb +34 -0
  418. data/spec/models/get_payments_payment_id_response_spec.rb +34 -0
  419. data/spec/models/get_payments_response_spec.rb +34 -0
  420. data/spec/models/get_vendor_directory_response_spec.rb +34 -0
  421. data/spec/models/get_vendors_response_spec.rb +34 -0
  422. data/spec/models/get_vendors_vendor_id_delivery_methods_response_spec.rb +34 -0
  423. data/spec/models/get_vendors_vendor_id_response_spec.rb +34 -0
  424. data/spec/models/get_webhooks_checkouts_response_spec.rb +34 -0
  425. data/spec/models/get_webhooks_payments_response_spec.rb +34 -0
  426. data/spec/models/get_webhooks_response_spec.rb +34 -0
  427. data/spec/models/invoice_spec.rb +40 -0
  428. data/spec/models/line_item_spec.rb +70 -0
  429. data/spec/models/merchant_all_of_spec.rb +82 -0
  430. data/spec/models/merchant_spec.rb +94 -0
  431. data/spec/models/model_error_all_of_spec.rb +40 -0
  432. data/spec/models/model_error_spec.rb +46 -0
  433. data/spec/models/object_spec.rb +40 -0
  434. data/spec/models/paper_check_spec.rb +40 -0
  435. data/spec/models/partial_address_spec.rb +58 -0
  436. data/spec/models/patch_charges_charge_id_request_spec.rb +34 -0
  437. data/spec/models/patch_charges_charge_id_response_spec.rb +34 -0
  438. data/spec/models/patch_payment_intents_payment_intent_id_request_bill_info_spec.rb +58 -0
  439. data/spec/models/patch_payment_intents_payment_intent_id_request_spec.rb +70 -0
  440. data/spec/models/patch_payment_intents_payment_intent_id_response_spec.rb +34 -0
  441. data/spec/models/patch_vendors_vendor_id_request_contact_spec.rb +46 -0
  442. data/spec/models/patch_vendors_vendor_id_request_spec.rb +40 -0
  443. data/spec/models/patch_vendors_vendor_id_response_spec.rb +34 -0
  444. data/spec/models/payment_all_of_spec.rb +116 -0
  445. data/spec/models/payment_fee_spec.rb +40 -0
  446. data/spec/models/payment_intent_all_of_bill_info_spec.rb +70 -0
  447. data/spec/models/payment_intent_all_of_spec.rb +110 -0
  448. data/spec/models/payment_intent_spec.rb +122 -0
  449. data/spec/models/payment_spec.rb +128 -0
  450. data/spec/models/person_spec.rb +46 -0
  451. data/spec/models/plaid_details_spec.rb +40 -0
  452. data/spec/models/post_accounts_request_spec.rb +46 -0
  453. data/spec/models/post_accounts_response_spec.rb +34 -0
  454. data/spec/models/post_auth_response_data_spec.rb +46 -0
  455. data/spec/models/post_auth_response_spec.rb +34 -0
  456. data/spec/models/post_checkouts_checkout_id_capture_request_invoice_spec.rb +40 -0
  457. data/spec/models/post_checkouts_checkout_id_capture_request_spec.rb +46 -0
  458. data/spec/models/post_checkouts_checkout_id_complete_request_spec.rb +52 -0
  459. data/spec/models/post_checkouts_request_spec.rb +124 -0
  460. data/spec/models/post_checkouts_response_spec.rb +34 -0
  461. data/spec/models/post_delivery_methods_request_details_spec.rb +31 -0
  462. data/spec/models/post_delivery_methods_request_spec.rb +40 -0
  463. data/spec/models/post_delivery_methods_response_spec.rb +34 -0
  464. data/spec/models/post_files_response_spec.rb +34 -0
  465. data/spec/models/post_financing_request_fields_spec.rb +40 -0
  466. data/spec/models/post_financing_request_spec.rb +34 -0
  467. data/spec/models/post_financing_response_spec.rb +34 -0
  468. data/spec/models/post_financing_transactional_request_spec.rb +40 -0
  469. data/spec/models/post_financing_transactional_response_data_spec.rb +44 -0
  470. data/spec/models/post_financing_transactional_response_spec.rb +34 -0
  471. data/spec/models/post_funding_sources_request_details_spec.rb +31 -0
  472. data/spec/models/post_funding_sources_request_spec.rb +50 -0
  473. data/spec/models/post_funding_sources_response_spec.rb +34 -0
  474. data/spec/models/post_merchants_request_spec.rb +76 -0
  475. data/spec/models/post_merchants_response_spec.rb +34 -0
  476. data/spec/models/post_payment_intents_bulk_request_spec.rb +34 -0
  477. data/spec/models/post_payment_intents_bulk_response_spec.rb +34 -0
  478. data/spec/models/post_payment_intents_payment_intent_id_payment_response_spec.rb +34 -0
  479. data/spec/models/post_payment_intents_request_bill_info_spec.rb +58 -0
  480. data/spec/models/post_payment_intents_request_spec.rb +70 -0
  481. data/spec/models/post_payment_intents_response_spec.rb +34 -0
  482. data/spec/models/post_payments_payment_id_recover_request_spec.rb +58 -0
  483. data/spec/models/post_payments_payment_id_recover_response_spec.rb +34 -0
  484. data/spec/models/post_vendors_bulk_request_spec.rb +34 -0
  485. data/spec/models/post_vendors_bulk_response_spec.rb +34 -0
  486. data/spec/models/post_vendors_from_vendor_directory_request_delivery_method_spec.rb +40 -0
  487. data/spec/models/post_vendors_from_vendor_directory_request_spec.rb +40 -0
  488. data/spec/models/post_vendors_from_vendor_directory_response_spec.rb +34 -0
  489. data/spec/models/post_vendors_request_spec.rb +40 -0
  490. data/spec/models/post_vendors_response_spec.rb +34 -0
  491. data/spec/models/post_vendors_vendor_id_delivery_methods_response_spec.rb +34 -0
  492. data/spec/models/post_webhooks_checkouts_request_spec.rb +34 -0
  493. data/spec/models/post_webhooks_checkouts_response_spec.rb +34 -0
  494. data/spec/models/post_webhooks_payments_request_spec.rb +34 -0
  495. data/spec/models/post_webhooks_payments_response_spec.rb +34 -0
  496. data/spec/models/put_payment_intents_request_spec.rb +88 -0
  497. data/spec/models/put_payment_intents_response_spec.rb +34 -0
  498. data/spec/models/recover_payment_request_spec.rb +88 -0
  499. data/spec/models/recover_payment_response_spec.rb +34 -0
  500. data/spec/models/short_history_spec.rb +46 -0
  501. data/spec/models/taba_pay_details_card_owner_spec.rb +40 -0
  502. data/spec/models/taba_pay_details_spec.rb +70 -0
  503. data/spec/models/tax_info_spec.rb +44 -0
  504. data/spec/models/vendor_all_of_contact_spec.rb +46 -0
  505. data/spec/models/vendor_all_of_spec.rb +46 -0
  506. data/spec/models/vendor_directory_contact_spec.rb +52 -0
  507. data/spec/models/vendor_directory_delivery_method_spec.rb +34 -0
  508. data/spec/models/vendor_directory_not_found_response_spec.rb +34 -0
  509. data/spec/models/vendor_directory_spec.rb +58 -0
  510. data/spec/models/vendor_spec.rb +58 -0
  511. data/spec/models/virtual_account_spec.rb +46 -0
  512. data/spec/models/webhook_spec.rb +40 -0
  513. data/spec/models/with_unknown_data_spec.rb +34 -0
  514. data/spec/spec_helper.rb +111 -0
  515. metadata +766 -0
@@ -0,0 +1,339 @@
1
+ =begin
2
+ #Platform API
3
+
4
+ #Melio Platform API enables partners to perform partner-related operations in Melio's system, for themselves, and on behalf of their system's users.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: platform@melio.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module MelioPlatformApiClient
17
+ # Represents an authorized payment card that is associated with an Account.
18
+ class Card
19
+ attr_accessor :type
20
+
21
+ # Two-digits month (e.g. `01` or `11`)
22
+ attr_accessor :expiration_month
23
+
24
+ # Four-digits year (e.g. `2024`).
25
+ attr_accessor :expiration_year
26
+
27
+ # LAst four digits of a payment card.
28
+ attr_accessor :last_four_digits
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+ :'type' => :'type',
34
+ :'expiration_month' => :'expirationMonth',
35
+ :'expiration_year' => :'expirationYear',
36
+ :'last_four_digits' => :'lastFourDigits'
37
+ }
38
+ end
39
+
40
+ # Returns all the JSON keys this model knows about
41
+ def self.acceptable_attributes
42
+ attribute_map.values
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ def self.openapi_types
47
+ {
48
+ :'type' => :'String',
49
+ :'expiration_month' => :'String',
50
+ :'expiration_year' => :'String',
51
+ :'last_four_digits' => :'String'
52
+ }
53
+ end
54
+
55
+ # List of attributes with nullable: true
56
+ def self.openapi_nullable
57
+ Set.new([
58
+ ])
59
+ end
60
+
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
63
+ def initialize(attributes = {})
64
+ if (!attributes.is_a?(Hash))
65
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MelioPlatformApiClient::Card` initialize method"
66
+ end
67
+
68
+ # check to see if the attribute exists and convert string to symbol for hash key
69
+ attributes = attributes.each_with_object({}) { |(k, v), h|
70
+ if (!self.class.attribute_map.key?(k.to_sym))
71
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MelioPlatformApiClient::Card`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
72
+ end
73
+ h[k.to_sym] = v
74
+ }
75
+
76
+ if attributes.key?(:'type')
77
+ self.type = attributes[:'type']
78
+ end
79
+
80
+ if attributes.key?(:'expiration_month')
81
+ self.expiration_month = attributes[:'expiration_month']
82
+ end
83
+
84
+ if attributes.key?(:'expiration_year')
85
+ self.expiration_year = attributes[:'expiration_year']
86
+ end
87
+
88
+ if attributes.key?(:'last_four_digits')
89
+ self.last_four_digits = attributes[:'last_four_digits']
90
+ end
91
+ end
92
+
93
+ # Show invalid properties with the reasons. Usually used together with valid?
94
+ # @return Array for valid properties with the reasons
95
+ def list_invalid_properties
96
+ invalid_properties = Array.new
97
+ if @type.nil?
98
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
99
+ end
100
+
101
+ if @expiration_month.nil?
102
+ invalid_properties.push('invalid value for "expiration_month", expiration_month cannot be nil.')
103
+ end
104
+
105
+ pattern = Regexp.new(/^0[1-9]|1[0-2]$/)
106
+ if @expiration_month !~ pattern
107
+ invalid_properties.push("invalid value for \"expiration_month\", must conform to the pattern #{pattern}.")
108
+ end
109
+
110
+ if @expiration_year.nil?
111
+ invalid_properties.push('invalid value for "expiration_year", expiration_year cannot be nil.')
112
+ end
113
+
114
+ pattern = Regexp.new(/^20(2[2-9]|[3-9]\d)$/)
115
+ if @expiration_year !~ pattern
116
+ invalid_properties.push("invalid value for \"expiration_year\", must conform to the pattern #{pattern}.")
117
+ end
118
+
119
+ if @last_four_digits.nil?
120
+ invalid_properties.push('invalid value for "last_four_digits", last_four_digits cannot be nil.')
121
+ end
122
+
123
+ if @last_four_digits.to_s.length > 4
124
+ invalid_properties.push('invalid value for "last_four_digits", the character length must be smaller than or equal to 4.')
125
+ end
126
+
127
+ if @last_four_digits.to_s.length < 4
128
+ invalid_properties.push('invalid value for "last_four_digits", the character length must be great than or equal to 4.')
129
+ end
130
+
131
+ invalid_properties
132
+ end
133
+
134
+ # Check to see if the all the properties in the model are valid
135
+ # @return true if the model is valid
136
+ def valid?
137
+ return false if @type.nil?
138
+ return false if @expiration_month.nil?
139
+ return false if @expiration_month !~ Regexp.new(/^0[1-9]|1[0-2]$/)
140
+ return false if @expiration_year.nil?
141
+ return false if @expiration_year !~ Regexp.new(/^20(2[2-9]|[3-9]\d)$/)
142
+ return false if @last_four_digits.nil?
143
+ return false if @last_four_digits.to_s.length > 4
144
+ return false if @last_four_digits.to_s.length < 4
145
+ true
146
+ end
147
+
148
+ # Custom attribute writer method with validation
149
+ # @param [Object] expiration_month Value to be assigned
150
+ def expiration_month=(expiration_month)
151
+ if expiration_month.nil?
152
+ fail ArgumentError, 'expiration_month cannot be nil'
153
+ end
154
+
155
+ pattern = Regexp.new(/^0[1-9]|1[0-2]$/)
156
+ if expiration_month !~ pattern
157
+ fail ArgumentError, "invalid value for \"expiration_month\", must conform to the pattern #{pattern}."
158
+ end
159
+
160
+ @expiration_month = expiration_month
161
+ end
162
+
163
+ # Custom attribute writer method with validation
164
+ # @param [Object] expiration_year Value to be assigned
165
+ def expiration_year=(expiration_year)
166
+ if expiration_year.nil?
167
+ fail ArgumentError, 'expiration_year cannot be nil'
168
+ end
169
+
170
+ pattern = Regexp.new(/^20(2[2-9]|[3-9]\d)$/)
171
+ if expiration_year !~ pattern
172
+ fail ArgumentError, "invalid value for \"expiration_year\", must conform to the pattern #{pattern}."
173
+ end
174
+
175
+ @expiration_year = expiration_year
176
+ end
177
+
178
+ # Custom attribute writer method with validation
179
+ # @param [Object] last_four_digits Value to be assigned
180
+ def last_four_digits=(last_four_digits)
181
+ if last_four_digits.nil?
182
+ fail ArgumentError, 'last_four_digits cannot be nil'
183
+ end
184
+
185
+ if last_four_digits.to_s.length > 4
186
+ fail ArgumentError, 'invalid value for "last_four_digits", the character length must be smaller than or equal to 4.'
187
+ end
188
+
189
+ if last_four_digits.to_s.length < 4
190
+ fail ArgumentError, 'invalid value for "last_four_digits", the character length must be great than or equal to 4.'
191
+ end
192
+
193
+ @last_four_digits = last_four_digits
194
+ end
195
+
196
+ # Checks equality by comparing each attribute.
197
+ # @param [Object] Object to be compared
198
+ def ==(o)
199
+ return true if self.equal?(o)
200
+ self.class == o.class &&
201
+ type == o.type &&
202
+ expiration_month == o.expiration_month &&
203
+ expiration_year == o.expiration_year &&
204
+ last_four_digits == o.last_four_digits
205
+ end
206
+
207
+ # @see the `==` method
208
+ # @param [Object] Object to be compared
209
+ def eql?(o)
210
+ self == o
211
+ end
212
+
213
+ # Calculates hash code according to all attributes.
214
+ # @return [Integer] Hash code
215
+ def hash
216
+ [type, expiration_month, expiration_year, last_four_digits].hash
217
+ end
218
+
219
+ # Builds the object from hash
220
+ # @param [Hash] attributes Model attributes in the form of hash
221
+ # @return [Object] Returns the model itself
222
+ def self.build_from_hash(attributes)
223
+ new.build_from_hash(attributes)
224
+ end
225
+
226
+ # Builds the object from hash
227
+ # @param [Hash] attributes Model attributes in the form of hash
228
+ # @return [Object] Returns the model itself
229
+ def build_from_hash(attributes)
230
+ return nil unless attributes.is_a?(Hash)
231
+ self.class.openapi_types.each_pair do |key, type|
232
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
233
+ self.send("#{key}=", nil)
234
+ elsif type =~ /\AArray<(.*)>/i
235
+ # check to ensure the input is an array given that the attribute
236
+ # is documented as an array but the input is not
237
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
238
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
239
+ end
240
+ elsif !attributes[self.class.attribute_map[key]].nil?
241
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
242
+ end
243
+ end
244
+
245
+ self
246
+ end
247
+
248
+ # Deserializes the data based on type
249
+ # @param string type Data type
250
+ # @param string value Value to be deserialized
251
+ # @return [Object] Deserialized data
252
+ def _deserialize(type, value)
253
+ case type.to_sym
254
+ when :Time
255
+ Time.parse(value)
256
+ when :Date
257
+ Date.parse(value)
258
+ when :String
259
+ value.to_s
260
+ when :Integer
261
+ value.to_i
262
+ when :Float
263
+ value.to_f
264
+ when :Boolean
265
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
266
+ true
267
+ else
268
+ false
269
+ end
270
+ when :Object
271
+ # generic object (usually a Hash), return directly
272
+ value
273
+ when /\AArray<(?<inner_type>.+)>\z/
274
+ inner_type = Regexp.last_match[:inner_type]
275
+ value.map { |v| _deserialize(inner_type, v) }
276
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
277
+ k_type = Regexp.last_match[:k_type]
278
+ v_type = Regexp.last_match[:v_type]
279
+ {}.tap do |hash|
280
+ value.each do |k, v|
281
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
282
+ end
283
+ end
284
+ else # model
285
+ # models (e.g. Pet) or oneOf
286
+ klass = MelioPlatformApiClient.const_get(type)
287
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
288
+ end
289
+ end
290
+
291
+ # Returns the string representation of the object
292
+ # @return [String] String presentation of the object
293
+ def to_s
294
+ to_hash.to_s
295
+ end
296
+
297
+ # to_body is an alias to to_hash (backward compatibility)
298
+ # @return [Hash] Returns the object in the form of hash
299
+ def to_body
300
+ to_hash
301
+ end
302
+
303
+ # Returns the object in the form of hash
304
+ # @return [Hash] Returns the object in the form of hash
305
+ def to_hash
306
+ hash = {}
307
+ self.class.attribute_map.each_pair do |attr, param|
308
+ value = self.send(attr)
309
+ if value.nil?
310
+ is_nullable = self.class.openapi_nullable.include?(attr)
311
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
312
+ end
313
+
314
+ hash[param] = _to_hash(value)
315
+ end
316
+ hash
317
+ end
318
+
319
+ # Outputs non-array value in the form of hash
320
+ # For object, use to_hash. Otherwise, just return the value
321
+ # @param [Object] value Any valid value
322
+ # @return [Hash] Returns the value in the form of hash
323
+ def _to_hash(value)
324
+ if value.is_a?(Array)
325
+ value.compact.map { |v| _to_hash(v) }
326
+ elsif value.is_a?(Hash)
327
+ {}.tap do |hash|
328
+ value.each { |k, v| hash[k] = _to_hash(v) }
329
+ end
330
+ elsif value.respond_to? :to_hash
331
+ value.to_hash
332
+ else
333
+ value
334
+ end
335
+ end
336
+
337
+ end
338
+
339
+ end
@@ -0,0 +1,368 @@
1
+ =begin
2
+ #Platform API
3
+
4
+ #Melio Platform API enables partners to perform partner-related operations in Melio's system, for themselves, and on behalf of their system's users.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: platform@melio.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module MelioPlatformApiClient
17
+ # Represnets a charging order for a Checkout, created when a Checkout is captured.
18
+ class Charge
19
+ # Identifier of the entity.
20
+ attr_accessor :id
21
+
22
+ attr_accessor :history
23
+
24
+ attr_accessor :status
25
+
26
+ attr_accessor :due_date
27
+
28
+ attr_accessor :amount
29
+
30
+ attr_accessor :currency
31
+
32
+ # Merchant's reference for the order in their systems as provided when the Charge object was created
33
+ attr_accessor :merchant_order_reference
34
+
35
+ attr_accessor :invoice
36
+
37
+ class EnumAttributeValidator
38
+ attr_reader :datatype
39
+ attr_reader :allowable_values
40
+
41
+ def initialize(datatype, allowable_values)
42
+ @allowable_values = allowable_values.map do |value|
43
+ case datatype.to_s
44
+ when /Integer/i
45
+ value.to_i
46
+ when /Float/i
47
+ value.to_f
48
+ else
49
+ value
50
+ end
51
+ end
52
+ end
53
+
54
+ def valid?(value)
55
+ !value || allowable_values.include?(value)
56
+ end
57
+ end
58
+
59
+ # Attribute mapping from ruby-style variable name to JSON key.
60
+ def self.attribute_map
61
+ {
62
+ :'id' => :'id',
63
+ :'history' => :'history',
64
+ :'status' => :'status',
65
+ :'due_date' => :'dueDate',
66
+ :'amount' => :'amount',
67
+ :'currency' => :'currency',
68
+ :'merchant_order_reference' => :'merchantOrderReference',
69
+ :'invoice' => :'invoice'
70
+ }
71
+ end
72
+
73
+ # Returns all the JSON keys this model knows about
74
+ def self.acceptable_attributes
75
+ attribute_map.values
76
+ end
77
+
78
+ # Attribute type mapping.
79
+ def self.openapi_types
80
+ {
81
+ :'id' => :'String',
82
+ :'history' => :'ShortHistory',
83
+ :'status' => :'String',
84
+ :'due_date' => :'Date',
85
+ :'amount' => :'Integer',
86
+ :'currency' => :'Currency',
87
+ :'merchant_order_reference' => :'String',
88
+ :'invoice' => :'Invoice'
89
+ }
90
+ end
91
+
92
+ # List of attributes with nullable: true
93
+ def self.openapi_nullable
94
+ Set.new([
95
+ ])
96
+ end
97
+
98
+ # List of class defined in allOf (OpenAPI v3)
99
+ def self.openapi_all_of
100
+ [
101
+ :'ChargeAllOf',
102
+ :'Object'
103
+ ]
104
+ end
105
+
106
+ # Initializes the object
107
+ # @param [Hash] attributes Model attributes in the form of hash
108
+ def initialize(attributes = {})
109
+ if (!attributes.is_a?(Hash))
110
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MelioPlatformApiClient::Charge` initialize method"
111
+ end
112
+
113
+ # check to see if the attribute exists and convert string to symbol for hash key
114
+ attributes = attributes.each_with_object({}) { |(k, v), h|
115
+ if (!self.class.attribute_map.key?(k.to_sym))
116
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MelioPlatformApiClient::Charge`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
117
+ end
118
+ h[k.to_sym] = v
119
+ }
120
+
121
+ if attributes.key?(:'id')
122
+ self.id = attributes[:'id']
123
+ end
124
+
125
+ if attributes.key?(:'history')
126
+ self.history = attributes[:'history']
127
+ end
128
+
129
+ if attributes.key?(:'status')
130
+ self.status = attributes[:'status']
131
+ end
132
+
133
+ if attributes.key?(:'due_date')
134
+ self.due_date = attributes[:'due_date']
135
+ end
136
+
137
+ if attributes.key?(:'amount')
138
+ self.amount = attributes[:'amount']
139
+ end
140
+
141
+ if attributes.key?(:'currency')
142
+ self.currency = attributes[:'currency']
143
+ else
144
+ self.currency = 'USD'
145
+ end
146
+
147
+ if attributes.key?(:'merchant_order_reference')
148
+ self.merchant_order_reference = attributes[:'merchant_order_reference']
149
+ end
150
+
151
+ if attributes.key?(:'invoice')
152
+ self.invoice = attributes[:'invoice']
153
+ end
154
+ end
155
+
156
+ # Show invalid properties with the reasons. Usually used together with valid?
157
+ # @return Array for valid properties with the reasons
158
+ def list_invalid_properties
159
+ invalid_properties = Array.new
160
+ if @id.nil?
161
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
162
+ end
163
+
164
+ if @history.nil?
165
+ invalid_properties.push('invalid value for "history", history cannot be nil.')
166
+ end
167
+
168
+ if @status.nil?
169
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
170
+ end
171
+
172
+ if @due_date.nil?
173
+ invalid_properties.push('invalid value for "due_date", due_date cannot be nil.')
174
+ end
175
+
176
+ if @amount.nil?
177
+ invalid_properties.push('invalid value for "amount", amount cannot be nil.')
178
+ end
179
+
180
+ if @currency.nil?
181
+ invalid_properties.push('invalid value for "currency", currency cannot be nil.')
182
+ end
183
+
184
+ if @merchant_order_reference.nil?
185
+ invalid_properties.push('invalid value for "merchant_order_reference", merchant_order_reference cannot be nil.')
186
+ end
187
+
188
+ if @invoice.nil?
189
+ invalid_properties.push('invalid value for "invoice", invoice cannot be nil.')
190
+ end
191
+
192
+ invalid_properties
193
+ end
194
+
195
+ # Check to see if the all the properties in the model are valid
196
+ # @return true if the model is valid
197
+ def valid?
198
+ return false if @id.nil?
199
+ return false if @history.nil?
200
+ return false if @status.nil?
201
+ status_validator = EnumAttributeValidator.new('String', ["scheduled", "failed", "in-progress", "completed", "created"])
202
+ return false unless status_validator.valid?(@status)
203
+ return false if @due_date.nil?
204
+ return false if @amount.nil?
205
+ return false if @currency.nil?
206
+ return false if @merchant_order_reference.nil?
207
+ return false if @invoice.nil?
208
+ true
209
+ end
210
+
211
+ # Custom attribute writer method checking allowed values (enum).
212
+ # @param [Object] status Object to be assigned
213
+ def status=(status)
214
+ validator = EnumAttributeValidator.new('String', ["scheduled", "failed", "in-progress", "completed", "created"])
215
+ unless validator.valid?(status)
216
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
217
+ end
218
+ @status = status
219
+ end
220
+
221
+ # Checks equality by comparing each attribute.
222
+ # @param [Object] Object to be compared
223
+ def ==(o)
224
+ return true if self.equal?(o)
225
+ self.class == o.class &&
226
+ id == o.id &&
227
+ history == o.history &&
228
+ status == o.status &&
229
+ due_date == o.due_date &&
230
+ amount == o.amount &&
231
+ currency == o.currency &&
232
+ merchant_order_reference == o.merchant_order_reference &&
233
+ invoice == o.invoice
234
+ end
235
+
236
+ # @see the `==` method
237
+ # @param [Object] Object to be compared
238
+ def eql?(o)
239
+ self == o
240
+ end
241
+
242
+ # Calculates hash code according to all attributes.
243
+ # @return [Integer] Hash code
244
+ def hash
245
+ [id, history, status, due_date, amount, currency, merchant_order_reference, invoice].hash
246
+ end
247
+
248
+ # Builds the object from hash
249
+ # @param [Hash] attributes Model attributes in the form of hash
250
+ # @return [Object] Returns the model itself
251
+ def self.build_from_hash(attributes)
252
+ new.build_from_hash(attributes)
253
+ end
254
+
255
+ # Builds the object from hash
256
+ # @param [Hash] attributes Model attributes in the form of hash
257
+ # @return [Object] Returns the model itself
258
+ def build_from_hash(attributes)
259
+ return nil unless attributes.is_a?(Hash)
260
+ self.class.openapi_types.each_pair do |key, type|
261
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
262
+ self.send("#{key}=", nil)
263
+ elsif type =~ /\AArray<(.*)>/i
264
+ # check to ensure the input is an array given that the attribute
265
+ # is documented as an array but the input is not
266
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
267
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
268
+ end
269
+ elsif !attributes[self.class.attribute_map[key]].nil?
270
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
271
+ end
272
+ end
273
+
274
+ self
275
+ end
276
+
277
+ # Deserializes the data based on type
278
+ # @param string type Data type
279
+ # @param string value Value to be deserialized
280
+ # @return [Object] Deserialized data
281
+ def _deserialize(type, value)
282
+ case type.to_sym
283
+ when :Time
284
+ Time.parse(value)
285
+ when :Date
286
+ Date.parse(value)
287
+ when :String
288
+ value.to_s
289
+ when :Integer
290
+ value.to_i
291
+ when :Float
292
+ value.to_f
293
+ when :Boolean
294
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
295
+ true
296
+ else
297
+ false
298
+ end
299
+ when :Object
300
+ # generic object (usually a Hash), return directly
301
+ value
302
+ when /\AArray<(?<inner_type>.+)>\z/
303
+ inner_type = Regexp.last_match[:inner_type]
304
+ value.map { |v| _deserialize(inner_type, v) }
305
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
306
+ k_type = Regexp.last_match[:k_type]
307
+ v_type = Regexp.last_match[:v_type]
308
+ {}.tap do |hash|
309
+ value.each do |k, v|
310
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
311
+ end
312
+ end
313
+ else # model
314
+ # models (e.g. Pet) or oneOf
315
+ klass = MelioPlatformApiClient.const_get(type)
316
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
317
+ end
318
+ end
319
+
320
+ # Returns the string representation of the object
321
+ # @return [String] String presentation of the object
322
+ def to_s
323
+ to_hash.to_s
324
+ end
325
+
326
+ # to_body is an alias to to_hash (backward compatibility)
327
+ # @return [Hash] Returns the object in the form of hash
328
+ def to_body
329
+ to_hash
330
+ end
331
+
332
+ # Returns the object in the form of hash
333
+ # @return [Hash] Returns the object in the form of hash
334
+ def to_hash
335
+ hash = {}
336
+ self.class.attribute_map.each_pair do |attr, param|
337
+ value = self.send(attr)
338
+ if value.nil?
339
+ is_nullable = self.class.openapi_nullable.include?(attr)
340
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
341
+ end
342
+
343
+ hash[param] = _to_hash(value)
344
+ end
345
+ hash
346
+ end
347
+
348
+ # Outputs non-array value in the form of hash
349
+ # For object, use to_hash. Otherwise, just return the value
350
+ # @param [Object] value Any valid value
351
+ # @return [Hash] Returns the value in the form of hash
352
+ def _to_hash(value)
353
+ if value.is_a?(Array)
354
+ value.compact.map { |v| _to_hash(v) }
355
+ elsif value.is_a?(Hash)
356
+ {}.tap do |hash|
357
+ value.each { |k, v| hash[k] = _to_hash(v) }
358
+ end
359
+ elsif value.respond_to? :to_hash
360
+ value.to_hash
361
+ else
362
+ value
363
+ end
364
+ end
365
+
366
+ end
367
+
368
+ end