moov_ruby 26.7.2 → 26.10.0.pre.dev.0

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 (413) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/module.rb +1 -1
  3. data/lib/moov/avatars.rb +1 -276
  4. data/lib/moov/card_issuing.rb +1 -117
  5. data/lib/moov/client.rb +2 -2
  6. data/lib/moov/enriched_address.rb +1 -1
  7. data/lib/moov/enriched_profile.rb +1 -1
  8. data/lib/moov/images.rb +1 -1
  9. data/lib/moov/institutions.rb +2 -2
  10. data/lib/moov/models/components/account.rb +2 -2
  11. data/lib/moov/models/components/accountnameverification.rb +4 -4
  12. data/lib/moov/models/components/accounttype.rb +1 -3
  13. data/lib/moov/models/components/accountverificationstatus.rb +1 -3
  14. data/lib/moov/models/components/achreturncode.rb +1 -3
  15. data/lib/moov/models/components/achtransactiondetails.rb +3 -3
  16. data/lib/moov/models/components/achtransactionstatus.rb +1 -3
  17. data/lib/moov/models/components/adjustmentfees.rb +15 -11
  18. data/lib/moov/models/components/adjustmentfees.rbi +4 -4
  19. data/lib/moov/models/components/amountdecimalrange.rb +2 -0
  20. data/lib/moov/models/components/amountdecimalrangeupdate.rb +2 -0
  21. data/lib/moov/models/components/applepayresponse.rb +2 -2
  22. data/lib/moov/models/components/applicationscope.rb +2 -4
  23. data/lib/moov/models/components/authmethod.rb +1 -3
  24. data/lib/moov/models/components/bankaccount.rb +4 -4
  25. data/lib/moov/models/components/bankaccountexception.rb +2 -2
  26. data/lib/moov/models/components/bankaccountholdertype.rb +1 -3
  27. data/lib/moov/models/components/bankaccountintegration.rb +2 -2
  28. data/lib/moov/models/components/bankaccountstatus.rb +1 -3
  29. data/lib/moov/models/components/bankaccountstatusreason.rb +1 -3
  30. data/lib/moov/models/components/bankaccounttype.rb +1 -3
  31. data/lib/moov/models/components/bankaccountverification.rb +2 -2
  32. data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
  33. data/lib/moov/models/components/bankaccountverificationmethod.rb +1 -3
  34. data/lib/moov/models/components/bankaccountverificationstatus.rb +1 -3
  35. data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
  36. data/lib/moov/models/components/billablefee.rb +2 -2
  37. data/lib/moov/models/components/billingsummary.rb +4 -8
  38. data/lib/moov/models/components/billingsummary.rbi +0 -2
  39. data/lib/moov/models/components/businesspresence.rb +1 -3
  40. data/lib/moov/models/components/businessprofile.rb +2 -2
  41. data/lib/moov/models/components/businesstype.rb +1 -3
  42. data/lib/moov/models/components/calltoaction.rb +1 -3
  43. data/lib/moov/models/components/cancellation.rb +2 -2
  44. data/lib/moov/models/components/cancellationstatus.rb +1 -3
  45. data/lib/moov/models/components/capability.rb +2 -2
  46. data/lib/moov/models/components/capabilityid.rb +1 -4
  47. data/lib/moov/models/components/capabilitystatus.rb +1 -3
  48. data/lib/moov/models/components/card.rb +4 -4
  49. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  50. data/lib/moov/models/components/cardacquiringmodel.rb +1 -3
  51. data/lib/moov/models/components/cardacquiringrefund.rb +1 -1
  52. data/lib/moov/models/components/cardbrand.rb +1 -3
  53. data/lib/moov/models/components/cardissuingnetwork.rb +1 -3
  54. data/lib/moov/models/components/cardmetadata.rb +4 -4
  55. data/lib/moov/models/components/cardtransactiondetails.rb +3 -3
  56. data/lib/moov/models/components/cardtransactionfailurecode.rb +1 -3
  57. data/lib/moov/models/components/cardtransactionstatus.rb +1 -3
  58. data/lib/moov/models/components/cardtype.rb +1 -3
  59. data/lib/moov/models/components/cardupdatereason.rb +1 -3
  60. data/lib/moov/models/components/cardverification.rb +3 -3
  61. data/lib/moov/models/components/cardverificationresult.rb +1 -3
  62. data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
  63. data/lib/moov/models/components/collectionpaymentmethodtype.rb +1 -3
  64. data/lib/moov/models/components/{avataruploadrequest.rb → contributingrule.rb} +8 -8
  65. data/lib/moov/models/components/contributingrule.rbi +13 -0
  66. data/lib/moov/models/components/createaccount.rb +2 -2
  67. data/lib/moov/models/components/createaccounttype.rb +1 -3
  68. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  69. data/lib/moov/models/components/createdtransfer.rb +5 -12
  70. data/lib/moov/models/components/createdtransfer.rbi +0 -2
  71. data/lib/moov/models/components/createevidencetext.rb +1 -1
  72. data/lib/moov/models/components/createfeeplanagreement.rb +3 -13
  73. data/lib/moov/models/components/createfeeplanagreement.rbi +0 -2
  74. data/lib/moov/models/components/createpaymentlink.rb +1 -1
  75. data/lib/moov/models/components/createrefund.rb +2 -2
  76. data/lib/moov/models/components/createreversal.rb +1 -4
  77. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  78. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  79. data/lib/moov/models/components/createtippresets.rb +1 -1
  80. data/lib/moov/models/components/createtransfer.rb +2 -6
  81. data/lib/moov/models/components/createtransfer.rbi +0 -2
  82. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  83. data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
  84. data/lib/moov/models/components/createwebhook.rb +1 -1
  85. data/lib/moov/models/components/debitholdperiod.rb +1 -3
  86. data/lib/moov/models/components/depositaccountingestedresponse.rb +1 -1
  87. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +1 -3
  88. data/lib/moov/models/components/dispute.rb +2 -2
  89. data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
  90. data/lib/moov/models/components/disputephase.rb +1 -3
  91. data/lib/moov/models/components/disputestatus.rb +1 -3
  92. data/lib/moov/models/components/document.rb +1 -1
  93. data/lib/moov/models/components/documenttype.rb +1 -3
  94. data/lib/moov/models/components/domesticpullfromcard.rb +1 -3
  95. data/lib/moov/models/components/domesticpushtocard.rb +1 -3
  96. data/lib/moov/models/components/estimatedactivity.rb +1 -1
  97. data/lib/moov/models/components/evidencetextresponse.rb +1 -1
  98. data/lib/moov/models/components/evidencetype.rb +1 -3
  99. data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
  100. data/lib/moov/models/components/facilitatorfee.rb +2 -2
  101. data/lib/moov/models/components/feecategory.rb +1 -3
  102. data/lib/moov/models/components/feemodel.rb +1 -3
  103. data/lib/moov/models/components/feeplan.rb +1 -1
  104. data/lib/moov/models/components/feeplanagreement.rb +4 -12
  105. data/lib/moov/models/components/feeplanagreement.rbi +0 -4
  106. data/lib/moov/models/components/feeplanagreementstatus.rb +1 -3
  107. data/lib/moov/models/components/filedetails.rb +2 -2
  108. data/lib/moov/models/components/filepurpose.rb +1 -3
  109. data/lib/moov/models/components/filestatus.rb +1 -3
  110. data/lib/moov/models/components/fulfillment.rb +2 -2
  111. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  112. data/lib/moov/models/components/fulfillmentmethod.rb +1 -3
  113. data/lib/moov/models/components/fulfillmenttimeframe.rb +1 -3
  114. data/lib/moov/models/components/fullissuedcard.rb +5 -6
  115. data/lib/moov/models/components/geographicreach.rb +1 -3
  116. data/lib/moov/models/components/googlepayresponse.rb +3 -3
  117. data/lib/moov/models/components/incurredfee.rb +2 -6
  118. data/lib/moov/models/components/incurredfee.rbi +0 -2
  119. data/lib/moov/models/components/instantbankfailurecode.rb +1 -3
  120. data/lib/moov/models/components/instantbanknetwork.rb +1 -3
  121. data/lib/moov/models/components/instantbanktransactiondetails.rb +3 -3
  122. data/lib/moov/models/components/instantbanktransactionstatus.rb +1 -3
  123. data/lib/moov/models/components/invoice.rb +1 -1
  124. data/lib/moov/models/components/invoicepayment.rb +1 -1
  125. data/lib/moov/models/components/invoicepaymenttype.rb +1 -3
  126. data/lib/moov/models/components/invoicestatus.rb +1 -3
  127. data/lib/moov/models/components/issuedcard.rb +5 -6
  128. data/lib/moov/models/components/issuedcardauthorization.rb +2 -2
  129. data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
  130. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +1 -3
  131. data/lib/moov/models/components/issuedcardeventtype.rb +1 -3
  132. data/lib/moov/models/components/issuedcardstate.rb +1 -5
  133. data/lib/moov/models/components/issuingauthorizationstatus.rb +1 -3
  134. data/lib/moov/models/components/issuingcontrols.rb +3 -19
  135. data/lib/moov/models/components/issuingcontrols.rbi +0 -8
  136. data/lib/moov/models/components/issuingcontrolserror.rb +2 -18
  137. data/lib/moov/models/components/issuingcontrolserror.rbi +0 -8
  138. data/lib/moov/models/components/issuingintervallimit.rb +2 -7
  139. data/lib/moov/models/components/issuingvelocitylimit.rb +7 -11
  140. data/lib/moov/models/components/issuingvelocitylimit.rbi +2 -4
  141. data/lib/moov/models/components/issuingvelocitylimiterror.rb +2 -6
  142. data/lib/moov/models/components/issuingvelocitylimiterror.rbi +0 -2
  143. data/lib/moov/models/components/jsonwebkey.rb +1 -1
  144. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  145. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +1 -1
  146. data/lib/moov/models/components/mode.rb +1 -3
  147. data/lib/moov/models/components/monthlyvolumerange.rb +1 -3
  148. data/lib/moov/models/components/moovfee.rb +1 -1
  149. data/lib/moov/models/components/occurrencesresponse.rb +2 -2
  150. data/lib/moov/models/components/occurrencestatus.rb +1 -3
  151. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  152. data/lib/moov/models/components/partnerpricingagreement.rb +7 -15
  153. data/lib/moov/models/components/partnerpricingagreement.rbi +0 -4
  154. data/lib/moov/models/components/partnerriskoutcomesresponse.rb +38 -0
  155. data/lib/moov/models/components/partnerriskoutcomesresponse.rbi +15 -0
  156. data/lib/moov/models/components/patchbusiness.rb +2 -2
  157. data/lib/moov/models/components/patchwallet.rb +1 -1
  158. data/lib/moov/models/components/paymentlink.rb +6 -4
  159. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetails.rb +2 -0
  160. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetailsupdate.rb +2 -0
  161. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
  162. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
  163. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +7 -11
  164. data/lib/moov/models/components/paymentlinkpayoutdetails.rbi +0 -2
  165. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +7 -11
  166. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rbi +0 -2
  167. data/lib/moov/models/components/paymentlinkstatus.rb +1 -3
  168. data/lib/moov/models/components/paymentlinktype.rb +1 -3
  169. data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
  170. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  171. data/lib/moov/models/components/paymentmethodswallet.rb +1 -2
  172. data/lib/moov/models/components/paymentmethodtype.rb +1 -3
  173. data/lib/moov/models/components/payoutdetailserror.rb +2 -6
  174. data/lib/moov/models/components/payoutdetailserror.rbi +0 -2
  175. data/lib/moov/models/components/pendinglitigation.rb +1 -3
  176. data/lib/moov/models/components/primaryregulator.rb +1 -3
  177. data/lib/moov/models/components/product.rb +2 -6
  178. data/lib/moov/models/components/product.rbi +0 -2
  179. data/lib/moov/models/components/productrequest.rb +2 -6
  180. data/lib/moov/models/components/productrequest.rbi +0 -2
  181. data/lib/moov/models/components/pushdeliveryspeed.rb +1 -3
  182. data/lib/moov/models/components/pushoptions.rb +4 -5
  183. data/lib/moov/models/components/pushoptionsupdate.rb +4 -5
  184. data/lib/moov/models/components/puttippresets.rb +1 -1
  185. data/lib/moov/models/components/refundcarddetails.rb +2 -2
  186. data/lib/moov/models/components/refundcardstatus.rb +1 -3
  187. data/lib/moov/models/components/refundpolicy.rb +1 -3
  188. data/lib/moov/models/components/refundstatus.rb +1 -3
  189. data/lib/moov/models/components/requestcard.rb +1 -1
  190. data/lib/moov/models/components/requirementerror.rb +2 -2
  191. data/lib/moov/models/components/requirementerrorcode.rb +1 -3
  192. data/lib/moov/models/components/requirementid.rb +1 -17
  193. data/lib/moov/models/components/resolutionlink.rb +1 -1
  194. data/lib/moov/models/components/resolutionlinkstatus.rb +1 -3
  195. data/lib/moov/models/components/returnpolicytype.rb +1 -3
  196. data/lib/moov/models/components/reversalamountdetails.rb +1 -3
  197. data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
  198. data/lib/moov/models/components/rtprejectioncode.rb +1 -3
  199. data/lib/moov/models/components/schedulelistresponse.rb +1 -1
  200. data/lib/moov/models/components/scheduleresponse.rb +1 -1
  201. data/lib/moov/models/components/seccode.rb +1 -3
  202. data/lib/moov/models/components/sendfunds.rb +2 -6
  203. data/lib/moov/models/components/sendfunds.rbi +0 -2
  204. data/lib/moov/models/components/sendfundserror.rb +2 -6
  205. data/lib/moov/models/components/sendfundserror.rbi +0 -2
  206. data/lib/moov/models/components/sourcesystem.rb +1 -3
  207. data/lib/moov/models/components/statement.rb +2 -6
  208. data/lib/moov/models/components/statement.rbi +0 -2
  209. data/lib/moov/models/components/sweep.rb +1 -1
  210. data/lib/moov/models/components/sweepconfig.rb +3 -3
  211. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  212. data/lib/moov/models/components/sweepconfigstatus.rb +1 -3
  213. data/lib/moov/models/components/sweepstatus.rb +1 -3
  214. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  215. data/lib/moov/models/components/terminalapplication.rb +2 -2
  216. data/lib/moov/models/components/terminalapplicationplatform.rb +1 -3
  217. data/lib/moov/models/components/terminalapplicationstatus.rb +1 -3
  218. data/lib/moov/models/components/terminalcard.rb +2 -2
  219. data/lib/moov/models/components/ticket.rb +1 -1
  220. data/lib/moov/models/components/ticketstatus.rb +1 -3
  221. data/lib/moov/models/components/tipcalculationbasis.rb +1 -3
  222. data/lib/moov/models/components/tippresets.rb +1 -1
  223. data/lib/moov/models/components/transactionsource.rb +1 -3
  224. data/lib/moov/models/components/transfer.rb +5 -12
  225. data/lib/moov/models/components/transfer.rbi +0 -2
  226. data/lib/moov/models/components/transferdestination.rb +1 -1
  227. data/lib/moov/models/components/transferfailurereason.rb +1 -3
  228. data/lib/moov/models/components/transferparty.rb +1 -3
  229. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
  230. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  231. data/lib/moov/models/components/transferpaymentmethodswallet.rb +1 -2
  232. data/lib/moov/models/components/transferpaymentmethodtype.rb +1 -3
  233. data/lib/moov/models/components/transfersource.rb +1 -1
  234. data/lib/moov/models/components/transferstatus.rb +1 -3
  235. data/lib/moov/models/components/transferterminalcard.rb +2 -2
  236. data/lib/moov/models/components/underwriting.rb +4 -4
  237. data/lib/moov/models/components/underwritingstatus.rb +1 -3
  238. data/lib/moov/models/components/updateevidence.rb +1 -1
  239. data/lib/moov/models/components/updateinvoice.rb +1 -1
  240. data/lib/moov/models/components/updateissuedcard.rb +2 -8
  241. data/lib/moov/models/components/updateissuedcard.rbi +0 -2
  242. data/lib/moov/models/components/updateissuedcardstate.rb +0 -4
  243. data/lib/moov/models/components/updatepaymentlink.rb +1 -1
  244. data/lib/moov/models/components/updatewebhook.rb +1 -1
  245. data/lib/moov/models/components/upsertunderwriting.rb +3 -3
  246. data/lib/moov/models/components/use.rb +1 -3
  247. data/lib/moov/models/components/verification.rb +3 -3
  248. data/lib/moov/models/components/verificationstatus.rb +1 -3
  249. data/lib/moov/models/components/verificationstatusdetail.rb +1 -3
  250. data/lib/moov/models/components/wallet.rb +2 -3
  251. data/lib/moov/models/components/walletstatus.rb +1 -3
  252. data/lib/moov/models/components/wallettransaction.rb +3 -3
  253. data/lib/moov/models/components/wallettransactionsourcetype.rb +1 -3
  254. data/lib/moov/models/components/wallettransactionstatus.rb +1 -3
  255. data/lib/moov/models/components/wallettransactiontype.rb +1 -3
  256. data/lib/moov/models/components/wallettype.rb +1 -5
  257. data/lib/moov/models/components/webhook.rb +1 -1
  258. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
  259. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
  260. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  261. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  262. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  263. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
  264. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
  265. data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
  266. data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
  267. data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
  268. data/lib/moov/models/components/webhookdatainvoiceupdated.rb +1 -1
  269. data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
  270. data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
  271. data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
  272. data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
  273. data/lib/moov/models/components/webhookdataticketupdated.rb +1 -1
  274. data/lib/moov/models/components/webhookdatatransferstatus.rb +0 -3
  275. data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
  276. data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
  277. data/lib/moov/models/components/webhookevent.rb +1 -1
  278. data/lib/moov/models/components/webhookeventtype.rb +1 -3
  279. data/lib/moov/models/components/webhookstatus.rb +1 -3
  280. data/lib/moov/models/components.rb +3 -37
  281. data/lib/moov/models/errors/cardacquiringrefund_error.rb +1 -1
  282. data/lib/moov/models/errors/productrequestvalidationerror.rb +2 -6
  283. data/lib/moov/models/errors/productrequestvalidationerror.rbi +0 -2
  284. data/lib/moov/models/errors/transfer_error.rb +5 -12
  285. data/lib/moov/models/errors/transfer_error.rbi +0 -2
  286. data/lib/moov/models/errors/updateissuedcarderror.rb +2 -6
  287. data/lib/moov/models/errors/updateissuedcarderror.rbi +0 -2
  288. data/lib/moov/models/operations/gettransferriskoutcomes_request.rb +37 -0
  289. data/lib/moov/models/operations/gettransferriskoutcomes_request.rbi +15 -0
  290. data/lib/moov/models/operations/{listissuingmerchantcategories_response.rb → gettransferriskoutcomes_response.rb} +6 -6
  291. data/lib/moov/models/operations/{deleteavatar_response.rbi → gettransferriskoutcomes_response.rbi} +4 -2
  292. data/lib/moov/models/operations/listaccounts_request.rb +1 -1
  293. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
  294. data/lib/moov/models/operations/listdisputes_request.rb +1 -1
  295. data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
  296. data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
  297. data/lib/moov/models/operations/listinvoices_request.rb +1 -1
  298. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
  299. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
  300. data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
  301. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +3 -7
  302. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +0 -2
  303. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
  304. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  305. data/lib/moov/models/operations/listproducts_request.rb +3 -9
  306. data/lib/moov/models/operations/listproducts_request.rbi +0 -2
  307. data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
  308. data/lib/moov/models/operations/listresiduals_request.rb +1 -1
  309. data/lib/moov/models/operations/listschedules_request.rb +1 -1
  310. data/lib/moov/models/operations/liststatements_request.rb +1 -1
  311. data/lib/moov/models/operations/listsweeps_request.rb +1 -1
  312. data/lib/moov/models/operations/listtickets_request.rb +1 -1
  313. data/lib/moov/models/operations/listtransfers_request.rb +3 -11
  314. data/lib/moov/models/operations/listtransfers_request.rbi +0 -4
  315. data/lib/moov/models/operations/listwallets_request.rb +1 -1
  316. data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
  317. data/lib/moov/models/operations/retrievefees_request.rb +1 -1
  318. data/lib/moov/models/operations.rb +2 -8
  319. data/lib/moov/products.rb +8 -113
  320. data/lib/moov/sdk_hooks/hooks.rb +0 -6
  321. data/lib/moov/sdkconfiguration.rb +4 -4
  322. data/lib/moov/transfers.rb +130 -11
  323. data/lib/moov/utils/retries.rb +2 -41
  324. data/lib/moov/utils/utils.rb +2 -6
  325. data/lib/moov_ruby.rb +1 -1
  326. metadata +12 -94
  327. data/lib/moov/models/components/allowedscheduleerror.rb +0 -36
  328. data/lib/moov/models/components/allowedscheduleerror.rbi +0 -15
  329. data/lib/moov/models/components/avataruploadrequest.rbi +0 -13
  330. data/lib/moov/models/components/avataruploadrequest_file.rb +0 -36
  331. data/lib/moov/models/components/avataruploadrequest_file.rbi +0 -15
  332. data/lib/moov/models/components/billingadjustment.rb +0 -40
  333. data/lib/moov/models/components/billingadjustment.rbi +0 -17
  334. data/lib/moov/models/components/billingsummary_adjustmentfees.rb +0 -40
  335. data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +0 -15
  336. data/lib/moov/models/components/feepaidby.rb +0 -21
  337. data/lib/moov/models/components/feepaidby.rbi +0 -11
  338. data/lib/moov/models/components/issuedcontrols.rb +0 -52
  339. data/lib/moov/models/components/issuedcontrols.rbi +0 -23
  340. data/lib/moov/models/components/issuedcontrols_allowedschedule.rb +0 -36
  341. data/lib/moov/models/components/issuedcontrols_allowedschedule.rbi +0 -15
  342. data/lib/moov/models/components/issuedvelocitylimit.rb +0 -60
  343. data/lib/moov/models/components/issuedvelocitylimit.rbi +0 -27
  344. data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +0 -36
  345. data/lib/moov/models/components/issuingcontrols_allowedschedule.rbi +0 -15
  346. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rb +0 -21
  347. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rbi +0 -11
  348. data/lib/moov/models/components/issuingmerchantcategory.rb +0 -45
  349. data/lib/moov/models/components/issuingmerchantcategory.rbi +0 -11
  350. data/lib/moov/models/components/issuingscheduleday.rb +0 -24
  351. data/lib/moov/models/components/issuingscheduleday.rbi +0 -11
  352. data/lib/moov/models/components/merchantcategories.rb +0 -32
  353. data/lib/moov/models/components/merchantcategories.rbi +0 -13
  354. data/lib/moov/models/components/merchantcategory.rb +0 -37
  355. data/lib/moov/models/components/merchantcategory.rbi +0 -15
  356. data/lib/moov/models/components/merchantcategoryrestrictions.rb +0 -44
  357. data/lib/moov/models/components/merchantcategoryrestrictions.rbi +0 -19
  358. data/lib/moov/models/components/merchantcategoryrestrictionserror.rb +0 -44
  359. data/lib/moov/models/components/merchantcategoryrestrictionserror.rbi +0 -19
  360. data/lib/moov/models/components/merchantentry.rb +0 -40
  361. data/lib/moov/models/components/merchantentry.rbi +0 -17
  362. data/lib/moov/models/components/merchantentryerror.rb +0 -36
  363. data/lib/moov/models/components/merchantentryerror.rbi +0 -15
  364. data/lib/moov/models/components/merchantrestrictions.rb +0 -36
  365. data/lib/moov/models/components/merchantrestrictions.rbi +0 -15
  366. data/lib/moov/models/components/merchantrestrictionserror.rb +0 -36
  367. data/lib/moov/models/components/merchantrestrictionserror.rbi +0 -15
  368. data/lib/moov/models/components/productcategories.rb +0 -32
  369. data/lib/moov/models/components/productcategories.rbi +0 -13
  370. data/lib/moov/models/components/productcategory.rb +0 -48
  371. data/lib/moov/models/components/productcategory.rbi +0 -21
  372. data/lib/moov/models/components/schedulewindow.rb +0 -40
  373. data/lib/moov/models/components/schedulewindow.rbi +0 -17
  374. data/lib/moov/models/components/schedulewindowerror.rb +0 -40
  375. data/lib/moov/models/components/schedulewindowerror.rbi +0 -17
  376. data/lib/moov/models/components/schemebasicauth.rb +0 -36
  377. data/lib/moov/models/components/schemebasicauth.rbi +0 -15
  378. data/lib/moov/models/components/schemeoauth2auth.rb +0 -40
  379. data/lib/moov/models/components/schemeoauth2auth.rbi +0 -17
  380. data/lib/moov/models/components/sendfundswire.rb +0 -32
  381. data/lib/moov/models/components/sendfundswire.rbi +0 -13
  382. data/lib/moov/models/components/sendfundswireerror.rb +0 -32
  383. data/lib/moov/models/components/sendfundswireerror.rbi +0 -13
  384. data/lib/moov/models/components/transfercapture.rb +0 -36
  385. data/lib/moov/models/components/transfercapture.rbi +0 -15
  386. data/lib/moov/models/components/transferfeepaidby.rb +0 -32
  387. data/lib/moov/models/components/transferfeepaidby.rbi +0 -13
  388. data/lib/moov/models/components/updateissuingcontrols.rb +0 -48
  389. data/lib/moov/models/components/updateissuingcontrols.rbi +0 -21
  390. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +0 -36
  391. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rbi +0 -15
  392. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb +0 -44
  393. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rbi +0 -19
  394. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb +0 -36
  395. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rbi +0 -15
  396. data/lib/moov/models/components/updateissuingcontrolserror.rb +0 -48
  397. data/lib/moov/models/components/updateissuingcontrolserror.rbi +0 -21
  398. data/lib/moov/models/operations/deleteavatar_request.rb +0 -32
  399. data/lib/moov/models/operations/deleteavatar_request.rbi +0 -13
  400. data/lib/moov/models/operations/deleteavatar_response.rb +0 -44
  401. data/lib/moov/models/operations/deleteavatar_security.rb +0 -36
  402. data/lib/moov/models/operations/deleteavatar_security.rbi +0 -15
  403. data/lib/moov/models/operations/listissuingmerchantcategories_response.rbi +0 -21
  404. data/lib/moov/models/operations/listproductcategories_response.rb +0 -48
  405. data/lib/moov/models/operations/listproductcategories_response.rbi +0 -21
  406. data/lib/moov/models/operations/uploadavatar_request.rb +0 -36
  407. data/lib/moov/models/operations/uploadavatar_request.rbi +0 -15
  408. data/lib/moov/models/operations/uploadavatar_response.rb +0 -44
  409. data/lib/moov/models/operations/uploadavatar_response.rbi +0 -19
  410. data/lib/moov/models/operations/uploadavatar_security.rb +0 -36
  411. data/lib/moov/models/operations/uploadavatar_security.rbi +0 -15
  412. data/lib/moov/sdk_hooks/clientcredentials.rb +0 -386
  413. data/lib/moov/sdk_hooks/oauth2scopes.rb +0 -18
