moov_ruby 0.0.0.pre.dev.25 → 0.0.0.pre.dev.27

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 (403) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/module.rb +1 -1
  3. data/lib/moov/bank_accounts.rb +439 -0
  4. data/lib/moov/card_issuing.rb +1 -1
  5. data/lib/moov/images.rb +17 -2
  6. data/lib/moov/institutions.rb +1 -1
  7. data/lib/moov/models/components/account.rb +2 -2
  8. data/lib/moov/models/components/accountnameverification.rb +4 -4
  9. data/lib/moov/models/components/accounttype.rb +3 -1
  10. data/lib/moov/models/components/accountverificationstatus.rb +3 -1
  11. data/lib/moov/models/components/achcredittransferprocessingdetails.rb +6 -2
  12. data/lib/moov/models/components/achcredittransferprocessingdetails.rbi +2 -0
  13. data/lib/moov/models/components/achdebitoptions.rb +2 -2
  14. data/lib/moov/models/components/achdebittransferprocessingdetails.rb +6 -2
  15. data/lib/moov/models/components/achdebittransferprocessingdetails.rbi +2 -0
  16. data/lib/moov/models/components/achreturncode.rb +3 -1
  17. data/lib/moov/models/components/achtransactionstatus.rb +26 -0
  18. data/lib/moov/models/components/achtransactionstatus.rbi +11 -0
  19. data/lib/moov/models/components/adjustmentfees.rb +11 -15
  20. data/lib/moov/models/components/adjustmentfees.rbi +4 -4
  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/asynccreatedrefund.rb +1 -1
  26. data/lib/moov/models/components/authmethod.rb +3 -1
  27. data/lib/moov/models/components/bankaccount.rb +4 -4
  28. data/lib/moov/models/components/bankaccountattestation.rb +52 -0
  29. data/lib/moov/models/components/bankaccountattestation.rbi +23 -0
  30. data/lib/moov/models/components/bankaccountattestationeligibility.rb +36 -0
  31. data/lib/moov/models/components/bankaccountattestationeligibility.rbi +15 -0
  32. data/lib/moov/models/components/bankaccountattestationsummary.rb +44 -0
  33. data/lib/moov/models/components/bankaccountattestationsummary.rbi +19 -0
  34. data/lib/moov/models/components/bankaccountexception.rb +2 -2
  35. data/lib/moov/models/components/bankaccountholdertype.rb +3 -1
  36. data/lib/moov/models/components/bankaccountintegration.rb +2 -2
  37. data/lib/moov/models/components/bankaccountstatus.rb +3 -1
  38. data/lib/moov/models/components/bankaccountstatusreason.rb +3 -1
  39. data/lib/moov/models/components/bankaccounttype.rb +3 -1
  40. data/lib/moov/models/components/bankaccountverification.rb +2 -2
  41. data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
  42. data/lib/moov/models/components/bankaccountverificationmethod.rb +3 -1
  43. data/lib/moov/models/components/bankaccountverificationstatus.rb +3 -1
  44. data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
  45. data/lib/moov/models/components/billablefee.rb +2 -2
  46. data/lib/moov/models/components/billingadjustment.rb +40 -0
  47. data/lib/moov/models/components/billingadjustment.rbi +17 -0
  48. data/lib/moov/models/components/billingsummary.rb +8 -4
  49. data/lib/moov/models/components/billingsummary.rbi +2 -0
  50. data/lib/moov/models/components/billingsummary_adjustmentfees.rb +40 -0
  51. data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +15 -0
  52. data/lib/moov/models/components/businesspresence.rb +3 -1
  53. data/lib/moov/models/components/businessprofile.rb +2 -2
  54. data/lib/moov/models/components/businesstype.rb +3 -1
  55. data/lib/moov/models/components/calltoaction.rb +3 -1
  56. data/lib/moov/models/components/cancellation.rb +2 -2
  57. data/lib/moov/models/components/cancellationstatus.rb +3 -1
  58. data/lib/moov/models/components/capability.rb +2 -2
  59. data/lib/moov/models/components/capabilityid.rb +3 -1
  60. data/lib/moov/models/components/capabilitystatus.rb +3 -1
  61. data/lib/moov/models/components/capture.rb +11 -6
  62. data/lib/moov/models/components/capture.rbi +2 -0
  63. data/lib/moov/models/components/capturestatus.rb +3 -3
  64. data/lib/moov/models/components/card.rb +4 -4
  65. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  66. data/lib/moov/models/components/cardacquiringmodel.rb +3 -1
  67. data/lib/moov/models/components/cardacquiringrefund.rb +2 -2
  68. data/lib/moov/models/components/cardbrand.rb +3 -1
  69. data/lib/moov/models/components/cardissuing.rb +34 -0
  70. data/lib/moov/models/components/cardissuing.rbi +13 -0
  71. data/lib/moov/models/components/cardissuingerror.rb +32 -0
  72. data/lib/moov/models/components/cardissuingerror.rbi +13 -0
  73. data/lib/moov/models/components/cardissuingnetwork.rb +3 -1
  74. data/lib/moov/models/components/cardmetadata.rb +4 -4
  75. data/lib/moov/models/components/cardpaymentoptions.rb +1 -1
  76. data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rb +1 -1
  77. data/lib/moov/models/components/cardpaymenttransactionstatus.rb +25 -0
  78. data/lib/moov/models/components/cardpaymenttransactionstatus.rbi +11 -0
  79. data/lib/moov/models/components/cardpaymenttransferprocessingdetails.rb +11 -7
  80. data/lib/moov/models/components/cardpaymenttransferprocessingdetails.rbi +4 -2
  81. data/lib/moov/models/components/cardtransactionfailurecode.rb +19 -1
  82. data/lib/moov/models/components/cardtype.rb +3 -1
  83. data/lib/moov/models/components/cardupdatereason.rb +3 -1
  84. data/lib/moov/models/components/cardverification.rb +3 -3
  85. data/lib/moov/models/components/cardverificationresult.rb +3 -1
  86. data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
  87. data/lib/moov/models/components/collectionpaymentmethodtype.rb +3 -1
  88. data/lib/moov/models/components/createaccount.rb +2 -2
  89. data/lib/moov/models/components/createaccounttype.rb +3 -1
  90. data/lib/moov/models/components/createbankaccountattestation.rb +36 -0
  91. data/lib/moov/models/components/createbankaccountattestation.rbi +15 -0
  92. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  93. data/lib/moov/models/components/createcancellation.rb +4 -2
  94. data/lib/moov/models/components/createcapture.rb +7 -4
  95. data/lib/moov/models/components/createdtransfer.rb +9 -5
  96. data/lib/moov/models/components/createevidencetext.rb +1 -1
  97. data/lib/moov/models/components/createfeeplanagreement.rb +13 -3
  98. data/lib/moov/models/components/createfeeplanagreement.rbi +2 -0
  99. data/lib/moov/models/components/createpaymentlink.rb +1 -1
  100. data/lib/moov/models/components/createrefund.rb +2 -2
  101. data/lib/moov/models/components/createreversal.rb +4 -1
  102. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  103. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  104. data/lib/moov/models/components/createtippresets.rb +1 -1
  105. data/lib/moov/models/components/createtransfer.rb +1 -1
  106. data/lib/moov/models/components/createtransferdestination.rb +6 -2
  107. data/lib/moov/models/components/createtransferdestination.rbi +2 -0
  108. data/lib/moov/models/components/createtransferdestinationwire.rb +32 -0
  109. data/lib/moov/models/components/createtransferdestinationwire.rbi +13 -0
  110. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  111. data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
  112. data/lib/moov/models/components/createwebhook.rb +1 -1
  113. data/lib/moov/models/components/debitholdperiod.rb +3 -1
  114. data/lib/moov/models/components/depositaccountingestedresponse.rb +1 -1
  115. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +3 -1
  116. data/lib/moov/models/components/dispute.rb +2 -2
  117. data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
  118. data/lib/moov/models/components/disputephase.rb +3 -1
  119. data/lib/moov/models/components/disputestatus.rb +3 -1
  120. data/lib/moov/models/components/document.rb +1 -1
  121. data/lib/moov/models/components/documenttype.rb +3 -1
  122. data/lib/moov/models/components/domesticpullfromcard.rb +3 -1
  123. data/lib/moov/models/components/domesticpushtocard.rb +3 -1
  124. data/lib/moov/models/components/estimatedactivity.rb +1 -1
  125. data/lib/moov/models/components/evidencetextresponse.rb +1 -1
  126. data/lib/moov/models/components/evidencetype.rb +3 -1
  127. data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
  128. data/lib/moov/models/components/facilitatorfee.rb +6 -17
  129. data/lib/moov/models/components/facilitatorfee.rbi +0 -4
  130. data/lib/moov/models/components/feecategory.rb +3 -1
  131. data/lib/moov/models/components/feemodel.rb +3 -1
  132. data/lib/moov/models/components/feepaidby.rb +4 -2
  133. data/lib/moov/models/components/feeplan.rb +1 -1
  134. data/lib/moov/models/components/feeplanagreement.rb +12 -4
  135. data/lib/moov/models/components/feeplanagreement.rbi +4 -0
  136. data/lib/moov/models/components/feeplanagreementstatus.rb +3 -1
  137. data/lib/moov/models/components/filedetails.rb +2 -2
  138. data/lib/moov/models/components/filepurpose.rb +3 -1
  139. data/lib/moov/models/components/filestatus.rb +3 -1
  140. data/lib/moov/models/components/fulfillment.rb +2 -2
  141. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  142. data/lib/moov/models/components/fulfillmentmethod.rb +3 -1
  143. data/lib/moov/models/components/fulfillmenttimeframe.rb +3 -1
  144. data/lib/moov/models/components/fullissuedcard.rb +3 -2
  145. data/lib/moov/models/components/geographicreach.rb +3 -1
  146. data/lib/moov/models/components/googlepayresponse.rb +3 -3
  147. data/lib/moov/models/components/incurredfee.rb +1 -1
  148. data/lib/moov/models/components/instantbankcredittransferprocessingdetails.rb +8 -4
  149. data/lib/moov/models/components/instantbankcredittransferprocessingdetails.rbi +2 -0
  150. data/lib/moov/models/components/instantbankfailurecode.rb +3 -1
  151. data/lib/moov/models/components/instantbanknetwork.rb +3 -1
  152. data/lib/moov/models/components/instantbanktransactionstatus.rb +23 -0
  153. data/lib/moov/models/components/instantbanktransactionstatus.rbi +11 -0
  154. data/lib/moov/models/components/invoice.rb +1 -1
  155. data/lib/moov/models/components/invoicepayment.rb +1 -1
  156. data/lib/moov/models/components/invoicepaymenttype.rb +3 -1
  157. data/lib/moov/models/components/invoicestatus.rb +3 -1
  158. data/lib/moov/models/components/issuedcard.rb +3 -2
  159. data/lib/moov/models/components/issuedcardauthorization.rb +8 -4
  160. data/lib/moov/models/components/issuedcardauthorization.rbi +2 -0
  161. data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
  162. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +3 -1
  163. data/lib/moov/models/components/issuedcardeventtype.rb +3 -1
  164. data/lib/moov/models/components/issuedcardstate.rb +5 -1
  165. data/lib/moov/models/components/issuedcardtransaction.rb +6 -2
  166. data/lib/moov/models/components/issuedcardtransaction.rbi +2 -0
  167. data/lib/moov/models/components/issuedcontrols.rb +2 -2
  168. data/lib/moov/models/components/issuedvelocitylimit.rb +1 -1
  169. data/lib/moov/models/components/issuingauthorizationstatus.rb +3 -1
  170. data/lib/moov/models/components/issuingcontrols.rb +3 -3
  171. data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +1 -1
  172. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rb +4 -2
  173. data/lib/moov/models/components/issuingintervallimit.rb +3 -1
  174. data/lib/moov/models/components/issuingmerchantcategory.rb +3 -1
  175. data/lib/moov/models/components/issuingvelocitylimit.rb +1 -1
  176. data/lib/moov/models/components/jsonwebkey.rb +1 -1
  177. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  178. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +1 -1
  179. data/lib/moov/models/components/merchantcategory.rb +1 -1
  180. data/lib/moov/models/components/merchantcategoryrestrictions.rb +3 -3
  181. data/lib/moov/models/components/merchantentry.rb +6 -6
  182. data/lib/moov/models/components/merchantentry.rbi +2 -2
  183. data/lib/moov/models/components/merchantentryerror.rb +5 -5
  184. data/lib/moov/models/components/merchantentryerror.rbi +2 -2
  185. data/lib/moov/models/components/merchantrestrictions.rb +2 -2
  186. data/lib/moov/models/components/mode.rb +3 -1
  187. data/lib/moov/models/components/monthlyvolumerange.rb +3 -1
  188. data/lib/moov/models/components/moovfee.rb +1 -1
  189. data/lib/moov/models/components/occurrencesresponse.rb +2 -2
  190. data/lib/moov/models/components/occurrencestatus.rb +3 -1
  191. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  192. data/lib/moov/models/components/partnerpricingagreement.rb +15 -7
  193. data/lib/moov/models/components/partnerpricingagreement.rbi +4 -0
  194. data/lib/moov/models/components/patchbusiness.rb +2 -2
  195. data/lib/moov/models/components/patchwallet.rb +1 -1
  196. data/lib/moov/models/components/paymentlink.rb +4 -6
  197. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetails.rb +0 -2
  198. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetailsupdate.rb +0 -2
  199. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
  200. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
  201. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +5 -7
  202. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +5 -7
  203. data/lib/moov/models/components/paymentlinkstatus.rb +3 -1
  204. data/lib/moov/models/components/paymentlinktype.rb +3 -1
  205. data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
  206. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  207. data/lib/moov/models/components/paymentmethodswallet.rb +1 -1
  208. data/lib/moov/models/components/paymentmethodtype.rb +4 -1
  209. data/lib/moov/models/components/pendinglitigation.rb +3 -1
  210. data/lib/moov/models/components/primaryregulator.rb +3 -1
  211. data/lib/moov/models/components/pullfromcardoptions.rb +1 -1
  212. data/lib/moov/models/components/pullfromcardtransactionstatus.rb +22 -0
  213. data/lib/moov/models/components/pullfromcardtransactionstatus.rbi +11 -0
  214. data/lib/moov/models/components/pullfromcardtransferprocessingdetails.rb +7 -3
  215. data/lib/moov/models/components/pullfromcardtransferprocessingdetails.rbi +2 -0
  216. data/lib/moov/models/components/pushdeliveryspeed.rb +3 -1
  217. data/lib/moov/models/components/pushoptions.rb +5 -4
  218. data/lib/moov/models/components/pushoptionsupdate.rb +5 -4
  219. data/lib/moov/models/components/pushtocardtransactionstatus.rb +24 -0
  220. data/lib/moov/models/components/pushtocardtransactionstatus.rbi +11 -0
  221. data/lib/moov/models/components/pushtocardtransferprocessingdetails.rb +7 -3
  222. data/lib/moov/models/components/pushtocardtransferprocessingdetails.rbi +2 -0
  223. data/lib/moov/models/components/puttippresets.rb +1 -1
  224. data/lib/moov/models/components/refundpolicy.rb +3 -1
  225. data/lib/moov/models/components/refundstatus.rb +3 -1
  226. data/lib/moov/models/components/requestcard.rb +1 -1
  227. data/lib/moov/models/components/requirementerror.rb +2 -2
  228. data/lib/moov/models/components/requirementerrorcode.rb +3 -1
  229. data/lib/moov/models/components/requirementid.rb +18 -1
  230. data/lib/moov/models/components/resolutionlink.rb +1 -1
  231. data/lib/moov/models/components/resolutionlinkstatus.rb +3 -1
  232. data/lib/moov/models/components/returnpolicytype.rb +3 -1
  233. data/lib/moov/models/components/reversalamountdetails.rb +3 -1
  234. data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
  235. data/lib/moov/models/components/rtprejectioncode.rb +3 -1
  236. data/lib/moov/models/components/schedulelistresponse.rb +1 -1
  237. data/lib/moov/models/components/scheduleresponse.rb +1 -1
  238. data/lib/moov/models/components/seccode.rb +3 -1
  239. data/lib/moov/models/components/sourcesystem.rb +3 -1
  240. data/lib/moov/models/components/statement.rb +6 -2
  241. data/lib/moov/models/components/statement.rbi +2 -0
  242. data/lib/moov/models/components/sweep.rb +1 -1
  243. data/lib/moov/models/components/sweepconfig.rb +3 -3
  244. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  245. data/lib/moov/models/components/sweepconfigstatus.rb +3 -1
  246. data/lib/moov/models/components/sweepstatus.rb +3 -1
  247. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  248. data/lib/moov/models/components/terminalapplication.rb +2 -2
  249. data/lib/moov/models/components/terminalapplicationplatform.rb +3 -1
  250. data/lib/moov/models/components/terminalapplicationstatus.rb +3 -1
  251. data/lib/moov/models/components/terminalcard.rb +2 -2
  252. data/lib/moov/models/components/ticket.rb +1 -1
  253. data/lib/moov/models/components/ticketstatus.rb +3 -1
  254. data/lib/moov/models/components/tipcalculationbasis.rb +3 -1
  255. data/lib/moov/models/components/tippresets.rb +1 -1
  256. data/lib/moov/models/components/transactionsource.rb +3 -1
  257. data/lib/moov/models/components/transfer.rb +9 -5
  258. data/lib/moov/models/components/transferauthorization.rb +7 -7
  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/transferoptions.rb +3 -3
  263. data/lib/moov/models/components/transferparty.rb +3 -1
  264. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
  265. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  266. data/lib/moov/models/components/transferpaymentmethodswallet.rb +1 -1
  267. data/lib/moov/models/components/transferpaymentmethodtype.rb +4 -1
  268. data/lib/moov/models/components/transferprocessingdetails.rb +6 -2
  269. data/lib/moov/models/components/transferprocessingdetails.rbi +2 -0
  270. data/lib/moov/models/components/transferrailoptions.rb +6 -2
  271. data/lib/moov/models/components/transferrailoptions.rbi +2 -0
  272. data/lib/moov/models/components/transfersource.rb +1 -1
  273. data/lib/moov/models/components/transferstatus.rb +3 -1
  274. data/lib/moov/models/components/transferterminalcard.rb +2 -2
  275. data/lib/moov/models/components/transfertype.rb +4 -1
  276. data/lib/moov/models/components/underwriting.rb +12 -6
  277. data/lib/moov/models/components/underwriting.rbi +2 -0
  278. data/lib/moov/models/components/underwritingstatus.rb +3 -1
  279. data/lib/moov/models/components/updateevidence.rb +1 -1
  280. data/lib/moov/models/components/updateinvoice.rb +1 -1
  281. data/lib/moov/models/components/updateissuedcard.rb +2 -0
  282. data/lib/moov/models/components/updateissuedcardstate.rb +4 -0
  283. data/lib/moov/models/components/updateissuingcontrols.rb +5 -5
  284. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +1 -1
  285. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb +3 -3
  286. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb +3 -3
  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 +11 -5
  290. data/lib/moov/models/components/upsertunderwriting.rbi +2 -0
  291. data/lib/moov/models/components/use.rb +3 -1
  292. data/lib/moov/models/components/verification.rb +3 -3
  293. data/lib/moov/models/components/verificationstatus.rb +3 -1
  294. data/lib/moov/models/components/verificationstatusdetail.rb +3 -1
  295. data/lib/moov/models/components/wallet.rb +2 -2
  296. data/lib/moov/models/components/walletstatus.rb +3 -1
  297. data/lib/moov/models/components/wallettransaction.rb +3 -3
  298. data/lib/moov/models/components/wallettransactionsourcetype.rb +3 -1
  299. data/lib/moov/models/components/wallettransactionstatus.rb +3 -1
  300. data/lib/moov/models/components/wallettransactiontype.rb +4 -1
  301. data/lib/moov/models/components/wallettype.rb +3 -1
  302. data/lib/moov/models/components/webhook.rb +1 -1
  303. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
  304. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
  305. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  306. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  307. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  308. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
  309. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
  310. data/lib/moov/models/components/webhookdatacaptureupdated.rb +44 -0
  311. data/lib/moov/models/components/webhookdatacaptureupdated.rbi +19 -0
  312. data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
  313. data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
  314. data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
  315. data/lib/moov/models/components/webhookdataeventtest.rb +32 -0
  316. data/lib/moov/models/components/webhookdataeventtest.rbi +13 -0
  317. data/lib/moov/models/components/webhookdatainvoiceupdated.rb +1 -1
  318. data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
  319. data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
  320. data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
  321. data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
  322. data/lib/moov/models/components/webhookdataticketupdated.rb +1 -1
  323. data/lib/moov/models/components/webhookdatatransferstatus.rb +1 -0
  324. data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
  325. data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
  326. data/lib/moov/models/components/webhookevent.rb +3 -3
  327. data/lib/moov/models/components/webhookeventtype.rb +5 -1
  328. data/lib/moov/models/components/webhookstatus.rb +3 -1
  329. data/lib/moov/models/components/wirecreditpaymentmethod.rb +40 -0
  330. data/lib/moov/models/components/wirecreditpaymentmethod.rbi +17 -0
  331. data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rb +18 -0
  332. data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rbi +11 -0
  333. data/lib/moov/models/components/wirecredittransferpaymentmethod.rb +40 -0
  334. data/lib/moov/models/components/wirecredittransferpaymentmethod.rbi +17 -0
  335. data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rb +18 -0
  336. data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rbi +11 -0
  337. data/lib/moov/models/components/wirefailurecode.rb +28 -0
  338. data/lib/moov/models/components/wirefailurecode.rbi +11 -0
  339. data/lib/moov/models/components/wireoptions.rb +32 -0
  340. data/lib/moov/models/components/wireoptions.rbi +13 -0
  341. data/lib/moov/models/components/wiretransactionstatus.rb +23 -0
  342. data/lib/moov/models/components/wiretransactionstatus.rbi +11 -0
  343. data/lib/moov/models/components/wiretransferprocessingdetails.rb +40 -0
  344. data/lib/moov/models/components/wiretransferprocessingdetails.rbi +17 -0
  345. data/lib/moov/models/components.rb +25 -1
  346. data/lib/moov/models/errors/bankaccountattestationvalidationerror.rb +40 -0
  347. data/lib/moov/models/errors/bankaccountattestationvalidationerror.rbi +17 -0
  348. data/lib/moov/models/errors/cardacquiringrefund_error.rb +2 -2
  349. data/lib/moov/models/errors/imagemetadata_error.rb +61 -0
  350. data/lib/moov/models/errors/imagemetadata_error.rbi +27 -0
  351. data/lib/moov/models/errors/transfer_error.rb +9 -5
  352. data/lib/moov/models/errors/upsertunderwritingerror.rb +6 -2
  353. data/lib/moov/models/errors/upsertunderwritingerror.rbi +2 -0
  354. data/lib/moov/models/errors.rb +2 -0
  355. data/lib/moov/models/operations/createbankaccountattestation_request.rb +40 -0
  356. data/lib/moov/models/operations/createbankaccountattestation_request.rbi +17 -0
  357. data/lib/moov/models/operations/createbankaccountattestation_response.rb +48 -0
  358. data/lib/moov/models/operations/createbankaccountattestation_response.rbi +21 -0
  359. data/lib/moov/models/operations/createcapture_request.rb +2 -2
  360. data/lib/moov/models/operations/getbankaccountattestationeligibility_request.rb +41 -0
  361. data/lib/moov/models/operations/getbankaccountattestationeligibility_request.rbi +17 -0
  362. data/lib/moov/models/operations/getbankaccountattestationeligibility_response.rb +48 -0
  363. data/lib/moov/models/operations/getbankaccountattestationeligibility_response.rbi +21 -0
  364. data/lib/moov/models/operations/getcapture_request.rb +2 -2
  365. data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
  366. data/lib/moov/models/operations/listaccounts_request.rb +1 -1
  367. data/lib/moov/models/operations/listbankaccountattestations_request.rb +36 -0
  368. data/lib/moov/models/operations/listbankaccountattestations_request.rbi +15 -0
  369. data/lib/moov/models/operations/listbankaccountattestations_response.rb +48 -0
  370. data/lib/moov/models/operations/listbankaccountattestations_response.rbi +21 -0
  371. data/lib/moov/models/operations/listcaptures_request.rb +2 -2
  372. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
  373. data/lib/moov/models/operations/listdisputes_request.rb +1 -1
  374. data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
  375. data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
  376. data/lib/moov/models/operations/listinvoices_request.rb +1 -1
  377. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
  378. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
  379. data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
  380. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +7 -3
  381. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +2 -0
  382. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
  383. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  384. data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
  385. data/lib/moov/models/operations/listproducts_request.rb +1 -1
  386. data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
  387. data/lib/moov/models/operations/listresiduals_request.rb +1 -1
  388. data/lib/moov/models/operations/listschedules_request.rb +1 -1
  389. data/lib/moov/models/operations/liststatements_request.rb +1 -1
  390. data/lib/moov/models/operations/listsweeps_request.rb +1 -1
  391. data/lib/moov/models/operations/listtickets_request.rb +1 -1
  392. data/lib/moov/models/operations/listtransfers_request.rb +4 -8
  393. data/lib/moov/models/operations/listtransfers_request.rbi +0 -2
  394. data/lib/moov/models/operations/listwallets_request.rb +1 -1
  395. data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
  396. data/lib/moov/models/operations/retrievefees_request.rb +1 -1
  397. data/lib/moov/models/operations.rb +6 -0
  398. data/lib/moov/payment_methods.rb +2 -2
  399. data/lib/moov/sdkconfiguration.rb +3 -3
  400. data/lib/moov/transfers.rb +16 -9
  401. data/lib/moov/utils/retries.rb +41 -2
  402. data/lib/moov/utils/utils.rb +6 -2
  403. metadata +66 -2
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # IssuingIntervalLimit - Specifies the time frame for a velocity limit. `per-transaction` applies to each individual authorization and never resets. Time-based intervals (where supported) reset at midnight ET.
11
- class IssuingIntervalLimit < T::Enum
11
+ class IssuingIntervalLimit
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  PER_TRANSACTION = new('per-transaction')
14
15
  DAILY = new('daily')
