moov_ruby 26.10.0.pre.dev.2 → 26.10.0.pre.dev.3

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 (398) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/module.rb +1 -1
  3. data/lib/moov/bank_accounts.rb +439 -0
  4. data/lib/moov/card_issuing.rb +1 -1
  5. data/lib/moov/images.rb +17 -2
  6. data/lib/moov/institutions.rb +1 -1
  7. data/lib/moov/models/components/account.rb +2 -2
  8. data/lib/moov/models/components/accountnameverification.rb +4 -4
  9. data/lib/moov/models/components/accounttype.rb +3 -1
  10. data/lib/moov/models/components/accountverificationstatus.rb +3 -1
  11. data/lib/moov/models/components/achcredittransferprocessingdetails.rb +6 -2
  12. data/lib/moov/models/components/achcredittransferprocessingdetails.rbi +2 -0
  13. data/lib/moov/models/components/achdebitoptions.rb +2 -2
  14. data/lib/moov/models/components/achdebittransferprocessingdetails.rb +6 -2
  15. data/lib/moov/models/components/achdebittransferprocessingdetails.rbi +2 -0
  16. data/lib/moov/models/components/achreturncode.rb +3 -1
  17. data/lib/moov/models/components/achtransactionstatus.rb +26 -0
  18. data/lib/moov/models/components/achtransactionstatus.rbi +11 -0
  19. data/lib/moov/models/components/adjustmentfees.rb +11 -15
  20. data/lib/moov/models/components/adjustmentfees.rbi +4 -4
  21. data/lib/moov/models/components/amountdecimalrange.rb +0 -2
  22. data/lib/moov/models/components/amountdecimalrangeupdate.rb +0 -2
  23. data/lib/moov/models/components/applepayresponse.rb +2 -2
  24. data/lib/moov/models/components/applicationscope.rb +4 -2
  25. data/lib/moov/models/components/asynccreatedrefund.rb +1 -1
  26. data/lib/moov/models/components/authmethod.rb +3 -1
  27. data/lib/moov/models/components/bankaccount.rb +4 -4
  28. data/lib/moov/models/components/bankaccountattestation.rb +52 -0
  29. data/lib/moov/models/components/bankaccountattestation.rbi +23 -0
  30. data/lib/moov/models/components/bankaccountattestationeligibility.rb +36 -0
  31. data/lib/moov/models/components/bankaccountattestationeligibility.rbi +15 -0
  32. data/lib/moov/models/components/bankaccountattestationsummary.rb +44 -0
  33. data/lib/moov/models/components/bankaccountattestationsummary.rbi +19 -0
  34. data/lib/moov/models/components/bankaccountexception.rb +2 -2
  35. data/lib/moov/models/components/bankaccountholdertype.rb +3 -1
  36. data/lib/moov/models/components/bankaccountintegration.rb +2 -2
  37. data/lib/moov/models/components/bankaccountstatus.rb +3 -1
  38. data/lib/moov/models/components/bankaccountstatusreason.rb +3 -1
  39. data/lib/moov/models/components/bankaccounttype.rb +3 -1
  40. data/lib/moov/models/components/bankaccountverification.rb +2 -2
  41. data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
  42. data/lib/moov/models/components/bankaccountverificationmethod.rb +3 -1
  43. data/lib/moov/models/components/bankaccountverificationstatus.rb +3 -1
  44. data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
  45. data/lib/moov/models/components/billablefee.rb +2 -2
  46. data/lib/moov/models/components/billingadjustment.rb +40 -0
  47. data/lib/moov/models/components/billingadjustment.rbi +17 -0
  48. data/lib/moov/models/components/billingsummary.rb +8 -4
  49. data/lib/moov/models/components/billingsummary.rbi +2 -0
  50. data/lib/moov/models/components/billingsummary_adjustmentfees.rb +40 -0
  51. data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +15 -0
  52. data/lib/moov/models/components/businesspresence.rb +3 -1
  53. data/lib/moov/models/components/businessprofile.rb +2 -2
  54. data/lib/moov/models/components/businesstype.rb +3 -1
  55. data/lib/moov/models/components/calltoaction.rb +3 -1
  56. data/lib/moov/models/components/cancellation.rb +2 -2
  57. data/lib/moov/models/components/cancellationstatus.rb +3 -1
  58. data/lib/moov/models/components/capability.rb +2 -2
  59. data/lib/moov/models/components/capabilityid.rb +3 -1
  60. data/lib/moov/models/components/capabilitystatus.rb +3 -1
  61. data/lib/moov/models/components/capture.rb +11 -6
  62. data/lib/moov/models/components/capture.rbi +2 -0
  63. data/lib/moov/models/components/capturestatus.rb +3 -3
  64. data/lib/moov/models/components/card.rb +4 -4
  65. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  66. data/lib/moov/models/components/cardacquiringmodel.rb +3 -1
  67. data/lib/moov/models/components/cardacquiringrefund.rb +2 -2
  68. data/lib/moov/models/components/cardbrand.rb +3 -1
  69. data/lib/moov/models/components/cardissuing.rb +34 -0
  70. data/lib/moov/models/components/cardissuing.rbi +13 -0
  71. data/lib/moov/models/components/cardissuingerror.rb +32 -0
  72. data/lib/moov/models/components/cardissuingerror.rbi +13 -0
  73. data/lib/moov/models/components/cardissuingnetwork.rb +3 -1
  74. data/lib/moov/models/components/cardmetadata.rb +4 -4
  75. data/lib/moov/models/components/cardpaymentoptions.rb +1 -1
  76. data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rb +1 -1
  77. data/lib/moov/models/components/cardpaymenttransactionstatus.rb +25 -0
  78. data/lib/moov/models/components/cardpaymenttransactionstatus.rbi +11 -0
  79. data/lib/moov/models/components/cardpaymenttransferprocessingdetails.rb +11 -7
  80. data/lib/moov/models/components/cardpaymenttransferprocessingdetails.rbi +4 -2
  81. data/lib/moov/models/components/cardtransactionfailurecode.rb +19 -1
  82. data/lib/moov/models/components/cardtype.rb +3 -1
  83. data/lib/moov/models/components/cardupdatereason.rb +3 -1
  84. data/lib/moov/models/components/cardverification.rb +3 -3
  85. data/lib/moov/models/components/cardverificationresult.rb +3 -1
  86. data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
  87. data/lib/moov/models/components/collectionpaymentmethodtype.rb +3 -1
  88. data/lib/moov/models/components/createaccount.rb +2 -2
  89. data/lib/moov/models/components/createaccounttype.rb +3 -1
  90. data/lib/moov/models/components/createbankaccountattestation.rb +36 -0
  91. data/lib/moov/models/components/createbankaccountattestation.rbi +15 -0
  92. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  93. data/lib/moov/models/components/createcancellation.rb +4 -2
  94. data/lib/moov/models/components/createcapture.rb +7 -4
  95. data/lib/moov/models/components/createdtransfer.rb +9 -5
  96. data/lib/moov/models/components/createevidencetext.rb +1 -1
  97. data/lib/moov/models/components/createfeeplanagreement.rb +13 -3
  98. data/lib/moov/models/components/createfeeplanagreement.rbi +2 -0
  99. data/lib/moov/models/components/createpaymentlink.rb +1 -1
  100. data/lib/moov/models/components/createrefund.rb +2 -2
  101. data/lib/moov/models/components/createreversal.rb +4 -1
  102. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  103. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  104. data/lib/moov/models/components/createtippresets.rb +1 -1
  105. data/lib/moov/models/components/createtransfer.rb +1 -1
  106. data/lib/moov/models/components/createtransferdestination.rb +6 -2
  107. data/lib/moov/models/components/createtransferdestination.rbi +2 -0
  108. data/lib/moov/models/components/createtransferdestinationwire.rb +32 -0
  109. data/lib/moov/models/components/createtransferdestinationwire.rbi +13 -0
  110. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  111. data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
  112. data/lib/moov/models/components/createwebhook.rb +1 -1
  113. data/lib/moov/models/components/debitholdperiod.rb +3 -1
  114. data/lib/moov/models/components/depositaccountingestedresponse.rb +1 -1
  115. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +3 -1
  116. data/lib/moov/models/components/dispute.rb +2 -2
  117. data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
  118. data/lib/moov/models/components/disputephase.rb +3 -1
  119. data/lib/moov/models/components/disputestatus.rb +3 -1
  120. data/lib/moov/models/components/document.rb +1 -1
  121. data/lib/moov/models/components/documenttype.rb +3 -1
  122. data/lib/moov/models/components/domesticpullfromcard.rb +3 -1
  123. data/lib/moov/models/components/domesticpushtocard.rb +3 -1
  124. data/lib/moov/models/components/estimatedactivity.rb +1 -1
  125. data/lib/moov/models/components/evidencetextresponse.rb +1 -1
  126. data/lib/moov/models/components/evidencetype.rb +3 -1
  127. data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
  128. data/lib/moov/models/components/facilitatorfee.rb +6 -17
  129. data/lib/moov/models/components/facilitatorfee.rbi +0 -4
  130. data/lib/moov/models/components/feecategory.rb +3 -1
  131. data/lib/moov/models/components/feemodel.rb +3 -1
  132. data/lib/moov/models/components/feepaidby.rb +4 -2
  133. data/lib/moov/models/components/feeplan.rb +1 -1
  134. data/lib/moov/models/components/feeplanagreement.rb +12 -4
  135. data/lib/moov/models/components/feeplanagreement.rbi +4 -0
  136. data/lib/moov/models/components/feeplanagreementstatus.rb +3 -1
  137. data/lib/moov/models/components/filedetails.rb +2 -2
  138. data/lib/moov/models/components/filepurpose.rb +3 -1
  139. data/lib/moov/models/components/filestatus.rb +3 -1
  140. data/lib/moov/models/components/fulfillment.rb +2 -2
  141. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  142. data/lib/moov/models/components/fulfillmentmethod.rb +3 -1
  143. data/lib/moov/models/components/fulfillmenttimeframe.rb +3 -1
  144. data/lib/moov/models/components/fullissuedcard.rb +3 -2
  145. data/lib/moov/models/components/geographicreach.rb +3 -1
  146. data/lib/moov/models/components/googlepayresponse.rb +3 -3
  147. data/lib/moov/models/components/incurredfee.rb +1 -1
  148. data/lib/moov/models/components/instantbankcredittransferprocessingdetails.rb +8 -4
  149. data/lib/moov/models/components/instantbankcredittransferprocessingdetails.rbi +2 -0
  150. data/lib/moov/models/components/instantbankfailurecode.rb +3 -1
  151. data/lib/moov/models/components/instantbanknetwork.rb +3 -1
  152. data/lib/moov/models/components/instantbanktransactionstatus.rb +23 -0
  153. data/lib/moov/models/components/instantbanktransactionstatus.rbi +11 -0
  154. data/lib/moov/models/components/invoice.rb +1 -1
  155. data/lib/moov/models/components/invoicepayment.rb +1 -1
  156. data/lib/moov/models/components/invoicepaymenttype.rb +3 -1
  157. data/lib/moov/models/components/invoicestatus.rb +3 -1
  158. data/lib/moov/models/components/issuedcard.rb +3 -2
  159. data/lib/moov/models/components/issuedcardauthorization.rb +2 -2
  160. data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
  161. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +3 -1
  162. data/lib/moov/models/components/issuedcardeventtype.rb +3 -1
  163. data/lib/moov/models/components/issuedcardstate.rb +5 -1
  164. data/lib/moov/models/components/issuedcontrols.rb +2 -2
  165. data/lib/moov/models/components/issuedvelocitylimit.rb +1 -1
  166. data/lib/moov/models/components/issuingauthorizationstatus.rb +3 -1
  167. data/lib/moov/models/components/issuingcontrols.rb +3 -3
  168. data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +1 -1
  169. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rb +4 -2
  170. data/lib/moov/models/components/issuingintervallimit.rb +3 -1
  171. data/lib/moov/models/components/issuingmerchantcategory.rb +3 -1
  172. data/lib/moov/models/components/issuingvelocitylimit.rb +1 -1
  173. data/lib/moov/models/components/jsonwebkey.rb +1 -1
  174. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  175. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +1 -1
  176. data/lib/moov/models/components/merchantcategory.rb +1 -1
  177. data/lib/moov/models/components/merchantcategoryrestrictions.rb +3 -3
  178. data/lib/moov/models/components/merchantentry.rb +6 -6
  179. data/lib/moov/models/components/merchantentry.rbi +2 -2
  180. data/lib/moov/models/components/merchantentryerror.rb +5 -5
  181. data/lib/moov/models/components/merchantentryerror.rbi +2 -2
  182. data/lib/moov/models/components/merchantrestrictions.rb +2 -2
  183. data/lib/moov/models/components/mode.rb +3 -1
  184. data/lib/moov/models/components/monthlyvolumerange.rb +3 -1
  185. data/lib/moov/models/components/moovfee.rb +1 -1
  186. data/lib/moov/models/components/occurrencesresponse.rb +2 -2
  187. data/lib/moov/models/components/occurrencestatus.rb +3 -1
  188. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  189. data/lib/moov/models/components/partnerpricingagreement.rb +15 -7
  190. data/lib/moov/models/components/partnerpricingagreement.rbi +4 -0
  191. data/lib/moov/models/components/patchbusiness.rb +2 -2
  192. data/lib/moov/models/components/patchwallet.rb +1 -1
  193. data/lib/moov/models/components/paymentlink.rb +4 -6
  194. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetails.rb +0 -2
  195. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetailsupdate.rb +0 -2
  196. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
  197. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
  198. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +5 -7
  199. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +5 -7
  200. data/lib/moov/models/components/paymentlinkstatus.rb +3 -1
  201. data/lib/moov/models/components/paymentlinktype.rb +3 -1
  202. data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
  203. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  204. data/lib/moov/models/components/paymentmethodswallet.rb +1 -1
  205. data/lib/moov/models/components/paymentmethodtype.rb +4 -1
  206. data/lib/moov/models/components/pendinglitigation.rb +3 -1
  207. data/lib/moov/models/components/primaryregulator.rb +3 -1
  208. data/lib/moov/models/components/pullfromcardoptions.rb +1 -1
  209. data/lib/moov/models/components/pullfromcardtransactionstatus.rb +22 -0
  210. data/lib/moov/models/components/pullfromcardtransactionstatus.rbi +11 -0
  211. data/lib/moov/models/components/pullfromcardtransferprocessingdetails.rb +7 -3
  212. data/lib/moov/models/components/pullfromcardtransferprocessingdetails.rbi +2 -0
  213. data/lib/moov/models/components/pushdeliveryspeed.rb +3 -1
  214. data/lib/moov/models/components/pushoptions.rb +5 -4
  215. data/lib/moov/models/components/pushoptionsupdate.rb +5 -4
  216. data/lib/moov/models/components/pushtocardtransactionstatus.rb +24 -0
  217. data/lib/moov/models/components/pushtocardtransactionstatus.rbi +11 -0
  218. data/lib/moov/models/components/pushtocardtransferprocessingdetails.rb +7 -3
  219. data/lib/moov/models/components/pushtocardtransferprocessingdetails.rbi +2 -0
  220. data/lib/moov/models/components/puttippresets.rb +1 -1
  221. data/lib/moov/models/components/refundpolicy.rb +3 -1
  222. data/lib/moov/models/components/refundstatus.rb +3 -1
  223. data/lib/moov/models/components/requestcard.rb +1 -1
  224. data/lib/moov/models/components/requirementerror.rb +2 -2
  225. data/lib/moov/models/components/requirementerrorcode.rb +3 -1
  226. data/lib/moov/models/components/requirementid.rb +18 -1
  227. data/lib/moov/models/components/resolutionlink.rb +1 -1
  228. data/lib/moov/models/components/resolutionlinkstatus.rb +3 -1
  229. data/lib/moov/models/components/returnpolicytype.rb +3 -1
  230. data/lib/moov/models/components/reversalamountdetails.rb +3 -1
  231. data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
  232. data/lib/moov/models/components/rtprejectioncode.rb +3 -1
  233. data/lib/moov/models/components/schedulelistresponse.rb +1 -1
  234. data/lib/moov/models/components/scheduleresponse.rb +1 -1
  235. data/lib/moov/models/components/seccode.rb +3 -1
  236. data/lib/moov/models/components/sourcesystem.rb +3 -1
  237. data/lib/moov/models/components/statement.rb +6 -2
  238. data/lib/moov/models/components/statement.rbi +2 -0
  239. data/lib/moov/models/components/sweep.rb +1 -1
  240. data/lib/moov/models/components/sweepconfig.rb +3 -3
  241. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  242. data/lib/moov/models/components/sweepconfigstatus.rb +3 -1
  243. data/lib/moov/models/components/sweepstatus.rb +3 -1
  244. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  245. data/lib/moov/models/components/terminalapplication.rb +2 -2
  246. data/lib/moov/models/components/terminalapplicationplatform.rb +3 -1
  247. data/lib/moov/models/components/terminalapplicationstatus.rb +3 -1
  248. data/lib/moov/models/components/terminalcard.rb +2 -2
  249. data/lib/moov/models/components/ticket.rb +1 -1
  250. data/lib/moov/models/components/ticketstatus.rb +3 -1
  251. data/lib/moov/models/components/tipcalculationbasis.rb +3 -1
  252. data/lib/moov/models/components/tippresets.rb +1 -1
  253. data/lib/moov/models/components/transactionsource.rb +3 -1
  254. data/lib/moov/models/components/transfer.rb +9 -5
  255. data/lib/moov/models/components/transferauthorization.rb +7 -7
  256. data/lib/moov/models/components/transferdestination.rb +1 -1
  257. data/lib/moov/models/components/transferfailurereason.rb +3 -1
  258. data/lib/moov/models/components/transferfeepaidby.rb +2 -2
  259. data/lib/moov/models/components/transferoptions.rb +3 -3
  260. data/lib/moov/models/components/transferparty.rb +3 -1
  261. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
  262. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  263. data/lib/moov/models/components/transferpaymentmethodswallet.rb +1 -1
  264. data/lib/moov/models/components/transferpaymentmethodtype.rb +4 -1
  265. data/lib/moov/models/components/transferprocessingdetails.rb +6 -2
  266. data/lib/moov/models/components/transferprocessingdetails.rbi +2 -0
  267. data/lib/moov/models/components/transferrailoptions.rb +6 -2
  268. data/lib/moov/models/components/transferrailoptions.rbi +2 -0
  269. data/lib/moov/models/components/transfersource.rb +1 -1
  270. data/lib/moov/models/components/transferstatus.rb +3 -1
  271. data/lib/moov/models/components/transferterminalcard.rb +2 -2
  272. data/lib/moov/models/components/transfertype.rb +4 -1
  273. data/lib/moov/models/components/underwriting.rb +12 -6
  274. data/lib/moov/models/components/underwriting.rbi +2 -0
  275. data/lib/moov/models/components/underwritingstatus.rb +3 -1
  276. data/lib/moov/models/components/updateevidence.rb +1 -1
  277. data/lib/moov/models/components/updateinvoice.rb +1 -1
  278. data/lib/moov/models/components/updateissuedcard.rb +2 -0
  279. data/lib/moov/models/components/updateissuedcardstate.rb +4 -0
  280. data/lib/moov/models/components/updateissuingcontrols.rb +5 -5
  281. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +1 -1
  282. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb +3 -3
  283. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb +3 -3
  284. data/lib/moov/models/components/updatepaymentlink.rb +1 -1
  285. data/lib/moov/models/components/updatewebhook.rb +1 -1
  286. data/lib/moov/models/components/upsertunderwriting.rb +11 -5
  287. data/lib/moov/models/components/upsertunderwriting.rbi +2 -0
  288. data/lib/moov/models/components/use.rb +3 -1
  289. data/lib/moov/models/components/verification.rb +3 -3
  290. data/lib/moov/models/components/verificationstatus.rb +3 -1
  291. data/lib/moov/models/components/verificationstatusdetail.rb +3 -1
  292. data/lib/moov/models/components/wallet.rb +2 -2
  293. data/lib/moov/models/components/walletstatus.rb +3 -1
  294. data/lib/moov/models/components/wallettransaction.rb +3 -3
  295. data/lib/moov/models/components/wallettransactionsourcetype.rb +3 -1
  296. data/lib/moov/models/components/wallettransactionstatus.rb +3 -1
  297. data/lib/moov/models/components/wallettransactiontype.rb +4 -1
  298. data/lib/moov/models/components/wallettype.rb +3 -1
  299. data/lib/moov/models/components/webhook.rb +1 -1
  300. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
  301. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
  302. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  303. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  304. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  305. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
  306. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
  307. data/lib/moov/models/components/webhookdatacaptureupdated.rb +44 -0
  308. data/lib/moov/models/components/webhookdatacaptureupdated.rbi +19 -0
  309. data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
  310. data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
  311. data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
  312. data/lib/moov/models/components/webhookdatainvoiceupdated.rb +1 -1
  313. data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
  314. data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
  315. data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
  316. data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
  317. data/lib/moov/models/components/webhookdataticketupdated.rb +1 -1
  318. data/lib/moov/models/components/webhookdatatransferstatus.rb +1 -0
  319. data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
  320. data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
  321. data/lib/moov/models/components/webhookevent.rb +3 -3
  322. data/lib/moov/models/components/webhookeventtype.rb +4 -1
  323. data/lib/moov/models/components/webhookstatus.rb +3 -1
  324. data/lib/moov/models/components/wirecreditpaymentmethod.rb +40 -0
  325. data/lib/moov/models/components/wirecreditpaymentmethod.rbi +17 -0
  326. data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rb +18 -0
  327. data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rbi +11 -0
  328. data/lib/moov/models/components/wirecredittransferpaymentmethod.rb +40 -0
  329. data/lib/moov/models/components/wirecredittransferpaymentmethod.rbi +17 -0
  330. data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rb +18 -0
  331. data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rbi +11 -0
  332. data/lib/moov/models/components/wirefailurecode.rb +28 -0
  333. data/lib/moov/models/components/wirefailurecode.rbi +11 -0
  334. data/lib/moov/models/components/wireoptions.rb +32 -0
  335. data/lib/moov/models/components/wireoptions.rbi +13 -0
  336. data/lib/moov/models/components/wiretransactionstatus.rb +23 -0
  337. data/lib/moov/models/components/wiretransactionstatus.rbi +11 -0
  338. data/lib/moov/models/components/wiretransferprocessingdetails.rb +40 -0
  339. data/lib/moov/models/components/wiretransferprocessingdetails.rbi +17 -0
  340. data/lib/moov/models/components.rb +24 -1
  341. data/lib/moov/models/errors/bankaccountattestationvalidationerror.rb +40 -0
  342. data/lib/moov/models/errors/bankaccountattestationvalidationerror.rbi +17 -0
  343. data/lib/moov/models/errors/cardacquiringrefund_error.rb +2 -2
  344. data/lib/moov/models/errors/imagemetadata_error.rb +61 -0
  345. data/lib/moov/models/errors/imagemetadata_error.rbi +27 -0
  346. data/lib/moov/models/errors/transfer_error.rb +9 -5
  347. data/lib/moov/models/errors/upsertunderwritingerror.rb +6 -2
  348. data/lib/moov/models/errors/upsertunderwritingerror.rbi +2 -0
  349. data/lib/moov/models/errors.rb +2 -0
  350. data/lib/moov/models/operations/createbankaccountattestation_request.rb +40 -0
  351. data/lib/moov/models/operations/createbankaccountattestation_request.rbi +17 -0
  352. data/lib/moov/models/operations/createbankaccountattestation_response.rb +48 -0
  353. data/lib/moov/models/operations/createbankaccountattestation_response.rbi +21 -0
  354. data/lib/moov/models/operations/createcapture_request.rb +2 -2
  355. data/lib/moov/models/operations/getbankaccountattestationeligibility_request.rb +41 -0
  356. data/lib/moov/models/operations/getbankaccountattestationeligibility_request.rbi +17 -0
  357. data/lib/moov/models/operations/getbankaccountattestationeligibility_response.rb +48 -0
  358. data/lib/moov/models/operations/getbankaccountattestationeligibility_response.rbi +21 -0
  359. data/lib/moov/models/operations/getcapture_request.rb +2 -2
  360. data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
  361. data/lib/moov/models/operations/listaccounts_request.rb +1 -1
  362. data/lib/moov/models/operations/listbankaccountattestations_request.rb +36 -0
  363. data/lib/moov/models/operations/listbankaccountattestations_request.rbi +15 -0
  364. data/lib/moov/models/operations/listbankaccountattestations_response.rb +48 -0
  365. data/lib/moov/models/operations/listbankaccountattestations_response.rbi +21 -0
  366. data/lib/moov/models/operations/listcaptures_request.rb +2 -2
  367. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
  368. data/lib/moov/models/operations/listdisputes_request.rb +1 -1
  369. data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
  370. data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
  371. data/lib/moov/models/operations/listinvoices_request.rb +1 -1
  372. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
  373. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
  374. data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
  375. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +7 -3
  376. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +2 -0
  377. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
  378. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  379. data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
  380. data/lib/moov/models/operations/listproducts_request.rb +1 -1
  381. data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
  382. data/lib/moov/models/operations/listresiduals_request.rb +1 -1
  383. data/lib/moov/models/operations/listschedules_request.rb +1 -1
  384. data/lib/moov/models/operations/liststatements_request.rb +1 -1
  385. data/lib/moov/models/operations/listsweeps_request.rb +1 -1
  386. data/lib/moov/models/operations/listtickets_request.rb +1 -1
  387. data/lib/moov/models/operations/listtransfers_request.rb +4 -8
  388. data/lib/moov/models/operations/listtransfers_request.rbi +0 -2
  389. data/lib/moov/models/operations/listwallets_request.rb +1 -1
  390. data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
  391. data/lib/moov/models/operations/retrievefees_request.rb +1 -1
  392. data/lib/moov/models/operations.rb +6 -0
  393. data/lib/moov/payment_methods.rb +2 -2
  394. data/lib/moov/sdkconfiguration.rb +3 -3
  395. data/lib/moov/transfers.rb +16 -9
  396. data/lib/moov/utils/retries.rb +41 -2
  397. data/lib/moov/utils/utils.rb +6 -2
  398. metadata +64 -2