@@ -15,7 +15,7 @@ module Moov
15
15
  # The account ID of the partner that created the invite.
16
16
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
17
17
  # The operating mode for an account.
18
- field :account_mode, Models::Components::Mode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountMode'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::Mode, false) } }
18
+ field :account_mode, Models::Components::Mode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountMode'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::Mode, false) } }
19
19
  # The name of the Moov account used to create the onboarding invite.
20
20
  field :display_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('displayName'), required: true } }
21
21
 
@@ -21,30 +21,26 @@ module Moov
21
21
 
22
22
  field :accepted_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
23
23
 
24
- field :status, Models::Components::FeePlanAgreementStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::FeePlanAgreementStatus, false) } }
24
+ field :status, Models::Components::FeePlanAgreementStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::FeePlanAgreementStatus, false) } }
25
25
  # Specifies the card processing pricing model
26
- field :card_acquiring_model, Models::Components::CardAcquiringModel, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAcquiringModel'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardAcquiringModel, false) } }
26
+ field :card_acquiring_model, Models::Components::CardAcquiringModel, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAcquiringModel'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardAcquiringModel, false) } }
27
27
 
28
28
  field :billable_fees, Crystalline::Array.new(Models::Components::BillableFee), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billableFees'), required: true } }
29
29
  # The minimum spending amount that must be met in the billing period. If actual usage is below the minimum amount, account is charged the difference.
