moov_ruby 26.7.0 → 26.7.2

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 (363) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/module.rb +1 -1
  3. data/lib/moov/avatars.rb +4 -4
  4. data/lib/moov/card_issuing.rb +117 -1
  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 +3 -1
  13. data/lib/moov/models/components/accountverificationstatus.rb +3 -1
  14. data/lib/moov/models/components/achreturncode.rb +3 -1
  15. data/lib/moov/models/components/achtransactiondetails.rb +3 -3
  16. data/lib/moov/models/components/achtransactionstatus.rb +3 -1
  17. data/lib/moov/models/components/adjustmentfees.rb +11 -15
  18. data/lib/moov/models/components/adjustmentfees.rbi +4 -4
  19. data/lib/moov/models/components/allowedscheduleerror.rb +36 -0
  20. data/lib/moov/models/components/allowedscheduleerror.rbi +15 -0
  21. data/lib/moov/models/components/amountdecimalrange.rb +0 -2
  22. data/lib/moov/models/components/amountdecimalrangeupdate.rb +0 -2
  23. data/lib/moov/models/components/applepayresponse.rb +2 -2
  24. data/lib/moov/models/components/applicationscope.rb +4 -2
  25. data/lib/moov/models/components/authmethod.rb +3 -1
  26. data/lib/moov/models/components/bankaccount.rb +4 -4
  27. data/lib/moov/models/components/bankaccountexception.rb +2 -2
  28. data/lib/moov/models/components/bankaccountholdertype.rb +3 -1
  29. data/lib/moov/models/components/bankaccountintegration.rb +2 -2
  30. data/lib/moov/models/components/bankaccountstatus.rb +3 -1
  31. data/lib/moov/models/components/bankaccountstatusreason.rb +3 -1
  32. data/lib/moov/models/components/bankaccounttype.rb +3 -1
  33. data/lib/moov/models/components/bankaccountverification.rb +2 -2
  34. data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
  35. data/lib/moov/models/components/bankaccountverificationmethod.rb +3 -1
  36. data/lib/moov/models/components/bankaccountverificationstatus.rb +3 -1
  37. data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
  38. data/lib/moov/models/components/billablefee.rb +2 -2
  39. data/lib/moov/models/components/billingadjustment.rb +40 -0
  40. data/lib/moov/models/components/billingadjustment.rbi +17 -0
  41. data/lib/moov/models/components/billingsummary.rb +8 -4
  42. data/lib/moov/models/components/billingsummary.rbi +2 -0
  43. data/lib/moov/models/components/billingsummary_adjustmentfees.rb +40 -0
  44. data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +15 -0
  45. data/lib/moov/models/components/businesspresence.rb +3 -1
  46. data/lib/moov/models/components/businessprofile.rb +2 -2
  47. data/lib/moov/models/components/businesstype.rb +3 -1
  48. data/lib/moov/models/components/calltoaction.rb +3 -1
  49. data/lib/moov/models/components/cancellation.rb +2 -2
  50. data/lib/moov/models/components/cancellationstatus.rb +3 -1
  51. data/lib/moov/models/components/capability.rb +2 -2
  52. data/lib/moov/models/components/capabilityid.rb +3 -1
  53. data/lib/moov/models/components/capabilitystatus.rb +3 -1
  54. data/lib/moov/models/components/card.rb +4 -4
  55. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  56. data/lib/moov/models/components/cardacquiringmodel.rb +3 -1
  57. data/lib/moov/models/components/cardacquiringrefund.rb +1 -1
  58. data/lib/moov/models/components/cardbrand.rb +3 -1
  59. data/lib/moov/models/components/cardissuingnetwork.rb +3 -1
  60. data/lib/moov/models/components/cardmetadata.rb +4 -4
  61. data/lib/moov/models/components/cardtransactiondetails.rb +3 -3
  62. data/lib/moov/models/components/cardtransactionfailurecode.rb +3 -1
  63. data/lib/moov/models/components/cardtransactionstatus.rb +3 -1
  64. data/lib/moov/models/components/cardtype.rb +3 -1
  65. data/lib/moov/models/components/cardupdatereason.rb +3 -1
  66. data/lib/moov/models/components/cardverification.rb +3 -3
  67. data/lib/moov/models/components/cardverificationresult.rb +3 -1
  68. data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
  69. data/lib/moov/models/components/collectionpaymentmethodtype.rb +3 -1
  70. data/lib/moov/models/components/createaccount.rb +2 -2
  71. data/lib/moov/models/components/createaccounttype.rb +3 -1
  72. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  73. data/lib/moov/models/components/createdtransfer.rb +12 -5
  74. data/lib/moov/models/components/createdtransfer.rbi +2 -0
  75. data/lib/moov/models/components/createevidencetext.rb +1 -1
  76. data/lib/moov/models/components/createfeeplanagreement.rb +13 -3
  77. data/lib/moov/models/components/createfeeplanagreement.rbi +2 -0
  78. data/lib/moov/models/components/createpaymentlink.rb +1 -1
  79. data/lib/moov/models/components/createrefund.rb +2 -2
  80. data/lib/moov/models/components/createreversal.rb +4 -1
  81. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  82. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  83. data/lib/moov/models/components/createtippresets.rb +1 -1
  84. data/lib/moov/models/components/createtransfer.rb +1 -1
  85. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  86. data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
  87. data/lib/moov/models/components/createwebhook.rb +1 -1
  88. data/lib/moov/models/components/debitholdperiod.rb +3 -1
  89. data/lib/moov/models/components/depositaccountingestedresponse.rb +1 -1
  90. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +3 -1
  91. data/lib/moov/models/components/dispute.rb +2 -2
  92. data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
  93. data/lib/moov/models/components/disputephase.rb +3 -1
  94. data/lib/moov/models/components/disputestatus.rb +3 -1
  95. data/lib/moov/models/components/document.rb +1 -1
  96. data/lib/moov/models/components/documenttype.rb +3 -1
  97. data/lib/moov/models/components/domesticpullfromcard.rb +3 -1
  98. data/lib/moov/models/components/domesticpushtocard.rb +3 -1
  99. data/lib/moov/models/components/estimatedactivity.rb +1 -1
  100. data/lib/moov/models/components/evidencetextresponse.rb +1 -1
  101. data/lib/moov/models/components/evidencetype.rb +3 -1
  102. data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
  103. data/lib/moov/models/components/facilitatorfee.rb +2 -2
  104. data/lib/moov/models/components/feecategory.rb +3 -1
  105. data/lib/moov/models/components/feemodel.rb +3 -1
  106. data/lib/moov/models/components/feepaidby.rb +4 -2
  107. data/lib/moov/models/components/feeplan.rb +1 -1
  108. data/lib/moov/models/components/feeplanagreement.rb +12 -4
  109. data/lib/moov/models/components/feeplanagreement.rbi +4 -0
  110. data/lib/moov/models/components/feeplanagreementstatus.rb +3 -1
  111. data/lib/moov/models/components/filedetails.rb +2 -2
  112. data/lib/moov/models/components/filepurpose.rb +3 -1
  113. data/lib/moov/models/components/filestatus.rb +3 -1
  114. data/lib/moov/models/components/fulfillment.rb +2 -2
  115. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  116. data/lib/moov/models/components/fulfillmentmethod.rb +3 -1
  117. data/lib/moov/models/components/fulfillmenttimeframe.rb +3 -1
  118. data/lib/moov/models/components/fullissuedcard.rb +6 -5
  119. data/lib/moov/models/components/geographicreach.rb +3 -1
  120. data/lib/moov/models/components/googlepayresponse.rb +3 -3
  121. data/lib/moov/models/components/incurredfee.rb +1 -1
  122. data/lib/moov/models/components/instantbankfailurecode.rb +3 -1
  123. data/lib/moov/models/components/instantbanknetwork.rb +3 -1
  124. data/lib/moov/models/components/instantbanktransactiondetails.rb +3 -3
  125. data/lib/moov/models/components/instantbanktransactionstatus.rb +3 -1
  126. data/lib/moov/models/components/invoice.rb +1 -1
  127. data/lib/moov/models/components/invoicepayment.rb +1 -1
  128. data/lib/moov/models/components/invoicepaymenttype.rb +3 -1
  129. data/lib/moov/models/components/invoicestatus.rb +3 -1
  130. data/lib/moov/models/components/issuedcard.rb +6 -5
  131. data/lib/moov/models/components/issuedcardauthorization.rb +2 -2
  132. data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
  133. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +3 -1
  134. data/lib/moov/models/components/issuedcardeventtype.rb +3 -1
  135. data/lib/moov/models/components/issuedcardstate.rb +5 -1
  136. data/lib/moov/models/components/issuedcontrols.rb +52 -0
  137. data/lib/moov/models/components/issuedcontrols.rbi +23 -0
  138. data/lib/moov/models/components/issuedcontrols_allowedschedule.rb +36 -0
  139. data/lib/moov/models/components/issuedcontrols_allowedschedule.rbi +15 -0
  140. data/lib/moov/models/components/issuedvelocitylimit.rb +60 -0
  141. data/lib/moov/models/components/issuedvelocitylimit.rbi +27 -0
  142. data/lib/moov/models/components/issuingauthorizationstatus.rb +3 -1
  143. data/lib/moov/models/components/issuingcontrols.rb +19 -3
  144. data/lib/moov/models/components/issuingcontrols.rbi +8 -0
  145. data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +36 -0
  146. data/lib/moov/models/components/issuingcontrols_allowedschedule.rbi +15 -0
  147. data/lib/moov/models/components/issuingcontrolserror.rb +18 -2
  148. data/lib/moov/models/components/issuingcontrolserror.rbi +8 -0
  149. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rb +21 -0
  150. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rbi +11 -0
  151. data/lib/moov/models/components/issuingintervallimit.rb +6 -1
  152. data/lib/moov/models/components/issuingmerchantcategory.rb +45 -0
  153. data/lib/moov/models/components/issuingmerchantcategory.rbi +11 -0
  154. data/lib/moov/models/components/issuingscheduleday.rb +24 -0
  155. data/lib/moov/models/components/issuingscheduleday.rbi +11 -0
  156. data/lib/moov/models/components/issuingvelocitylimit.rb +11 -7
  157. data/lib/moov/models/components/issuingvelocitylimit.rbi +4 -2
  158. data/lib/moov/models/components/issuingvelocitylimiterror.rb +6 -2
  159. data/lib/moov/models/components/issuingvelocitylimiterror.rbi +2 -0
  160. data/lib/moov/models/components/jsonwebkey.rb +1 -1
  161. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  162. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +1 -1
  163. data/lib/moov/models/components/merchantcategories.rb +32 -0
  164. data/lib/moov/models/components/merchantcategories.rbi +13 -0
  165. data/lib/moov/models/components/merchantcategory.rb +37 -0
  166. data/lib/moov/models/components/merchantcategory.rbi +15 -0
  167. data/lib/moov/models/components/merchantcategoryrestrictions.rb +44 -0
  168. data/lib/moov/models/components/merchantcategoryrestrictions.rbi +19 -0
  169. data/lib/moov/models/components/merchantcategoryrestrictionserror.rb +44 -0
  170. data/lib/moov/models/components/merchantcategoryrestrictionserror.rbi +19 -0
  171. data/lib/moov/models/components/merchantentry.rb +40 -0
  172. data/lib/moov/models/components/merchantentry.rbi +17 -0
  173. data/lib/moov/models/components/merchantentryerror.rb +36 -0
  174. data/lib/moov/models/components/merchantentryerror.rbi +15 -0
  175. data/lib/moov/models/components/merchantrestrictions.rb +36 -0
  176. data/lib/moov/models/components/merchantrestrictions.rbi +15 -0
  177. data/lib/moov/models/components/merchantrestrictionserror.rb +36 -0
  178. data/lib/moov/models/components/merchantrestrictionserror.rbi +15 -0
  179. data/lib/moov/models/components/mode.rb +3 -1
  180. data/lib/moov/models/components/monthlyvolumerange.rb +3 -1
  181. data/lib/moov/models/components/moovfee.rb +1 -1
  182. data/lib/moov/models/components/occurrencesresponse.rb +2 -2
  183. data/lib/moov/models/components/occurrencestatus.rb +3 -1
  184. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  185. data/lib/moov/models/components/partnerpricingagreement.rb +15 -7
  186. data/lib/moov/models/components/partnerpricingagreement.rbi +4 -0
  187. data/lib/moov/models/components/patchbusiness.rb +2 -2
  188. data/lib/moov/models/components/patchwallet.rb +1 -1
  189. data/lib/moov/models/components/paymentlink.rb +4 -6
  190. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetails.rb +0 -2
  191. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetailsupdate.rb +0 -2
  192. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
  193. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
  194. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +5 -7
  195. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +5 -7
  196. data/lib/moov/models/components/paymentlinkstatus.rb +3 -1
  197. data/lib/moov/models/components/paymentlinktype.rb +3 -1
  198. data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
  199. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  200. data/lib/moov/models/components/paymentmethodswallet.rb +2 -1
  201. data/lib/moov/models/components/paymentmethodtype.rb +3 -1
  202. data/lib/moov/models/components/pendinglitigation.rb +3 -1
  203. data/lib/moov/models/components/primaryregulator.rb +3 -1
  204. data/lib/moov/models/components/pushdeliveryspeed.rb +3 -1
  205. data/lib/moov/models/components/pushoptions.rb +5 -4
  206. data/lib/moov/models/components/pushoptionsupdate.rb +5 -4
  207. data/lib/moov/models/components/puttippresets.rb +1 -1
  208. data/lib/moov/models/components/refundcarddetails.rb +2 -2
  209. data/lib/moov/models/components/refundcardstatus.rb +3 -1
  210. data/lib/moov/models/components/refundpolicy.rb +3 -1
  211. data/lib/moov/models/components/refundstatus.rb +3 -1
  212. data/lib/moov/models/components/requestcard.rb +1 -1
  213. data/lib/moov/models/components/requirementerror.rb +2 -2
  214. data/lib/moov/models/components/requirementerrorcode.rb +3 -1
  215. data/lib/moov/models/components/requirementid.rb +17 -1
  216. data/lib/moov/models/components/resolutionlink.rb +1 -1
  217. data/lib/moov/models/components/resolutionlinkstatus.rb +3 -1
  218. data/lib/moov/models/components/returnpolicytype.rb +3 -1
  219. data/lib/moov/models/components/reversalamountdetails.rb +3 -1
  220. data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
  221. data/lib/moov/models/components/rtprejectioncode.rb +3 -1
  222. data/lib/moov/models/components/schedulelistresponse.rb +1 -1
  223. data/lib/moov/models/components/scheduleresponse.rb +1 -1
  224. data/lib/moov/models/components/schedulewindow.rb +40 -0
  225. data/lib/moov/models/components/schedulewindow.rbi +17 -0
  226. data/lib/moov/models/components/schedulewindowerror.rb +40 -0
  227. data/lib/moov/models/components/schedulewindowerror.rbi +17 -0
  228. data/lib/moov/models/components/seccode.rb +3 -1
  229. data/lib/moov/models/components/sendfunds.rb +6 -2
  230. data/lib/moov/models/components/sendfunds.rbi +2 -0
  231. data/lib/moov/models/components/sendfundserror.rb +6 -2
  232. data/lib/moov/models/components/sendfundserror.rbi +2 -0
  233. data/lib/moov/models/components/sendfundswire.rb +32 -0
  234. data/lib/moov/models/components/sendfundswire.rbi +13 -0
  235. data/lib/moov/models/components/sendfundswireerror.rb +32 -0
  236. data/lib/moov/models/components/sendfundswireerror.rbi +13 -0
  237. data/lib/moov/models/components/sourcesystem.rb +3 -1
  238. data/lib/moov/models/components/statement.rb +6 -2
  239. data/lib/moov/models/components/statement.rbi +2 -0
  240. data/lib/moov/models/components/sweep.rb +1 -1
  241. data/lib/moov/models/components/sweepconfig.rb +3 -3
  242. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  243. data/lib/moov/models/components/sweepconfigstatus.rb +3 -1
  244. data/lib/moov/models/components/sweepstatus.rb +3 -1
  245. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  246. data/lib/moov/models/components/terminalapplication.rb +2 -2
  247. data/lib/moov/models/components/terminalapplicationplatform.rb +3 -1
  248. data/lib/moov/models/components/terminalapplicationstatus.rb +3 -1
  249. data/lib/moov/models/components/terminalcard.rb +2 -2
  250. data/lib/moov/models/components/ticket.rb +1 -1
  251. data/lib/moov/models/components/ticketstatus.rb +3 -1
  252. data/lib/moov/models/components/tipcalculationbasis.rb +3 -1
  253. data/lib/moov/models/components/tippresets.rb +1 -1
  254. data/lib/moov/models/components/transactionsource.rb +3 -1
  255. data/lib/moov/models/components/transfer.rb +12 -5
  256. data/lib/moov/models/components/transfer.rbi +2 -0
  257. data/lib/moov/models/components/transfercapture.rb +36 -0
  258. data/lib/moov/models/components/transfercapture.rbi +15 -0
  259. data/lib/moov/models/components/transferdestination.rb +1 -1
  260. data/lib/moov/models/components/transferfailurereason.rb +3 -1
  261. data/lib/moov/models/components/transferfeepaidby.rb +2 -2
  262. data/lib/moov/models/components/transferparty.rb +3 -1
  263. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
  264. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  265. data/lib/moov/models/components/transferpaymentmethodswallet.rb +2 -1
  266. data/lib/moov/models/components/transferpaymentmethodtype.rb +3 -1
  267. data/lib/moov/models/components/transfersource.rb +1 -1
  268. data/lib/moov/models/components/transferstatus.rb +3 -1
  269. data/lib/moov/models/components/transferterminalcard.rb +2 -2
  270. data/lib/moov/models/components/underwriting.rb +4 -4
  271. data/lib/moov/models/components/underwritingstatus.rb +3 -1
  272. data/lib/moov/models/components/updateevidence.rb +1 -1
  273. data/lib/moov/models/components/updateinvoice.rb +1 -1
  274. data/lib/moov/models/components/updateissuedcard.rb +8 -2
  275. data/lib/moov/models/components/updateissuedcard.rbi +2 -0
  276. data/lib/moov/models/components/updateissuedcardstate.rb +4 -0
  277. data/lib/moov/models/components/updateissuingcontrols.rb +48 -0
  278. data/lib/moov/models/components/updateissuingcontrols.rbi +21 -0
  279. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +36 -0
  280. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rbi +15 -0
  281. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb +44 -0
  282. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rbi +19 -0
  283. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb +36 -0
  284. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rbi +15 -0
  285. data/lib/moov/models/components/updateissuingcontrolserror.rb +48 -0
  286. data/lib/moov/models/components/updateissuingcontrolserror.rbi +21 -0
  287. data/lib/moov/models/components/updatepaymentlink.rb +1 -1
  288. data/lib/moov/models/components/updatewebhook.rb +1 -1
  289. data/lib/moov/models/components/upsertunderwriting.rb +3 -3
  290. data/lib/moov/models/components/use.rb +3 -1
  291. data/lib/moov/models/components/verification.rb +3 -3
  292. data/lib/moov/models/components/verificationstatus.rb +3 -1
  293. data/lib/moov/models/components/verificationstatusdetail.rb +3 -1
  294. data/lib/moov/models/components/wallet.rb +3 -2
  295. data/lib/moov/models/components/walletstatus.rb +3 -1
  296. data/lib/moov/models/components/wallettransaction.rb +3 -3
  297. data/lib/moov/models/components/wallettransactionsourcetype.rb +3 -1
  298. data/lib/moov/models/components/wallettransactionstatus.rb +3 -1
  299. data/lib/moov/models/components/wallettransactiontype.rb +3 -1
  300. data/lib/moov/models/components/wallettype.rb +5 -1
  301. data/lib/moov/models/components/webhook.rb +1 -1
  302. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
  303. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
  304. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  305. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  306. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  307. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
  308. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
  309. data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
  310. data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
  311. data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
  312. data/lib/moov/models/components/webhookdatainvoiceupdated.rb +1 -1
  313. data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
  314. data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
  315. data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
  316. data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
  317. data/lib/moov/models/components/webhookdataticketupdated.rb +1 -1
  318. data/lib/moov/models/components/webhookdatatransferstatus.rb +3 -0
  319. data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
  320. data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
  321. data/lib/moov/models/components/webhookevent.rb +1 -1
  322. data/lib/moov/models/components/webhookeventtype.rb +3 -1
  323. data/lib/moov/models/components/webhookstatus.rb +3 -1
  324. data/lib/moov/models/components.rb +29 -1
  325. data/lib/moov/models/errors/cardacquiringrefund_error.rb +1 -1
  326. data/lib/moov/models/errors/transfer_error.rb +12 -5
  327. data/lib/moov/models/errors/transfer_error.rbi +2 -0
  328. data/lib/moov/models/errors/updateissuedcarderror.rb +6 -2
  329. data/lib/moov/models/errors/updateissuedcarderror.rbi +2 -0
  330. data/lib/moov/models/operations/listaccounts_request.rb +1 -1
  331. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
  332. data/lib/moov/models/operations/listdisputes_request.rb +1 -1
  333. data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
  334. data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
  335. data/lib/moov/models/operations/listinvoices_request.rb +1 -1
  336. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
  337. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
  338. data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
  339. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +7 -3
  340. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +2 -0
  341. data/lib/moov/models/operations/listissuingmerchantcategories_response.rb +48 -0
  342. data/lib/moov/models/operations/listissuingmerchantcategories_response.rbi +21 -0
  343. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
  344. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  345. data/lib/moov/models/operations/listproducts_request.rb +1 -1
  346. data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
  347. data/lib/moov/models/operations/listresiduals_request.rb +1 -1
  348. data/lib/moov/models/operations/listschedules_request.rb +1 -1
  349. data/lib/moov/models/operations/liststatements_request.rb +1 -1
  350. data/lib/moov/models/operations/listsweeps_request.rb +1 -1
  351. data/lib/moov/models/operations/listtickets_request.rb +1 -1
  352. data/lib/moov/models/operations/listtransfers_request.rb +11 -3
  353. data/lib/moov/models/operations/listtransfers_request.rbi +4 -0
  354. data/lib/moov/models/operations/listwallets_request.rb +1 -1
  355. data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
  356. data/lib/moov/models/operations/retrievefees_request.rb +1 -1
  357. data/lib/moov/models/operations.rb +1 -0
  358. data/lib/moov/sdkconfiguration.rb +3 -3
  359. data/lib/moov/transfers.rb +11 -5
  360. data/lib/moov/utils/retries.rb +41 -2
  361. data/lib/moov/utils/utils.rb +6 -2
  362. data/lib/moov_ruby.rb +1 -1
  363. metadata +60 -2
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # DocumentType - Types of documents that can be uploaded.
11
- class DocumentType < T::Enum
11
+ class DocumentType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  DRIVERS_LICENSE = new('driversLicense')
14
15
  PASSPORT = new('passport')