@@ -15,7 +15,7 @@ module Moov
15
15
 
16
16
  field :wallet_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletID'), required: true } }
17
17
 
18
- field :status, Models::Components::SweepConfigStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::SweepConfigStatus, false) } }
18
+ field :status, Models::Components::SweepConfigStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::SweepConfigStatus, false) } }
19
19
  # ID of the payment method.
20
20
  field :push_payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushPaymentMethodID'), required: true } }
21
21
  # ID of the payment method.
@@ -13,7 +13,7 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # Platform of the terminal application.
16
- field :platform, Models::Components::TerminalApplicationPlatform, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('platform'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TerminalApplicationPlatform, false) } }
16
+ field :platform, Models::Components::TerminalApplicationPlatform, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('platform'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TerminalApplicationPlatform, false) } }
17
17
  # The app bundle identifier of the terminal application. Required if platform is `ios`.
18
18
  field :app_bundle_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('appBundleID') } }
19
19
  # The app package name of the terminal application. Required if platform is `android`.
@@ -15,7 +15,7 @@ module Moov
15
15
  # Defines which amount should be used when calculating the final payment total. This calculation applies for percentage tip values.
16
16
  # - `pre-tax`: Tip amounts are calculated using the subtotal amount before taxes
17
17
  # - `post-tax`: Tip amounts are calculated using the subtotal amount + taxes
