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
@@ -0,0 +1,52 @@
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
+ # Authorization and capture amounts for an auth-capture `card-payment` transfer.
11
+ class TransferAuthorization
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Identifier for the authorization.
16
+ field :authorization_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizationID'), required: true } }
17
+ # Amount submitted for authorization.
18
+ field :requested_amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('requestedAmount'), required: true } }
19
+ # Hold approved by the issuer.
20
+ field :authorized_amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedAmount'), required: true } }
21
+ # Cumulative amount of captures that have not failed or been canceled.
22
+ field :captured_amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capturedAmount'), required: true } }
23
+ # Amount of the authorization still available after captures and authorization cancellations.
24
+ field :capturable_amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capturableAmount'), required: true } }
25
+ # Expiration time for the approved authorization, when available.
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) } }
27
+
28
+ sig { params(authorization_id: ::String, requested_amount: Models::Components::AmountDecimal, authorized_amount: Models::Components::AmountDecimal, captured_amount: Models::Components::AmountDecimal, capturable_amount: Models::Components::AmountDecimal, expires_on: T.nilable(::DateTime)).void }
29
+ def initialize(authorization_id:, requested_amount:, authorized_amount:, captured_amount:, capturable_amount:, expires_on: nil)
30
+ @authorization_id = authorization_id
31
+ @requested_amount = requested_amount
32
+ @authorized_amount = authorized_amount
33
+ @captured_amount = captured_amount
34
+ @capturable_amount = capturable_amount
35
+ @expires_on = expires_on
36
+ end
37
+
38
+ sig { params(other: T.untyped).returns(T::Boolean) }
39
+ def ==(other)
40
+ return false unless other.is_a? self.class
41
+ return false unless @authorization_id == other.authorization_id
42
+ return false unless @requested_amount == other.requested_amount
43
+ return false unless @authorized_amount == other.authorized_amount
44
+ return false unless @captured_amount == other.captured_amount
45
+ return false unless @capturable_amount == other.capturable_amount
46
+ return false unless @expires_on == other.expires_on
47
+ true
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,23 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferAuthorization
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferAuthorization
11
+ def authorization_id(); end
12
+ def authorization_id=(str_); end
13
+ def requested_amount(); end
14
+ def requested_amount=(str_); end
15
+ def authorized_amount(); end
16
+ def authorized_amount=(str_); end
17
+ def captured_amount(); end
18
+ def captured_amount=(str_); end
19
+ def capturable_amount(); end
20
+ def capturable_amount=(str_); end
21
+ def expires_on(); end
22
+ def expires_on=(str_); end
23
+ end
@@ -13,41 +13,32 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
 
16
- field :payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID'), required: true } }
16
+ field :payment_method_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID') } }
17
17
  # The payment method type that represents a payment rail and directionality
18
- field :payment_method_type, Models::Components::TransferPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TransferPaymentMethodType, false) } }
18
+ field :payment_method_type, Crystalline::Nilable.new(Models::Components::TransferPaymentMethodType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferPaymentMethodType, true) } }
19
19
 
20
- field :account, Models::Components::TransferAccount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('account'), required: true } }
20
+ field :account, Crystalline::Nilable.new(Models::Components::TransferAccount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('account') } }
21
21
  # A bank account as contained within a payment method.
22
22
  field :bank_account, Crystalline::Nilable.new(Models::Components::TransferPaymentMethodsBankAccount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankAccount') } }
23
23
 
24
24
  field :wallet, Crystalline::Nilable.new(Models::Components::TransferPaymentMethodsWallet), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('wallet') } }
25
25
  # A card as contained within a payment method.
26
26
  field :card, Crystalline::Nilable.new(Models::Components::TransferPaymentMethodsCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('card') } }
27
- # ACH specific details about the transaction.
28
- field :ach_details, Crystalline::Nilable.new(Models::Components::ACHTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
29
27
  # Describes an Apple Pay token on a Moov account.
30
28
  field :apple_pay, Crystalline::Nilable.new(Models::Components::ApplePayResponse), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('applePay') } }
31
29
  # Describes a Google Pay token on a Moov account.
32
30
  field :google_pay, Crystalline::Nilable.new(Models::Components::GooglePayResponse), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay') } }