15
16
  UTILITY_BILL = new('utilityBill')
16
17
  BANK_STATEMENT = new('bankStatement')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # DomesticPullFromCard - Indicates if the card supports domestic pull-from-card transfer.
11
- class DomesticPullFromCard < T::Enum
11
+ class DomesticPullFromCard
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  NOT_SUPPORTED = new('not-supported')
14
15
  SUPPORTED = new('supported')
15
16
  UNKNOWN = new('unknown')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # DomesticPushToCard - Indicates which level of domestic push-to-card transfer is supported by the card, if any.
11
- class DomesticPushToCard < T::Enum
11
+ class DomesticPushToCard
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  NOT_SUPPORTED = new('not-supported')
14
15
  STANDARD = new('standard')
15
16
  FAST_FUNDS = new('fast-funds')
16
17
  UNKNOWN = new('unknown')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :maximum_transaction_amount, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('maximumTransactionAmount') } }
19
19
  # The low value in each range is included. The high value in each range is excluded.
20
- field :monthly_volume_range, Crystalline::Nilable.new(Models::Components::MonthlyVolumeRange), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('monthlyVolumeRange'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::MonthlyVolumeRange, true) } }
20
+ field :monthly_volume_range, Crystalline::Nilable.new(Models::Components::MonthlyVolumeRange), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('monthlyVolumeRange'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::MonthlyVolumeRange, true) } }
21
21
 