30
30
  field :minimum_commitment, Models::Components::MinimumCommitment, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('minimumCommitment'), required: true } }
31
31
  # Fixed recurring amount paid in the billing period regardless of usage.
32
32
  field :monthly_platform_fee, Models::Components::MonthlyPlatformFee, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('monthlyPlatformFee'), required: true } }
33
- # The decimal-formatted numerical string of the revenue split for partner.
34
- #
35
- # For example, 2.25% is '2.25'.
33
+ # The decimal-formatted numerical string of the revenue split for partner.
34
+ #
35
+ # For example, 2.25% is '2.25'.
36
36
  field :revenue_share, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('revenueShare'), required: true } }
37
37
  # 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).
38
38
  field :account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID') } }
39
39
  # The description of the agreement.
40
40
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
41
- # The agreement this one replaced. Only set when the agreement was created by replacing another.
42
- field :prior_agreement_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priorAgreementID') } }
43
- # The date and time the prior agreement was terminated.
44
- field :prior_agreement_terminated_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priorAgreementTerminatedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
45
41
 
46
- sig { params(agreement_id: ::String, plan_id: ::String, name: ::String, accepted_on: ::DateTime, status: Models::Components::FeePlanAgreementStatus, card_acquiring_model: Models::Components::CardAcquiringModel, billable_fees: T::Array[Models::Components::BillableFee], minimum_commitment: Models::Components::MinimumCommitment, monthly_platform_fee: Models::Components::MonthlyPlatformFee, revenue_share: ::String, account_id: T.nilable(::String), description: T.nilable(::String), prior_agreement_id: T.nilable(::String), prior_agreement_terminated_on: T.nilable(::DateTime)).void }
47
- def initialize(agreement_id:, plan_id:, name:, accepted_on:, status:, card_acquiring_model:, billable_fees:, minimum_commitment:, monthly_platform_fee:, revenue_share:, account_id: nil, description: nil, prior_agreement_id: nil, prior_agreement_terminated_on: nil)
42
+ sig { params(agreement_id: ::String, plan_id: ::String, name: ::String, accepted_on: ::DateTime, status: Models::Components::FeePlanAgreementStatus, card_acquiring_model: Models::Components::CardAcquiringModel, billable_fees: T::Array[Models::Components::BillableFee], minimum_commitment: Models::Components::MinimumCommitment, monthly_platform_fee: Models::Components::MonthlyPlatformFee, revenue_share: ::String, account_id: T.nilable(::String), description: T.nilable(::String)).void }
43
+ def initialize(agreement_id:, plan_id:, name:, accepted_on:, status:, card_acquiring_model:, billable_fees:, minimum_commitment:, monthly_platform_fee:, revenue_share:, account_id: nil, description: nil)
48
44
  @agreement_id = agreement_id