33
- # Card-specific details about the transaction.
34
- field :card_details, Crystalline::Nilable.new(Models::Components::CardTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
35
- # Instant-bank specific details about the transaction.
36
- field :instant_bank_details, Crystalline::Nilable.new(Models::Components::InstantBankTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('instantBankDetails') } }
37
31
 
38
- sig { params(payment_method_id: ::String, payment_method_type: Models::Components::TransferPaymentMethodType, account: Models::Components::TransferAccount, bank_account: T.nilable(Models::Components::TransferPaymentMethodsBankAccount), wallet: T.nilable(Models::Components::TransferPaymentMethodsWallet), card: T.nilable(Models::Components::TransferPaymentMethodsCard), ach_details: T.nilable(Models::Components::ACHTransactionDetails), apple_pay: T.nilable(Models::Components::ApplePayResponse), google_pay: T.nilable(Models::Components::GooglePayResponse), card_details: T.nilable(Models::Components::CardTransactionDetails), instant_bank_details: T.nilable(Models::Components::InstantBankTransactionDetails)).void }
39
- def initialize(payment_method_id:, payment_method_type:, account:, bank_account: nil, wallet: nil, card: nil, ach_details: nil, apple_pay: nil, google_pay: nil, card_details: nil, instant_bank_details: nil)
32
+ sig { params(payment_method_id: T.nilable(::String), payment_method_type: T.nilable(Models::Components::TransferPaymentMethodType), account: T.nilable(Models::Components::TransferAccount), bank_account: T.nilable(Models::Components::TransferPaymentMethodsBankAccount), wallet: T.nilable(Models::Components::TransferPaymentMethodsWallet), card: T.nilable(Models::Components::TransferPaymentMethodsCard), apple_pay: T.nilable(Models::Components::ApplePayResponse), google_pay: T.nilable(Models::Components::GooglePayResponse)).void }
33
+ def initialize(payment_method_id: nil, payment_method_type: nil, account: nil, bank_account: nil, wallet: nil, card: nil, apple_pay: nil, google_pay: nil)
40
34
  @payment_method_id = payment_method_id
41
35
  @payment_method_type = payment_method_type
42
36
  @account = account
43
37
  @bank_account = bank_account
44
38
  @wallet = wallet
45
39
  @card = card
46
- @ach_details = ach_details
47
40
  @apple_pay = apple_pay
48
41
  @google_pay = google_pay
49
- @card_details = card_details
50
- @instant_bank_details = instant_bank_details
51
42
  end
52
43
 
53
44
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -59,11 +50,8 @@ module Moov
59
50
  return false unless @bank_account == other.bank_account
60
51
  return false unless @wallet == other.wallet
61
52
  return false unless @card == other.card
62
- return false unless @ach_details == other.ach_details
63
53
  return false unless @apple_pay == other.apple_pay
64
54
  return false unless @google_pay == other.google_pay
65
- return false unless @card_details == other.card_details
66
- return false unless @instant_bank_details == other.instant_bank_details
67
55
  true
68
56
  end
69
57
  end
@@ -20,14 +20,8 @@ class Moov::Models::Components::TransferDestination
20
20
  def wallet=(str_); end
21
21
  def card(); end
22
22
  def card=(str_); end
23
- def ach_details(); end
24
- def ach_details=(str_); end
25
23
  def apple_pay(); end
26
24
  def apple_pay=(str_); end
27
25
  def google_pay(); end
28
26
  def google_pay=(str_); end
29
- def card_details(); end
30
- def card_details=(str_); end
31
- def instant_bank_details(); end
32
- def instant_bank_details=(str_); end
33
27
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # TransferFailureReason - Reason for a transfer's failure.
11
- class TransferFailureReason < T::Enum
11
+ class TransferFailureReason
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  SOURCE_PAYMENT_ERROR = new('source-payment-error')
14
15
  DESTINATION_PAYMENT_ERROR = new('destination-payment-error')
@@ -16,6 +17,7 @@ module Moov
16
17
  REJECTED_HIGH_RISK = new('rejected-high-risk')
17
18
  PROCESSING_ERROR = new('processing-error')
18
19
  end
20
+ open!
19
21
  end
20
22
  end
21
23
  end
