moov_ruby 26.4.0.pre.dev.6 → 26.4.0.pre.dev.7

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 (526) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/metadata_fields.rb +66 -9
  3. data/lib/crystalline/module.rb +3 -3
  4. data/lib/moov/account_terminal_applications.rb +5 -5
  5. data/lib/moov/accounts.rb +22 -22
  6. data/lib/moov/adjustments.rb +2 -2
  7. data/lib/moov/apple_pay.rb +14 -14
  8. data/lib/moov/authentication.rb +3 -3
  9. data/lib/moov/avatars.rb +2 -2
  10. data/lib/moov/bank_accounts.rb +26 -26
  11. data/lib/moov/branding.rb +5 -5
  12. data/lib/moov/capabilities.rb +6 -6
  13. data/lib/moov/card_issuing.rb +8 -8
  14. data/lib/moov/cards.rb +32 -17
  15. data/lib/moov/client.rb +2 -1
  16. data/lib/moov/disputes.rb +32 -32
  17. data/lib/moov/end_to_end_encryption.rb +2 -2
  18. data/lib/moov/enriched_profile.rb +1 -1
  19. data/lib/moov/fee_plans.rb +12 -12
  20. data/lib/moov/files.rb +5 -5
  21. data/lib/moov/images.rb +10 -10
  22. data/lib/moov/industries.rb +1 -1
  23. data/lib/moov/institutions.rb +7 -7
  24. data/lib/moov/invoices.rb +914 -0
  25. data/lib/moov/issuing_transactions.rb +5 -5
  26. data/lib/moov/models/components/account.rb +5 -5
  27. data/lib/moov/models/components/accountnameverification.rb +4 -4
  28. data/lib/moov/models/components/accountverificationstatus.rb +2 -2
  29. data/lib/moov/models/components/achcreditsamedaypaymentmethod.rb +1 -1
  30. data/lib/moov/models/components/achcreditsamedaytransferpaymentmethod.rb +1 -1
  31. data/lib/moov/models/components/achcreditstandardpaymentmethod.rb +1 -1
  32. data/lib/moov/models/components/achcreditstandardtransferpaymentmethod.rb +1 -1
  33. data/lib/moov/models/components/achdebitcollectpaymentmethod.rb +1 -1
  34. data/lib/moov/models/components/achdebitcollecttransferpaymentmethod.rb +1 -1
  35. data/lib/moov/models/components/achdebitfundpaymentmethod.rb +1 -1
  36. data/lib/moov/models/components/achdebitfundtransferpaymentmethod.rb +1 -1
  37. data/lib/moov/models/components/achreturncode.rb +1 -1
  38. data/lib/moov/models/components/achtransactiondetails.rb +10 -10
  39. data/lib/moov/models/components/adjustment.rb +1 -1
  40. data/lib/moov/models/components/adjustmentfees.rb +3 -3
  41. data/lib/moov/models/components/amount.rb +1 -1
  42. data/lib/moov/models/components/amountdecimal.rb +1 -1
  43. data/lib/moov/models/components/amountdecimalupdate.rb +38 -0
  44. data/lib/moov/models/components/amountdecimalupdate.rbi +15 -0
  45. data/lib/moov/models/components/amountupdate.rb +1 -1
  46. data/lib/moov/models/components/applepayheader.rb +1 -1
  47. data/lib/moov/models/components/applepaymerchantdomains.rb +2 -2
  48. data/lib/moov/models/components/applepaypaymentmethod.rb +1 -1
  49. data/lib/moov/models/components/applepayresponse.rb +2 -2
  50. data/lib/moov/models/components/applepaytransferpaymentmethod.rb +1 -1
  51. data/lib/moov/models/components/asynccreatedrefund.rb +1 -1
  52. data/lib/moov/models/components/asynctransfer.rb +1 -1
  53. data/lib/moov/models/components/authtoken.rb +1 -1
  54. data/lib/moov/models/components/authtokenrequest.rb +2 -2
  55. data/lib/moov/models/components/bankaccount.rb +7 -7
  56. data/lib/moov/models/components/bankaccountexception.rb +5 -5
  57. data/lib/moov/models/components/bankaccountintegration.rb +2 -2
  58. data/lib/moov/models/components/bankaccountverification.rb +2 -2
  59. data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
  60. data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
  61. data/lib/moov/models/components/billablefee.rb +2 -2
  62. data/lib/moov/models/components/billingsummary.rb +6 -6
  63. data/lib/moov/models/components/billingsummary_platformfees.rb +3 -3
  64. data/lib/moov/models/components/billingsummary_volumeamount.rb +3 -3
  65. data/lib/moov/models/components/billingsummarydetails.rb +4 -4
  66. data/lib/moov/models/components/billingsummarydetails_volumeamount.rb +3 -3
  67. data/lib/moov/models/components/businessprofile.rb +2 -2
  68. data/lib/moov/models/components/calltoaction.rb +1 -1
  69. data/lib/moov/models/components/cancellation.rb +2 -2
  70. data/lib/moov/models/components/capability.rb +6 -6
  71. data/lib/moov/models/components/capabilityid.rb +1 -1
  72. data/lib/moov/models/components/card.rb +5 -5
  73. data/lib/moov/models/components/cardaccountupdater.rb +2 -2
  74. data/lib/moov/models/components/cardacquiring.rb +4 -4
  75. data/lib/moov/models/components/cardacquiringdispute.rb +1 -1
  76. data/lib/moov/models/components/cardacquiringrefund.rb +3 -3
  77. data/lib/moov/models/components/cardpaymentpaymentmethod.rb +1 -1
  78. data/lib/moov/models/components/cardpaymenttransferpaymentmethod.rb +1 -1
  79. data/lib/moov/models/components/cardpresentpaymentpaymentmethod.rb +1 -1
  80. data/lib/moov/models/components/cardpresentpaymenttransferpaymentmethod.rb +1 -1
  81. data/lib/moov/models/components/cardtransactiondetails.rb +12 -12
  82. data/lib/moov/models/components/cardverification.rb +3 -3
  83. data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
  84. data/lib/moov/models/components/completedmicrodeposits.rb +1 -1
  85. data/lib/moov/models/components/createaccount.rb +2 -2
  86. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  87. data/lib/moov/models/components/createdtransfer.rb +4 -4
  88. data/lib/moov/models/components/createevidencefilemultipart.rb +1 -1
  89. data/lib/moov/models/components/createevidencetext.rb +1 -1
  90. data/lib/moov/models/components/createinvoice.rb +52 -0
  91. data/lib/moov/models/components/createinvoice.rbi +23 -0
  92. data/lib/moov/models/components/createinvoicelineitem.rb +49 -0
  93. data/lib/moov/models/components/createinvoicelineitem.rbi +21 -0
  94. data/lib/moov/models/components/createinvoicelineitemoption.rb +44 -0
  95. data/lib/moov/models/components/createinvoicelineitemoption.rbi +19 -0
  96. data/lib/moov/models/components/createinvoicelineitemoptionvalidationerror.rb +44 -0
  97. data/lib/moov/models/components/createinvoicelineitemoptionvalidationerror.rbi +19 -0
  98. data/lib/moov/models/components/createinvoicelineitems.rb +32 -0
  99. data/lib/moov/models/components/createinvoicelineitems.rbi +13 -0
  100. data/lib/moov/models/components/createinvoicelineitemsupdate.rb +32 -0
  101. data/lib/moov/models/components/createinvoicelineitemsupdate.rbi +13 -0
  102. data/lib/moov/models/components/createinvoicelineitemsvalidationerror.rb +32 -0
  103. data/lib/moov/models/components/createinvoicelineitemsvalidationerror.rbi +13 -0
  104. data/lib/moov/models/components/createinvoicelineitemvalidationerror.rb +48 -0
  105. data/lib/moov/models/components/createinvoicelineitemvalidationerror.rbi +21 -0
  106. data/lib/moov/models/components/createinvoicepayment.rb +44 -0
  107. data/lib/moov/models/components/createinvoicepayment.rbi +19 -0
  108. data/lib/moov/models/components/createpaymentlink.rb +4 -4
  109. data/lib/moov/models/components/createpaymentlinklineitem.rb +2 -2
  110. data/lib/moov/models/components/createpaymentlinklineitemoption.rb +2 -2
  111. data/lib/moov/models/components/createproductoption.rb +1 -1
  112. data/lib/moov/models/components/createproductoptiongroup.rb +2 -2
  113. data/lib/moov/models/components/createrefund.rb +1 -1
  114. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  115. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  116. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  117. data/lib/moov/models/components/createtransfersourcecard.rb +2 -2
  118. data/lib/moov/models/components/createwebhook.rb +1 -1
  119. data/lib/moov/models/components/dispute.rb +7 -7
  120. data/lib/moov/models/components/disputeevidenceresponse.rb +4 -4
  121. data/lib/moov/models/components/disputestatus.rb +1 -1
  122. data/lib/moov/models/components/document.rb +2 -2
  123. data/lib/moov/models/components/estimatedactivity.rb +1 -1
  124. data/lib/moov/models/components/evidencetextresponse.rb +2 -2
  125. data/lib/moov/models/components/evidenceuploadresponse.rb +2 -2
  126. data/lib/moov/models/components/facilitatorfee.rb +1 -1
  127. data/lib/moov/models/components/feeplan.rb +2 -2
  128. data/lib/moov/models/components/feeplanagreement.rb +3 -3
  129. data/lib/moov/models/components/feeproperties.rb +1 -1
  130. data/lib/moov/models/components/filedetails.rb +4 -4
  131. data/lib/moov/models/components/fileuploadrequestmultipart.rb +1 -1
  132. data/lib/moov/models/components/fulfillment.rb +2 -2
  133. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  134. data/lib/moov/models/components/fullissuedcard.rb +5 -5
  135. data/lib/moov/models/components/granttype.rb +1 -1
  136. data/lib/moov/models/components/imagemetadata.rb +3 -3
  137. data/lib/moov/models/components/incurredfee.rb +1 -1
  138. data/lib/moov/models/components/instantbankcreditpaymentmethod.rb +1 -1
  139. data/lib/moov/models/components/instantbankcredittransferpaymentmethod.rb +1 -1
  140. data/lib/moov/models/components/invoice.rb +116 -0
  141. data/lib/moov/models/components/invoice.rbi +55 -0
  142. data/lib/moov/models/components/invoiceexternalpayment.rb +40 -0
  143. data/lib/moov/models/components/invoiceexternalpayment.rbi +17 -0
  144. data/lib/moov/models/components/invoicelineitem.rb +53 -0
  145. data/lib/moov/models/components/invoicelineitem.rbi +23 -0
  146. data/lib/moov/models/components/invoicelineitemimagemetadata.rb +44 -0
  147. data/lib/moov/models/components/invoicelineitemimagemetadata.rbi +19 -0
  148. data/lib/moov/models/components/invoicelineitemoption.rb +48 -0
  149. data/lib/moov/models/components/invoicelineitemoption.rbi +21 -0
  150. data/lib/moov/models/components/invoicelineitemoptionvalidationerror.rb +44 -0
  151. data/lib/moov/models/components/invoicelineitemoptionvalidationerror.rbi +19 -0
  152. data/lib/moov/models/components/invoicelineitems.rb +32 -0
  153. data/lib/moov/models/components/invoicelineitems.rbi +13 -0
  154. data/lib/moov/models/components/invoicelineitemsvalidationerror.rb +32 -0
  155. data/lib/moov/models/components/invoicelineitemsvalidationerror.rbi +13 -0
  156. data/lib/moov/models/components/invoicelineitemvalidationerror.rb +48 -0
  157. data/lib/moov/models/components/invoicelineitemvalidationerror.rbi +21 -0
  158. data/lib/moov/models/components/invoicepayment.rb +48 -0
  159. data/lib/moov/models/components/invoicepayment.rbi +21 -0
  160. data/lib/moov/models/components/invoicepaymenttype.rb +19 -0
  161. data/lib/moov/models/components/invoicepaymenttype.rbi +11 -0
  162. data/lib/moov/models/components/invoicetransferpayment.rb +32 -0
  163. data/lib/moov/models/components/invoicetransferpayment.rbi +13 -0
  164. data/lib/moov/models/components/issuedcard.rb +5 -5
  165. data/lib/moov/models/components/issuedcardauthorization.rb +3 -3
  166. data/lib/moov/models/components/issuedcardauthorizationevent.rb +3 -3
  167. data/lib/moov/models/components/issuedcardstate.rb +1 -1
  168. data/lib/moov/models/components/issuedcardtransaction.rb +2 -2
  169. data/lib/moov/models/components/issuingvelocitylimit.rb +1 -1
  170. data/lib/moov/models/components/jsonwebkey.rb +6 -6
  171. data/lib/moov/models/components/linkapplepay.rb +2 -2
  172. data/lib/moov/models/components/linkapplepaymentdata.rb +2 -2
  173. data/lib/moov/models/components/linkapplepaymentmethod.rb +1 -1
  174. data/lib/moov/models/components/linkapplepaytoken.rb +3 -3
  175. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  176. data/lib/moov/models/components/manualtermsofservice.rb +1 -1
  177. data/lib/moov/models/components/manualtermsofserviceupdate.rb +1 -1
  178. data/lib/moov/models/components/minimumcommitment.rb +1 -1
  179. data/lib/moov/models/components/monthlyplatformfee.rb +1 -1
  180. data/lib/moov/models/components/moovfee.rb +1 -1
  181. data/lib/moov/models/components/moovwalletpaymentmethod.rb +1 -1
  182. data/lib/moov/models/components/moovwallettransferpaymentmethod.rb +1 -1
  183. data/lib/moov/models/components/mxauthorizationcode.rb +1 -1
  184. data/lib/moov/models/components/mxpayload.rb +3 -3
  185. data/lib/moov/models/components/occurrence.rb +1 -1
  186. data/lib/moov/models/components/occurrencesresponse.rb +5 -5
  187. data/lib/moov/models/components/onboardinginvite.rb +3 -3
  188. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  189. data/lib/moov/models/components/otherfees.rb +3 -3
  190. data/lib/moov/models/components/partnerpricingagreement.rb +3 -3
  191. data/lib/moov/models/components/patchbusiness.rb +2 -2
  192. data/lib/moov/models/components/patchsweepconfig.rb +1 -1
  193. data/lib/moov/models/components/patchwallet.rb +1 -1
  194. data/lib/moov/models/components/paymentlink.rb +9 -9
  195. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +2 -2
  196. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +2 -2
  197. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +1 -1
  198. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +1 -1
  199. data/lib/moov/models/components/paymentlinktype.rb +1 -0
  200. data/lib/moov/models/components/paymentmethodsbankaccount.rb +5 -5
  201. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  202. data/lib/moov/models/components/paymentmethodswallet.rb +1 -1
  203. data/lib/moov/models/components/payoutrecipient.rb +1 -1
  204. data/lib/moov/models/components/plaidintegration.rb +2 -2
  205. data/lib/moov/models/components/plaidlinkintegration.rb +2 -2
  206. data/lib/moov/models/components/plaidlinkpayload.rb +3 -3
  207. data/lib/moov/models/components/plaidpayload.rb +2 -2
  208. data/lib/moov/models/components/platformfees.rb +2 -2
  209. data/lib/moov/models/components/product.rb +4 -4
  210. data/lib/moov/models/components/productoption.rb +1 -1
  211. data/lib/moov/models/components/productoptiongroup.rb +2 -2
  212. data/lib/moov/models/components/productrequest.rb +1 -1
  213. data/lib/moov/models/components/pullfromcardpaymentmethod.rb +1 -1
  214. data/lib/moov/models/components/pullfromcardtransferpaymentmethod.rb +1 -1
  215. data/lib/moov/models/components/pushtocardpaymentmethod.rb +1 -1
  216. data/lib/moov/models/components/pushtocardtransferpaymentmethod.rb +1 -1
  217. data/lib/moov/models/components/receiptrequest.rb +1 -1
  218. data/lib/moov/models/components/receiptresponse.rb +2 -2
  219. data/lib/moov/models/components/recur.rb +1 -1
  220. data/lib/moov/models/components/recurresponse.rb +1 -1
  221. data/lib/moov/models/components/refundcarddetails.rb +7 -7
  222. data/lib/moov/models/components/representative.rb +3 -3
  223. data/lib/moov/models/components/requestcard.rb +1 -1
  224. data/lib/moov/models/components/requirementerror.rb +2 -2
  225. data/lib/moov/models/components/residual.rb +4 -4
  226. data/lib/moov/models/components/revoketokenrequest.rb +1 -1
  227. data/lib/moov/models/components/rtpcreditpaymentmethod.rb +1 -1
  228. data/lib/moov/models/components/rtpcredittransferpaymentmethod.rb +1 -1
  229. data/lib/moov/models/components/rtprejectioncode.rb +1 -1
  230. data/lib/moov/models/components/rtptransactiondetails.rb +6 -6
  231. data/lib/moov/models/components/schedulelistresponse.rb +4 -4
  232. data/lib/moov/models/components/scheduleresponse.rb +4 -4
  233. data/lib/moov/models/components/sentreceipt.rb +1 -1
  234. data/lib/moov/models/components/statement.rb +6 -6
  235. data/lib/moov/models/components/sweep.rb +3 -3
  236. data/lib/moov/models/components/sweepconfig.rb +3 -3
  237. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  238. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  239. data/lib/moov/models/components/terminalapplication.rb +2 -2
  240. data/lib/moov/models/components/terminalcard.rb +3 -3
  241. data/lib/moov/models/components/termsofservice.rb +1 -1
  242. data/lib/moov/models/components/ticket.rb +5 -5
  243. data/lib/moov/models/components/ticketmessage.rb +1 -1
  244. data/lib/moov/models/components/transactionsource.rb +1 -1
  245. data/lib/moov/models/components/transfer.rb +10 -6
  246. data/lib/moov/models/components/transfer.rbi +2 -0
  247. data/lib/moov/models/components/transferdestination.rb +1 -1
  248. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +5 -5
  249. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  250. data/lib/moov/models/components/transferpaymentmethodswallet.rb +1 -1
  251. data/lib/moov/models/components/transfersource.rb +1 -1
  252. data/lib/moov/models/components/transferterminalcard.rb +3 -3
  253. data/lib/moov/models/components/underwriting.rb +5 -5
  254. data/lib/moov/models/components/underwritingstatus.rb +2 -2
  255. data/lib/moov/models/components/updateevidence.rb +1 -1
  256. data/lib/moov/models/components/updateinvoice.rb +54 -0
  257. data/lib/moov/models/components/updateinvoice.rbi +23 -0
  258. data/lib/moov/models/components/updateissuedcard.rb +1 -1
  259. data/lib/moov/models/components/updatepaymentlink.rb +1 -1
  260. data/lib/moov/models/components/updateticket.rb +1 -1
  261. data/lib/moov/models/components/updatewebhook.rb +1 -1
  262. data/lib/moov/models/components/upsertunderwriting.rb +4 -4
  263. data/lib/moov/models/components/verification.rb +9 -9
  264. data/lib/moov/models/components/verificationstatus.rb +2 -2
  265. data/lib/moov/models/components/verificationstatusdetail.rb +2 -2
  266. data/lib/moov/models/components/wallet.rb +4 -4
  267. data/lib/moov/models/components/walletavailablebalance.rb +1 -1
  268. data/lib/moov/models/components/wallettransaction.rb +5 -5
  269. data/lib/moov/models/components/wallettransactiontype.rb +1 -0
  270. data/lib/moov/models/components/webhook.rb +4 -4
  271. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  272. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  273. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  274. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +2 -2
  275. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +3 -3
  276. data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
  277. data/lib/moov/models/components/webhookdatadisputecreated.rb +3 -3
  278. data/lib/moov/models/components/webhookdatadisputeupdated.rb +3 -3
  279. data/lib/moov/models/components/webhookdatainvoiceupdated.rb +1 -1
  280. data/lib/moov/models/components/webhookdatanetworkidupdated.rb +1 -1
  281. data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
  282. data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
  283. data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
  284. data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
  285. data/lib/moov/models/components/webhookdataticketupdated.rb +1 -1
  286. data/lib/moov/models/components/webhookdatatransfercreated.rb +1 -1
  287. data/lib/moov/models/components/webhookdatatransferupdated.rb +1 -1
  288. data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
  289. data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
  290. data/lib/moov/models/components/webhookevent.rb +2 -2
  291. data/lib/moov/models/components.rb +23 -0
  292. data/lib/moov/models/errors/cardacquiringrefund_error.rb +3 -3
  293. data/lib/moov/models/errors/createinvoiceerror.rb +56 -0
  294. data/lib/moov/models/errors/createinvoiceerror.rbi +25 -0
  295. data/lib/moov/models/errors/createinvoicepaymenterror.rb +48 -0
  296. data/lib/moov/models/errors/createinvoicepaymenterror.rbi +21 -0
  297. data/lib/moov/models/errors/duplicatecarderror.rb +41 -0
  298. data/lib/moov/models/errors/duplicatecarderror.rbi +17 -0
  299. data/lib/moov/models/errors/listinvoicesvalidationerror.rb +64 -0
  300. data/lib/moov/models/errors/listinvoicesvalidationerror.rbi +29 -0
  301. data/lib/moov/models/errors/transfer_error.rb +10 -6
  302. data/lib/moov/models/errors/transfer_error.rbi +2 -0
  303. data/lib/moov/models/errors/updateinvoiceerror.rb +56 -0
  304. data/lib/moov/models/errors/updateinvoiceerror.rbi +25 -0
  305. data/lib/moov/models/errors.rb +5 -0
  306. data/lib/moov/models/operations/acceptdispute_request.rb +3 -3
  307. data/lib/moov/models/operations/assignaccountcountries_request.rb +3 -3
  308. data/lib/moov/models/operations/cancelschedule_request.rb +3 -3
  309. data/lib/moov/models/operations/completebankaccountverification_request.rb +3 -3
  310. data/lib/moov/models/operations/completemicrodeposits_request.rb +3 -3
  311. data/lib/moov/models/operations/connectaccount_request.rb +3 -3
  312. data/lib/moov/models/operations/createaccesstoken_request.rb +3 -3
  313. data/lib/moov/models/operations/createaccount_request.rb +3 -3
  314. data/lib/moov/models/operations/createapplepaysession_request.rb +3 -3
  315. data/lib/moov/models/operations/createbrand_request.rb +3 -3
  316. data/lib/moov/models/operations/createcancellation_request.rb +3 -3
  317. data/lib/moov/models/operations/createfeeplanagreements_request.rb +3 -3
  318. data/lib/moov/models/operations/createinvoice_request.rb +49 -0
  319. data/lib/moov/models/operations/createinvoice_request.rbi +17 -0
  320. data/lib/moov/models/operations/createinvoice_response.rb +48 -0
  321. data/lib/moov/models/operations/createinvoice_response.rbi +21 -0
  322. data/lib/moov/models/operations/createinvoicepayment_request.rb +53 -0
  323. data/lib/moov/models/operations/createinvoicepayment_request.rbi +19 -0
  324. data/lib/moov/models/operations/createinvoicepayment_response.rb +48 -0
  325. data/lib/moov/models/operations/createinvoicepayment_response.rbi +21 -0
  326. data/lib/moov/models/operations/createonboardinginvite_request.rb +3 -3
  327. data/lib/moov/models/operations/createpaymentlink_request.rb +3 -3
  328. data/lib/moov/models/operations/createproduct_request.rb +3 -3
  329. data/lib/moov/models/operations/createreceipts_request.rb +3 -3
  330. data/lib/moov/models/operations/createrepresentative_request.rb +3 -3
  331. data/lib/moov/models/operations/createreversal_request.rb +3 -3
  332. data/lib/moov/models/operations/createschedule_request.rb +3 -3
  333. data/lib/moov/models/operations/createsweepconfig_request.rb +3 -3
  334. data/lib/moov/models/operations/createterminalapplication_request.rb +3 -3
  335. data/lib/moov/models/operations/createterminalapplicationversion_request.rb +3 -3
  336. data/lib/moov/models/operations/createticket_request.rb +3 -3
  337. data/lib/moov/models/operations/createtransfer_request.rb +3 -3
  338. data/lib/moov/models/operations/createtransferoptions_request.rb +3 -3
  339. data/lib/moov/models/operations/createwallet_request.rb +3 -3
  340. data/lib/moov/models/operations/createwebhook_request.rb +3 -3
  341. data/lib/moov/models/operations/deletedisputeevidencefile_request.rb +3 -3
  342. data/lib/moov/models/operations/deleteimage_request.rb +3 -3
  343. data/lib/moov/models/operations/deleterepresentative_request.rb +3 -3
  344. data/lib/moov/models/operations/deleteterminalapplication_request.rb +3 -3
  345. data/lib/moov/models/operations/disablebankaccount_request.rb +3 -3
  346. data/lib/moov/models/operations/disablecapability_request.rb +4 -4
  347. data/lib/moov/models/operations/disablecard_request.rb +3 -3
  348. data/lib/moov/models/operations/disablepaymentlink_request.rb +3 -3
  349. data/lib/moov/models/operations/disableproduct_request.rb +3 -3
  350. data/lib/moov/models/operations/disablewebhook_request.rb +3 -3
  351. data/lib/moov/models/operations/disconnectaccount_request.rb +3 -3
  352. data/lib/moov/models/operations/generateendtoendkey_request.rb +3 -3
  353. data/lib/moov/models/operations/getaccount_request.rb +3 -3
  354. data/lib/moov/models/operations/getaccountcountries_request.rb +3 -3
  355. data/lib/moov/models/operations/getaccountterminalapplication_request.rb +3 -3
  356. data/lib/moov/models/operations/getadjustment_request.rb +3 -3
  357. data/lib/moov/models/operations/getapplepaymerchantdomains_request.rb +3 -3
  358. data/lib/moov/models/operations/getavatar_request.rb +3 -3
  359. data/lib/moov/models/operations/getbankaccount_request.rb +3 -3
  360. data/lib/moov/models/operations/getbankaccountverification_request.rb +3 -3
  361. data/lib/moov/models/operations/getbrand_request.rb +3 -3
  362. data/lib/moov/models/operations/getcancellation_request.rb +3 -3
  363. data/lib/moov/models/operations/getcapability_request.rb +4 -4
  364. data/lib/moov/models/operations/getcard_request.rb +3 -3
  365. data/lib/moov/models/operations/getdispute_request.rb +3 -3
  366. data/lib/moov/models/operations/getdisputeevidence_request.rb +3 -3
  367. data/lib/moov/models/operations/getdisputeevidencedata_request.rb +3 -3
  368. data/lib/moov/models/operations/getenrichmentaddress_request.rb +3 -3
  369. data/lib/moov/models/operations/getenrichmentprofile_request.rb +3 -3
  370. data/lib/moov/models/operations/getfiledetails_request.rb +3 -3
  371. data/lib/moov/models/operations/getfullissuedcard_request.rb +3 -3
  372. data/lib/moov/models/operations/getimagemetadata_request.rb +3 -3
  373. data/lib/moov/models/operations/getinvoice_request.rb +49 -0
  374. data/lib/moov/models/operations/getinvoice_request.rbi +17 -0
  375. data/lib/moov/models/operations/getinvoice_response.rb +48 -0
  376. data/lib/moov/models/operations/getinvoice_response.rbi +21 -0
  377. data/lib/moov/models/operations/getissuedcard_request.rb +3 -3
  378. data/lib/moov/models/operations/getissuedcardauthorization_request.rb +3 -3
  379. data/lib/moov/models/operations/getissuedcardtransaction_request.rb +3 -3
  380. data/lib/moov/models/operations/getmerchantprocessingagreement_request.rb +3 -3
  381. data/lib/moov/models/operations/getonboardinginvite_request.rb +3 -3
  382. data/lib/moov/models/operations/getpaymentlink_request.rb +3 -3
  383. data/lib/moov/models/operations/getpaymentlinkqrcode_request.rb +3 -3
  384. data/lib/moov/models/operations/getpaymentmethod_request.rb +3 -3
  385. data/lib/moov/models/operations/getproduct_request.rb +3 -3
  386. data/lib/moov/models/operations/getpublicimage_request.rb +1 -1
  387. data/lib/moov/models/operations/getrefund_request.rb +3 -3
  388. data/lib/moov/models/operations/getrepresentative_request.rb +3 -3
  389. data/lib/moov/models/operations/getresidual_request.rb +3 -3
  390. data/lib/moov/models/operations/getscheduledoccurrence_request.rb +4 -4
  391. data/lib/moov/models/operations/getschedules_request.rb +3 -3
  392. data/lib/moov/models/operations/getstatement_request.rb +3 -3
  393. data/lib/moov/models/operations/getsweep_request.rb +3 -3
  394. data/lib/moov/models/operations/getsweepconfig_request.rb +3 -3
  395. data/lib/moov/models/operations/getterminalapplication_request.rb +3 -3
  396. data/lib/moov/models/operations/getterminalconfiguration_request.rb +3 -3
  397. data/lib/moov/models/operations/gettermsofservicetoken_request.rb +3 -3
  398. data/lib/moov/models/operations/getticket_request.rb +3 -3
  399. data/lib/moov/models/operations/gettransfer_request.rb +3 -3
  400. data/lib/moov/models/operations/getunderwriting_request.rb +3 -3
  401. data/lib/moov/models/operations/getwallet_request.rb +3 -3
  402. data/lib/moov/models/operations/getwallettransaction_request.rb +3 -3
  403. data/lib/moov/models/operations/getwebhook_request.rb +3 -3
  404. data/lib/moov/models/operations/getwebhooksecret_request.rb +3 -3
  405. data/lib/moov/models/operations/initiatebankaccountverification_request.rb +4 -4
  406. data/lib/moov/models/operations/initiatemicrodeposits_request.rb +3 -3
  407. data/lib/moov/models/operations/initiaterefund_request.rb +3 -3
  408. data/lib/moov/models/operations/linkaccountterminalapplication_request.rb +3 -3
  409. data/lib/moov/models/operations/linkapplepaytoken_request.rb +3 -3
  410. data/lib/moov/models/operations/linkbankaccount_request.rb +4 -4
  411. data/lib/moov/models/operations/linkcard_request.rb +4 -4
  412. data/lib/moov/models/operations/listaccounts_request.rb +9 -9
  413. data/lib/moov/models/operations/listaccountterminalapplications_request.rb +3 -3
  414. data/lib/moov/models/operations/listadjustments_request.rb +3 -3
  415. data/lib/moov/models/operations/listbankaccounts_request.rb +3 -3
  416. data/lib/moov/models/operations/listcapabilities_request.rb +3 -3
  417. data/lib/moov/models/operations/listcards_request.rb +3 -3
  418. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +9 -9
  419. data/lib/moov/models/operations/listdisputeevidence_request.rb +3 -3
  420. data/lib/moov/models/operations/listdisputes_request.rb +3 -3
  421. data/lib/moov/models/operations/listeventtypes_request.rb +3 -3
  422. data/lib/moov/models/operations/listfeeplanagreements_request.rb +3 -3
  423. data/lib/moov/models/operations/listfeeplans_request.rb +3 -3
  424. data/lib/moov/models/operations/listfeerevenue_request.rb +3 -3
  425. data/lib/moov/models/operations/listfeesfetch_request.rb +3 -3
  426. data/lib/moov/models/operations/listfiles_request.rb +3 -3
  427. data/lib/moov/models/operations/listimagemetadata_request.rb +3 -3
  428. data/lib/moov/models/operations/listindustries_request.rb +3 -3
  429. data/lib/moov/models/operations/listinstitutions_request.rb +3 -3
  430. data/lib/moov/models/operations/listinvoicepayments_request.rb +49 -0
  431. data/lib/moov/models/operations/listinvoicepayments_request.rbi +17 -0
  432. data/lib/moov/models/operations/listinvoicepayments_response.rb +48 -0
  433. data/lib/moov/models/operations/listinvoicepayments_response.rbi +21 -0
  434. data/lib/moov/models/operations/listinvoices_request.rb +77 -0
  435. data/lib/moov/models/operations/listinvoices_request.rbi +31 -0
  436. data/lib/moov/models/operations/listinvoices_response.rb +48 -0
  437. data/lib/moov/models/operations/listinvoices_response.rbi +21 -0
  438. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +3 -3
  439. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +3 -3
  440. data/lib/moov/models/operations/listissuedcards_request.rb +3 -3
  441. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +3 -3
  442. data/lib/moov/models/operations/listonboardinginvites_request.rb +3 -3
  443. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +3 -3
  444. data/lib/moov/models/operations/listpaymentlinks_request.rb +9 -13
  445. data/lib/moov/models/operations/listpaymentlinks_request.rbi +2 -4
  446. data/lib/moov/models/operations/listpaymentmethods_request.rb +4 -4
  447. data/lib/moov/models/operations/listproducts_request.rb +3 -3
  448. data/lib/moov/models/operations/listreceipts_request.rb +3 -3
  449. data/lib/moov/models/operations/listrefunds_request.rb +3 -3
  450. data/lib/moov/models/operations/listrepresentatives_request.rb +3 -3
  451. data/lib/moov/models/operations/listresidualfees_request.rb +3 -3
  452. data/lib/moov/models/operations/listresiduals_request.rb +3 -3
  453. data/lib/moov/models/operations/listschedules_request.rb +3 -3
  454. data/lib/moov/models/operations/liststatements_request.rb +3 -3
  455. data/lib/moov/models/operations/listsweepconfigs_request.rb +3 -3
  456. data/lib/moov/models/operations/listsweeps_request.rb +3 -3
  457. data/lib/moov/models/operations/listterminalapplications_request.rb +3 -3
  458. data/lib/moov/models/operations/listticketmessages_request.rb +3 -3
  459. data/lib/moov/models/operations/listtickets_request.rb +3 -3
  460. data/lib/moov/models/operations/listtransfers_request.rb +3 -3
  461. data/lib/moov/models/operations/listwallets_request.rb +3 -3
  462. data/lib/moov/models/operations/listwallettransactions_request.rb +3 -3
  463. data/lib/moov/models/operations/listwebhooks_request.rb +3 -3
  464. data/lib/moov/models/operations/ping_request.rb +3 -3
  465. data/lib/moov/models/operations/pingwebhook_request.rb +3 -3
  466. data/lib/moov/models/operations/registerapplepaymerchantdomains_request.rb +3 -3
  467. data/lib/moov/models/operations/requestcapabilities_request.rb +3 -3
  468. data/lib/moov/models/operations/requestcard_request.rb +3 -3
  469. data/lib/moov/models/operations/retrievefees_request.rb +3 -3
  470. data/lib/moov/models/operations/revokeaccesstoken_request.rb +3 -3
  471. data/lib/moov/models/operations/revokeonboardinginvite_request.rb +3 -3
  472. data/lib/moov/models/operations/saveunderwriting_request.rb +3 -3
  473. data/lib/moov/models/operations/searchinstitutions_request.rb +3 -3
  474. data/lib/moov/models/operations/submitdisputeevidence_request.rb +3 -3
  475. data/lib/moov/models/operations/testendtoendtoken_request.rb +3 -3
  476. data/lib/moov/models/operations/updateaccount_request.rb +3 -3
  477. data/lib/moov/models/operations/updateapplepaymerchantdomains_request.rb +3 -3
  478. data/lib/moov/models/operations/updatecard_request.rb +3 -3
  479. data/lib/moov/models/operations/updatedisputeevidence_request.rb +3 -3
  480. data/lib/moov/models/operations/updateimage_request.rb +3 -3
  481. data/lib/moov/models/operations/updateimagemetadata_request.rb +3 -3
  482. data/lib/moov/models/operations/updateinvoice_request.rb +53 -0
  483. data/lib/moov/models/operations/updateinvoice_request.rbi +19 -0
  484. data/lib/moov/models/operations/updateinvoice_response.rb +48 -0
  485. data/lib/moov/models/operations/updateinvoice_response.rbi +21 -0
  486. data/lib/moov/models/operations/updateissuedcard_request.rb +3 -3
  487. data/lib/moov/models/operations/updatepaymentlink_request.rb +3 -3
  488. data/lib/moov/models/operations/updateproduct_request.rb +3 -3
  489. data/lib/moov/models/operations/updaterepresentative_request.rb +3 -3
  490. data/lib/moov/models/operations/updateschedule_request.rb +3 -3
  491. data/lib/moov/models/operations/updatesweepconfig_request.rb +3 -3
  492. data/lib/moov/models/operations/updateticket_request.rb +3 -3
  493. data/lib/moov/models/operations/updatetransfer_request.rb +3 -3
  494. data/lib/moov/models/operations/updatewallet_request.rb +3 -3
  495. data/lib/moov/models/operations/updatewebhook_request.rb +3 -3
  496. data/lib/moov/models/operations/uploaddisputeevidencefile_request.rb +3 -3
  497. data/lib/moov/models/operations/uploaddisputeevidencetext_request.rb +3 -3
  498. data/lib/moov/models/operations/uploadfile_request.rb +3 -3
  499. data/lib/moov/models/operations/uploadimage_request.rb +3 -3
  500. data/lib/moov/models/operations/upsertbrand_request.rb +3 -3
  501. data/lib/moov/models/operations/upsertunderwriting_request.rb +3 -3
  502. data/lib/moov/models/operations.rb +12 -0
  503. data/lib/moov/onboarding.rb +5 -5
  504. data/lib/moov/payment_links.rb +13 -13
  505. data/lib/moov/payment_methods.rb +2 -2
  506. data/lib/moov/ping.rb +1 -1
  507. data/lib/moov/products.rb +3 -3
  508. data/lib/moov/receipts.rb +3 -3
  509. data/lib/moov/representatives.rb +12 -12
  510. data/lib/moov/scheduling.rb +8 -8
  511. data/lib/moov/sdkconfiguration.rb +3 -3
  512. data/lib/moov/statements.rb +7 -7
  513. data/lib/moov/support.rb +12 -12
  514. data/lib/moov/sweeps.rb +8 -8
  515. data/lib/moov/terminal_applications.rb +7 -7
  516. data/lib/moov/transfers.rb +22 -22
  517. data/lib/moov/underwriting.rb +8 -8
  518. data/lib/moov/utils/request_bodies.rb +8 -3
  519. data/lib/moov/utils/security.rb +10 -0
  520. data/lib/moov/utils/url.rb +11 -5
  521. data/lib/moov/utils/utils.rb +33 -3
  522. data/lib/moov/wallet_transactions.rb +4 -4
  523. data/lib/moov/wallets.rb +10 -10
  524. data/lib/moov/webhooks.rb +2 -2
  525. data/lib/moov_ruby.rb +1 -0
  526. metadata +83 -2