15
16
  WEEKLY = new('weekly')
16
17
  MONTHLY = new('monthly')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # IssuingMerchantCategory - Predefined merchant category groups.
11
- class IssuingMerchantCategory < T::Enum
11
+ class IssuingMerchantCategory
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  ADVERTISING = new('advertising')
14
15
  AIRLINES = new('airlines')
@@ -37,6 +38,7 @@ module Moov
37
38
  SUBSCRIPTIONS = new('subscriptions')
38
39
  TRAVEL_AGENCIES = new('travel-agencies')
39
40
  end
41
+ open!
40
42
  end
41
43
  end
42
44
  end
@@ -13,7 +13,7 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # Specifies the time frame for a velocity limit. `per-transaction` applies to each individual authorization and never resets. Time-based intervals (where supported) reset at midnight ET.
16
- field :interval, Models::Components::IssuingIntervalLimit, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('interval'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuingIntervalLimit, false) } }
16
+ field :interval, Models::Components::IssuingIntervalLimit, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('interval'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingIntervalLimit, false) } }
17
17
  # The maximum amount in cents that can be spent in a given interval.
18
18
  field :amount, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
19
19
  # The maximum number of transactions allowed in the given interval. At least one of `amount` or `count` must be set.
@@ -15,7 +15,7 @@ module Moov
15
15
  # The cryptographic algorithm family used with the key (e.g., 'RSA', 'EC', 'oct').