@@ -12,8 +12,8 @@ module Moov
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # For payouts, indicates which party bears the fee. Defaults to `source`.
16
- field :payout, Crystalline::Nilable.new(Models::Components::FeePaidBy), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payout'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::FeePaidBy, true) } }
15
+ # Defaults to `source`.
16
+ field :payout, Crystalline::Nilable.new(Models::Components::FeePaidBy), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payout'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::FeePaidBy, true) } }
17
17
 
18
18
  sig { params(payout: T.nilable(Models::Components::FeePaidBy)).void }
19
19
  def initialize(payout: nil)
@@ -13,11 +13,11 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
 
16
- field :source_options, Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Union.new(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod))), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceOptions') } }
16
+ field :source_options, Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Union.new(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod, Models::Components::WireCreditTransferPaymentMethod))), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceOptions') } }
17
17
 
18
- field :destination_options, Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Union.new(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod))), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destinationOptions') } }
18
+ field :destination_options, Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Union.new(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod, Models::Components::WireCreditTransferPaymentMethod))), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destinationOptions') } }
19
19
 
20
- sig { params(source_options: T.nilable(T::Array[T.any(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod)]), destination_options: T.nilable(T::Array[T.any(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod)])).void }
20
+ sig { params(source_options: T.nilable(T::Array[T.any(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod, Models::Components::WireCreditTransferPaymentMethod)]), destination_options: T.nilable(T::Array[T.any(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod, Models::Components::WireCreditTransferPaymentMethod)])).void }
21
21
  def initialize(source_options: nil, destination_options: nil)
22
22
  @source_options = source_options
23
23
  @destination_options = destination_options
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class TransferParty < T::Enum
11
+ class TransferParty
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  SOURCE = new('source')
14
15
  DESTINATION = new('destination')
15
16
  PARTNER = new('partner')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -19,15 +19,15 @@ module Moov
19
19
  # The fingerprint acts as a way to identify whether two linked bank accounts are the same.
20
20
  field :fingerprint, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fingerprint'), required: true } }
21
21
 
22
- field :status, Models::Components::BankAccountStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountStatus, false) } }
22
+ field :status, Models::Components::BankAccountStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountStatus, false) } }
23
23
 
24
24
  field :holder_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderName'), required: true } }
25
25
  # The type of holder on a funding source.
26
- field :holder_type, Models::Components::BankAccountHolderType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountHolderType, false) } }
26
+ field :holder_type, Models::Components::BankAccountHolderType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountHolderType, false) } }
27
27
 
28
28
  field :bank_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankName'), required: true } }
29
29
  # The bank account type.
30
- field :bank_account_type, Models::Components::BankAccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankAccountType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountType, false) } }
30
+ field :bank_account_type, Models::Components::BankAccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankAccountType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountType, false) } }
31
31
 
32
32
  field :routing_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('routingNumber'), required: true } }
33
33
 
@@ -19,9 +19,9 @@ module Moov
19
19
  # This field can be used to identify specific payment methods across multiple accounts on your platform.
20
20
  field :fingerprint, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fingerprint'), required: true } }
21
21
  # The card brand.
22
- field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardBrand, false) } }
22
+ field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardBrand, false) } }
23
23
  # The type of the card.
24
- field :card_type, Models::Components::CardType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardType, false) } }
24
+ field :card_type, Models::Components::CardType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardType, false) } }
25
25
  # Last four digits of the card number
26
26
  field :last_four_card_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber'), required: true } }
27
27
  # The first six to eight digits of the card number, which identifies the financial institution that issued the card.
@@ -46,9 +46,9 @@ module Moov
46
46
  # The results of the most recent card update request.
47
47
  field :card_account_updater, Crystalline::Nilable.new(Models::Components::CardAccountUpdater), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAccountUpdater') } }
48
48
  # Indicates which level of domestic push-to-card transfer is supported by the card, if any.
