moov_ruby 26.7.1 → 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 (301) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/module.rb +1 -1
  3. data/lib/moov/card_issuing.rb +1 -1
  4. data/lib/moov/images.rb +1 -1
  5. data/lib/moov/institutions.rb +1 -1
  6. data/lib/moov/models/components/account.rb +2 -2
  7. data/lib/moov/models/components/accountnameverification.rb +4 -4
  8. data/lib/moov/models/components/accounttype.rb +3 -1
  9. data/lib/moov/models/components/accountverificationstatus.rb +3 -1
  10. data/lib/moov/models/components/achreturncode.rb +3 -1
  11. data/lib/moov/models/components/achtransactiondetails.rb +3 -3
  12. data/lib/moov/models/components/achtransactionstatus.rb +3 -1
  13. data/lib/moov/models/components/adjustmentfees.rb +11 -15
  14. data/lib/moov/models/components/adjustmentfees.rbi +4 -4
  15. data/lib/moov/models/components/amountdecimalrange.rb +0 -2
  16. data/lib/moov/models/components/amountdecimalrangeupdate.rb +0 -2
  17. data/lib/moov/models/components/applepayresponse.rb +2 -2
  18. data/lib/moov/models/components/applicationscope.rb +4 -2
  19. data/lib/moov/models/components/authmethod.rb +3 -1
  20. data/lib/moov/models/components/bankaccount.rb +4 -4
  21. data/lib/moov/models/components/bankaccountexception.rb +2 -2
  22. data/lib/moov/models/components/bankaccountholdertype.rb +3 -1
  23. data/lib/moov/models/components/bankaccountintegration.rb +2 -2
  24. data/lib/moov/models/components/bankaccountstatus.rb +3 -1
  25. data/lib/moov/models/components/bankaccountstatusreason.rb +3 -1
  26. data/lib/moov/models/components/bankaccounttype.rb +3 -1
  27. data/lib/moov/models/components/bankaccountverification.rb +2 -2
  28. data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
  29. data/lib/moov/models/components/bankaccountverificationmethod.rb +3 -1
  30. data/lib/moov/models/components/bankaccountverificationstatus.rb +3 -1
  31. data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
  32. data/lib/moov/models/components/billablefee.rb +2 -2
  33. data/lib/moov/models/components/billingadjustment.rb +40 -0
  34. data/lib/moov/models/components/billingadjustment.rbi +17 -0
  35. data/lib/moov/models/components/billingsummary.rb +8 -4
  36. data/lib/moov/models/components/billingsummary.rbi +2 -0
  37. data/lib/moov/models/components/billingsummary_adjustmentfees.rb +40 -0
  38. data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +15 -0
  39. data/lib/moov/models/components/businesspresence.rb +3 -1
  40. data/lib/moov/models/components/businessprofile.rb +2 -2
  41. data/lib/moov/models/components/businesstype.rb +3 -1
  42. data/lib/moov/models/components/calltoaction.rb +3 -1
  43. data/lib/moov/models/components/cancellation.rb +2 -2
  44. data/lib/moov/models/components/cancellationstatus.rb +3 -1
  45. data/lib/moov/models/components/capability.rb +2 -2
  46. data/lib/moov/models/components/capabilityid.rb +3 -1
  47. data/lib/moov/models/components/capabilitystatus.rb +3 -1
  48. data/lib/moov/models/components/card.rb +4 -4
  49. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  50. data/lib/moov/models/components/cardacquiringmodel.rb +3 -1
  51. data/lib/moov/models/components/cardacquiringrefund.rb +1 -1
  52. data/lib/moov/models/components/cardbrand.rb +3 -1
  53. data/lib/moov/models/components/cardissuingnetwork.rb +3 -1
  54. data/lib/moov/models/components/cardmetadata.rb +4 -4
  55. data/lib/moov/models/components/cardtransactiondetails.rb +3 -3
  56. data/lib/moov/models/components/cardtransactionfailurecode.rb +3 -1
  57. data/lib/moov/models/components/cardtransactionstatus.rb +3 -1
  58. data/lib/moov/models/components/cardtype.rb +3 -1
  59. data/lib/moov/models/components/cardupdatereason.rb +3 -1
  60. data/lib/moov/models/components/cardverification.rb +3 -3
  61. data/lib/moov/models/components/cardverificationresult.rb +3 -1
  62. data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
  63. data/lib/moov/models/components/collectionpaymentmethodtype.rb +3 -1
  64. data/lib/moov/models/components/createaccount.rb +2 -2
  65. data/lib/moov/models/components/createaccounttype.rb +3 -1
  66. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  67. data/lib/moov/models/components/createdtransfer.rb +6 -3
  68. data/lib/moov/models/components/createevidencetext.rb +1 -1
  69. data/lib/moov/models/components/createfeeplanagreement.rb +13 -3
  70. data/lib/moov/models/components/createfeeplanagreement.rbi +2 -0
  71. data/lib/moov/models/components/createpaymentlink.rb +1 -1
  72. data/lib/moov/models/components/createrefund.rb +1 -1
  73. data/lib/moov/models/components/createreversal.rb +4 -1
  74. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  75. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  76. data/lib/moov/models/components/createtippresets.rb +1 -1
  77. data/lib/moov/models/components/createtransfer.rb +1 -1
  78. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  79. data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
  80. data/lib/moov/models/components/createwebhook.rb +1 -1
  81. data/lib/moov/models/components/debitholdperiod.rb +3 -1
  82. data/lib/moov/models/components/depositaccountingestedresponse.rb +1 -1
  83. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +3 -1
  84. data/lib/moov/models/components/dispute.rb +2 -2
  85. data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
  86. data/lib/moov/models/components/disputephase.rb +3 -1
  87. data/lib/moov/models/components/disputestatus.rb +3 -1
  88. data/lib/moov/models/components/document.rb +1 -1
  89. data/lib/moov/models/components/documenttype.rb +3 -1
  90. data/lib/moov/models/components/domesticpullfromcard.rb +3 -1
  91. data/lib/moov/models/components/domesticpushtocard.rb +3 -1
  92. data/lib/moov/models/components/estimatedactivity.rb +1 -1
  93. data/lib/moov/models/components/evidencetextresponse.rb +1 -1
  94. data/lib/moov/models/components/evidencetype.rb +3 -1
  95. data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
  96. data/lib/moov/models/components/facilitatorfee.rb +2 -2
  97. data/lib/moov/models/components/feecategory.rb +3 -1
  98. data/lib/moov/models/components/feemodel.rb +3 -1
  99. data/lib/moov/models/components/feepaidby.rb +4 -2
  100. data/lib/moov/models/components/feeplan.rb +1 -1
  101. data/lib/moov/models/components/feeplanagreement.rb +12 -4
  102. data/lib/moov/models/components/feeplanagreement.rbi +4 -0
  103. data/lib/moov/models/components/feeplanagreementstatus.rb +3 -1
  104. data/lib/moov/models/components/filedetails.rb +2 -2
  105. data/lib/moov/models/components/filepurpose.rb +3 -1
  106. data/lib/moov/models/components/filestatus.rb +3 -1
  107. data/lib/moov/models/components/fulfillment.rb +2 -2
  108. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  109. data/lib/moov/models/components/fulfillmentmethod.rb +3 -1
  110. data/lib/moov/models/components/fulfillmenttimeframe.rb +3 -1
  111. data/lib/moov/models/components/fullissuedcard.rb +3 -2
  112. data/lib/moov/models/components/geographicreach.rb +3 -1
  113. data/lib/moov/models/components/googlepayresponse.rb +3 -3
  114. data/lib/moov/models/components/incurredfee.rb +1 -1
  115. data/lib/moov/models/components/instantbankfailurecode.rb +3 -1
  116. data/lib/moov/models/components/instantbanknetwork.rb +3 -1
  117. data/lib/moov/models/components/instantbanktransactiondetails.rb +3 -3
  118. data/lib/moov/models/components/instantbanktransactionstatus.rb +3 -1
  119. data/lib/moov/models/components/invoice.rb +1 -1
  120. data/lib/moov/models/components/invoicepayment.rb +1 -1
  121. data/lib/moov/models/components/invoicepaymenttype.rb +3 -1
  122. data/lib/moov/models/components/invoicestatus.rb +3 -1
  123. data/lib/moov/models/components/issuedcard.rb +3 -2
  124. data/lib/moov/models/components/issuedcardauthorization.rb +2 -2
  125. data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
  126. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +3 -1
  127. data/lib/moov/models/components/issuedcardeventtype.rb +3 -1
  128. data/lib/moov/models/components/issuedcardstate.rb +5 -1
  129. data/lib/moov/models/components/issuedcontrols.rb +2 -2
  130. data/lib/moov/models/components/issuedvelocitylimit.rb +1 -1
  131. data/lib/moov/models/components/issuingauthorizationstatus.rb +3 -1
  132. data/lib/moov/models/components/issuingcontrols.rb +3 -3
  133. data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +1 -1
  134. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rb +4 -2
  135. data/lib/moov/models/components/issuingintervallimit.rb +3 -1
  136. data/lib/moov/models/components/issuingmerchantcategory.rb +3 -1
  137. data/lib/moov/models/components/issuingvelocitylimit.rb +1 -1
  138. data/lib/moov/models/components/jsonwebkey.rb +1 -1
  139. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  140. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +1 -1
  141. data/lib/moov/models/components/merchantcategory.rb +1 -1
  142. data/lib/moov/models/components/merchantcategoryrestrictions.rb +3 -3
  143. data/lib/moov/models/components/merchantentry.rb +6 -6
  144. data/lib/moov/models/components/merchantentry.rbi +2 -2
  145. data/lib/moov/models/components/merchantentryerror.rb +5 -5
  146. data/lib/moov/models/components/merchantentryerror.rbi +2 -2
  147. data/lib/moov/models/components/merchantrestrictions.rb +2 -2
  148. data/lib/moov/models/components/mode.rb +3 -1
  149. data/lib/moov/models/components/monthlyvolumerange.rb +3 -1
  150. data/lib/moov/models/components/moovfee.rb +1 -1
  151. data/lib/moov/models/components/occurrencesresponse.rb +2 -2
  152. data/lib/moov/models/components/occurrencestatus.rb +3 -1
  153. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  154. data/lib/moov/models/components/partnerpricingagreement.rb +15 -7
  155. data/lib/moov/models/components/partnerpricingagreement.rbi +4 -0
  156. data/lib/moov/models/components/patchbusiness.rb +2 -2
  157. data/lib/moov/models/components/patchwallet.rb +1 -1
  158. data/lib/moov/models/components/paymentlink.rb +4 -6
  159. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetails.rb +0 -2
  160. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetailsupdate.rb +0 -2
  161. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
  162. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
  163. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +5 -7
  164. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +5 -7
  165. data/lib/moov/models/components/paymentlinkstatus.rb +3 -1
  166. data/lib/moov/models/components/paymentlinktype.rb +3 -1
  167. data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
  168. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  169. data/lib/moov/models/components/paymentmethodswallet.rb +1 -1
  170. data/lib/moov/models/components/paymentmethodtype.rb +3 -1
  171. data/lib/moov/models/components/pendinglitigation.rb +3 -1
  172. data/lib/moov/models/components/primaryregulator.rb +3 -1
  173. data/lib/moov/models/components/pushdeliveryspeed.rb +3 -1
  174. data/lib/moov/models/components/pushoptions.rb +5 -4
  175. data/lib/moov/models/components/pushoptionsupdate.rb +5 -4
  176. data/lib/moov/models/components/puttippresets.rb +1 -1
  177. data/lib/moov/models/components/refundcarddetails.rb +2 -2
  178. data/lib/moov/models/components/refundcardstatus.rb +3 -1
  179. data/lib/moov/models/components/refundpolicy.rb +3 -1
  180. data/lib/moov/models/components/refundstatus.rb +3 -1
  181. data/lib/moov/models/components/requestcard.rb +1 -1
  182. data/lib/moov/models/components/requirementerror.rb +2 -2
  183. data/lib/moov/models/components/requirementerrorcode.rb +3 -1
  184. data/lib/moov/models/components/requirementid.rb +17 -1
  185. data/lib/moov/models/components/resolutionlink.rb +1 -1
  186. data/lib/moov/models/components/resolutionlinkstatus.rb +3 -1
  187. data/lib/moov/models/components/returnpolicytype.rb +3 -1
  188. data/lib/moov/models/components/reversalamountdetails.rb +3 -1
  189. data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
  190. data/lib/moov/models/components/rtprejectioncode.rb +3 -1
  191. data/lib/moov/models/components/schedulelistresponse.rb +1 -1
  192. data/lib/moov/models/components/scheduleresponse.rb +1 -1
  193. data/lib/moov/models/components/seccode.rb +3 -1
  194. data/lib/moov/models/components/sourcesystem.rb +3 -1
  195. data/lib/moov/models/components/statement.rb +6 -2
  196. data/lib/moov/models/components/statement.rbi +2 -0
  197. data/lib/moov/models/components/sweep.rb +1 -1
  198. data/lib/moov/models/components/sweepconfig.rb +3 -3
  199. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  200. data/lib/moov/models/components/sweepconfigstatus.rb +3 -1
  201. data/lib/moov/models/components/sweepstatus.rb +3 -1
  202. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  203. data/lib/moov/models/components/terminalapplication.rb +2 -2
  204. data/lib/moov/models/components/terminalapplicationplatform.rb +3 -1
  205. data/lib/moov/models/components/terminalapplicationstatus.rb +3 -1
  206. data/lib/moov/models/components/terminalcard.rb +2 -2
  207. data/lib/moov/models/components/ticket.rb +1 -1
  208. data/lib/moov/models/components/ticketstatus.rb +3 -1
  209. data/lib/moov/models/components/tipcalculationbasis.rb +3 -1
  210. data/lib/moov/models/components/tippresets.rb +1 -1
  211. data/lib/moov/models/components/transactionsource.rb +3 -1
  212. data/lib/moov/models/components/transfer.rb +6 -3
  213. data/lib/moov/models/components/transferdestination.rb +1 -1
  214. data/lib/moov/models/components/transferfailurereason.rb +3 -1
  215. data/lib/moov/models/components/transferfeepaidby.rb +2 -2
  216. data/lib/moov/models/components/transferparty.rb +3 -1
  217. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
  218. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  219. data/lib/moov/models/components/transferpaymentmethodswallet.rb +1 -1
  220. data/lib/moov/models/components/transferpaymentmethodtype.rb +3 -1
  221. data/lib/moov/models/components/transfersource.rb +1 -1
  222. data/lib/moov/models/components/transferstatus.rb +3 -1
  223. data/lib/moov/models/components/transferterminalcard.rb +2 -2
  224. data/lib/moov/models/components/underwriting.rb +4 -4
  225. data/lib/moov/models/components/underwritingstatus.rb +3 -1
  226. data/lib/moov/models/components/updateevidence.rb +1 -1
  227. data/lib/moov/models/components/updateinvoice.rb +1 -1
  228. data/lib/moov/models/components/updateissuedcard.rb +2 -0
  229. data/lib/moov/models/components/updateissuedcardstate.rb +4 -0
  230. data/lib/moov/models/components/updateissuingcontrols.rb +5 -5
  231. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +1 -1
  232. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb +3 -3
  233. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb +3 -3
  234. data/lib/moov/models/components/updatepaymentlink.rb +1 -1
  235. data/lib/moov/models/components/updatewebhook.rb +1 -1
  236. data/lib/moov/models/components/upsertunderwriting.rb +3 -3
  237. data/lib/moov/models/components/use.rb +3 -1
  238. data/lib/moov/models/components/verification.rb +3 -3
  239. data/lib/moov/models/components/verificationstatus.rb +3 -1
  240. data/lib/moov/models/components/verificationstatusdetail.rb +3 -1
  241. data/lib/moov/models/components/wallet.rb +2 -2
  242. data/lib/moov/models/components/walletstatus.rb +3 -1
  243. data/lib/moov/models/components/wallettransaction.rb +3 -3
  244. data/lib/moov/models/components/wallettransactionsourcetype.rb +3 -1
  245. data/lib/moov/models/components/wallettransactionstatus.rb +3 -1
  246. data/lib/moov/models/components/wallettransactiontype.rb +3 -1
  247. data/lib/moov/models/components/wallettype.rb +3 -1
  248. data/lib/moov/models/components/webhook.rb +1 -1
  249. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
  250. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
  251. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  252. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  253. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  254. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
  255. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
  256. data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
  257. data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
  258. data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
  259. data/lib/moov/models/components/webhookdatainvoiceupdated.rb +1 -1
  260. data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
  261. data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
  262. data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
  263. data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
  264. data/lib/moov/models/components/webhookdataticketupdated.rb +1 -1
  265. data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
  266. data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
  267. data/lib/moov/models/components/webhookevent.rb +1 -1
  268. data/lib/moov/models/components/webhookeventtype.rb +3 -1
  269. data/lib/moov/models/components/webhookstatus.rb +3 -1
  270. data/lib/moov/models/components.rb +3 -1
  271. data/lib/moov/models/errors/cardacquiringrefund_error.rb +1 -1
  272. data/lib/moov/models/errors/transfer_error.rb +6 -3
  273. data/lib/moov/models/operations/listaccounts_request.rb +1 -1
  274. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
  275. data/lib/moov/models/operations/listdisputes_request.rb +1 -1
  276. data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
  277. data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
  278. data/lib/moov/models/operations/listinvoices_request.rb +1 -1
  279. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
  280. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
  281. data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
  282. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +7 -3
  283. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +2 -0
  284. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
  285. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  286. data/lib/moov/models/operations/listproducts_request.rb +1 -1
  287. data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
  288. data/lib/moov/models/operations/listresiduals_request.rb +1 -1
  289. data/lib/moov/models/operations/listschedules_request.rb +1 -1
  290. data/lib/moov/models/operations/liststatements_request.rb +1 -1
  291. data/lib/moov/models/operations/listsweeps_request.rb +1 -1
  292. data/lib/moov/models/operations/listtickets_request.rb +1 -1
  293. data/lib/moov/models/operations/listtransfers_request.rb +2 -2
  294. data/lib/moov/models/operations/listwallets_request.rb +1 -1
  295. data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
  296. data/lib/moov/models/operations/retrievefees_request.rb +1 -1
  297. data/lib/moov/sdkconfiguration.rb +3 -3
  298. data/lib/moov/transfers.rb +11 -5
  299. data/lib/moov/utils/retries.rb +41 -2
  300. data/lib/moov/utils/utils.rb +6 -2
  301. metadata +6 -2