18
- field :calculation_basis, Crystalline::Nilable.new(Models::Components::TipCalculationBasis), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('calculationBasis'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TipCalculationBasis, true) } }
18
+ field :calculation_basis, Crystalline::Nilable.new(Models::Components::TipCalculationBasis), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('calculationBasis'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TipCalculationBasis, true) } }
19
19
  # Defines the set of suggested tip preset values presented to customers. Percentages must be between 0 and 100 (exclusive) and must be unique. A maximum of 3 values are allowed.
20
20
  field :percentage_options, Crystalline::Nilable.new(Crystalline::Array.new(::Integer)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('percentageOptions') } }
21
21
  # Defines the set of suggested tip preset values presented to customers. Fixed amounts must be positive and unique. A maximum of 3 values are allowed.
@@ -31,7 +31,7 @@ module Moov
31
31
  field :line_items, Crystalline::Nilable.new(Models::Components::CreateTransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
32
32
 
33
33
  field :amount_details, Crystalline::Nilable.new(Models::Components::CreateTransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
34
- # Indicates which party bears fees for the transfer, keyed by fee type.
34
+ # Indicates which party bears fees for a transfer, keyed by fee type.
35
35
  field :fee_paid_by, Crystalline::Nilable.new(Models::Components::TransferFeePaidBy), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy') } }
36
36
 
37
37
  sig { params(source: Models::Components::CreateTransferSource, destination: Models::Components::CreateTransferDestination, amount: Models::Components::AmountDecimal, facilitator_fee: T.nilable(Models::Components::CreateTransferFacilitatorFee), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::CreateTransferLineItems), amount_details: T.nilable(Models::Components::CreateTransferAmountDetails), fee_paid_by: T.nilable(Models::Components::TransferFeePaidBy)).void }
@@ -18,12 +18,15 @@ module Moov
18
18
  field :card_details, Crystalline::Nilable.new(Models::Components::CreateTransferDestinationCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
19
19
 
20
20
  field :ach_details, Crystalline::Nilable.new(Models::Components::CreateTransferDestinationACH), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
21
+ # Wire-specific options supplied when creating a transfer.
22
+ field :wire_details, Crystalline::Nilable.new(Models::Components::CreateTransferDestinationWire), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('wireDetails') } }
21
23
 
