moov_ruby 0.0.0.pre.dev.24 → 0.0.0.pre.dev.26

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 (469) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/module.rb +1 -1
  3. data/lib/moov/avatars.rb +4 -4
  4. data/lib/moov/bank_accounts.rb +439 -0
  5. data/lib/moov/card_issuing.rb +117 -1
  6. data/lib/moov/client.rb +2 -2
  7. data/lib/moov/enriched_address.rb +1 -1
  8. data/lib/moov/enriched_profile.rb +1 -1
  9. data/lib/moov/images.rb +17 -2
  10. data/lib/moov/institutions.rb +2 -2
  11. data/lib/moov/models/components/account.rb +2 -2
  12. data/lib/moov/models/components/accountnameverification.rb +4 -4
  13. data/lib/moov/models/components/accounttype.rb +3 -1
  14. data/lib/moov/models/components/accountverificationstatus.rb +3 -1
  15. data/lib/moov/models/components/achcreditoptions.rb +40 -0
  16. data/lib/moov/models/components/achcreditoptions.rbi +17 -0
  17. data/lib/moov/models/components/achcredittransferprocessingdetails.rb +44 -0
  18. data/lib/moov/models/components/achcredittransferprocessingdetails.rbi +19 -0
  19. data/lib/moov/models/components/achdebitoptions.rb +48 -0
  20. data/lib/moov/models/components/achdebitoptions.rbi +21 -0
  21. data/lib/moov/models/components/achdebittransferprocessingdetails.rb +44 -0
  22. data/lib/moov/models/components/achdebittransferprocessingdetails.rbi +19 -0
  23. data/lib/moov/models/components/achreturncode.rb +3 -1
  24. data/lib/moov/models/components/achtransactionstatus.rb +3 -1
  25. data/lib/moov/models/components/adjustmentfees.rb +11 -15
  26. data/lib/moov/models/components/adjustmentfees.rbi +4 -4
  27. data/lib/moov/models/components/amountdecimalrange.rb +0 -2
  28. data/lib/moov/models/components/amountdecimalrangeupdate.rb +0 -2
  29. data/lib/moov/models/components/applepayresponse.rb +2 -2
  30. data/lib/moov/models/components/applicationscope.rb +4 -2
  31. data/lib/moov/models/components/asynccreatedrefund.rb +7 -3
  32. data/lib/moov/models/components/asynccreatedrefund.rbi +2 -0
  33. data/lib/moov/models/components/authmethod.rb +3 -1
  34. data/lib/moov/models/components/bankaccount.rb +4 -4
  35. data/lib/moov/models/components/bankaccountattestation.rb +52 -0
  36. data/lib/moov/models/components/bankaccountattestation.rbi +23 -0
  37. data/lib/moov/models/components/bankaccountattestationeligibility.rb +36 -0
  38. data/lib/moov/models/components/bankaccountattestationeligibility.rbi +15 -0
  39. data/lib/moov/models/components/bankaccountattestationsummary.rb +44 -0
  40. data/lib/moov/models/components/bankaccountattestationsummary.rbi +19 -0
  41. data/lib/moov/models/components/bankaccountexception.rb +2 -2
  42. data/lib/moov/models/components/bankaccountholdertype.rb +3 -1
  43. data/lib/moov/models/components/bankaccountintegration.rb +2 -2
  44. data/lib/moov/models/components/bankaccountstatus.rb +3 -1
  45. data/lib/moov/models/components/bankaccountstatusreason.rb +3 -1
  46. data/lib/moov/models/components/bankaccounttype.rb +3 -1
  47. data/lib/moov/models/components/bankaccountverification.rb +2 -2
  48. data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
  49. data/lib/moov/models/components/bankaccountverificationmethod.rb +3 -1
  50. data/lib/moov/models/components/bankaccountverificationstatus.rb +3 -1
  51. data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
  52. data/lib/moov/models/components/billablefee.rb +2 -2
  53. data/lib/moov/models/components/billingadjustment.rb +40 -0
  54. data/lib/moov/models/components/billingadjustment.rbi +17 -0
  55. data/lib/moov/models/components/billingsummary.rb +8 -4
  56. data/lib/moov/models/components/billingsummary.rbi +2 -0
  57. data/lib/moov/models/components/billingsummary_adjustmentfees.rb +40 -0
  58. data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +15 -0
  59. data/lib/moov/models/components/businesspresence.rb +3 -1
  60. data/lib/moov/models/components/businessprofile.rb +2 -2
  61. data/lib/moov/models/components/businesstype.rb +3 -1
  62. data/lib/moov/models/components/calltoaction.rb +3 -1
  63. data/lib/moov/models/components/cancellation.rb +2 -2
  64. data/lib/moov/models/components/cancellationstatus.rb +3 -1
  65. data/lib/moov/models/components/capability.rb +2 -2
  66. data/lib/moov/models/components/capabilityid.rb +3 -1
  67. data/lib/moov/models/components/capabilitystatus.rb +3 -1
  68. data/lib/moov/models/components/capture.rb +82 -0
  69. data/lib/moov/models/components/capture.rbi +37 -0
  70. data/lib/moov/models/components/{refundcardstatus.rb → capturestatus.rb} +6 -5
  71. data/lib/moov/models/components/{refundcardstatus.rbi → capturestatus.rbi} +2 -2
  72. data/lib/moov/models/components/card.rb +4 -4
  73. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  74. data/lib/moov/models/components/cardacquiringmodel.rb +3 -1
  75. data/lib/moov/models/components/cardacquiringrefund.rb +12 -8
  76. data/lib/moov/models/components/cardacquiringrefund.rbi +4 -2
  77. data/lib/moov/models/components/cardbrand.rb +3 -1
  78. data/lib/moov/models/components/cardissuing.rb +34 -0
  79. data/lib/moov/models/components/cardissuing.rbi +13 -0
  80. data/lib/moov/models/components/cardissuingerror.rb +32 -0
  81. data/lib/moov/models/components/cardissuingerror.rbi +13 -0
  82. data/lib/moov/models/components/cardissuingnetwork.rb +3 -1
  83. data/lib/moov/models/components/cardmetadata.rb +4 -4
  84. data/lib/moov/models/components/cardpaymentoptions.rb +39 -0
  85. data/lib/moov/models/components/cardpaymentoptions.rbi +15 -0
  86. data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rb +32 -0
  87. data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rbi +13 -0
  88. data/lib/moov/models/components/{cardtransactionstatus.rb → cardpaymenttransactionstatus.rb} +4 -3
  89. data/lib/moov/models/components/cardpaymenttransactionstatus.rbi +11 -0
  90. data/lib/moov/models/components/cardpaymenttransferprocessingdetails.rb +48 -0
  91. data/lib/moov/models/components/cardpaymenttransferprocessingdetails.rbi +21 -0
  92. data/lib/moov/models/components/cardtransactionfailurecode.rb +19 -1
  93. data/lib/moov/models/components/cardtype.rb +3 -1
  94. data/lib/moov/models/components/cardupdatereason.rb +3 -1
  95. data/lib/moov/models/components/cardverification.rb +3 -3
  96. data/lib/moov/models/components/cardverificationresult.rb +3 -1
  97. data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
  98. data/lib/moov/models/components/collectionpaymentmethodtype.rb +3 -1
  99. data/lib/moov/models/components/createaccount.rb +2 -2
  100. data/lib/moov/models/components/createaccounttype.rb +3 -1
  101. data/lib/moov/models/components/createbankaccountattestation.rb +36 -0
  102. data/lib/moov/models/components/createbankaccountattestation.rbi +15 -0
  103. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  104. data/lib/moov/models/components/createcancellation.rb +34 -0
  105. data/lib/moov/models/components/createcancellation.rbi +13 -0
  106. data/lib/moov/models/components/createcapture.rb +68 -0
  107. data/lib/moov/models/components/createcapture.rbi +29 -0
  108. data/lib/moov/models/components/createdtransfer.rb +29 -29
  109. data/lib/moov/models/components/createdtransfer.rbi +8 -10
  110. data/lib/moov/models/components/createevidencetext.rb +1 -1
  111. data/lib/moov/models/components/createfeeplanagreement.rb +13 -3
  112. data/lib/moov/models/components/createfeeplanagreement.rbi +2 -0
  113. data/lib/moov/models/components/createpaymentlink.rb +1 -1
  114. data/lib/moov/models/components/createrefund.rb +9 -5
  115. data/lib/moov/models/components/createrefund.rbi +2 -0
  116. data/lib/moov/models/components/createreversal.rb +6 -3
  117. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  118. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  119. data/lib/moov/models/components/createtippresets.rb +1 -1
  120. data/lib/moov/models/components/createtransfer.rb +5 -5
  121. data/lib/moov/models/components/createtransferdestination.rb +6 -2
  122. data/lib/moov/models/components/createtransferdestination.rbi +2 -0
  123. data/lib/moov/models/components/createtransferdestinationwire.rb +32 -0
  124. data/lib/moov/models/components/createtransferdestinationwire.rbi +13 -0
  125. data/lib/moov/models/components/createtransferfacilitatorfee.rb +36 -0
  126. data/lib/moov/models/components/createtransferfacilitatorfee.rbi +15 -0
  127. data/lib/moov/models/components/createtransferoptions.rb +2 -2
  128. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  129. data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
  130. data/lib/moov/models/components/createwebhook.rb +1 -1
  131. data/lib/moov/models/components/debitholdperiod.rb +3 -1
  132. data/lib/moov/models/components/depositaccountingestedresponse.rb +1 -1
  133. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +3 -1
  134. data/lib/moov/models/components/dispute.rb +2 -2
  135. data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
  136. data/lib/moov/models/components/disputephase.rb +3 -1
  137. data/lib/moov/models/components/disputestatus.rb +3 -1
  138. data/lib/moov/models/components/document.rb +1 -1
  139. data/lib/moov/models/components/documenttype.rb +3 -1
  140. data/lib/moov/models/components/domesticpullfromcard.rb +3 -1
  141. data/lib/moov/models/components/domesticpushtocard.rb +3 -1
  142. data/lib/moov/models/components/estimatedactivity.rb +1 -1
  143. data/lib/moov/models/components/evidencetextresponse.rb +1 -1
  144. data/lib/moov/models/components/evidencetype.rb +3 -1
  145. data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
  146. data/lib/moov/models/components/facilitatorfee.rb +6 -17
  147. data/lib/moov/models/components/facilitatorfee.rbi +0 -4
  148. data/lib/moov/models/components/feecategory.rb +3 -1
  149. data/lib/moov/models/components/feemodel.rb +3 -1
  150. data/lib/moov/models/components/feepaidby.rb +4 -2
  151. data/lib/moov/models/components/feeplan.rb +1 -1
  152. data/lib/moov/models/components/feeplanagreement.rb +12 -4
  153. data/lib/moov/models/components/feeplanagreement.rbi +4 -0
  154. data/lib/moov/models/components/feeplanagreementstatus.rb +3 -1
  155. data/lib/moov/models/components/filedetails.rb +2 -2
  156. data/lib/moov/models/components/filepurpose.rb +3 -1
  157. data/lib/moov/models/components/filestatus.rb +3 -1
  158. data/lib/moov/models/components/fulfillment.rb +2 -2
  159. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  160. data/lib/moov/models/components/fulfillmentmethod.rb +3 -1
  161. data/lib/moov/models/components/fulfillmenttimeframe.rb +3 -1
  162. data/lib/moov/models/components/fullissuedcard.rb +3 -2
  163. data/lib/moov/models/components/geographicreach.rb +3 -1
  164. data/lib/moov/models/components/googlepayresponse.rb +3 -3
  165. data/lib/moov/models/components/incurredfee.rb +1 -1
  166. data/lib/moov/models/components/instantbankcredittransferprocessingdetails.rb +48 -0
  167. data/lib/moov/models/components/{instantbanktransactiondetails.rbi → instantbankcredittransferprocessingdetails.rbi} +4 -12
  168. data/lib/moov/models/components/instantbankfailurecode.rb +3 -1
  169. data/lib/moov/models/components/instantbanknetwork.rb +3 -1
  170. data/lib/moov/models/components/instantbanktransactionstatus.rb +3 -1
  171. data/lib/moov/models/components/invoice.rb +1 -1
  172. data/lib/moov/models/components/invoicepayment.rb +1 -1
  173. data/lib/moov/models/components/invoicepaymenttype.rb +3 -1
  174. data/lib/moov/models/components/invoicestatus.rb +3 -1
  175. data/lib/moov/models/components/issuedcard.rb +3 -2
  176. data/lib/moov/models/components/issuedcardauthorization.rb +2 -2
  177. data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
  178. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +3 -1
  179. data/lib/moov/models/components/issuedcardeventtype.rb +3 -1
  180. data/lib/moov/models/components/issuedcardstate.rb +5 -1
  181. data/lib/moov/models/components/issuedcontrols.rb +2 -2
  182. data/lib/moov/models/components/issuedvelocitylimit.rb +1 -1
  183. data/lib/moov/models/components/issuingauthorizationstatus.rb +3 -1
  184. data/lib/moov/models/components/issuingcontrols.rb +3 -3
  185. data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +1 -1
  186. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rb +4 -2
  187. data/lib/moov/models/components/issuingintervallimit.rb +3 -1
  188. data/lib/moov/models/components/issuingmerchantcategory.rb +3 -1
  189. data/lib/moov/models/components/issuingvelocitylimit.rb +1 -1
  190. data/lib/moov/models/components/jsonwebkey.rb +1 -1
  191. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  192. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +1 -1
  193. data/lib/moov/models/components/merchantcategories.rb +32 -0
  194. data/lib/moov/models/components/merchantcategories.rbi +13 -0
  195. data/lib/moov/models/components/merchantcategory.rb +37 -0
  196. data/lib/moov/models/components/merchantcategory.rbi +15 -0
  197. data/lib/moov/models/components/merchantcategoryrestrictions.rb +3 -3
  198. data/lib/moov/models/components/merchantentry.rb +6 -6
  199. data/lib/moov/models/components/merchantentry.rbi +2 -2
  200. data/lib/moov/models/components/merchantentryerror.rb +5 -5
  201. data/lib/moov/models/components/merchantentryerror.rbi +2 -2
  202. data/lib/moov/models/components/merchantrestrictions.rb +2 -2
  203. data/lib/moov/models/components/mode.rb +3 -1
  204. data/lib/moov/models/components/monthlyvolumerange.rb +3 -1
  205. data/lib/moov/models/components/moovfee.rb +1 -1
  206. data/lib/moov/models/components/moovfeedetails.rb +5 -5
  207. data/lib/moov/models/components/occurrencesresponse.rb +2 -2
  208. data/lib/moov/models/components/occurrencestatus.rb +3 -1
  209. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  210. data/lib/moov/models/components/partnerpricingagreement.rb +15 -7
  211. data/lib/moov/models/components/partnerpricingagreement.rbi +4 -0
  212. data/lib/moov/models/components/patchbusiness.rb +2 -2
  213. data/lib/moov/models/components/patchwallet.rb +1 -1
  214. data/lib/moov/models/components/paymentlink.rb +4 -6
  215. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetails.rb +0 -2
  216. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetailsupdate.rb +0 -2
  217. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
  218. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
  219. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +5 -7
  220. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +5 -7
  221. data/lib/moov/models/components/paymentlinkstatus.rb +3 -1
  222. data/lib/moov/models/components/paymentlinktype.rb +3 -1
  223. data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
  224. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  225. data/lib/moov/models/components/paymentmethodswallet.rb +2 -1
  226. data/lib/moov/models/components/paymentmethodtype.rb +4 -1
  227. data/lib/moov/models/components/pendinglitigation.rb +3 -1
  228. data/lib/moov/models/components/primaryregulator.rb +3 -1
  229. data/lib/moov/models/components/pullfromcardoptions.rb +39 -0
  230. data/lib/moov/models/components/pullfromcardoptions.rbi +15 -0
  231. data/lib/moov/models/components/pullfromcardtransactionstatus.rb +22 -0
  232. data/lib/moov/models/components/pullfromcardtransactionstatus.rbi +11 -0
  233. data/lib/moov/models/components/pullfromcardtransferprocessingdetails.rb +48 -0
  234. data/lib/moov/models/components/pullfromcardtransferprocessingdetails.rbi +21 -0
  235. data/lib/moov/models/components/pushdeliveryspeed.rb +3 -1
  236. data/lib/moov/models/components/pushoptions.rb +5 -4
  237. data/lib/moov/models/components/pushoptionsupdate.rb +5 -4
  238. data/lib/moov/models/components/pushtocardoptions.rb +32 -0
  239. data/lib/moov/models/components/pushtocardoptions.rbi +13 -0
  240. data/lib/moov/models/components/pushtocardtransactionstatus.rb +24 -0
  241. data/lib/moov/models/components/pushtocardtransactionstatus.rbi +11 -0
  242. data/lib/moov/models/components/pushtocardtransferprocessingdetails.rb +48 -0
  243. data/lib/moov/models/components/pushtocardtransferprocessingdetails.rbi +21 -0
  244. data/lib/moov/models/components/puttippresets.rb +1 -1
  245. data/lib/moov/models/components/refundpolicy.rb +3 -1
  246. data/lib/moov/models/components/refundprocessingdetails.rb +32 -0
  247. data/lib/moov/models/components/refundprocessingdetails.rbi +13 -0
  248. data/lib/moov/models/components/refundstatus.rb +3 -1
  249. data/lib/moov/models/components/requestcard.rb +1 -1
  250. data/lib/moov/models/components/requirementerror.rb +2 -2
  251. data/lib/moov/models/components/requirementerrorcode.rb +3 -1
  252. data/lib/moov/models/components/requirementid.rb +18 -1
  253. data/lib/moov/models/components/resolutionlink.rb +1 -1
  254. data/lib/moov/models/components/resolutionlinkstatus.rb +3 -1
  255. data/lib/moov/models/components/returnpolicytype.rb +3 -1
  256. data/lib/moov/models/components/reversalamountdetails.rb +3 -1
  257. data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
  258. data/lib/moov/models/components/rtprejectioncode.rb +3 -1
  259. data/lib/moov/models/components/schedulelistresponse.rb +1 -1
  260. data/lib/moov/models/components/scheduleresponse.rb +1 -1
  261. data/lib/moov/models/components/seccode.rb +3 -1
  262. data/lib/moov/models/components/sendfunds.rb +6 -2
  263. data/lib/moov/models/components/sendfunds.rbi +2 -0
  264. data/lib/moov/models/components/sendfundserror.rb +6 -2
  265. data/lib/moov/models/components/sendfundserror.rbi +2 -0
  266. data/lib/moov/models/components/sendfundswire.rb +32 -0
  267. data/lib/moov/models/components/sendfundswire.rbi +13 -0
  268. data/lib/moov/models/components/sendfundswireerror.rb +32 -0
  269. data/lib/moov/models/components/sendfundswireerror.rbi +13 -0
  270. data/lib/moov/models/components/sourcesystem.rb +3 -1
  271. data/lib/moov/models/components/statement.rb +6 -2
  272. data/lib/moov/models/components/statement.rbi +2 -0
  273. data/lib/moov/models/components/sweep.rb +1 -1
  274. data/lib/moov/models/components/sweepconfig.rb +3 -3
  275. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  276. data/lib/moov/models/components/sweepconfigstatus.rb +3 -1
  277. data/lib/moov/models/components/sweepstatus.rb +3 -1
  278. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  279. data/lib/moov/models/components/terminalapplication.rb +2 -2
  280. data/lib/moov/models/components/terminalapplicationplatform.rb +3 -1
  281. data/lib/moov/models/components/terminalapplicationstatus.rb +3 -1
  282. data/lib/moov/models/components/terminalcard.rb +2 -2
  283. data/lib/moov/models/components/ticket.rb +1 -1
  284. data/lib/moov/models/components/ticketstatus.rb +3 -1
  285. data/lib/moov/models/components/tipcalculationbasis.rb +3 -1
  286. data/lib/moov/models/components/tippresets.rb +1 -1
  287. data/lib/moov/models/components/transactionsource.rb +3 -1
  288. data/lib/moov/models/components/transfer.rb +28 -28
  289. data/lib/moov/models/components/transfer.rbi +8 -10
  290. data/lib/moov/models/components/transferauthorization.rb +52 -0
  291. data/lib/moov/models/components/transferauthorization.rbi +23 -0
  292. data/lib/moov/models/components/transferdestination.rb +5 -17
  293. data/lib/moov/models/components/transferdestination.rbi +0 -6
  294. data/lib/moov/models/components/transferfailurereason.rb +3 -1
  295. data/lib/moov/models/components/transferfeepaidby.rb +2 -2
  296. data/lib/moov/models/components/transferoptions.rb +3 -3
  297. data/lib/moov/models/components/transferparty.rb +3 -1
  298. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
  299. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  300. data/lib/moov/models/components/transferpaymentmethodswallet.rb +2 -1
  301. data/lib/moov/models/components/transferpaymentmethodtype.rb +4 -1
  302. data/lib/moov/models/components/transferprocessingdetails.rb +56 -0
  303. data/lib/moov/models/components/transferprocessingdetails.rbi +25 -0
  304. data/lib/moov/models/components/transferrailoptions.rb +52 -0
  305. data/lib/moov/models/components/transferrailoptions.rbi +23 -0
  306. data/lib/moov/models/components/transfersource.rb +9 -17
  307. data/lib/moov/models/components/transfersource.rbi +2 -6
  308. data/lib/moov/models/components/transferstatus.rb +4 -1
  309. data/lib/moov/models/components/transferterminalcard.rb +2 -2
  310. data/lib/moov/models/components/transfertype.rb +28 -0
  311. data/lib/moov/models/components/{cardtransactionstatus.rbi → transfertype.rbi} +2 -2
  312. data/lib/moov/models/components/underwriting.rb +12 -6
  313. data/lib/moov/models/components/underwriting.rbi +2 -0
  314. data/lib/moov/models/components/underwritingstatus.rb +3 -1
  315. data/lib/moov/models/components/updateevidence.rb +1 -1
  316. data/lib/moov/models/components/updateinvoice.rb +1 -1
  317. data/lib/moov/models/components/updateissuedcard.rb +2 -0
  318. data/lib/moov/models/components/updateissuedcardstate.rb +4 -0
  319. data/lib/moov/models/components/updateissuingcontrols.rb +5 -5
  320. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +1 -1
  321. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb +3 -3
  322. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb +3 -3
  323. data/lib/moov/models/components/updatepaymentlink.rb +1 -1
  324. data/lib/moov/models/components/updatewebhook.rb +1 -1
  325. data/lib/moov/models/components/upsertunderwriting.rb +11 -5
  326. data/lib/moov/models/components/upsertunderwriting.rbi +2 -0
  327. data/lib/moov/models/components/use.rb +3 -1
  328. data/lib/moov/models/components/verification.rb +3 -3
  329. data/lib/moov/models/components/verificationstatus.rb +3 -1
  330. data/lib/moov/models/components/verificationstatusdetail.rb +3 -1
  331. data/lib/moov/models/components/wallet.rb +3 -2
  332. data/lib/moov/models/components/walletstatus.rb +3 -1
  333. data/lib/moov/models/components/wallettransaction.rb +3 -3
  334. data/lib/moov/models/components/wallettransactionsourcetype.rb +3 -1
  335. data/lib/moov/models/components/wallettransactionstatus.rb +3 -1
  336. data/lib/moov/models/components/wallettransactiontype.rb +4 -1
  337. data/lib/moov/models/components/wallettype.rb +5 -1
  338. data/lib/moov/models/components/webhook.rb +1 -1
  339. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
  340. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
  341. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  342. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  343. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  344. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
  345. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
  346. data/lib/moov/models/components/webhookdatacaptureupdated.rb +44 -0
  347. data/lib/moov/models/components/webhookdatacaptureupdated.rbi +19 -0
  348. data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
  349. data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
  350. data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
  351. data/lib/moov/models/components/webhookdatainvoiceupdated.rb +1 -1
  352. data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
  353. data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
  354. data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
  355. data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
  356. data/lib/moov/models/components/webhookdataticketupdated.rb +1 -1
  357. data/lib/moov/models/components/webhookdatatransferstatus.rb +4 -0
  358. data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
  359. data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
  360. data/lib/moov/models/components/webhookevent.rb +3 -3
  361. data/lib/moov/models/components/webhookeventtype.rb +4 -1
  362. data/lib/moov/models/components/webhookstatus.rb +3 -1
  363. data/lib/moov/models/components/wirecreditpaymentmethod.rb +40 -0
  364. data/lib/moov/models/components/wirecreditpaymentmethod.rbi +17 -0
  365. data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rb +18 -0
  366. data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rbi +11 -0
  367. data/lib/moov/models/components/wirecredittransferpaymentmethod.rb +40 -0
  368. data/lib/moov/models/components/wirecredittransferpaymentmethod.rbi +17 -0
  369. data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rb +18 -0
  370. data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rbi +11 -0
  371. data/lib/moov/models/components/wirefailurecode.rb +28 -0
  372. data/lib/moov/models/components/wirefailurecode.rbi +11 -0
  373. data/lib/moov/models/components/wireoptions.rb +32 -0
  374. data/lib/moov/models/components/wireoptions.rbi +13 -0
  375. data/lib/moov/models/components/wiretransactionstatus.rb +23 -0
  376. data/lib/moov/models/components/wiretransactionstatus.rbi +11 -0
  377. data/lib/moov/models/components/wiretransferprocessingdetails.rb +40 -0
  378. data/lib/moov/models/components/wiretransferprocessingdetails.rbi +17 -0
  379. data/lib/moov/models/components.rb +48 -9
  380. data/lib/moov/models/errors/bankaccountattestationvalidationerror.rb +40 -0
  381. data/lib/moov/models/errors/bankaccountattestationvalidationerror.rbi +17 -0
  382. data/lib/moov/models/errors/capturevalidationerror.rb +68 -0
  383. data/lib/moov/models/errors/capturevalidationerror.rbi +31 -0
  384. data/lib/moov/models/errors/cardacquiringrefund_error.rb +12 -8
  385. data/lib/moov/models/errors/cardacquiringrefund_error.rbi +4 -2
  386. data/lib/moov/models/errors/imagemetadata_error.rb +61 -0
  387. data/lib/moov/models/errors/imagemetadata_error.rbi +27 -0
  388. data/lib/moov/models/errors/transfer_error.rb +28 -28
  389. data/lib/moov/models/errors/transfer_error.rbi +8 -10
  390. data/lib/moov/models/errors/upsertunderwritingerror.rb +6 -2
  391. data/lib/moov/models/errors/upsertunderwritingerror.rbi +2 -0
  392. data/lib/moov/models/errors.rb +3 -0
  393. data/lib/moov/models/operations/createbankaccountattestation_request.rb +40 -0
  394. data/lib/moov/models/operations/createbankaccountattestation_request.rbi +17 -0
  395. data/lib/moov/models/operations/createbankaccountattestation_response.rb +48 -0
  396. data/lib/moov/models/operations/createbankaccountattestation_response.rbi +21 -0
  397. data/lib/moov/models/operations/createcancellation_request.rb +6 -2
  398. data/lib/moov/models/operations/createcancellation_request.rbi +2 -0
  399. data/lib/moov/models/operations/createcapture_request.rb +44 -0
  400. data/lib/moov/models/operations/createcapture_request.rbi +19 -0
  401. data/lib/moov/models/operations/createcapture_response.rb +48 -0
  402. data/lib/moov/models/operations/createcapture_response.rbi +21 -0
  403. data/lib/moov/models/operations/createreversal_request.rb +3 -3
  404. data/lib/moov/models/operations/getbankaccountattestationeligibility_request.rb +41 -0
  405. data/lib/moov/models/operations/getbankaccountattestationeligibility_request.rbi +17 -0
  406. data/lib/moov/models/operations/getbankaccountattestationeligibility_response.rb +48 -0
  407. data/lib/moov/models/operations/getbankaccountattestationeligibility_response.rbi +21 -0
  408. data/lib/moov/models/operations/getcapture_request.rb +40 -0
  409. data/lib/moov/models/operations/getcapture_request.rbi +17 -0
  410. data/lib/moov/models/operations/getcapture_response.rb +48 -0
  411. data/lib/moov/models/operations/getcapture_response.rbi +21 -0
  412. data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
  413. data/lib/moov/models/operations/initiaterefund_request.rb +6 -6
  414. data/lib/moov/models/operations/initiaterefund_request.rbi +2 -2
  415. data/lib/moov/models/operations/listaccounts_request.rb +1 -1
  416. data/lib/moov/models/operations/listbankaccountattestations_request.rb +36 -0
  417. data/lib/moov/models/operations/listbankaccountattestations_request.rbi +15 -0
  418. data/lib/moov/models/operations/listbankaccountattestations_response.rb +48 -0
  419. data/lib/moov/models/operations/listbankaccountattestations_response.rbi +21 -0
  420. data/lib/moov/models/operations/listcaptures_request.rb +36 -0
  421. data/lib/moov/models/operations/listcaptures_request.rbi +15 -0
  422. data/lib/moov/models/operations/listcaptures_response.rb +48 -0
  423. data/lib/moov/models/operations/listcaptures_response.rbi +21 -0
  424. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
  425. data/lib/moov/models/operations/listdisputes_request.rb +1 -1
  426. data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
  427. data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
  428. data/lib/moov/models/operations/listinvoices_request.rb +1 -1
  429. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
  430. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
  431. data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
  432. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +7 -3
  433. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +2 -0
  434. data/lib/moov/models/operations/listissuingmerchantcategories_response.rb +48 -0
  435. data/lib/moov/models/operations/listissuingmerchantcategories_response.rbi +21 -0
  436. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
  437. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  438. data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
  439. data/lib/moov/models/operations/listproducts_request.rb +1 -1
  440. data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
  441. data/lib/moov/models/operations/listresiduals_request.rb +1 -1
  442. data/lib/moov/models/operations/listschedules_request.rb +1 -1
  443. data/lib/moov/models/operations/liststatements_request.rb +1 -1
  444. data/lib/moov/models/operations/listsweeps_request.rb +1 -1
  445. data/lib/moov/models/operations/listtickets_request.rb +1 -1
  446. data/lib/moov/models/operations/listtransfers_request.rb +8 -8
  447. data/lib/moov/models/operations/listtransfers_request.rbi +2 -2
  448. data/lib/moov/models/operations/listwallets_request.rb +1 -1
  449. data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
  450. data/lib/moov/models/operations/retrievefees_request.rb +1 -1
  451. data/lib/moov/models/operations.rb +13 -0
  452. data/lib/moov/payment_methods.rb +2 -2
  453. data/lib/moov/sdkconfiguration.rb +3 -3
  454. data/lib/moov/transfers.rb +446 -10
  455. data/lib/moov/utils/retries.rb +41 -2
  456. data/lib/moov/utils/utils.rb +6 -2
  457. data/lib/moov_ruby.rb +1 -1
  458. metadata +128 -18
  459. data/lib/moov/models/components/achtransactiondetails.rb +0 -92
  460. data/lib/moov/models/components/achtransactiondetails.rbi +0 -43
  461. data/lib/moov/models/components/cardacquiringdispute.rb +0 -40
  462. data/lib/moov/models/components/cardacquiringdispute.rbi +0 -17
  463. data/lib/moov/models/components/cardtransactiondetails.rb +0 -93
  464. data/lib/moov/models/components/cardtransactiondetails.rbi +0 -41
  465. data/lib/moov/models/components/instantbanktransactiondetails.rb +0 -64
  466. data/lib/moov/models/components/refundcarddetails.rb +0 -56
  467. data/lib/moov/models/components/refundcarddetails.rbi +0 -25
  468. data/lib/moov/models/components/transfercapture.rb +0 -36
  469. data/lib/moov/models/components/transfercapture.rbi +0 -15