22
22
  sig { params(average_transaction_amount: T.nilable(::Integer), maximum_transaction_amount: T.nilable(::Integer), monthly_volume_range: T.nilable(Models::Components::MonthlyVolumeRange)).void }
23
23
  def initialize(average_transaction_amount: nil, maximum_transaction_amount: nil, monthly_volume_range: nil)
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :dispute_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disputeID'), required: true } }
19
19
 
20
- field :evidence_type, Models::Components::EvidenceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('evidenceType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::EvidenceType, false) } }
20
+ field :evidence_type, Models::Components::EvidenceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('evidenceType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::EvidenceType, false) } }
21
21
 
22
22
  field :text, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('text'), required: true } }
23
23
 
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class EvidenceType < T::Enum
11
+ class EvidenceType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  RECEIPT = new('receipt')
14
15
  PROOF_OF_DELIVERY = new('proof-of-delivery')
@@ -19,6 +20,7 @@ module Moov
19
20
  COVER_LETTER = new('cover-letter')
20
21
  OTHER = new('other')
21
22
  end
23
+ open!
22
24
  end
23
25
  end
24
26
  end
@@ -23,7 +23,7 @@ module Moov
23
23
  # The size of the evidence file.
24
24
  field :size, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('size'), required: true } }
25
25
 
26
- field :evidence_type, Models::Components::EvidenceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('evidenceType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::EvidenceType, false) } }
26
+ field :evidence_type, Models::Components::EvidenceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('evidenceType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::EvidenceType, false) } }
27
27
  # The date and time the evidence was uploaded.
28
28
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
29
29
 
@@ -12,13 +12,13 @@ module Moov
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # Total facilitator fee in cents. Only either `total` or `totalDecimal` can be set.
15
+ # Total facilitator fee.
16
16
  field :total, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('total') } }