@@ -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
 
@@ -19,9 +19,9 @@ module Moov
19
19
  # This field can be used to identify specific payment methods across multiple accounts on your platform.
20
20
  field :fingerprint, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fingerprint'), required: true } }
21
21
  # The card brand.
22
- field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardBrand, false) } }
22
+ field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardBrand, false) } }
23
23
  # The type of the card.
24
- field :card_type, Models::Components::CardType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardType, false) } }
24
+ field :card_type, Models::Components::CardType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardType, false) } }
25
25
  # Last four digits of the card number
26
26
  field :last_four_card_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber'), required: true } }
27
27
  # The first six to eight digits of the card number, which identifies the financial institution that issued the card.
@@ -46,9 +46,9 @@ module Moov
46
46
  # The results of the most recent card update request.
47
47
  field :card_account_updater, Crystalline::Nilable.new(Models::Components::CardAccountUpdater), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAccountUpdater') } }
48
48
  # Indicates which level of domestic push-to-card transfer is supported by the card, if any.
49
- field :domestic_push_to_card, Crystalline::Nilable.new(Models::Components::DomesticPushToCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPushToCard'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DomesticPushToCard, true) } }
49
+ field :domestic_push_to_card, Crystalline::Nilable.new(Models::Components::DomesticPushToCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPushToCard'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DomesticPushToCard, true) } }
50
50
  # Indicates if the card supports domestic pull-from-card transfer.
51
- field :domestic_pull_from_card, Crystalline::Nilable.new(Models::Components::DomesticPullFromCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPullFromCard'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DomesticPullFromCard, true) } }
51
+ field :domestic_pull_from_card, Crystalline::Nilable.new(Models::Components::DomesticPullFromCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPullFromCard'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DomesticPullFromCard, true) } }
52
52
  # The category or level of the card defined by the issuer.
53
53
  # Examples include, but not limited to, "REWARDS", "TRADITIONAL REWARDS", "CLASSIC", and "CORPORATE PURCHASING".
54
54
  field :card_category, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardCategory') } }
@@ -20,7 +20,7 @@ module Moov
20
20
  # - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
21
21
  # - `general`: An additional, user-defined wallet created via API or Dashboard.
22
22
  # - `card-issuing`: The system-generated wallet automatically created when an account is granted the card-issuing capability.
23
- field :wallet_type, Models::Components::WalletType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletType, false) } }
23
+ field :wallet_type, Models::Components::WalletType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletType, false) } }
24
24
 