16
16
  field :kty, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('kty'), required: true } }
17
17
  # The intended use of the key. 'sig' for signature, 'enc' for encryption.
18
- field :use, Crystalline::Nilable.new(Models::Components::Use), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('use'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::Use, true) } }
18
+ field :use, Crystalline::Nilable.new(Models::Components::Use), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('use'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::Use, true) } }
19
19
  # The permitted operations for the key, e.g., 'sign', 'verify', 'encrypt', 'decrypt'.
20
20
  field :key_ops, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('key_ops') } }
21
21
  # The algorithm intended for use with the key, e.g., 'RS256' or 'ES256'.
@@ -15,7 +15,7 @@ module Moov
15
15
  # The new payment method's ID.
16
16
  field :payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID'), required: true } }
17
17
  # The payment method type that represents a payment rail and directionality
18
- field :payment_method_type, Models::Components::PaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PaymentMethodType, false) } }
18
+ field :payment_method_type, Models::Components::PaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::PaymentMethodType, false) } }
19
19
  # Describes an Apple Pay token on a Moov account.
20
20
  field :apple_pay, Models::Components::ApplePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('applePay'), required: true } }
21
21
 
@@ -15,7 +15,7 @@ module Moov
15
15
  # The new payment method's ID.
16
16
  field :payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID'), required: true } }