49
45
  @plan_id = plan_id
50
46
  @name = name
@@ -57,8 +53,6 @@ module Moov
57
53
  @revenue_share = revenue_share
58
54
  @account_id = account_id
59
55
  @description = description
60
- @prior_agreement_id = prior_agreement_id
61
- @prior_agreement_terminated_on = prior_agreement_terminated_on
62
56
  end
63
57
 
64
58
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -76,8 +70,6 @@ module Moov
76
70
  return false unless @revenue_share == other.revenue_share
77
71
  return false unless @account_id == other.account_id
78
72
  return false unless @description == other.description
79
- return false unless @prior_agreement_id == other.prior_agreement_id
80
- return false unless @prior_agreement_terminated_on == other.prior_agreement_terminated_on
81
73
  true
82
74
  end
83
75
  end
@@ -32,8 +32,4 @@ class Moov::Models::Components::PartnerPricingAgreement
32
32
  def account_id=(str_); end
33
33
  def description(); end
34
34
  def description=(str_); end
35
- def prior_agreement_id(); end
36
- def prior_agreement_id=(str_); end
37
- def prior_agreement_terminated_on(); end
38
- def prior_agreement_terminated_on=(str_); end
39
35
  end
@@ -0,0 +1,38 @@
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
+ # The risk rules that contributed to a transfer's risk decision.
11
+ #
12
+ # This information has limited availability and must be enabled for your account by Moov.
13
+ class PartnerRiskOutcomesResponse
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+ # Identifier of the transfer these outcomes belong to.
18
+ field :transfer_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID'), required: true } }
19
+ # The risk rules that contributed to the decision. May be empty when no rules are disclosed.
20
+ field :contributing_rules, Crystalline::Array.new(Models::Components::ContributingRule), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('contributingRules'), required: true } }
21
+
22
+ sig { params(transfer_id: ::String, contributing_rules: T::Array[Models::Components::ContributingRule]).void }
23
+ def initialize(transfer_id:, contributing_rules:)
24
+ @transfer_id = transfer_id
25
+ @contributing_rules = contributing_rules
26
+ end
27
+
28
+ sig { params(other: T.untyped).returns(T::Boolean) }
29
+ def ==(other)
30
+ return false unless other.is_a? self.class
31
+ return false unless @transfer_id == other.transfer_id
32
+ return false unless @contributing_rules == other.contributing_rules
33
+ true
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PartnerRiskOutcomesResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PartnerRiskOutcomesResponse
11
+ def transfer_id(); end
12
+ def transfer_id=(str_); end
13
+ def contributing_rules(); end
14
+ def contributing_rules=(str_); end
15
+ end
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :doing_business_as, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('doingBusinessAs') } }
19
19
  # The type of entity represented by this business.