25
25
  sig { params(wallet_id: ::String, partner_account_id: ::String, wallet_type: Models::Components::WalletType).void }
26
26
  def initialize(wallet_id:, partner_account_id:, wallet_type:)
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # PaymentMethodType - The payment method type that represents a payment rail and directionality
11
- class PaymentMethodType < T::Enum
11
+ class PaymentMethodType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  MOOV_WALLET = new('moov-wallet')
14
15
  ACH_DEBIT_FUND = new('ach-debit-fund')
@@ -28,6 +29,7 @@ module Moov
28
29
  PUSH_TO_GOOGLE_PAY = new('push-to-google-pay')
29
30
  PULL_FROM_GOOGLE_PAY = new('pull-from-google-pay')
30
31
  end
32
+ open!
31
33
  end
32
34
  end
33
35
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class PendingLitigation < T::Enum
11
+ class PendingLitigation
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  BANKRUPTCY_OR_INSOLVENCY = new('bankruptcy-or-insolvency')
14
15
  CONSUMER_PROTECTION_OR_CLASS_ACTION = new('consumer-protection-or-class-action')
@@ -21,6 +22,7 @@ module Moov
21
22
  OTHER = new('other')
22
23
  PERSONAL_INJURY_OR_MEDICAL = new('personal-injury-or-medical')
23
24
  end
25
+ open!
24
26
  end
25
27
  end
26
28
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # PrimaryRegulator - If the business is a financial institution, this field describes its primary regulator.
11
- class PrimaryRegulator < T::Enum
11
+ class PrimaryRegulator
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  OCC = new('OCC')
14
15
  FDIC = new('FDIC')
@@ -16,6 +17,7 @@ module Moov
16
17
  FRB = new('FRB')
17
18
  STATE_CU_REGULATOR = new('state-cu-regulator')
18
19
  end
20
+ open!
19
21
  end
20
22
  end
21
23
  end
@@ -8,11 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # PushDeliverySpeed - Delivery speed options for push-to-card payouts.
11
- class PushDeliverySpeed < T::Enum
11
+ class PushDeliverySpeed
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  INSTANT = new('instant')
14
15
  DEFERRED = new('deferred')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end