49
- field :domestic_push_to_card, Crystalline::Nilable.new(Models::Components::DomesticPushToCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPushToCard'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DomesticPushToCard, true) } }
49
+ field :domestic_push_to_card, Crystalline::Nilable.new(Models::Components::DomesticPushToCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPushToCard'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DomesticPushToCard, true) } }
50
50
  # Indicates if the card supports domestic pull-from-card transfer.
51
- field :domestic_pull_from_card, Crystalline::Nilable.new(Models::Components::DomesticPullFromCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPullFromCard'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DomesticPullFromCard, true) } }
51
+ field :domestic_pull_from_card, Crystalline::Nilable.new(Models::Components::DomesticPullFromCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPullFromCard'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DomesticPullFromCard, true) } }
52
52
 
53
53
  sig { params(card_id: ::String, fingerprint: ::String, brand: Models::Components::CardBrand, card_type: Models::Components::CardType, last_four_card_number: ::String, bin: ::String, expiration: Models::Components::CardExpiration, billing_address: Models::Components::CardAddress, card_verification: Models::Components::CardVerification, holder_name: T.nilable(::String), issuer: T.nilable(::String), issuer_country: T.nilable(::String), card_on_file: T.nilable(T::Boolean), merchant_account_id: T.nilable(::String), card_account_updater: T.nilable(Models::Components::CardAccountUpdater), domestic_push_to_card: T.nilable(Models::Components::DomesticPushToCard), domestic_pull_from_card: T.nilable(Models::Components::DomesticPullFromCard)).void }
54
54
  def initialize(card_id:, fingerprint:, brand:, card_type:, last_four_card_number:, bin:, expiration:, billing_address:, card_verification:, holder_name: nil, issuer: nil, issuer_country: nil, card_on_file: nil, merchant_account_id: nil, card_account_updater: nil, domestic_push_to_card: nil, domestic_pull_from_card: nil)
@@ -19,7 +19,8 @@ module Moov
19
19
  # Type of a wallet.
20
20
  # - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
21
21
  # - `general`: An additional, user-defined wallet created via API or Dashboard.
22
- field :wallet_type, Models::Components::WalletType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletType, false) } }
22
+ # - `card-issuing`: The system-generated wallet automatically created when an account is granted the card-issuing capability.
23
+ field :wallet_type, Models::Components::WalletType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletType, false) } }
23
24
 
24
25
  sig { params(wallet_id: ::String, partner_account_id: ::String, wallet_type: Models::Components::WalletType).void }
25
26
  def initialize(wallet_id:, partner_account_id:, wallet_type:)
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # TransferPaymentMethodType - The payment method type that represents a payment rail and directionality
11
- class TransferPaymentMethodType < T::Enum
11
+ class TransferPaymentMethodType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  MOOV_WALLET = new('moov-wallet')
14
15
  ACH_DEBIT_FUND = new('ach-debit-fund')
@@ -27,7 +28,9 @@ module Moov
27
28
  GOOGLE_PAY = new('google-pay')
28
29
  PUSH_TO_GOOGLE_PAY = new('push-to-google-pay')
29
30
  PULL_FROM_GOOGLE_PAY = new('pull-from-google-pay')
31
+ WIRE_CREDIT = new('wire-credit')
30
32
  end
33
+ open!
31
34
  end
32
35
  end
33
36
  end