17
17
  # Same as `total`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
18
18
  #
19
19
  # Only either `total` or `totalDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
20
20
  field :total_decimal, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('totalDecimal') } }
21
- # Markup facilitator fee in cents. Only either `markup` or `markupDecimal` can be set.
21
+ # Markup facilitator fee.
22
22
  field :markup, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('markup') } }
23
23
  # Same as `markup`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
24
24
  # Only either `markup` or `markupDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class FeeCategory < T::Enum
11
+ class FeeCategory
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  ACH = new('ach')
14
15
  CARD_ACQUIRING = new('card-acquiring')
@@ -21,6 +22,7 @@ module Moov
21
22
  OTHER = new('other')
22
23
  RTP = new('rtp')
23
24
  end
25
+ open!
24
26
  end
25
27
  end
26
28
  end
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # FeeModel - Specifies the pricing model used for the calculation of the final fee.
11
- class FeeModel < T::Enum
11
+ class FeeModel
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  FIXED = new('fixed')
14
15
  BLENDED = new('blended')
15
16
  VARIABLE = new('variable')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -7,12 +7,14 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # FeePaidBy - Indicates which party to a money movement bears an incurred fee.
11
- class FeePaidBy < T::Enum
10
+
11
+ class FeePaidBy
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  SOURCE = new('source')
14
15
  DESTINATION = new('destination')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -17,7 +17,7 @@ module Moov