@@ -2,28 +2,20 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Moov::Models::Components::InstantBankTransactionDetails
5
+ class Moov::Models::Components::InstantBankCreditTransferProcessingDetails
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::InstantBankTransactionDetails
11
- def network(); end
12
- def network=(str_); end
10
+ class Moov::Models::Components::InstantBankCreditTransferProcessingDetails
13
11
  def status(); end
14
12
  def status=(str_); end
13
+ def network(); end
14
+ def network=(str_); end
15
15
  def network_response_code(); end
16
16
  def network_response_code=(str_); end
17
17
  def failure_code(); end
18
18
  def failure_code=(str_); end
19
19
  def end_to_end_id(); end
20
20
  def end_to_end_id=(str_); end
21
- def initiated_on(); end
22
- def initiated_on=(str_); end
23
- def completed_on(); end
24
- def completed_on=(str_); end
25
- def failed_on(); end
26
- def failed_on=(str_); end
27
- def accepted_without_posting_on(); end
28
- def accepted_without_posting_on=(str_); end
29
21
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # InstantBankFailureCode - Status codes for instant-bank failures.
11
- class InstantBankFailureCode < T::Enum
11
+ class InstantBankFailureCode
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  PROCESSING_ERROR = new('processing-error')
14
15
  INVALID_ACCOUNT = new('invalid-account')