@@ -0,0 +1,56 @@
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
+
11
+ class TransferProcessingDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :card_payment, Crystalline::Nilable.new(Models::Components::CardPaymentTransferProcessingDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardPayment') } }
17
+
18
+ field :push_to_card, Crystalline::Nilable.new(Models::Components::PushToCardTransferProcessingDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushToCard') } }
19
+
20
+ field :pull_from_card, Crystalline::Nilable.new(Models::Components::PullFromCardTransferProcessingDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pullFromCard') } }
21
+
22
+ field :ach_debit, Crystalline::Nilable.new(Models::Components::ACHDebitTransferProcessingDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDebit') } }
23
+
24
+ field :ach_credit, Crystalline::Nilable.new(Models::Components::ACHCreditTransferProcessingDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achCredit') } }
25
+
26
+ field :instant_bank_credit, Crystalline::Nilable.new(Models::Components::InstantBankCreditTransferProcessingDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('instantBankCredit') } }
27
+ # Wire-specific processing details returned on a transfer.
28
+ field :wire, Crystalline::Nilable.new(Models::Components::WireTransferProcessingDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('wire') } }
29
+
30
+ sig { params(card_payment: T.nilable(Models::Components::CardPaymentTransferProcessingDetails), push_to_card: T.nilable(Models::Components::PushToCardTransferProcessingDetails), pull_from_card: T.nilable(Models::Components::PullFromCardTransferProcessingDetails), ach_debit: T.nilable(Models::Components::ACHDebitTransferProcessingDetails), ach_credit: T.nilable(Models::Components::ACHCreditTransferProcessingDetails), instant_bank_credit: T.nilable(Models::Components::InstantBankCreditTransferProcessingDetails), wire: T.nilable(Models::Components::WireTransferProcessingDetails)).void }
31
+ def initialize(card_payment: nil, push_to_card: nil, pull_from_card: nil, ach_debit: nil, ach_credit: nil, instant_bank_credit: nil, wire: nil)
32
+ @card_payment = card_payment
33
+ @push_to_card = push_to_card
34
+ @pull_from_card = pull_from_card
35
+ @ach_debit = ach_debit
36
+ @ach_credit = ach_credit
37
+ @instant_bank_credit = instant_bank_credit
38
+ @wire = wire
39
+ end
40
+
41
+ sig { params(other: T.untyped).returns(T::Boolean) }
42
+ def ==(other)
43
+ return false unless other.is_a? self.class
44
+ return false unless @card_payment == other.card_payment
45
+ return false unless @push_to_card == other.push_to_card
46
+ return false unless @pull_from_card == other.pull_from_card
47
+ return false unless @ach_debit == other.ach_debit
48
+ return false unless @ach_credit == other.ach_credit
49
+ return false unless @instant_bank_credit == other.instant_bank_credit
50
+ return false unless @wire == other.wire
51
+ true
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,25 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferProcessingDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferProcessingDetails
11
+ def card_payment(); end
12
+ def card_payment=(str_); end
13
+ def push_to_card(); end
14
+ def push_to_card=(str_); end
15
+ def pull_from_card(); end
16
+ def pull_from_card=(str_); end
17
+ def ach_debit(); end
18
+ def ach_debit=(str_); end
19
+ def ach_credit(); end
20
+ def ach_credit=(str_); end
21
+ def instant_bank_credit(); end
22
+ def instant_bank_credit=(str_); end
23
+ def wire(); end
24
+ def wire=(str_); end
25
+ end
@@ -0,0 +1,52 @@
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
+
11
+ class TransferRailOptions
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :card_payment, Crystalline::Nilable.new(Models::Components::CardPaymentOptions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardPayment') } }
17
+
18
+ field :push_to_card, Crystalline::Nilable.new(Models::Components::PushToCardOptions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushToCard') } }
19
+
20
+ field :pull_from_card, Crystalline::Nilable.new(Models::Components::PullFromCardOptions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pullFromCard') } }
21
+
22
+ field :ach_debit, Crystalline::Nilable.new(Models::Components::ACHDebitOptions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDebit') } }
23
+
24
+ field :ach_credit, Crystalline::Nilable.new(Models::Components::ACHCreditOptions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achCredit') } }
25
+ # Wire-specific options returned on a transfer.
26
+ field :wire, Crystalline::Nilable.new(Models::Components::WireOptions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('wire') } }
27
+
28
+ sig { params(card_payment: T.nilable(Models::Components::CardPaymentOptions), push_to_card: T.nilable(Models::Components::PushToCardOptions), pull_from_card: T.nilable(Models::Components::PullFromCardOptions), ach_debit: T.nilable(Models::Components::ACHDebitOptions), ach_credit: T.nilable(Models::Components::ACHCreditOptions), wire: T.nilable(Models::Components::WireOptions)).void }
29
+ def initialize(card_payment: nil, push_to_card: nil, pull_from_card: nil, ach_debit: nil, ach_credit: nil, wire: nil)
30
+ @card_payment = card_payment
31
+ @push_to_card = push_to_card
32
+ @pull_from_card = pull_from_card
33
+ @ach_debit = ach_debit
34
+ @ach_credit = ach_credit
35
+ @wire = wire
36
+ end
37
+
38
+ sig { params(other: T.untyped).returns(T::Boolean) }
39
+ def ==(other)
40
+ return false unless other.is_a? self.class
41
+ return false unless @card_payment == other.card_payment
42
+ return false unless @push_to_card == other.push_to_card
43
+ return false unless @pull_from_card == other.pull_from_card
44
+ return false unless @ach_debit == other.ach_debit
45
+ return false unless @ach_credit == other.ach_credit
46
+ return false unless @wire == other.wire
47
+ true
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,23 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferRailOptions
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferRailOptions
11
+ def card_payment(); end
12
+ def card_payment=(str_); end
13
+ def push_to_card(); end
14
+ def push_to_card=(str_); end
15
+ def pull_from_card(); end
16
+ def pull_from_card=(str_); end
17
+ def ach_debit(); end
18
+ def ach_debit=(str_); end
19
+ def ach_credit(); end
20
+ def ach_credit=(str_); end
21
+ def wire(); end
22
+ def wire=(str_); end
23
+ end
@@ -12,14 +12,14 @@ module Moov
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
+ # String present only if the transfer is part of a transfer group.
16
+ field :transfer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID') } }
15
17
 
16
- field :payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID'), required: true } }
18
+ field :payment_method_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID') } }
17
19
  # The payment method type that represents a payment rail and directionality
18
- field :payment_method_type, Models::Components::TransferPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TransferPaymentMethodType, false) } }
20
+ field :payment_method_type, Crystalline::Nilable.new(Models::Components::TransferPaymentMethodType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferPaymentMethodType, true) } }
19
21
 
20
- field :account, Models::Components::TransferAccount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('account'), required: true } }
21
- # String present only if the transfer is part of a transfer group.
22
- field :transfer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID') } }
22
+ field :account, Crystalline::Nilable.new(Models::Components::TransferAccount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('account') } }
23
23
  # A bank account as contained within a payment method.