17
17
  # The payment method type that represents a payment rail and directionality
18
- field :payment_method_type, Models::Components::PaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PaymentMethodType, false) } }
18
+ field :payment_method_type, Models::Components::PaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::PaymentMethodType, false) } }
19
19
  # Describes a Google Pay token on a Moov account.
20
20
  field :google_pay, Models::Components::GooglePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay'), required: true } }
21
21
 
@@ -13,7 +13,7 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # The predefined category group.
16
- field :category, Models::Components::IssuingMerchantCategory, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('category'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuingMerchantCategory, false) } }
16
+ field :category, Models::Components::IssuingMerchantCategory, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('category'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingMerchantCategory, false) } }
17
17
  # The merchant category codes (MCCs) covered by this category. Each entry is either a single
18
18
  # 4-digit MCC, such as `4511`, or an inclusive range of MCCs, such as `3000-3299`.
19
19
  field :mccs, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mccs'), required: true } }
@@ -7,13 +7,13 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # Restricts card usage by merchant category.
10
+ # Restricts card usage by merchant category. When not set, all categories are allowed.
11
11
  class MerchantCategoryRestrictions
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # Whether the listed categories are the only ones allowed, or the ones to block.
16
- field :mode, Models::Components::IssuingControlsRestrictionMode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuingControlsRestrictionMode, false) } }
15
+ # Whether the listed items should be allowed (`allow`) or blocked (`block`).
16
+ field :mode, Models::Components::IssuingControlsRestrictionMode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingControlsRestrictionMode, false) } }
17
17
  # Predefined category groups to allow or block.