20
- field :business_type, Crystalline::Nilable.new(Models::Components::BusinessType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('businessType'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BusinessType, true) } }
20
+ field :business_type, Crystalline::Nilable.new(Models::Components::BusinessType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('businessType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BusinessType, true) } }
21
21
 
22
22
  field :address, Crystalline::Nilable.new(Models::Components::AddressUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('address') } }
23
23
 
@@ -37,7 +37,7 @@ module Moov
37
37
  # Classification identifier for the industry. Use the [GET industries](https://docs.moov.io/api/enrichment/form-shortening/industries/get/) endpoint to retrieve an array of valid industry details for a merchant, inducing all industry field values.
38
38
  field :industry, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('industry') } }
39
39
  # If the business is a financial institution, this field describes its primary regulator.
40
- field :primary_regulator, Crystalline::Nilable.new(Models::Components::PrimaryRegulator), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('primaryRegulator'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::PrimaryRegulator, true) } }
40
+ field :primary_regulator, Crystalline::Nilable.new(Models::Components::PrimaryRegulator), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('primaryRegulator'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PrimaryRegulator, true) } }
41
41
 
42
42
  sig { params(legal_business_name: T.nilable(::String), doing_business_as: T.nilable(::String), business_type: T.nilable(Models::Components::BusinessType), address: T.nilable(Models::Components::AddressUpdate), phone: T.nilable(Models::Components::PhoneNumber), email: T.nilable(::String), website: T.nilable(::String), description: T.nilable(::String), tax_id: T.nilable(Models::Components::TaxIDUpdate), owners_provided: T.nilable(T::Boolean), industry_codes: T.nilable(Models::Components::IndustryCodes), industry: T.nilable(::String), primary_regulator: T.nilable(Models::Components::PrimaryRegulator)).void }
43
43
  def initialize(legal_business_name: nil, doing_business_as: nil, business_type: nil, address: nil, phone: nil, email: nil, website: nil, description: nil, tax_id: nil, owners_provided: nil, industry_codes: nil, industry: nil, primary_regulator: nil)
@@ -17,7 +17,7 @@ module Moov
17
17
  # Status of a wallet.
18
18
  # - `active`: The wallet is available for use and has an enabled payment method.
19
19
  # - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
20
- field :status, Crystalline::Nilable.new(Models::Components::WalletStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletStatus, true) } }
20
+ field :status, Crystalline::Nilable.new(Models::Components::WalletStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletStatus, true) } }
21
21
 
22
22
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
23
23
 
@@ -15,11 +15,11 @@ module Moov
15
15
  # Unique code identifying this payment link.
16
16
  field :code, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('code'), required: true } }
17
17
 
18
- field :payment_link_type, Models::Components::PaymentLinkType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentLinkType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::PaymentLinkType, false) } }
18
+ field :payment_link_type, Models::Components::PaymentLinkType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentLinkType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PaymentLinkType, false) } }
19
19
  # The operating mode for an account.
20
- field :mode, Models::Components::Mode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::Mode, false) } }
20
+ field :mode, Models::Components::Mode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::Mode, false) } }
21
21
 