@@ -22,6 +23,7 @@ module Moov
22
23
  PARTICIPANT_NOT_AVAILABLE = new('participant-not-available')
23
24
  OTHER = new('other')
24
25
  end
26
+ open!
25
27
  end
26
28
  end
27
29
  end
@@ -8,11 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # InstantBankNetwork - The network that the transaction was processed on.
11
- class InstantBankNetwork < T::Enum
11
+ class InstantBankNetwork
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  FEDNOW = new('fednow')
14
15
  RTP = new('rtp')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # InstantBankTransactionStatus - Status of a transaction within the instant-bank lifecycle.
11
- class InstantBankTransactionStatus < T::Enum
11
+ class InstantBankTransactionStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  INITIATED = new('initiated')
14
15
  COMPLETED = new('completed')
15
16
  FAILED = new('failed')
16
17
  ACCEPTED_WITHOUT_POSTING = new('accepted-without-posting')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -25,7 +25,7 @@ module Moov
25
25
  # A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer).
26
26
  field :partner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerAccountID'), required: true } }
27
27
 
28
- field :status, Models::Components::InvoiceStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::InvoiceStatus, false) } }
28
+ field :status, Models::Components::InvoiceStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::InvoiceStatus, false) } }
29
29
  # A collection of line items for an invoice.