24
24
  field :bank_account, Crystalline::Nilable.new(Models::Components::TransferPaymentMethodsBankAccount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankAccount') } }
25
25
 
@@ -32,42 +32,34 @@ module Moov
32
32
  field :google_pay, Crystalline::Nilable.new(Models::Components::GooglePayResponse), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay') } }
33
33
  # Describes payment card details captured with tap or in-person payment.
34
34
  field :terminal_card, Crystalline::Nilable.new(Models::Components::TransferTerminalCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('terminalCard') } }
35
- # Card-specific details about the transaction.
36
- field :card_details, Crystalline::Nilable.new(Models::Components::CardTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
37
- # ACH specific details about the transaction.
38
- field :ach_details, Crystalline::Nilable.new(Models::Components::ACHTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
39
35
 
40
- sig { params(payment_method_id: ::String, payment_method_type: Models::Components::TransferPaymentMethodType, account: Models::Components::TransferAccount, transfer_id: T.nilable(::String), bank_account: T.nilable(Models::Components::TransferPaymentMethodsBankAccount), wallet: T.nilable(Models::Components::TransferPaymentMethodsWallet), card: T.nilable(Models::Components::TransferPaymentMethodsCard), apple_pay: T.nilable(Models::Components::ApplePayResponse), google_pay: T.nilable(Models::Components::GooglePayResponse), terminal_card: T.nilable(Models::Components::TransferTerminalCard), card_details: T.nilable(Models::Components::CardTransactionDetails), ach_details: T.nilable(Models::Components::ACHTransactionDetails)).void }
41
- def initialize(payment_method_id:, payment_method_type:, account:, transfer_id: nil, bank_account: nil, wallet: nil, card: nil, apple_pay: nil, google_pay: nil, terminal_card: nil, card_details: nil, ach_details: nil)
36
+ sig { params(transfer_id: T.nilable(::String), payment_method_id: T.nilable(::String), payment_method_type: T.nilable(Models::Components::TransferPaymentMethodType), account: T.nilable(Models::Components::TransferAccount), bank_account: T.nilable(Models::Components::TransferPaymentMethodsBankAccount), wallet: T.nilable(Models::Components::TransferPaymentMethodsWallet), card: T.nilable(Models::Components::TransferPaymentMethodsCard), apple_pay: T.nilable(Models::Components::ApplePayResponse), google_pay: T.nilable(Models::Components::GooglePayResponse), terminal_card: T.nilable(Models::Components::TransferTerminalCard)).void }
37
+ def initialize(transfer_id: nil, payment_method_id: nil, payment_method_type: nil, account: nil, bank_account: nil, wallet: nil, card: nil, apple_pay: nil, google_pay: nil, terminal_card: nil)
38
+ @transfer_id = transfer_id
42
39
  @payment_method_id = payment_method_id
43
40
  @payment_method_type = payment_method_type
44
41
  @account = account
45
- @transfer_id = transfer_id
46
42
  @bank_account = bank_account
47
43
  @wallet = wallet
48
44
  @card = card
49
45
  @apple_pay = apple_pay
50
46
  @google_pay = google_pay
51
47
  @terminal_card = terminal_card
52
- @card_details = card_details
53
- @ach_details = ach_details
54
48
  end
55
49
 
56
50
  sig { params(other: T.untyped).returns(T::Boolean) }
57
51
  def ==(other)
58
52
  return false unless other.is_a? self.class
53
+ return false unless @transfer_id == other.transfer_id
59
54
  return false unless @payment_method_id == other.payment_method_id
60
55
  return false unless @payment_method_type == other.payment_method_type
61
56
  return false unless @account == other.account
62
- return false unless @transfer_id == other.transfer_id
63
57
  return false unless @bank_account == other.bank_account
64
58
  return false unless @wallet == other.wallet
65
59
  return false unless @card == other.card
66
60
  return false unless @apple_pay == other.apple_pay
67
61
  return false unless @google_pay == other.google_pay
68
62
  return false unless @terminal_card == other.terminal_card
69
- return false unless @card_details == other.card_details
70
- return false unless @ach_details == other.ach_details
71
63
  true
72
64
  end
73
65
  end
@@ -8,14 +8,14 @@ end
8
8
 
9
9
 
10
10
  class Moov::Models::Components::TransferSource
11
+ def transfer_id(); end
12
+ def transfer_id=(str_); end
11
13
  def payment_method_id(); end
12
14
  def payment_method_id=(str_); end
13
15
  def payment_method_type(); end
14
16
  def payment_method_type=(str_); end
15
17
  def account(); end
16
18
  def account=(str_); end
17
- def transfer_id(); end
18
- def transfer_id=(str_); end
19
19
  def bank_account(); end
20
20
  def bank_account=(str_); end
21
21
  def wallet(); end
@@ -28,8 +28,4 @@ class Moov::Models::Components::TransferSource
28
28
  def google_pay=(str_); end
29
29
  def terminal_card(); end
30
30
  def terminal_card=(str_); end
31
- def card_details(); end
32
- def card_details=(str_); end
33
- def ach_details(); end
34
- def ach_details=(str_); end
35
31
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # TransferStatus - Status of a transfer.
11
- class TransferStatus < T::Enum
11
+ class TransferStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  CREATED = new('created')
14
15
  PENDING = new('pending')
@@ -16,8 +17,10 @@ module Moov
16
17
  FAILED = new('failed')
17
18
  REVERSED = new('reversed')
18
19
  QUEUED = new('queued')
20
+ AWAITING_CAPTURE = new('awaiting-capture')
19
21
  CANCELED = new('canceled')
20
22
  end
23
+ open!
21
24
  end
22
25
  end
23
26
  end
@@ -15,11 +15,11 @@ module Moov
15
15
  # How the card information was entered into the point of sale terminal.
16
16
  field :entry_mode, Crystalline::Nilable.new(Models::Components::TransferEntryMode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('entryMode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TransferEntryMode, true) } }
17
17
  # The card brand.
18
- field :brand, Crystalline::Nilable.new(Models::Components::CardBrand), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardBrand, true) } }
18
+ field :brand, Crystalline::Nilable.new(Models::Components::CardBrand), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardBrand, true) } }
19
19
 
20
20
  field :bin, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bin') } }
21
21
  # The type of the card.
22
- field :card_type, Crystalline::Nilable.new(Models::Components::CardType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardType, true) } }
22
+ field :card_type, Crystalline::Nilable.new(Models::Components::CardType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardType, true) } }
23
23
  # The expiration date of the card or token.
24
24
  field :expiration, Crystalline::Nilable.new(Models::Components::CardExpiration), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration') } }
25
25
  # Uniquely identifies a linked payment card or token.