17
17
  # The name of the fee plan.
18
18
  field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
19
19
  # Specifies the card processing pricing model
20
- 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) } }
20
+ 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) } }
21
21
  # Additional usage-based fees for this plan.
22
22
  field :billable_fees, Crystalline::Array.new(Models::Components::BillableFee), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billableFees'), required: true } }
23
23
  # 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.
@@ -21,9 +21,9 @@ 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.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.open_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.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.open_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.
@@ -34,9 +34,13 @@ module Moov
34
34
  field :account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID') } }
35
35
  # The description of the agreement.
36
36
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
37
+ # The agreement this one replaced. Only set when the agreement was created by replacing another.
38
+ field :prior_agreement_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priorAgreementID') } }
39
+ # The date and time the prior agreement was terminated.
40
+ 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) } }
37
41
 
38
- 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, account_id: T.nilable(::String), description: T.nilable(::String)).void }
39
- def initialize(agreement_id:, plan_id:, name:, accepted_on:, status:, card_acquiring_model:, billable_fees:, minimum_commitment:, monthly_platform_fee:, account_id: nil, description: 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, account_id: T.nilable(::String), description: T.nilable(::String), prior_agreement_id: T.nilable(::String), prior_agreement_terminated_on: T.nilable(::DateTime)).void }
43
+ def initialize(agreement_id:, plan_id:, name:, accepted_on:, status:, card_acquiring_model:, billable_fees:, minimum_commitment:, monthly_platform_fee:, account_id: nil, description: nil, prior_agreement_id: nil, prior_agreement_terminated_on: nil)
40
44
  @agreement_id = agreement_id