30
30
  field :line_items, Models::Components::InvoiceLineItems, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems'), required: true } }
31
31
 
@@ -15,7 +15,7 @@ module Moov
15
15
  # A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer).
16
16
  field :invoice_payment_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoicePaymentID'), required: true } }
17
17
 
18
- field :invoice_payment_type, Models::Components::InvoicePaymentType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoicePaymentType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::InvoicePaymentType, false) } }
18
+ field :invoice_payment_type, Models::Components::InvoicePaymentType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoicePaymentType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::InvoicePaymentType, false) } }
19
19
 
20
20
  field :amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
21
21
 
@@ -8,11 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class InvoicePaymentType < T::Enum
11
+ class InvoicePaymentType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  TRANSFER = new('transfer')
14
15
  EXTERNAL = new('external')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class InvoiceStatus < T::Enum
11
+ class InvoiceStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  DRAFT = new('draft')
14
15
  UNPAID = new('unpaid')
@@ -17,6 +18,7 @@ module Moov
17
18
  OVERDUE = new('overdue')
18
19
  CANCELED = new('canceled')
19
20
  end
21
+ open!
20
22
  end
21
23
  end
22
24
  end
@@ -15,7 +15,7 @@ module Moov
15
15
 
16
16
  field :issued_card_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuedCardID'), required: true } }