@@ -0,0 +1,40 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class InvoiceExternalPayment
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
17
+
18
+ field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
19
+
20
+ field :payment_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentDate'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
21
+
22
+ sig { params(description: T.nilable(::String), foreign_id: T.nilable(::String), payment_date: T.nilable(::DateTime)).void }
23
+ def initialize(description: nil, foreign_id: nil, payment_date: nil)
24
+ @description = description
25
+ @foreign_id = foreign_id
26
+ @payment_date = payment_date
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @description == other.description
33
+ return false unless @foreign_id == other.foreign_id
34
+ return false unless @payment_date == other.payment_date
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::InvoiceExternalPayment
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::InvoiceExternalPayment
11
+ def description(); end
12
+ def description=(str_); end
13
+ def foreign_id(); end
14
+ def foreign_id=(str_); end
15
+ def payment_date(); end
16
+ def payment_date=(str_); end
17
+ end
@@ -0,0 +1,53 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # Represents a single item in an invoice, including optional modifiers and quantity.
11
+ class InvoiceLineItem
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The name of the item.
16
+ field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
17
+ # The base price of the item before applying option modifiers.
18
+ field :base_price, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('basePrice'), required: true } }
19
+ # The quantity of this item.
20
+ field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
21
+ # Optional unique identifier associating the line item with a product.
22
+ # This is for reporting or tracking purposes, and does not populate other details of the line item.
23
+ field :product_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('productID') } }
24
+ # Optional list of modifiers applied to this item (e.g., toppings, upgrades, customizations).
25
+ field :options, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::InvoiceLineItemOption)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
26
+ # Optional list of images associated with this line item.
27
+ field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::InvoiceLineItemImageMetadata)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
28
+
29
+ sig { params(name: ::String, base_price: Models::Components::AmountDecimal, quantity: ::Integer, product_id: T.nilable(::String), options: T.nilable(T::Array[Models::Components::InvoiceLineItemOption]), images: T.nilable(T::Array[Models::Components::InvoiceLineItemImageMetadata])).void }
30
+ def initialize(name:, base_price:, quantity:, product_id: nil, options: nil, images: nil)
31
+ @name = name
32
+ @base_price = base_price
33
+ @quantity = quantity
34
+ @product_id = product_id
35
+ @options = options
36
+ @images = images
37
+ end
38
+
39
+ sig { params(other: T.untyped).returns(T::Boolean) }
40
+ def ==(other)
41
+ return false unless other.is_a? self.class
42
+ return false unless @name == other.name
43
+ return false unless @base_price == other.base_price
44
+ return false unless @quantity == other.quantity
45
+ return false unless @product_id == other.product_id
46
+ return false unless @options == other.options
47
+ return false unless @images == other.images
48
+ true
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,23 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::InvoiceLineItem
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::InvoiceLineItem
11
+ def name(); end
12
+ def name=(str_); end
13
+ def base_price(); end
14
+ def base_price=(str_); end
15
+ def quantity(); end
16
+ def quantity=(str_); end
17
+ def product_id(); end
18
+ def product_id=(str_); end
19
+ def options(); end
20
+ def options=(str_); end
21
+ def images(); end
22
+ def images=(str_); end
23
+ end
@@ -0,0 +1,44 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class InvoiceLineItemImageMetadata
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer).
16
+ field :image_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('imageID'), required: true } }
17
+ # The image's public URL.
18
+ field :link, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('link'), required: true } }
19
+ # A unique identifier for an image, used in public image links.
20
+ field :public_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('publicID'), required: true } }
21
+ # Alternative text for the image.
22
+ field :alt_text, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('altText') } }
23
+
24
+ sig { params(image_id: ::String, link: ::String, public_id: ::String, alt_text: T.nilable(::String)).void }
25
+ def initialize(image_id:, link:, public_id:, alt_text: nil)
26
+ @image_id = image_id
27
+ @link = link
28
+ @public_id = public_id
29
+ @alt_text = alt_text
30
+ end
31
+
32
+ sig { params(other: T.untyped).returns(T::Boolean) }
33
+ def ==(other)
34
+ return false unless other.is_a? self.class
35
+ return false unless @image_id == other.image_id
36
+ return false unless @link == other.link
37
+ return false unless @public_id == other.public_id
38
+ return false unless @alt_text == other.alt_text
39
+ true
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::InvoiceLineItemImageMetadata
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::InvoiceLineItemImageMetadata
11
+ def image_id(); end
12
+ def image_id=(str_); end
13
+ def link(); end
14
+ def link=(str_); end
15
+ def public_id(); end
16
+ def public_id=(str_); end
17
+ def alt_text(); end
18
+ def alt_text=(str_); end
19
+ end
@@ -0,0 +1,48 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # Represents a modifier or option applied to a line item.
11
+ class InvoiceLineItemOption
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The name of the option or modifier.
16
+ field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
17
+ # The quantity of this option.
18
+ field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
19
+ # Optional price modification applied by this option. Can be positive, negative, or zero.
20
+ field :price_modifier, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priceModifier') } }
21
+ # Optional group identifier to categorize related options (e.g., 'toppings').
22
+ field :group, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('group') } }
23
+ # Optional list of images associated with this line item option.
24
+ field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::InvoiceLineItemImageMetadata)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
25
+
26
+ sig { params(name: ::String, quantity: ::Integer, price_modifier: T.nilable(Models::Components::AmountDecimal), group: T.nilable(::String), images: T.nilable(T::Array[Models::Components::InvoiceLineItemImageMetadata])).void }
27
+ def initialize(name:, quantity:, price_modifier: nil, group: nil, images: nil)
28
+ @name = name
29
+ @quantity = quantity
30
+ @price_modifier = price_modifier
31
+ @group = group
32
+ @images = images
33
+ end
34
+
35
+ sig { params(other: T.untyped).returns(T::Boolean) }
36
+ def ==(other)
37
+ return false unless other.is_a? self.class
38
+ return false unless @name == other.name
39
+ return false unless @quantity == other.quantity
40
+ return false unless @price_modifier == other.price_modifier
41
+ return false unless @group == other.group
42
+ return false unless @images == other.images
43
+ true
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::InvoiceLineItemOption
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::InvoiceLineItemOption
11
+ def name(); end
12
+ def name=(str_); end
13
+ def quantity(); end
14
+ def quantity=(str_); end
15
+ def price_modifier(); end
16
+ def price_modifier=(str_); end
17
+ def group(); end
18
+ def group=(str_); end
19
+ def images(); end
20
+ def images=(str_); end
21
+ end
@@ -0,0 +1,44 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class InvoiceLineItemOptionValidationError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name') } }
17
+
18
+ field :group, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('group') } }
19
+
20
+ field :price_modifier, Crystalline::Nilable.new(Models::Components::AmountDecimalValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priceModifier') } }
21
+
22
+ field :quantity, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity') } }
23
+
24
+ sig { params(name: T.nilable(::String), group: T.nilable(::String), price_modifier: T.nilable(Models::Components::AmountDecimalValidationError), quantity: T.nilable(::String)).void }
25
+ def initialize(name: nil, group: nil, price_modifier: nil, quantity: nil)
26
+ @name = name
27
+ @group = group
28
+ @price_modifier = price_modifier
29
+ @quantity = quantity
30
+ end
31
+
32
+ sig { params(other: T.untyped).returns(T::Boolean) }
33
+ def ==(other)
34
+ return false unless other.is_a? self.class
35
+ return false unless @name == other.name
36
+ return false unless @group == other.group
37
+ return false unless @price_modifier == other.price_modifier
38
+ return false unless @quantity == other.quantity
39
+ true
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::InvoiceLineItemOptionValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::InvoiceLineItemOptionValidationError
11
+ def name(); end
12
+ def name=(str_); end
13
+ def group(); end
14
+ def group=(str_); end
15
+ def price_modifier(); end
16
+ def price_modifier=(str_); end
17
+ def quantity(); end
18
+ def quantity=(str_); end
19
+ end
@@ -0,0 +1,32 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # A collection of line items for an invoice.
11
+ class InvoiceLineItems
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The list of line items.
16
+ field :items, Crystalline::Array.new(Models::Components::InvoiceLineItem), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items'), required: true } }
17
+
18
+ sig { params(items: T::Array[Models::Components::InvoiceLineItem]).void }
19
+ def initialize(items:)
20
+ @items = items
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @items == other.items
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::InvoiceLineItems
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::InvoiceLineItems
11
+ def items(); end
12
+ def items=(str_); end
13
+ end
@@ -0,0 +1,32 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class InvoiceLineItemsValidationError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :items, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::InvoiceLineItemValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items') } }
17
+
18
+ sig { params(items: T.nilable(T::Hash[Symbol, Models::Components::InvoiceLineItemValidationError])).void }
19
+ def initialize(items: nil)
20
+ @items = items
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @items == other.items
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::InvoiceLineItemsValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::InvoiceLineItemsValidationError
11
+ def items(); end
12
+ def items=(str_); end
13
+ end
@@ -0,0 +1,48 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class InvoiceLineItemValidationError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :product_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('productID') } }
17
+
18
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name') } }
19
+
20
+ field :base_price, Crystalline::Nilable.new(Models::Components::AmountDecimalValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('basePrice') } }
21
+
22
+ field :options, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::InvoiceLineItemOptionValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
23
+
24
+ field :quantity, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity') } }
25
+
26
+ sig { params(product_id: T.nilable(::String), name: T.nilable(::String), base_price: T.nilable(Models::Components::AmountDecimalValidationError), options: T.nilable(T::Hash[Symbol, Models::Components::InvoiceLineItemOptionValidationError]), quantity: T.nilable(::String)).void }
27
+ def initialize(product_id: nil, name: nil, base_price: nil, options: nil, quantity: nil)
28
+ @product_id = product_id
29
+ @name = name
30
+ @base_price = base_price
31
+ @options = options
32
+ @quantity = quantity
33
+ end
34
+
35
+ sig { params(other: T.untyped).returns(T::Boolean) }
36
+ def ==(other)
37
+ return false unless other.is_a? self.class
38
+ return false unless @product_id == other.product_id
39
+ return false unless @name == other.name
40
+ return false unless @base_price == other.base_price
41
+ return false unless @options == other.options
42
+ return false unless @quantity == other.quantity
43
+ true
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::InvoiceLineItemValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::InvoiceLineItemValidationError
11
+ def product_id(); end
12
+ def product_id=(str_); end
13
+ def name(); end
14
+ def name=(str_); end
15
+ def base_price(); end
16
+ def base_price=(str_); end
17
+ def options(); end
18
+ def options=(str_); end
19
+ def quantity(); end
20
+ def quantity=(str_); end
21
+ end
@@ -0,0 +1,48 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # Payment made towards an invoice, will be either a transfer or an external payment.
11
+ class InvoicePayment
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer).
16
+ field :invoice_payment_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoicePaymentID'), required: true } }
17
+
18
+ field :invoice_payment_type, Models::Components::InvoicePaymentType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoicePaymentType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::InvoicePaymentType, false) } }
19
+
20
+ field :amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
21
+
22
+ field :transfer, Crystalline::Nilable.new(Models::Components::InvoiceTransferPayment), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transfer') } }
23
+
24
+ field :external, Crystalline::Nilable.new(Models::Components::InvoiceExternalPayment), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('external') } }
25
+
26
+ sig { params(invoice_payment_id: ::String, invoice_payment_type: Models::Components::InvoicePaymentType, amount: Models::Components::AmountDecimal, transfer: T.nilable(Models::Components::InvoiceTransferPayment), external: T.nilable(Models::Components::InvoiceExternalPayment)).void }
27
+ def initialize(invoice_payment_id:, invoice_payment_type:, amount:, transfer: nil, external: nil)
28
+ @invoice_payment_id = invoice_payment_id
29
+ @invoice_payment_type = invoice_payment_type
30
+ @amount = amount
31
+ @transfer = transfer
32
+ @external = external
33
+ end
34
+
35
+ sig { params(other: T.untyped).returns(T::Boolean) }
36
+ def ==(other)
37
+ return false unless other.is_a? self.class
38
+ return false unless @invoice_payment_id == other.invoice_payment_id
39
+ return false unless @invoice_payment_type == other.invoice_payment_type
40
+ return false unless @amount == other.amount
41
+ return false unless @transfer == other.transfer
42
+ return false unless @external == other.external
43
+ true
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::InvoicePayment
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::InvoicePayment
11
+ def invoice_payment_id(); end
12
+ def invoice_payment_id=(str_); end
13
+ def invoice_payment_type(); end
14
+ def invoice_payment_type=(str_); end
15
+ def amount(); end
16
+ def amount=(str_); end
17
+ def transfer(); end
18
+ def transfer=(str_); end
19
+ def external(); end
20
+ def external=(str_); end
21
+ end
@@ -0,0 +1,19 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class InvoicePaymentType < T::Enum
12
+ enums do
13
+ TRANSFER = new('transfer')
14
+ EXTERNAL = new('external')
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::InvoicePaymentType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::InvoicePaymentType
11
+ end
@@ -0,0 +1,32 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class InvoiceTransferPayment
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer).
16
+ field :transfer_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID'), required: true } }
17
+
18
+ sig { params(transfer_id: ::String).void }
19
+ def initialize(transfer_id:)
20
+ @transfer_id = transfer_id
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @transfer_id == other.transfer_id
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::InvoiceTransferPayment
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::InvoiceTransferPayment
11
+ def transfer_id(); end
12
+ def transfer_id=(str_); end
13
+ end