18
18
  field :categories, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::IssuingMerchantCategory)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('categories') } }
19
19
  # Individual merchant category codes (MCCs) to allow or block, for codes not covered by a predefined category.
@@ -7,21 +7,21 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # Identifies a merchant by ID, descriptor pattern, or both. At least one of `mid` or `descriptorPattern` must be set.
10
+ # Identifies a merchant by ID, descriptor pattern, or both. At least one of `networkID` or `descriptorPattern` must be set.
11
11
  class MerchantEntry
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # The merchant's unique identifier (ISO 8583 DE42), matched exactly.
16
- field :mid, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mid') } }
16
+ field :network_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkID') } }
17
17
  # A case-insensitive RE2 regular expression matched against the merchant descriptor (ISO 8583 DE43).
18
18
  field :descriptor_pattern, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('descriptorPattern') } }
19
19
  # An optional label for this entry.
20
20
  field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name') } }
21
21
 
22
- sig { params(mid: T.nilable(::String), descriptor_pattern: T.nilable(::String), name: T.nilable(::String)).void }
23
- def initialize(mid: nil, descriptor_pattern: nil, name: nil)
24
- @mid = mid
22
+ sig { params(network_id: T.nilable(::String), descriptor_pattern: T.nilable(::String), name: T.nilable(::String)).void }
23
+ def initialize(network_id: nil, descriptor_pattern: nil, name: nil)
24
+ @network_id = network_id
25
25
  @descriptor_pattern = descriptor_pattern