17
17
  # The card brand.
18
- field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardBrand, false) } }
18
+ field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardBrand, false) } }
19
19
 
20
20
  field :last_four_card_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber'), required: true } }
21
21
  # The expiration date of the card or token.
@@ -25,8 +25,9 @@ module Moov
25
25
  # The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.
26
26
  #
27
27
  # - `active`: The card is operational and can approve authorizations.
28
+ # - `frozen`: The card is temporarily suspended and cannot approve authorizations. A frozen card can be reactivated by setting its state back to `active`.
28
29
  # - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
29
- field :state, Models::Components::IssuedCardState, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('state'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardState, false) } }
30
+ field :state, Models::Components::IssuedCardState, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('state'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuedCardState, false) } }
30
31
  # Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
31
32
  field :form_factor, Models::Components::IssuedCardFormFactor, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('formFactor'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardFormFactor, false) } }
32
33
 
@@ -19,11 +19,11 @@ module Moov
19
19
 
20
20
  field :funding_wallet_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fundingWalletID'), required: true } }
21
21
  # The name of the network a card transaction is routed through.
22
- field :network, Models::Components::CardIssuingNetwork, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('network'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardIssuingNetwork, false) } }
22
+ field :network, Models::Components::CardIssuingNetwork, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('network'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardIssuingNetwork, false) } }
23
23
  # A decimal-formatted numerical string that represents up to 2 decimal place precision. In USD for example, 12.34 is $12.34 and 0.99 is $0.99.