22
- sig { params(payment_method_id: ::String, card_details: T.nilable(Models::Components::CreateTransferDestinationCard), ach_details: T.nilable(Models::Components::CreateTransferDestinationACH)).void }
23
- def initialize(payment_method_id:, card_details: nil, ach_details: nil)
24
+ sig { params(payment_method_id: ::String, card_details: T.nilable(Models::Components::CreateTransferDestinationCard), ach_details: T.nilable(Models::Components::CreateTransferDestinationACH), wire_details: T.nilable(Models::Components::CreateTransferDestinationWire)).void }
25
+ def initialize(payment_method_id:, card_details: nil, ach_details: nil, wire_details: nil)
24
26
  @payment_method_id = payment_method_id
25
27
  @card_details = card_details
26
28
  @ach_details = ach_details
29
+ @wire_details = wire_details
27
30
  end
28
31
 
29
32
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -32,6 +35,7 @@ module Moov
32
35
  return false unless @payment_method_id == other.payment_method_id
33
36
  return false unless @card_details == other.card_details
34
37
  return false unless @ach_details == other.ach_details
38
+ return false unless @wire_details == other.wire_details
35
39
  true
36
40
  end
37
41
  end
@@ -14,4 +14,6 @@ class Moov::Models::Components::CreateTransferDestination
14
14
  def card_details=(str_); end