26
26
  @name = name
27
27
  end
@@ -29,7 +29,7 @@ module Moov
29
29
  sig { params(other: T.untyped).returns(T::Boolean) }
30
30
  def ==(other)
31
31
  return false unless other.is_a? self.class
32
- return false unless @mid == other.mid
32
+ return false unless @network_id == other.network_id
33
33
  return false unless @descriptor_pattern == other.descriptor_pattern
34
34
  return false unless @name == other.name
35
35
  true
@@ -8,8 +8,8 @@ end
8
8
 
9
9
 
10
10
  class Moov::Models::Components::MerchantEntry
11
- def mid(); end
12
- def mid=(str_); end
11
+ def network_id(); end
12
+ def network_id=(str_); end
13
13
  def descriptor_pattern(); end
14
14
  def descriptor_pattern=(str_); end
15
15
  def name(); end
@@ -13,20 +13,20 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
 
16
- field :mid, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mid') } }
16
+ field :network_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkID') } }
17
17
 
18
18
  field :descriptor_pattern, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('descriptorPattern') } }
19
19
 
20
- sig { params(mid: T.nilable(::String), descriptor_pattern: T.nilable(::String)).void }
21
- def initialize(mid: nil, descriptor_pattern: nil)
22
- @mid = mid
20
+ sig { params(network_id: T.nilable(::String), descriptor_pattern: T.nilable(::String)).void }
21
+ def initialize(network_id: nil, descriptor_pattern: nil)
22
+ @network_id = network_id
23
23
  @descriptor_pattern = descriptor_pattern