24
24
  field :authorized_amount, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedAmount'), required: true } }
25
25
  # Status of a card issuing authorization.
26
- field :status, Models::Components::IssuingAuthorizationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuingAuthorizationStatus, false) } }
26
+ field :status, Models::Components::IssuingAuthorizationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingAuthorizationStatus, false) } }
27
27
 
28
28
  field :merchant_data, Models::Components::IssuingMerchantData, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantData'), required: true } }
29
29
 
@@ -15,11 +15,11 @@ module Moov
15
15
  # The identifier for this event. Use the `eventType` field to determine what resource is identified by this ID (`authorization`, `reversal`, etc.).
16
16
  field :event_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventID'), required: true } }
17
17
  # The type of event that occurred on the card.
18
- field :event_type, Models::Components::IssuedCardEventType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardEventType, false) } }
18
+ field :event_type, Models::Components::IssuedCardEventType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuedCardEventType, false) } }
19
19
  # A decimal-formatted numerical string that represents up to 2 decimal place precision. In USD for example, 12.34 is $12.34 and 0.99 is $0.99.
20
20
  field :amount, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
21
21
  # The result of an event.
22
- field :result, Models::Components::IssuedCardAuthorizationEventResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('result'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardAuthorizationEventResult, false) } }
22
+ field :result, Models::Components::IssuedCardAuthorizationEventResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('result'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuedCardAuthorizationEventResult, false) } }
23
23
 