22
- field :status, Models::Components::PaymentLinkStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::PaymentLinkStatus, false) } }
22
+ field :status, Models::Components::PaymentLinkStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PaymentLinkStatus, false) } }
23
23
  # The partner's Moov account ID.
24
24
  field :partner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerAccountID'), required: true } }
25
25
  # The merchant's Moov account ID.
@@ -57,8 +57,10 @@ module Moov
57
57
  field :expires_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiresOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
58
58
  # Options for payment links used to collect payment.
59
59
  field :payment, Crystalline::Nilable.new(Models::Components::PaymentLinkPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payment') } }
60
- # Options for payout links used to send a payout.
60
+
61
61
  field :payout, Crystalline::Nilable.new(Models::Components::PaymentLinkPayoutDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payout') } }
62
+ # Options for custom amount payment links.
63
+ #
62
64
  # A custom amount payment link shares all the options of a `payment` link, but the payor chooses how much to
63
65
  # pay rather than the merchant fixing the amount. The amount may optionally be constrained to a range.
64
66
  field :custom_amount_payment, Crystalline::Nilable.new(Models::Components::PaymentLinkCustomAmountPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customAmountPayment') } }
@@ -7,6 +7,8 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
+ # Options for custom amount payment links.
11
+ #
10
12
  # A custom amount payment link shares all the options of a `payment` link, but the payor chooses how much to
11
13
  # pay rather than the merchant fixing the amount. The amount may optionally be constrained to a range.
12
14
  class PaymentLinkCustomAmountPaymentDetails
@@ -7,6 +7,8 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
+ # Options for custom amount payment links.
11
+ #
10
12
  # A custom amount payment link shares all the options of a `payment` link, but the payor chooses how much to
11
13
  # pay rather than the merchant fixing the amount. The amount may optionally be constrained to a range.
12
14
  class PaymentLinkCustomAmountPaymentDetailsUpdate
@@ -20,7 +20,7 @@ module Moov
20
20
  #
21
21
  # If set to "auto" the UI will automatically select between
22
22
  # "pay" and "confirm" for payments and payouts respectively.
23
- field :call_to_action, Models::Components::CallToAction, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('callToAction'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CallToAction, false) } }
23
+ field :call_to_action, Models::Components::CallToAction, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('callToAction'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CallToAction, false) } }
24
24
 
25
25
  sig { params(title: ::String, description: ::String, call_to_action: Models::Components::CallToAction).void }
26
26
  def initialize(title:, description:, call_to_action:)
@@ -20,7 +20,7 @@ module Moov
20
20
  #
21
21
  # If set to "auto" the UI will automatically select between
22
22
  # "pay" and "confirm" for payments and payouts respectively.
23
- field :call_to_action, Crystalline::Nilable.new(Models::Components::CallToAction), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('callToAction'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CallToAction, true) } }
23
+ field :call_to_action, Crystalline::Nilable.new(Models::Components::CallToAction), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('callToAction'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CallToAction, true) } }
24
24
 
25
25
  sig { params(title: T.nilable(::String), description: T.nilable(::String), call_to_action: T.nilable(Models::Components::CallToAction)).void }
26
26
  def initialize(title: nil, description: nil, call_to_action: nil)
@@ -7,7 +7,7 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # Options for payout links used to send a payout.
10
+
11
11
  class PaymentLinkPayoutDetails
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
@@ -21,21 +21,18 @@ module Moov
21
21
  field :recipient, Models::Components::PayoutRecipient, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recipient'), required: true } }
22
22
  # Optional free-form metadata for the transfer.
23
23
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
24
- # Delivery options for `push-to-card` and `push-to-apple-pay` payouts.
25
- field :push_options, Crystalline::Nilable.new(Models::Components::PushOptions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
26
- # Indicates which party pays the fee, keyed by `PayoutFeePaidByKey`. If keys are not set,
27
- # the default is `source`.
24
+ # Delivery options for push-to-card payouts. Only applies when `allowedMethods` includes `push-to-card`.
28
25
  #
29
- # Possible `PayoutFeePaidByKey` keys: `instant-push-to-card`, `deferred-push-to-card`, `instant-push-to-apple-pay`, `deferred-push-to-apple-pay`, `instant-bank-credit` (API v2026.01.00 and later), `rtp-credit`, `ach-credit-same-day`, `ach-credit-standard`, `push-to-google-pay`
30
- field :fee_paid_by, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::FeePaidBy)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy') } }
26
+ # The `deferred` speed and `deferredBy` apply to `push-to-card` only. Other push methods
27
+ # (`push-to-apple-pay`, `push-to-google-pay`) are always delivered instantly regardless of these options.
28
+ field :push_options, Crystalline::Nilable.new(Models::Components::PushOptions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
31
29
 
32
- sig { params(allowed_methods: T::Array[Models::Components::DisbursementPaymentMethodType], recipient: Models::Components::PayoutRecipient, metadata: T.nilable(T::Hash[Symbol, ::String]), push_options: T.nilable(Models::Components::PushOptions), fee_paid_by: T.nilable(T::Hash[Symbol, Models::Components::FeePaidBy])).void }
33
- def initialize(allowed_methods:, recipient:, metadata: nil, push_options: nil, fee_paid_by: nil)
30
+ sig { params(allowed_methods: T::Array[Models::Components::DisbursementPaymentMethodType], recipient: Models::Components::PayoutRecipient, metadata: T.nilable(T::Hash[Symbol, ::String]), push_options: T.nilable(Models::Components::PushOptions)).void }
31
+ def initialize(allowed_methods:, recipient:, metadata: nil, push_options: nil)
34
32
  @allowed_methods = allowed_methods
35
33
  @recipient = recipient
36
34
  @metadata = metadata
37
35
  @push_options = push_options
38
- @fee_paid_by = fee_paid_by
39
36
  end
40
37
 
41
38
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -45,7 +42,6 @@ module Moov
45
42
  return false unless @recipient == other.recipient
46
43
  return false unless @metadata == other.metadata
47
44
  return false unless @push_options == other.push_options
48
- return false unless @fee_paid_by == other.fee_paid_by
49
45
  true
50
46
  end
51
47
  end
@@ -16,6 +16,4 @@ class Moov::Models::Components::PaymentLinkPayoutDetails
16
16
  def metadata=(str_); end
17
17
  def push_options(); end
18
18
  def push_options=(str_); end
19
- def fee_paid_by(); end
20
- def fee_paid_by=(str_); end
21
19
  end
@@ -7,7 +7,7 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # Options for payout links used to send a payout.
10
+
11
11
  class PaymentLinkPayoutDetailsUpdate
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
@@ -21,21 +21,18 @@ module Moov
21
21
  field :recipient, Crystalline::Nilable.new(Models::Components::PayoutRecipient), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recipient') } }
22
22
  # Optional free-form metadata for the transfer.
23
23
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
24
- # Delivery options for `push-to-card` and `push-to-apple-pay` payouts.
25
- field :push_options, Crystalline::Nilable.new(Models::Components::PushOptionsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
26
- # Indicates which party pays the fee, keyed by `PayoutFeePaidByKey`. If keys are not set,
27
- # the default is `source`.
24
+ # Delivery options for push-to-card payouts. Only applies when `allowedMethods` includes `push-to-card`.
28
25
  #
29
- # Possible `PayoutFeePaidByKey` keys: `instant-push-to-card`, `deferred-push-to-card`, `instant-push-to-apple-pay`, `deferred-push-to-apple-pay`, `rtp-credit`, `ach-credit-same-day`, `ach-credit-standard`, `push-to-google-pay`
30
- field :fee_paid_by, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::FeePaidBy)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy') } }
26
+ # The `deferred` speed and `deferredBy` apply to `push-to-card` only. Other push methods
27
+ # (`push-to-apple-pay`, `push-to-google-pay`) are always delivered instantly regardless of these options.
28
+ field :push_options, Crystalline::Nilable.new(Models::Components::PushOptionsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
31
29
 
32
- sig { params(allowed_methods: T.nilable(T::Array[Models::Components::DisbursementPaymentMethodType]), recipient: T.nilable(Models::Components::PayoutRecipient), metadata: T.nilable(T::Hash[Symbol, ::String]), push_options: T.nilable(Models::Components::PushOptionsUpdate), fee_paid_by: T.nilable(T::Hash[Symbol, Models::Components::FeePaidBy])).void }
33
- def initialize(allowed_methods: nil, recipient: nil, metadata: nil, push_options: nil, fee_paid_by: nil)
30
+ sig { params(allowed_methods: T.nilable(T::Array[Models::Components::DisbursementPaymentMethodType]), recipient: T.nilable(Models::Components::PayoutRecipient), metadata: T.nilable(T::Hash[Symbol, ::String]), push_options: T.nilable(Models::Components::PushOptionsUpdate)).void }
31
+ def initialize(allowed_methods: nil, recipient: nil, metadata: nil, push_options: nil)
34
32
  @allowed_methods = allowed_methods
35
33
  @recipient = recipient
36
34
  @metadata = metadata
37
35
  @push_options = push_options
38
- @fee_paid_by = fee_paid_by
39
36
  end
40
37
 
41
38
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -45,7 +42,6 @@ module Moov
45
42
  return false unless @recipient == other.recipient
46
43
  return false unless @metadata == other.metadata
47
44
  return false unless @push_options == other.push_options
48
- return false unless @fee_paid_by == other.fee_paid_by
49
45
  true
50
46
  end
51
47
  end
@@ -16,6 +16,4 @@ class Moov::Models::Components::PaymentLinkPayoutDetailsUpdate
16
16
  def metadata=(str_); end
17
17
  def push_options(); end
18
18
  def push_options=(str_); end
19
- def fee_paid_by(); end
20
- def fee_paid_by=(str_); end
21
19
  end
@@ -8,15 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class PaymentLinkStatus
12
- include ::Crystalline::Enum
11
+ class PaymentLinkStatus < T::Enum
13
12
  enums do
14
13
  ACTIVE = new('active')
15
14
  USED = new('used')
16
15
  DISABLED = new('disabled')
17
16
  EXPIRED = new('expired')
18
17
  end
19
- open!
20
18
  end
21
19
  end
22
20
  end
@@ -8,15 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class PaymentLinkType
12
- include ::Crystalline::Enum
11
+ class PaymentLinkType < T::Enum
13
12
  enums do
14
13
  PAYMENT = new('payment')
15
14
  PAYOUT = new('payout')
16
15
  INVOICE_PAYMENT = new('invoice-payment')
17
16
  CUSTOM_AMOUNT_PAYMENT = new('custom-amount-payment')
18
17
  end
19
- open!
20
18
  end
21
19
  end
22
20
  end
@@ -19,15 +19,15 @@ module Moov
19
19
  # The fingerprint acts as a way to identify whether two linked bank accounts are the same.
20
20
  field :fingerprint, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fingerprint'), required: true } }
21
21
 
22
- field :status, Models::Components::BankAccountStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountStatus, false) } }
22
+ field :status, Models::Components::BankAccountStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountStatus, false) } }
23
23
 