15
15
  def ach_details(); end
16
16
  def ach_details=(str_); end
17
+ def wire_details(); end
18
+ def wire_details=(str_); end
17
19
  end
@@ -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
+ # Wire-specific options supplied when creating a transfer.
11
+ class CreateTransferDestinationWire
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Optional beneficiary reference for the wire transfer. Maximum 15 characters.
16
+ field :beneficiary_reference, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('beneficiaryReference') } }
17
+
18
+ sig { params(beneficiary_reference: T.nilable(::String)).void }
19
+ def initialize(beneficiary_reference: nil)
20
+ @beneficiary_reference = beneficiary_reference
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 @beneficiary_reference == other.beneficiary_reference
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::CreateTransferDestinationWire
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateTransferDestinationWire
11
+ def beneficiary_reference(); end
12
+ def beneficiary_reference=(str_); end
13
+ end
@@ -17,9 +17,9 @@ module Moov
17
17
  # An optional override of the default NACHA company name for a transfer.
18
18
  field :originating_company_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('originatingCompanyName') } }
19
19
  # An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
20
- field :debit_hold_period, Crystalline::Nilable.new(Models::Components::DebitHoldPeriod), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('debitHoldPeriod'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DebitHoldPeriod, true) } }
20
+ field :debit_hold_period, Crystalline::Nilable.new(Models::Components::DebitHoldPeriod), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('debitHoldPeriod'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DebitHoldPeriod, true) } }
21
21
  # Code used to identify the ACH authorization method.