24
24
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
25
25
 
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # IssuedCardAuthorizationEventResult - The result of an event.
11
- class IssuedCardAuthorizationEventResult < T::Enum
11
+ class IssuedCardAuthorizationEventResult
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  APPROVED = new('approved')
14
15
  DECLINED = new('declined')
15
16
  PROCESSED = new('processed')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # IssuedCardEventType - The type of event that occurred on the card.
11
- class IssuedCardEventType < T::Enum
11
+ class IssuedCardEventType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  AUTHORIZATION = new('authorization')
14
15
  REVERSAL = new('reversal')
@@ -17,6 +18,7 @@ module Moov
17
18
  AUTHORIZATION_INCREMENTAL = new('authorization-incremental')
18
19
  CLEARING = new('clearing')
19
20
  end
21
+ open!
20
22
  end
21
23
  end
22
24
  end
@@ -10,12 +10,16 @@ module Moov
10
10
  # IssuedCardState - The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.
11
11
  #
12
12
  # - `active`: The card is operational and can approve authorizations.
13
+ # - `frozen`: The card is temporarily suspended and cannot approve authorizations. A frozen card can be reactivated by setting its state back to `active`.
13
14
  # - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
14
- class IssuedCardState < T::Enum
15
+ class IssuedCardState
16
+ include ::Crystalline::Enum
15
17
  enums do