41
45
  @plan_id = plan_id
42
46
  @name = name
@@ -48,6 +52,8 @@ module Moov
48
52
  @monthly_platform_fee = monthly_platform_fee
49
53
  @account_id = account_id
50
54
  @description = description
55
+ @prior_agreement_id = prior_agreement_id
56
+ @prior_agreement_terminated_on = prior_agreement_terminated_on
51
57
  end
52
58
 
53
59
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -64,6 +70,8 @@ module Moov
64
70
  return false unless @monthly_platform_fee == other.monthly_platform_fee
65
71
  return false unless @account_id == other.account_id
66
72
  return false unless @description == other.description
73
+ return false unless @prior_agreement_id == other.prior_agreement_id
74
+ return false unless @prior_agreement_terminated_on == other.prior_agreement_terminated_on
67
75
  true
68
76
  end
69
77
  end
@@ -30,4 +30,8 @@ class Moov::Models::Components::FeePlanAgreement
30
30
  def account_id=(str_); end
31
31
  def description(); end
32
32
  def description=(str_); end
33
+ def prior_agreement_id(); end
34
+ def prior_agreement_id=(str_); end
35
+ def prior_agreement_terminated_on(); end
36
+ def prior_agreement_terminated_on=(str_); end
33
37
  end
@@ -8,11 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class FeePlanAgreementStatus < T::Enum
11
+ class FeePlanAgreementStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  ACTIVE = new('active')
14
15
  TERMINATED = new('terminated')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -19,9 +19,9 @@ module Moov
19
19
 
20
20
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
21
21
  # The purpose of the file being uploaded.
22
- field :file_purpose, Models::Components::FilePurpose, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('filePurpose'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::FilePurpose, false) } }
22
+ field :file_purpose, Models::Components::FilePurpose, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('filePurpose'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::FilePurpose, false) } }
23
23
  # The file's status.
24
- field :file_status, Models::Components::FileStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fileStatus'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::FileStatus, false) } }
24
+ field :file_status, Models::Components::FileStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fileStatus'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::FileStatus, false) } }
25
25
 
26
26
  field :metadata, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata'), required: true } }
27
27
 
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # FilePurpose - The purpose of the file being uploaded.
11
- class FilePurpose < T::Enum
11
+ class FilePurpose
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  BUSINESS_VERIFICATION = new('business_verification')
14
15
  REPRESENTATIVE_VERIFICATION = new('representative_verification')
@@ -17,6 +18,7 @@ module Moov
17
18
  ACCOUNT_REQUIREMENT = new('account_requirement')
18
19
  IDENTITY_VERIFICATION = new('identity_verification')
19
20
  end
21
+ open!
20
22
  end
21
23
  end
22
24
  end
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # FileStatus - The file's status.
11
- class FileStatus < T::Enum
11
+ class FileStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  PENDING = new('pending')
14
15
  APPROVED = new('approved')
15
16
  REJECTED = new('rejected')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -13,9 +13,9 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
 
16
- field :method, Crystalline::Nilable.new(Models::Components::FulfillmentMethod), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('method'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::FulfillmentMethod, true) } }
16
+ field :method, Crystalline::Nilable.new(Models::Components::FulfillmentMethod), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('method'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::FulfillmentMethod, true) } }
17
17
 
18
- field :timeframe, Crystalline::Nilable.new(Models::Components::FulfillmentTimeframe), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('timeframe'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::FulfillmentTimeframe, true) } }
18
+ field :timeframe, Crystalline::Nilable.new(Models::Components::FulfillmentTimeframe), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('timeframe'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::FulfillmentTimeframe, true) } }
19
19
 
20
20
  sig { params(method: T.nilable(Models::Components::FulfillmentMethod), timeframe: T.nilable(Models::Components::FulfillmentTimeframe)).void }
21
21
  def initialize(method: nil, timeframe: nil)
@@ -19,7 +19,7 @@ module Moov
19
19
 
20
20
  field :shipment_duration_days, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('shipmentDurationDays'), required: true } }
21
21
 