24
24
  end
25
25
 
26
26
  sig { params(other: T.untyped).returns(T::Boolean) }
27
27
  def ==(other)
28
28
  return false unless other.is_a? self.class
29
- return false unless @mid == other.mid
29
+ return false unless @network_id == other.network_id
30
30
  return false unless @descriptor_pattern == other.descriptor_pattern
31
31
  true
32
32
  end
@@ -8,8 +8,8 @@ end
8
8
 
9
9
 
10
10
  class Moov::Models::Components::MerchantEntryError
11
- def mid(); end
12
- def mid=(str_); end
11
+ def network_id(); end
12
+ def network_id=(str_); end
13
13
  def descriptor_pattern(); end
14
14
  def descriptor_pattern=(str_); end
15
15
  end
@@ -12,8 +12,8 @@ module Moov
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # Whether the listed merchants are the only ones allowed, or the ones to block.
16
- field :mode, Models::Components::IssuingControlsRestrictionMode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuingControlsRestrictionMode, false) } }
15
+ # Whether the listed items should be allowed (`allow`) or blocked (`block`).
16
+ field :mode, Models::Components::IssuingControlsRestrictionMode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingControlsRestrictionMode, false) } }
17
17
  # The merchants to allow or block.
18
18
  field :merchants, Crystalline::Array.new(Models::Components::MerchantEntry), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchants'), required: true } }
19
19
 
@@ -8,11 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # Mode - The operating mode for an account.
11
- class Mode < T::Enum
11
+ class Mode
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  SANDBOX = new('sandbox')
14
15
  PRODUCTION = new('production')
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
  # MonthlyVolumeRange - The low value in each range is included. The high value in each range is excluded.
11
- class MonthlyVolumeRange < T::Enum
11
+ class MonthlyVolumeRange
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  UNDER_10K = new('under-10k')
14
15
  TENK_50K = new('10k-50k')
@@ -19,6 +20,7 @@ module Moov
19
20
  ONEM_5M = new('1m-5m')
20
21
  OVER_5M = new('over-5m')
21
22
  end
23
+ open!
22
24
  end
23
25
  end
24
26
  end
@@ -15,7 +15,7 @@ module Moov
15
15
  # ID of the account that fees were charged to.
16
16
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
17
17
  # Indicates whether the account charged was the partner, source, or destination of the transfer.
18
- field :transfer_party, Models::Components::TransferParty, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferParty'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TransferParty, false) } }
18
+ field :transfer_party, Models::Components::TransferParty, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferParty'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferParty, false) } }
19
19
  # The total amount of fees charged to the account.
20
20
  field :total_amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('totalAmount'), required: true } }
21
21
  # List of fee IDs that sum to the totalAmount.
@@ -21,7 +21,7 @@ module Moov
21
21
 
22
22
  field :occurrence_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('occurrenceID') } }
23
23
  # Sandbox or production account mode of this schedule.
24
- field :mode, Crystalline::Nilable.new(Models::Components::Mode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::Mode, true) } }
24
+ field :mode, Crystalline::Nilable.new(Models::Components::Mode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::Mode, true) } }
25
25
  # True if this was generated by a RRule.
26
26
  field :generated, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('generated') } }
27
27
  # True if the RRule set runs indefinitely.