22
- field :sec_code, Crystalline::Nilable.new(Models::Components::SECCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('secCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::SECCode, true) } }
22
+ field :sec_code, Crystalline::Nilable.new(Models::Components::SECCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('secCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::SECCode, true) } }
23
23
 
24
24
  field :addenda, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::CreateTransferACHAddendaRecord)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('addenda') } }
25
25
 
@@ -18,7 +18,7 @@ module Moov
18
18
  #
19
19
  # Crucial for recurring and merchant-initiated transactions as per card scheme rules.
20
20
  # Omit for customer-initiated e-commerce transactions.
21
- field :transaction_source, Crystalline::Nilable.new(Models::Components::TransactionSource), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transactionSource'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TransactionSource, true) } }
21
+ field :transaction_source, Crystalline::Nilable.new(Models::Components::TransactionSource), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transactionSource'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransactionSource, true) } }
22
22
 
23
23
  sig { params(dynamic_descriptor: T.nilable(::String), transaction_source: T.nilable(Models::Components::TransactionSource)).void }
24
24
  def initialize(dynamic_descriptor: nil, transaction_source: nil)
@@ -15,7 +15,7 @@ module Moov
15
15
  # The URL where webhook events will be sent.
16
16
  field :url, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('url'), required: true } }
17
17
  # The status of the webhook.
18
- field :status, Models::Components::WebhookStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WebhookStatus, false) } }
18
+ field :status, Models::Components::WebhookStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WebhookStatus, false) } }
19
19
  # The list of event types this webhook should subscribe to.
20
20
  field :event_types, Crystalline::Array.new(Models::Components::WebhookEventType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventTypes'), required: true } }
21
21
  # A description of the webhook for reference. Can be an empty string.
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # DebitHoldPeriod - An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
11
- class DebitHoldPeriod < T::Enum
11
+ class DebitHoldPeriod
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  NO_HOLD = new('no-hold')
14
15
  ONE_MINUS_DAY = new('1-day')
15
16
  TWO_MINUS_DAYS = new('2-days')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -15,7 +15,7 @@ module Moov
15
15
  # The Moov account that owns the deposit view the account was ingested into.
16
16
  field :moov_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('moovAccountID'), required: true } }
17
17
  # The core banking source system that produced the ingested payload.
18
- field :source_system, Models::Components::SourceSystem, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceSystem'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::SourceSystem, false) } }
18
+ field :source_system, Models::Components::SourceSystem, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceSystem'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::SourceSystem, false) } }
19
19
  # The identifier of the deposit account within the source system.
20
20
  field :source_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceAccountID'), required: true } }
21
21
  # The date and time the deposit account was ingested.
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # DisbursementPaymentMethodType - Payment methods allowed for disbursing funds.
11
- class DisbursementPaymentMethodType < T::Enum
11
+ class DisbursementPaymentMethodType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  PUSH_TO_CARD = new('push-to-card')
14
15
  RTP_CREDIT = new('rtp-credit')
@@ -17,6 +18,7 @@ module Moov
17
18
  PUSH_TO_APPLE_PAY = new('push-to-apple-pay')
18
19
  PUSH_TO_GOOGLE_PAY = new('push-to-google-pay')
19
20
  end
21
+ open!
20
22
  end
21
23
  end
22
24
  end
@@ -29,9 +29,9 @@ module Moov
29
29
  # The status of a particular dispute.
30
30
  #
31
31
  # Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
32
- field :status, Models::Components::DisputeStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DisputeStatus, false) } }
32
+ field :status, Models::Components::DisputeStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DisputeStatus, false) } }
33
33
  # The phase of a dispute within the dispute lifecycle.
34
- field :phase, Models::Components::DisputePhase, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('phase'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DisputePhase, false) } }
34
+ field :phase, Models::Components::DisputePhase, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('phase'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DisputePhase, false) } }
35
35
 
36
36
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
37
37
  # Provides detail on the card network's categorization of the dispute.
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :dispute_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disputeID'), required: true } }
19
19
 
20
- field :evidence_type, Models::Components::EvidenceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('evidenceType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::EvidenceType, false) } }
20
+ field :evidence_type, Models::Components::EvidenceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('evidenceType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::EvidenceType, false) } }
21
21
 
22
22
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
23
23
 
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # DisputePhase - The phase of a dispute within the dispute lifecycle.
11
- class DisputePhase < T::Enum
11
+ class DisputePhase
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  PRE_DISPUTE = new('pre-dispute')
14
15
  INQUIRY = new('inquiry')
15
16
  CHARGEBACK = new('chargeback')
16
17
  UNKNOWN = new('unknown')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -10,7 +10,8 @@ module Moov
10
10
  # DisputeStatus - The status of a particular dispute.
11
11
  #
12
12
  # Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
13
- class DisputeStatus < T::Enum
13
+ class DisputeStatus
14
+ include ::Crystalline::Enum
14
15
  enums do
15
16
  RESPONSE_NEEDED = new('response-needed')
16
17
  RESOLVED = new('resolved')
@@ -21,6 +22,7 @@ module Moov
21
22
  WON = new('won')
22
23
  LOST = new('lost')
23
24
  end
25
+ open!
24
26
  end
25
27
  end
26
28
  end
@@ -15,7 +15,7 @@ module Moov
15
15
 
16
16
  field :document_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('documentID'), required: true } }
17
17
  # Types of documents that can be uploaded.