24
24
  field :holder_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderName'), required: true } }
25
25
  # The type of holder on a funding source.
26
- field :holder_type, Models::Components::BankAccountHolderType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountHolderType, false) } }
26
+ field :holder_type, Models::Components::BankAccountHolderType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountHolderType, false) } }
27
27
 
28
28
  field :bank_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankName'), required: true } }
29
29
  # The bank account type.
30
- field :bank_account_type, Models::Components::BankAccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankAccountType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountType, false) } }
30
+ field :bank_account_type, Models::Components::BankAccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankAccountType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountType, false) } }
31
31
 
32
32
  field :routing_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('routingNumber'), required: true } }
33
33
 
@@ -19,9 +19,9 @@ module Moov
19
19
  # This field can be used to identify specific payment methods across multiple accounts on your platform.
20
20
  field :fingerprint, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fingerprint'), required: true } }
21
21
  # The card brand.
22
- field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardBrand, false) } }
22
+ field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardBrand, false) } }
23
23
  # The type of the card.
24
- field :card_type, Models::Components::CardType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardType, false) } }
24
+ field :card_type, Models::Components::CardType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardType, false) } }
25
25
  # Last four digits of the card number
26
26
  field :last_four_card_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber'), required: true } }
27
27
  # The first six to eight digits of the card number, which identifies the financial institution that issued the card.
@@ -46,9 +46,9 @@ module Moov
46
46
  # The results of the most recent card update request.
47
47
  field :card_account_updater, Crystalline::Nilable.new(Models::Components::CardAccountUpdater), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAccountUpdater') } }
48
48
  # Indicates which level of domestic push-to-card transfer is supported by the card, if any.
49
- field :domestic_push_to_card, Crystalline::Nilable.new(Models::Components::DomesticPushToCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPushToCard'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DomesticPushToCard, true) } }
49
+ field :domestic_push_to_card, Crystalline::Nilable.new(Models::Components::DomesticPushToCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPushToCard'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DomesticPushToCard, true) } }
50
50
  # Indicates if the card supports domestic pull-from-card transfer.
51
- field :domestic_pull_from_card, Crystalline::Nilable.new(Models::Components::DomesticPullFromCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPullFromCard'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DomesticPullFromCard, true) } }
51
+ field :domestic_pull_from_card, Crystalline::Nilable.new(Models::Components::DomesticPullFromCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPullFromCard'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DomesticPullFromCard, true) } }
52
52
  # The category or level of the card defined by the issuer.
53
53
  # Examples include, but not limited to, "REWARDS", "TRADITIONAL REWARDS", "CLASSIC", and "CORPORATE PURCHASING".
54
54
  field :card_category, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardCategory') } }
@@ -19,8 +19,7 @@ module Moov
19
19
  # Type of a wallet.
20
20
  # - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
21
21
  # - `general`: An additional, user-defined wallet created via API or Dashboard.
22
- # - `card-issuing`: The system-generated wallet automatically created when an account is granted the card-issuing capability.
23
- field :wallet_type, Models::Components::WalletType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletType, false) } }
22
+ field :wallet_type, Models::Components::WalletType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletType, false) } }
24
23
 
25
24
  sig { params(wallet_id: ::String, partner_account_id: ::String, wallet_type: Models::Components::WalletType).void }
26
25
  def initialize(wallet_id:, partner_account_id:, wallet_type:)
@@ -8,8 +8,7 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # PaymentMethodType - The payment method type that represents a payment rail and directionality
11
- class PaymentMethodType
12
- include ::Crystalline::Enum
11
+ class PaymentMethodType < T::Enum
13
12
  enums do
14
13
  MOOV_WALLET = new('moov-wallet')
15
14
  ACH_DEBIT_FUND = new('ach-debit-fund')
@@ -29,7 +28,6 @@ module Moov
29
28
  PUSH_TO_GOOGLE_PAY = new('push-to-google-pay')