@@ -33,7 +33,7 @@ module Moov
33
33
 
34
34
  field :ran_transfer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('ranTransferID') } }
35
35
  # Status of the completed occurrence.
36
- field :status, Crystalline::Nilable.new(Models::Components::OccurrenceStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::OccurrenceStatus, true) } }
36
+ field :status, Crystalline::Nilable.new(Models::Components::OccurrenceStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::OccurrenceStatus, true) } }
37
37
  # Contains details on why the occurrence errored.
38
38
  field :error, Crystalline::Nilable.new(Models::Components::OccurrencesResponseError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('error') } }
39
39
 
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # OccurrenceStatus - Status of the completed occurrence.
11
- class OccurrenceStatus < T::Enum
11
+ class OccurrenceStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  PENDING = new('pending')
14
15
  FAILED = new('failed')
15
16
  COMPLETED = new('completed')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -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.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.open_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,26 +21,30 @@ 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.
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) } }
41
45
 
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)
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)
44
48
  @agreement_id = agreement_id
45
49
  @plan_id = plan_id
46
50
  @name = name
@@ -53,6 +57,8 @@ module Moov
53
57
  @revenue_share = revenue_share
54
58
  @account_id = account_id
55
59
  @description = description
60
+ @prior_agreement_id = prior_agreement_id
61
+ @prior_agreement_terminated_on = prior_agreement_terminated_on
56
62
  end
57
63
 
58
64
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -70,6 +76,8 @@ module Moov
70
76
  return false unless @revenue_share == other.revenue_share
71
77
  return false unless @account_id == other.account_id
72
78
  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
73
81
  true
74
82
  end
75
83
  end
@@ -32,4 +32,8 @@ 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
35
39
  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.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.open_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.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.open_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.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.open_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.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.open_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.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.open_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.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.open_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,10 +57,8 @@ 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
-
60
+ # Options for payout links used to send a payout.
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
- #
64
62
  # A custom amount payment link shares all the options of a `payment` link, but the payor chooses how much to
65
63
  # pay rather than the merchant fixing the amount. The amount may optionally be constrained to a range.
66
64
  field :custom_amount_payment, Crystalline::Nilable.new(Models::Components::PaymentLinkCustomAmountPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customAmountPayment') } }
@@ -7,8 +7,6 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # Options for custom amount payment links.
11
- #
12
10
  # A custom amount payment link shares all the options of a `payment` link, but the payor chooses how much to
13
11
  # pay rather than the merchant fixing the amount. The amount may optionally be constrained to a range.
14
12
  class PaymentLinkCustomAmountPaymentDetails
@@ -7,8 +7,6 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # Options for custom amount payment links.
11
- #
12
10
  # A custom amount payment link shares all the options of a `payment` link, but the payor chooses how much to
13
11
  # pay rather than the merchant fixing the amount. The amount may optionally be constrained to a range.
14
12
  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.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.open_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.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.open_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
-
10
+ # Options for payout links used to send a payout.
11
11
  class PaymentLinkPayoutDetails
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
@@ -21,14 +21,12 @@ 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 payouts. Only applies when `allowedMethods` includes `push-to-card`.
25
- #
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.
24
+ # Delivery options for `push-to-card` and `push-to-apple-pay` payouts.
28
25
  field :push_options, Crystalline::Nilable.new(Models::Components::PushOptions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
29
- # Indicates which party bears the fee, keyed by disbursement payment method (`DisbursementPaymentMethodType`).
26
+ # Indicates which party pays the fee, keyed by `PayoutFeePaidByKey`. If keys are not set,
27
+ # the default is `source`.
30
28
  #
31
- # Sparse include only the methods you want to attribute. Any method left unset defaults to `source`.
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`
32
30
  field :fee_paid_by, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::FeePaidBy)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy') } }
33
31
 
34
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 }
@@ -7,7 +7,7 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
-
10
+ # Options for payout links used to send a payout.
11
11
  class PaymentLinkPayoutDetailsUpdate
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
@@ -21,14 +21,12 @@ 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 payouts. Only applies when `allowedMethods` includes `push-to-card`.
25
- #
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.
24
+ # Delivery options for `push-to-card` and `push-to-apple-pay` payouts.
28
25
  field :push_options, Crystalline::Nilable.new(Models::Components::PushOptionsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
29
- # Indicates which party bears the fee, keyed by disbursement payment method (`DisbursementPaymentMethodType`).
26
+ # Indicates which party pays the fee, keyed by `PayoutFeePaidByKey`. If keys are not set,
27
+ # the default is `source`.
30
28
  #
31
- # Sparse include only the methods you want to attribute. Any method left unset defaults to `source`.
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`
32
30
  field :fee_paid_by, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::FeePaidBy)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy') } }
33
31
 
34
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 }
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class PaymentLinkStatus < T::Enum
11
+ class PaymentLinkStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  ACTIVE = new('active')
14
15
  USED = new('used')
15
16
  DISABLED = new('disabled')
16
17
  EXPIRED = new('expired')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class PaymentLinkType < T::Enum
11
+ class PaymentLinkType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  PAYMENT = new('payment')
14
15
  PAYOUT = new('payout')
15
16
  INVOICE_PAYMENT = new('invoice-payment')
16
17
  CUSTOM_AMOUNT_PAYMENT = new('custom-amount-payment')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  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.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.open_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.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.open_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.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.open_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