22
- field :return_policy, Models::Components::ReturnPolicyType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('returnPolicy'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::ReturnPolicyType, false) } }
22
+ field :return_policy, Models::Components::ReturnPolicyType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('returnPolicy'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::ReturnPolicyType, false) } }
23
23
 
24
24
  sig { params(has_physical_goods: T::Boolean, is_shipping_product: T::Boolean, shipment_duration_days: ::Integer, return_policy: Models::Components::ReturnPolicyType).void }
25
25
  def initialize(has_physical_goods:, is_shipping_product:, shipment_duration_days:, return_policy:)
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class FulfillmentMethod < T::Enum
11
+ class FulfillmentMethod
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  BILL_OR_DEBT_PAYMENT = new('bill-or-debt-payment')
14
15
  DIGITAL_CONTENT = new('digital-content')
@@ -20,6 +21,7 @@ module Moov
20
21
  SHIPPED_PHYSICAL_GOODS = new('shipped-physical-goods')
21
22
  SUBSCRIPTION_OR_MEMBERSHIP = new('subscription-or-membership')
22
23
  end
24
+ open!
23
25
  end
24
26
  end
25
27
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class FulfillmentTimeframe < T::Enum
11
+ class FulfillmentTimeframe
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  IMMEDIATE = new('immediate')
14
15
  OTHER = new('other')
@@ -19,6 +20,7 @@ module Moov
19
20
  WITHIN_30_DAYS = new('within-30-days')
20
21
  WITHIN_7_DAYS = new('within-7-days')
21
22
  end
23
+ open!
22
24
  end
23
25
  end
24
26
  end
@@ -15,7 +15,7 @@ module Moov
15
15
 
16
16
  field :issued_card_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuedCardID'), required: true } }
17
17
  # The card brand.
18
- 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) } }
18
+ 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) } }
19
19
 
20
20
  field :last_four_card_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber'), required: true } }
21
21
  # The expiration date of the card or token.
@@ -25,8 +25,9 @@ module Moov
25
25
  # The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.
26
26
  #
27
27
  # - `active`: The card is operational and can approve authorizations.
28
+ # - `frozen`: The card is temporarily suspended and cannot approve authorizations. A frozen card can be reactivated by setting its state back to `active`.
28
29
  # - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
29
- field :state, Models::Components::IssuedCardState, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('state'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardState, false) } }
30
+ field :state, Models::Components::IssuedCardState, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('state'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuedCardState, false) } }
30
31
  # Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
31
32
  field :form_factor, Models::Components::IssuedCardFormFactor, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('formFactor'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardFormFactor, false) } }
32
33
 
@@ -45,10 +46,10 @@ module Moov
45
46
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
46
47
  # Billing address associated with the card.
47
48
  field :billing_address, Crystalline::Nilable.new(Models::Components::Address), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress') } }
49
+ # Spend controls applied to an issued card, including velocity runtime state.
50
+ field :controls, Crystalline::Nilable.new(Models::Components::IssuedControls), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('controls') } }
48
51
 
49
- field :controls, Crystalline::Nilable.new(Models::Components::IssuingControls), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('controls') } }
50
-
51
- sig { params(issued_card_id: ::String, brand: Models::Components::CardBrand, last_four_card_number: ::String, expiration: Models::Components::CardExpiration, funding_wallet_id: ::String, state: Models::Components::IssuedCardState, form_factor: Models::Components::IssuedCardFormFactor, created_on: ::DateTime, updated_on: ::DateTime, pan: ::String, cvv: ::String, authorized_user_account_id: T.nilable(::String), nickname: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), billing_address: T.nilable(Models::Components::Address), controls: T.nilable(Models::Components::IssuingControls)).void }
52
+ sig { params(issued_card_id: ::String, brand: Models::Components::CardBrand, last_four_card_number: ::String, expiration: Models::Components::CardExpiration, funding_wallet_id: ::String, state: Models::Components::IssuedCardState, form_factor: Models::Components::IssuedCardFormFactor, created_on: ::DateTime, updated_on: ::DateTime, pan: ::String, cvv: ::String, authorized_user_account_id: T.nilable(::String), nickname: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), billing_address: T.nilable(Models::Components::Address), controls: T.nilable(Models::Components::IssuedControls)).void }
52
53
  def initialize(issued_card_id:, brand:, last_four_card_number:, expiration:, funding_wallet_id:, state:, form_factor:, created_on:, updated_on:, pan:, cvv:, authorized_user_account_id: nil, nickname: nil, metadata: nil, billing_address: nil, controls: nil)
53
54
  @issued_card_id = issued_card_id
54
55
  @brand = brand
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class GeographicReach < T::Enum
11
+ class GeographicReach
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  INTERNATIONAL_ONLY = new('international-only')
14
15
  US_AND_INTERNATIONAL = new('us-and-international')
15
16
  US_ONLY = new('us-only')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -15,9 +15,9 @@ module Moov
15
15
  # The unique identifier of the Google Pay token.
16
16
  field :token_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tokenID'), required: true } }
17
17
  # The card brand.
18
- 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) } }
18
+ 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) } }
19
19
  # The type of the card.
20
- 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) } }
20
+ 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) } }
21
21
  # User-friendly name of the tokenized card returned by Google Pay.
22
22
  #
23
23
  # It usually contains the last four digits of the underlying card.
@@ -34,7 +34,7 @@ module Moov
34
34
  # Country where the underlying card was issued.
35
35
  field :issuer_country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuerCountry') } }
36
36
  # The authentication method used for the Google Pay token.