18
- field :type, Models::Components::DocumentType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('type'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DocumentType, false) } }
18
+ field :type, Models::Components::DocumentType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('type'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DocumentType, false) } }
19
19
  # The document's MIME type.
20
20
  field :content_type, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('contentType'), required: true } }
21
21
 
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # DocumentType - Types of documents that can be uploaded.
11
- class DocumentType < T::Enum
11
+ class DocumentType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  DRIVERS_LICENSE = new('driversLicense')
14
15
  PASSPORT = new('passport')
15
16
  UTILITY_BILL = new('utilityBill')
16
17
  BANK_STATEMENT = new('bankStatement')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # DomesticPullFromCard - Indicates if the card supports domestic pull-from-card transfer.
11
- class DomesticPullFromCard < T::Enum
11
+ class DomesticPullFromCard
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  NOT_SUPPORTED = new('not-supported')
14
15
  SUPPORTED = new('supported')
15
16
  UNKNOWN = new('unknown')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # DomesticPushToCard - Indicates which level of domestic push-to-card transfer is supported by the card, if any.
11
- class DomesticPushToCard < T::Enum
11
+ class DomesticPushToCard
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  NOT_SUPPORTED = new('not-supported')
14
15
  STANDARD = new('standard')
15
16
  FAST_FUNDS = new('fast-funds')
16
17
  UNKNOWN = new('unknown')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :maximum_transaction_amount, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('maximumTransactionAmount') } }
19
19
  # The low value in each range is included. The high value in each range is excluded.
20
- field :monthly_volume_range, Crystalline::Nilable.new(Models::Components::MonthlyVolumeRange), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('monthlyVolumeRange'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::MonthlyVolumeRange, true) } }
20
+ field :monthly_volume_range, Crystalline::Nilable.new(Models::Components::MonthlyVolumeRange), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('monthlyVolumeRange'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::MonthlyVolumeRange, true) } }
21
21
 
22
22
  sig { params(average_transaction_amount: T.nilable(::Integer), maximum_transaction_amount: T.nilable(::Integer), monthly_volume_range: T.nilable(Models::Components::MonthlyVolumeRange)).void }
23
23
  def initialize(average_transaction_amount: nil, maximum_transaction_amount: nil, monthly_volume_range: nil)
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :dispute_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disputeID'), required: true } }
19
19
 
20
- field :evidence_type, Models::Components::EvidenceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('evidenceType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::EvidenceType, false) } }
20
+ field :evidence_type, Models::Components::EvidenceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('evidenceType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::EvidenceType, false) } }
21
21
 
22
22
  field :text, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('text'), required: true } }
23
23
 
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class EvidenceType < T::Enum
11
+ class EvidenceType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  RECEIPT = new('receipt')
14
15
  PROOF_OF_DELIVERY = new('proof-of-delivery')
@@ -19,6 +20,7 @@ module Moov
19
20
  COVER_LETTER = new('cover-letter')
20
21
  OTHER = new('other')
21
22
  end
23
+ open!
22
24
  end
23
25
  end
24
26
  end
@@ -23,7 +23,7 @@ module Moov
23
23
  # The size of the evidence file.
24
24
  field :size, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('size'), required: true } }
25
25
 
26
- field :evidence_type, Models::Components::EvidenceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('evidenceType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::EvidenceType, false) } }
26
+ field :evidence_type, Models::Components::EvidenceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('evidenceType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::EvidenceType, false) } }
27
27
  # The date and time the evidence was uploaded.
28
28
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
29
29
 
@@ -12,33 +12,22 @@ module Moov
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # Total facilitator fee in cents. Only either `total` or `totalDecimal` can be set.
16
- field :total, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('total') } }
17
- # Same as `total`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
18
- #
19
- # Only either `total` or `totalDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
20
- field :total_decimal, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('totalDecimal') } }
21
- # Markup facilitator fee in cents. Only either `markup` or `markupDecimal` can be set.
22
- field :markup, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('markup') } }
23
- # Same as `markup`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
24
- # Only either `markup` or `markupDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
25
- field :markup_decimal, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('markupDecimal') } }
15
+ # Total facilitator fee.
16
+ field :total, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('total') } }
17
+ # Markup facilitator fee.
18
+ field :markup, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('markup') } }
26
19
 
27
- sig { params(total: T.nilable(::Integer), total_decimal: T.nilable(::String), markup: T.nilable(::Integer), markup_decimal: T.nilable(::String)).void }
28
- def initialize(total: nil, total_decimal: nil, markup: nil, markup_decimal: nil)
20
+ sig { params(total: T.nilable(Models::Components::AmountDecimal), markup: T.nilable(Models::Components::AmountDecimal)).void }
21
+ def initialize(total: nil, markup: nil)
29
22
  @total = total
30
- @total_decimal = total_decimal
31
23
  @markup = markup
32
- @markup_decimal = markup_decimal
33
24
  end
34
25
 
35
26
  sig { params(other: T.untyped).returns(T::Boolean) }
36
27
  def ==(other)
37
28
  return false unless other.is_a? self.class
38
29
  return false unless @total == other.total
39
- return false unless @total_decimal == other.total_decimal
40
30
  return false unless @markup == other.markup
41
- return false unless @markup_decimal == other.markup_decimal
42
31
  true
43
32
  end
44
33
  end
@@ -10,10 +10,6 @@ end
10
10
  class Moov::Models::Components::FacilitatorFee
11
11
  def total(); end
12
12
  def total=(str_); end
13
- def total_decimal(); end
14
- def total_decimal=(str_); end
15
13
  def markup(); end
16
14
  def markup=(str_); end
17
- def markup_decimal(); end
18
- def markup_decimal=(str_); end
19
15
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class FeeCategory < T::Enum
11
+ class FeeCategory
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  ACH = new('ach')
14
15
  CARD_ACQUIRING = new('card-acquiring')
@@ -21,6 +22,7 @@ module Moov
21
22
  OTHER = new('other')
22
23
  RTP = new('rtp')
23
24
  end
25
+ open!
24
26
  end
25
27
  end
26
28
  end
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # FeeModel - Specifies the pricing model used for the calculation of the final fee.
11
- class FeeModel < T::Enum
11
+ class FeeModel
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  FIXED = new('fixed')
14
15
  BLENDED = new('blended')
15
16
  VARIABLE = new('variable')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -7,12 +7,14 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # FeePaidBy - Indicates which party to a money movement bears an incurred fee.