16
18
  ACTIVE = new('active')
19
+ FROZEN = new('frozen')
17
20
  CLOSED = new('closed')
18
21
  end
22
+ open!
19
23
  end
20
24
  end
21
25
  end
@@ -18,9 +18,9 @@ module Moov
18
18
  field :velocity_limits, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::IssuedVelocityLimit)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('velocityLimits') } }
19
19
  # Restricts card usage by merchant category. When not set, all categories are allowed.
20
20
  field :merchant_category_restrictions, Crystalline::Nilable.new(Models::Components::MerchantCategoryRestrictions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantCategoryRestrictions') } }
21
- # Restricts card usage to specific merchants, or blocks specific merchants.
21
+ # Restricts card usage to specific merchants, independent of merchant category.
22
22
  field :merchant_restrictions, Crystalline::Nilable.new(Models::Components::MerchantRestrictions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantRestrictions') } }
23
- # Limits card usage to specific days and times.
23
+
24
24
  field :allowed_schedule, Crystalline::Nilable.new(Models::Components::IssuedControlsAllowedSchedule), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedSchedule') } }
25
25
  # A spend cutoff date and time. When set, all authorizations after this datetime are declined regardless of other controls.
26
26
  field :expires_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiresOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
@@ -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.
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # IssuingAuthorizationStatus - Status of a card issuing authorization.
11
- class IssuingAuthorizationStatus < T::Enum
11
+ class IssuingAuthorizationStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  PENDING = new('pending')
14
15
  DECLINED = new('declined')
@@ -16,6 +17,7 @@ module Moov
16
17
  CLEARED = new('cleared')
17
18
  EXPIRED = new('expired')
18
19
  end
20
+ open!
19
21
  end
20
22
  end
21
23
  end
@@ -7,7 +7,7 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
-
10
+ # Mutable spend controls for the card.
11
11
  class IssuingControls
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
@@ -18,9 +18,9 @@ module Moov
18
18
  field :velocity_limits, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::IssuingVelocityLimit)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('velocityLimits') } }
19
19
  # Restricts card usage by merchant category. When not set, all categories are allowed.
20
20
  field :merchant_category_restrictions, Crystalline::Nilable.new(Models::Components::MerchantCategoryRestrictions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantCategoryRestrictions') } }
21
- # Restricts card usage to specific merchants, or blocks specific merchants.
21
+ # Restricts card usage to specific merchants, independent of merchant category.
22
22
  field :merchant_restrictions, Crystalline::Nilable.new(Models::Components::MerchantRestrictions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantRestrictions') } }
23
- # Limits card usage to specific days and times. Set to `null` to remove all schedule restrictions.
23
+
24
24
  field :allowed_schedule, Crystalline::Nilable.new(Models::Components::IssuingControlsAllowedSchedule), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedSchedule') } }
25
25
  # A spend cutoff date and time. When set, all authorizations after this datetime are declined regardless of other controls. Set to `null` for no cutoff.
26
26
  field :expires_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiresOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
@@ -7,7 +7,7 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # Limits card usage to specific days and times. Set to `null` to remove all schedule restrictions.
10
+ # Limits card usage to specific days and times.
11
11
  class IssuingControlsAllowedSchedule
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
@@ -7,12 +7,14 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # IssuingControlsRestrictionMode - Whether the listed items are the only ones allowed (`allow`) or the ones to block (`block`).
11
- class IssuingControlsRestrictionMode < T::Enum
10
+ # IssuingControlsRestrictionMode - Whether the listed items should be allowed (`allow`) or blocked (`block`).
11
+ class IssuingControlsRestrictionMode
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  ALLOW = new('allow')
14
15
  BLOCK = new('block')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -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
 
@@ -0,0 +1,32 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # The predefined merchant category groups available for issued card spend controls.
11
+ class MerchantCategories
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :merchant_categories, Crystalline::Array.new(Models::Components::MerchantCategory), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantCategories'), required: true } }
17
+
18
+ sig { params(merchant_categories: T::Array[Models::Components::MerchantCategory]).void }
19
+ def initialize(merchant_categories:)
20
+ @merchant_categories = merchant_categories
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @merchant_categories == other.merchant_categories
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::MerchantCategories
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::MerchantCategories
11
+ def merchant_categories(); end
12
+ def merchant_categories=(str_); end
13
+ end
@@ -0,0 +1,37 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # A predefined merchant category group and the merchant category codes (MCCs) it covers.
11
+ class MerchantCategory
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
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.open_enum_from_string(Models::Components::IssuingMerchantCategory, false) } }
17
+ # The merchant category codes (MCCs) covered by this category. Each entry is either a single
18
+ # 4-digit MCC, such as `4511`, or an inclusive range of MCCs, such as `3000-3299`.
19
+ field :mccs, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mccs'), required: true } }
20
+
21
+ sig { params(category: Models::Components::IssuingMerchantCategory, mccs: T::Array[::String]).void }
22
+ def initialize(category:, mccs:)
23
+ @category = category
24
+ @mccs = mccs
25
+ end
26
+
27
+ sig { params(other: T.untyped).returns(T::Boolean) }
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @category == other.category
31
+ return false unless @mccs == other.mccs
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::MerchantCategory
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::MerchantCategory
11
+ def category(); end
12
+ def category=(str_); end
13
+ def mccs(); end
14
+ def mccs=(str_); end
15
+ end
@@ -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