30
29
  PULL_FROM_GOOGLE_PAY = new('pull-from-google-pay')
31
30
  end
32
- open!
33
31
  end
34
32
  end
35
33
  end
@@ -21,15 +21,12 @@ module Moov
21
21
 
22
22
  field :push_options, Crystalline::Nilable.new(Models::Components::PushOptionsError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
23
23
 
24
- field :fee_paid_by, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy') } }
25
-
26
- sig { params(allowed_methods: T.nilable(::String), recipient: T.nilable(Models::Components::PayoutRecipientError), metadata: T.nilable(::String), push_options: T.nilable(Models::Components::PushOptionsError), fee_paid_by: T.nilable(::String)).void }
27
- def initialize(allowed_methods: nil, recipient: nil, metadata: nil, push_options: nil, fee_paid_by: nil)
24
+ sig { params(allowed_methods: T.nilable(::String), recipient: T.nilable(Models::Components::PayoutRecipientError), metadata: T.nilable(::String), push_options: T.nilable(Models::Components::PushOptionsError)).void }
25
+ def initialize(allowed_methods: nil, recipient: nil, metadata: nil, push_options: nil)
28
26
  @allowed_methods = allowed_methods
29
27
  @recipient = recipient
30
28
  @metadata = metadata
31
29
  @push_options = push_options
32
- @fee_paid_by = fee_paid_by
33
30
  end
34
31
 
35
32
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -39,7 +36,6 @@ module Moov
39
36
  return false unless @recipient == other.recipient
40
37
  return false unless @metadata == other.metadata
41
38
  return false unless @push_options == other.push_options
42
- return false unless @fee_paid_by == other.fee_paid_by
43
39
  true
44
40
  end
45
41
  end
@@ -16,6 +16,4 @@ class Moov::Models::Components::PayoutDetailsError
16
16
  def metadata=(str_); end
17
17
  def push_options(); end
18
18
  def push_options=(str_); end
19
- def fee_paid_by(); end
20
- def fee_paid_by=(str_); end
21
19
  end
@@ -8,8 +8,7 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class PendingLitigation
12
- include ::Crystalline::Enum
11
+ class PendingLitigation < T::Enum
13
12
  enums do
14
13
  BANKRUPTCY_OR_INSOLVENCY = new('bankruptcy-or-insolvency')
15
14
  CONSUMER_PROTECTION_OR_CLASS_ACTION = new('consumer-protection-or-class-action')
@@ -22,7 +21,6 @@ module Moov
22
21
  OTHER = new('other')
23
22
  PERSONAL_INJURY_OR_MEDICAL = new('personal-injury-or-medical')
24
23
  end
25
- open!
26
24
  end
27
25
  end
28
26
  end
@@ -8,8 +8,7 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # PrimaryRegulator - If the business is a financial institution, this field describes its primary regulator.
11
- class PrimaryRegulator
12
- include ::Crystalline::Enum
11
+ class PrimaryRegulator < T::Enum
13
12
  enums do
14
13
  OCC = new('OCC')
15
14
  FDIC = new('FDIC')
@@ -17,7 +16,6 @@ module Moov
17
16
  FRB = new('FRB')
18
17
  STATE_CU_REGULATOR = new('state-cu-regulator')
19
18
  end
20
- open!
21
19
  end
22
20
  end
23
21
  end
@@ -32,13 +32,11 @@ module Moov
32
32
  field :option_groups, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ProductOptionGroup)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('optionGroups') } }
33
33
  # Optional images associated with the product.
34
34
  field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ProductImageMetadata)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
35
- # The product taxonomy category associated with the product, if any.
36
- field :category, Crystalline::Nilable.new(Models::Components::ProductCategory), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('category') } }
37
35
  # The date and time when the product was disabled.
38
36
  field :disabled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disabledOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
39
37
 
40
- sig { params(product_id: ::String, title: ::String, base_price: Models::Components::AmountDecimal, created_on: ::DateTime, updated_on: ::DateTime, description: T.nilable(::String), option_groups: T.nilable(T::Array[Models::Components::ProductOptionGroup]), images: T.nilable(T::Array[Models::Components::ProductImageMetadata]), category: T.nilable(Models::Components::ProductCategory), disabled_on: T.nilable(::DateTime)).void }
41
- def initialize(product_id:, title:, base_price:, created_on:, updated_on:, description: nil, option_groups: nil, images: nil, category: nil, disabled_on: nil)
38
+ sig { params(product_id: ::String, title: ::String, base_price: Models::Components::AmountDecimal, created_on: ::DateTime, updated_on: ::DateTime, description: T.nilable(::String), option_groups: T.nilable(T::Array[Models::Components::ProductOptionGroup]), images: T.nilable(T::Array[Models::Components::ProductImageMetadata]), disabled_on: T.nilable(::DateTime)).void }
39
+ def initialize(product_id:, title:, base_price:, created_on:, updated_on:, description: nil, option_groups: nil, images: nil, disabled_on: nil)
42
40
  @product_id = product_id
43
41
  @title = title
44
42
  @base_price = base_price
@@ -47,7 +45,6 @@ module Moov
47
45
  @description = description
48
46
  @option_groups = option_groups
49
47
  @images = images
50
- @category = category
51
48
  @disabled_on = disabled_on
52
49
  end
53
50
 
@@ -62,7 +59,6 @@ module Moov
62
59
  return false unless @description == other.description
63
60
  return false unless @option_groups == other.option_groups
64
61
  return false unless @images == other.images
65
- return false unless @category == other.category
66
62
  return false unless @disabled_on == other.disabled_on
67
63
  true
68
64
  end
@@ -24,8 +24,6 @@ class Moov::Models::Components::Product
24
24
  def option_groups=(str_); end
25
25
  def images(); end
26
26
  def images=(str_); end
27
- def category(); end
28
- def category=(str_); end
29
27
  def disabled_on(); end
30
28
  def disabled_on=(str_); end
31
29
  end
@@ -26,17 +26,14 @@ module Moov
26
26
  field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AssignProductImage)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
27
27
  # Optional configuration options for a product, such as size or color.
28
28
  field :option_groups, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::CreateProductOptionGroup)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('optionGroups') } }
29
- # The ID of a product taxonomy category to associate with the product.
30
- field :category_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('categoryID') } }
31
29
 
32
- sig { params(title: ::String, base_price: Models::Components::AmountDecimal, description: T.nilable(::String), images: T.nilable(T::Array[Models::Components::AssignProductImage]), option_groups: T.nilable(T::Array[Models::Components::CreateProductOptionGroup]), category_id: T.nilable(::String)).void }
33
- def initialize(title:, base_price:, description: nil, images: nil, option_groups: nil, category_id: nil)
30
+ sig { params(title: ::String, base_price: Models::Components::AmountDecimal, description: T.nilable(::String), images: T.nilable(T::Array[Models::Components::AssignProductImage]), option_groups: T.nilable(T::Array[Models::Components::CreateProductOptionGroup])).void }
31
+ def initialize(title:, base_price:, description: nil, images: nil, option_groups: nil)
34
32
  @title = title
35
33
  @base_price = base_price
36
34
  @description = description
37
35
  @images = images
38
36
  @option_groups = option_groups
39
- @category_id = category_id
40
37
  end
41
38
 
42
39
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -47,7 +44,6 @@ module Moov
47
44
  return false unless @description == other.description
48
45
  return false unless @images == other.images
49
46
  return false unless @option_groups == other.option_groups
50
- return false unless @category_id == other.category_id
51
47
  true
52
48
  end
53
49
  end