11
- class FeePaidBy < T::Enum
10
+
11
+ class FeePaidBy
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  SOURCE = new('source')
14
15
  DESTINATION = new('destination')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -17,7 +17,7 @@ module Moov
17
17
  # The name of the fee plan.
18
18
  field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
19
19
  # Specifies the card processing pricing model
20
- field :card_acquiring_model, Models::Components::CardAcquiringModel, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAcquiringModel'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardAcquiringModel, false) } }
20
+ field :card_acquiring_model, Models::Components::CardAcquiringModel, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAcquiringModel'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardAcquiringModel, false) } }
21
21
  # Additional usage-based fees for this plan.
22
22
  field :billable_fees, Crystalline::Array.new(Models::Components::BillableFee), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billableFees'), required: true } }
23
23
  # The minimum spending amount that must be met in the billing period. If actual usage is below the minimum amount, account is charged the difference.
@@ -21,9 +21,9 @@ module Moov
21
21
 
22
22
  field :accepted_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
23
23
 
24
- field :status, Models::Components::FeePlanAgreementStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::FeePlanAgreementStatus, false) } }
24
+ field :status, Models::Components::FeePlanAgreementStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::FeePlanAgreementStatus, false) } }
25
25
  # Specifies the card processing pricing model
26
- field :card_acquiring_model, Models::Components::CardAcquiringModel, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAcquiringModel'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardAcquiringModel, false) } }
26
+ field :card_acquiring_model, Models::Components::CardAcquiringModel, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAcquiringModel'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardAcquiringModel, false) } }
27
27
 
28
28
  field :billable_fees, Crystalline::Array.new(Models::Components::BillableFee), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billableFees'), required: true } }
29
29
  # The minimum spending amount that must be met in the billing period. If actual usage is below the minimum amount, account is charged the difference.
@@ -34,9 +34,13 @@ module Moov
34
34
  field :account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID') } }
35
35
  # The description of the agreement.
36
36
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
37
+ # The agreement this one replaced. Only set when the agreement was created by replacing another.
38
+ field :prior_agreement_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priorAgreementID') } }
39
+ # The date and time the prior agreement was terminated.
40
+ field :prior_agreement_terminated_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priorAgreementTerminatedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
37
41
 
38
- sig { params(agreement_id: ::String, plan_id: ::String, name: ::String, accepted_on: ::DateTime, status: Models::Components::FeePlanAgreementStatus, card_acquiring_model: Models::Components::CardAcquiringModel, billable_fees: T::Array[Models::Components::BillableFee], minimum_commitment: Models::Components::MinimumCommitment, monthly_platform_fee: Models::Components::MonthlyPlatformFee, account_id: T.nilable(::String), description: T.nilable(::String)).void }
39
- def initialize(agreement_id:, plan_id:, name:, accepted_on:, status:, card_acquiring_model:, billable_fees:, minimum_commitment:, monthly_platform_fee:, account_id: nil, description: nil)
42
+ sig { params(agreement_id: ::String, plan_id: ::String, name: ::String, accepted_on: ::DateTime, status: Models::Components::FeePlanAgreementStatus, card_acquiring_model: Models::Components::CardAcquiringModel, billable_fees: T::Array[Models::Components::BillableFee], minimum_commitment: Models::Components::MinimumCommitment, monthly_platform_fee: Models::Components::MonthlyPlatformFee, account_id: T.nilable(::String), description: T.nilable(::String), prior_agreement_id: T.nilable(::String), prior_agreement_terminated_on: T.nilable(::DateTime)).void }
43
+ def initialize(agreement_id:, plan_id:, name:, accepted_on:, status:, card_acquiring_model:, billable_fees:, minimum_commitment:, monthly_platform_fee:, account_id: nil, description: nil, prior_agreement_id: nil, prior_agreement_terminated_on: nil)
40
44
  @agreement_id = agreement_id
41
45
  @plan_id = plan_id
42
46
  @name = name
@@ -48,6 +52,8 @@ module Moov
48
52
  @monthly_platform_fee = monthly_platform_fee
49
53
  @account_id = account_id
50
54
  @description = description
55
+ @prior_agreement_id = prior_agreement_id
56
+ @prior_agreement_terminated_on = prior_agreement_terminated_on
51
57
  end
52
58
 
53
59
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -64,6 +70,8 @@ module Moov
64
70
  return false unless @monthly_platform_fee == other.monthly_platform_fee
65
71
  return false unless @account_id == other.account_id
66
72
  return false unless @description == other.description
73
+ return false unless @prior_agreement_id == other.prior_agreement_id
74
+ return false unless @prior_agreement_terminated_on == other.prior_agreement_terminated_on
67
75
  true
68
76
  end
69
77
  end
@@ -30,4 +30,8 @@ class Moov::Models::Components::FeePlanAgreement
30
30
  def account_id=(str_); end
31
31
  def description(); end
32
32
  def description=(str_); end
33
+ def prior_agreement_id(); end
34
+ def prior_agreement_id=(str_); end
35
+ def prior_agreement_terminated_on(); end
36
+ def prior_agreement_terminated_on=(str_); end
33
37
  end
@@ -8,11 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class FeePlanAgreementStatus < T::Enum
11
+ class FeePlanAgreementStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  ACTIVE = new('active')
14
15
  TERMINATED = new('terminated')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -19,9 +19,9 @@ module Moov
19
19
 
20
20
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
21
21
  # The purpose of the file being uploaded.
22
- field :file_purpose, Models::Components::FilePurpose, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('filePurpose'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::FilePurpose, false) } }
22
+ field :file_purpose, Models::Components::FilePurpose, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('filePurpose'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::FilePurpose, false) } }
23
23
  # The file's status.
24
- field :file_status, Models::Components::FileStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fileStatus'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::FileStatus, false) } }
24
+ field :file_status, Models::Components::FileStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fileStatus'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::FileStatus, false) } }
25
25
 
26
26
  field :metadata, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata'), required: true } }
27
27
 
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # FilePurpose - The purpose of the file being uploaded.
11
- class FilePurpose < T::Enum
11
+ class FilePurpose
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  BUSINESS_VERIFICATION = new('business_verification')
14
15
  REPRESENTATIVE_VERIFICATION = new('representative_verification')
@@ -17,6 +18,7 @@ module Moov
17
18
  ACCOUNT_REQUIREMENT = new('account_requirement')
18
19
  IDENTITY_VERIFICATION = new('identity_verification')
19
20
  end
21
+ open!
20
22
  end
21
23
  end
22
24
  end