37
- field :auth_method, Crystalline::Nilable.new(Models::Components::AuthMethod), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authMethod'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::AuthMethod, true) } }
37
+ field :auth_method, Crystalline::Nilable.new(Models::Components::AuthMethod), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authMethod'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::AuthMethod, true) } }
38
38
 
39
39
  sig { params(token_id: ::String, brand: Models::Components::CardBrand, card_type: Models::Components::CardType, card_display_name: ::String, fingerprint: ::String, expiration: Models::Components::CardExpiration, dynamic_last_four: ::String, issuer_country: T.nilable(::String), auth_method: T.nilable(Models::Components::AuthMethod)).void }
40
40
  def initialize(token_id:, brand:, card_type:, card_display_name:, fingerprint:, expiration:, dynamic_last_four:, issuer_country: nil, auth_method: nil)
@@ -31,7 +31,7 @@ module Moov
31
31
  # Unique identifier for this residual payment calculation.
32
32
  field :residual_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('residualID') } }
33
33
  # Indicates which party to the money movement bore this fee.
34
- field :fee_paid_by, Crystalline::Nilable.new(Models::Components::FeePaidBy), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::FeePaidBy, true) } }
34
+ field :fee_paid_by, Crystalline::Nilable.new(Models::Components::FeePaidBy), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::FeePaidBy, true) } }
35
35
 
36
36
  sig { params(fee_id: T.nilable(::String), account_id: T.nilable(::String), wallet_id: T.nilable(::String), created_on: T.nilable(::DateTime), fee_name: T.nilable(::String), amount: T.nilable(Models::Components::AmountDecimal), generated_by: T.nilable(Models::Components::GeneratedBy), fee_group: T.nilable(::String), residual_id: T.nilable(::String), fee_paid_by: T.nilable(Models::Components::FeePaidBy)).void }
37
37
  def initialize(fee_id: nil, account_id: nil, wallet_id: nil, created_on: nil, fee_name: nil, amount: nil, generated_by: nil, fee_group: nil, residual_id: nil, fee_paid_by: nil)
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # InstantBankFailureCode - Status codes for instant-bank failures.
11
- class InstantBankFailureCode < T::Enum
11
+ class InstantBankFailureCode
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  PROCESSING_ERROR = new('processing-error')
14
15
  INVALID_ACCOUNT = new('invalid-account')
@@ -22,6 +23,7 @@ module Moov
22
23
  PARTICIPANT_NOT_AVAILABLE = new('participant-not-available')
23
24
  OTHER = new('other')
24
25
  end
26
+ open!
25
27
  end
26
28
  end
27
29
  end
@@ -8,11 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # InstantBankNetwork - The network that the transaction was processed on.
11
- class InstantBankNetwork < T::Enum
11
+ class InstantBankNetwork
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  FEDNOW = new('fednow')
14
15
  RTP = new('rtp')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -13,13 +13,13 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # The network that the transaction was processed on.
16
- field :network, Models::Components::InstantBankNetwork, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('network'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::InstantBankNetwork, false) } }
16
+ field :network, Models::Components::InstantBankNetwork, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('network'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::InstantBankNetwork, false) } }
17
17
  # Status of a transaction within the instant-bank lifecycle.
18
- field :status, Models::Components::InstantBankTransactionStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::InstantBankTransactionStatus, false) } }
18
+ field :status, Models::Components::InstantBankTransactionStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::InstantBankTransactionStatus, false) } }
19
19
  # Response code returned by network on failure.
20
20
  field :network_response_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkResponseCode') } }
21
21
  # Status codes for instant-bank failures.
22
- field :failure_code, Crystalline::Nilable.new(Models::Components::InstantBankFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::InstantBankFailureCode, true) } }
22
+ field :failure_code, Crystalline::Nilable.new(Models::Components::InstantBankFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::InstantBankFailureCode, true) } }
23
23
 
24
24
  field :end_to_end_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('endToEndID') } }
25
25
 
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # InstantBankTransactionStatus - Status of a transaction within the instant-bank lifecycle.
11
- class InstantBankTransactionStatus < T::Enum
11
+ class InstantBankTransactionStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  INITIATED = new('initiated')
14
15
  COMPLETED = new('completed')
15
16
  FAILED = new('failed')
16
17
  ACCEPTED_WITHOUT_POSTING = new('accepted-without-posting')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -25,7 +25,7 @@ module Moov
25
25
  # 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).
26
26
  field :partner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerAccountID'), required: true } }
27
27
 
28
- field :status, Models::Components::InvoiceStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::InvoiceStatus, false) } }
28
+ field :status, Models::Components::InvoiceStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::InvoiceStatus, false) } }
29
29
  # A collection of line items for an invoice.
30
30
  field :line_items, Models::Components::InvoiceLineItems, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems'), required: true } }
31
31
 
@@ -15,7 +15,7 @@ module Moov
15
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
16
  field :invoice_payment_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoicePaymentID'), required: true } }
17
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) } }
18
+ field :invoice_payment_type, Models::Components::InvoicePaymentType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoicePaymentType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::InvoicePaymentType, false) } }
19
19
 
20
20
  field :amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
21
21
 
@@ -8,11 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class InvoicePaymentType < T::Enum
11
+ class InvoicePaymentType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  TRANSFER = new('transfer')
14
15
  EXTERNAL = new('external')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class InvoiceStatus < T::Enum
11
+ class InvoiceStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  DRAFT = new('draft')
14
15
  UNPAID = new('unpaid')
@@ -17,6 +18,7 @@ module Moov
17
18
  OVERDUE = new('overdue')
18
19
  CANCELED = new('canceled')
19
20
  end
21
+ open!
20
22
  end
21
23
  end
22
24
  end