moov_ruby 26.10.0.pre.dev.1 → 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 (503) 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/allowedscheduleerror.rb +36 -0
  28. data/lib/moov/models/components/allowedscheduleerror.rbi +15 -0
  29. data/lib/moov/models/components/amountdecimalrange.rb +0 -2
  30. data/lib/moov/models/components/amountdecimalrangeupdate.rb +0 -2
  31. data/lib/moov/models/components/applepayresponse.rb +2 -2
  32. data/lib/moov/models/components/applicationscope.rb +4 -2
  33. data/lib/moov/models/components/asynccreatedrefund.rb +7 -3
  34. data/lib/moov/models/components/asynccreatedrefund.rbi +2 -0
  35. data/lib/moov/models/components/authmethod.rb +3 -1
  36. data/lib/moov/models/components/bankaccount.rb +4 -4
  37. data/lib/moov/models/components/bankaccountattestation.rb +52 -0
  38. data/lib/moov/models/components/bankaccountattestation.rbi +23 -0
  39. data/lib/moov/models/components/bankaccountattestationeligibility.rb +36 -0
  40. data/lib/moov/models/components/bankaccountattestationeligibility.rbi +15 -0
  41. data/lib/moov/models/components/bankaccountattestationsummary.rb +44 -0
  42. data/lib/moov/models/components/bankaccountattestationsummary.rbi +19 -0
  43. data/lib/moov/models/components/bankaccountexception.rb +2 -2
  44. data/lib/moov/models/components/bankaccountholdertype.rb +3 -1
  45. data/lib/moov/models/components/bankaccountintegration.rb +2 -2
  46. data/lib/moov/models/components/bankaccountstatus.rb +3 -1
  47. data/lib/moov/models/components/bankaccountstatusreason.rb +3 -1
  48. data/lib/moov/models/components/bankaccounttype.rb +3 -1
  49. data/lib/moov/models/components/bankaccountverification.rb +2 -2
  50. data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
  51. data/lib/moov/models/components/bankaccountverificationmethod.rb +3 -1
  52. data/lib/moov/models/components/bankaccountverificationstatus.rb +3 -1
  53. data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
  54. data/lib/moov/models/components/billablefee.rb +2 -2
  55. data/lib/moov/models/components/billingadjustment.rb +40 -0
  56. data/lib/moov/models/components/billingadjustment.rbi +17 -0
  57. data/lib/moov/models/components/billingsummary.rb +8 -4
  58. data/lib/moov/models/components/billingsummary.rbi +2 -0
  59. data/lib/moov/models/components/billingsummary_adjustmentfees.rb +40 -0
  60. data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +15 -0
  61. data/lib/moov/models/components/businesspresence.rb +3 -1
  62. data/lib/moov/models/components/businessprofile.rb +2 -2
  63. data/lib/moov/models/components/businesstype.rb +3 -1
  64. data/lib/moov/models/components/calltoaction.rb +3 -1
  65. data/lib/moov/models/components/cancellation.rb +2 -2
  66. data/lib/moov/models/components/cancellationstatus.rb +3 -1
  67. data/lib/moov/models/components/capability.rb +2 -2
  68. data/lib/moov/models/components/capabilityid.rb +3 -1
  69. data/lib/moov/models/components/capabilitystatus.rb +3 -1
  70. data/lib/moov/models/components/capture.rb +82 -0
  71. data/lib/moov/models/components/capture.rbi +37 -0
  72. data/lib/moov/models/components/{refundcardstatus.rb → capturestatus.rb} +6 -5
  73. data/lib/moov/models/components/{refundcardstatus.rbi → capturestatus.rbi} +2 -2
  74. data/lib/moov/models/components/card.rb +4 -4
  75. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  76. data/lib/moov/models/components/cardacquiringmodel.rb +3 -1
  77. data/lib/moov/models/components/cardacquiringrefund.rb +12 -8
  78. data/lib/moov/models/components/cardacquiringrefund.rbi +4 -2
  79. data/lib/moov/models/components/cardbrand.rb +3 -1
  80. data/lib/moov/models/components/cardissuing.rb +34 -0
  81. data/lib/moov/models/components/cardissuing.rbi +13 -0
  82. data/lib/moov/models/components/cardissuingerror.rb +32 -0
  83. data/lib/moov/models/components/cardissuingerror.rbi +13 -0
  84. data/lib/moov/models/components/cardissuingnetwork.rb +3 -1
  85. data/lib/moov/models/components/cardmetadata.rb +4 -4
  86. data/lib/moov/models/components/cardpaymentoptions.rb +39 -0
  87. data/lib/moov/models/components/cardpaymentoptions.rbi +15 -0
  88. data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rb +32 -0
  89. data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rbi +13 -0
  90. data/lib/moov/models/components/{cardtransactionstatus.rb → cardpaymenttransactionstatus.rb} +4 -3
  91. data/lib/moov/models/components/cardpaymenttransactionstatus.rbi +11 -0
  92. data/lib/moov/models/components/cardpaymenttransferprocessingdetails.rb +48 -0
  93. data/lib/moov/models/components/cardpaymenttransferprocessingdetails.rbi +21 -0
  94. data/lib/moov/models/components/cardtransactionfailurecode.rb +19 -1
  95. data/lib/moov/models/components/cardtype.rb +3 -1
  96. data/lib/moov/models/components/cardupdatereason.rb +3 -1
  97. data/lib/moov/models/components/cardverification.rb +3 -3
  98. data/lib/moov/models/components/cardverificationresult.rb +3 -1
  99. data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
  100. data/lib/moov/models/components/collectionpaymentmethodtype.rb +3 -1
  101. data/lib/moov/models/components/createaccount.rb +2 -2
  102. data/lib/moov/models/components/createaccounttype.rb +3 -1
  103. data/lib/moov/models/components/createbankaccountattestation.rb +36 -0
  104. data/lib/moov/models/components/createbankaccountattestation.rbi +15 -0
  105. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  106. data/lib/moov/models/components/createcancellation.rb +34 -0
  107. data/lib/moov/models/components/createcancellation.rbi +13 -0
  108. data/lib/moov/models/components/createcapture.rb +68 -0
  109. data/lib/moov/models/components/createcapture.rbi +29 -0
  110. data/lib/moov/models/components/createdtransfer.rb +29 -25
  111. data/lib/moov/models/components/createdtransfer.rbi +8 -8
  112. data/lib/moov/models/components/createevidencetext.rb +1 -1
  113. data/lib/moov/models/components/createfeeplanagreement.rb +13 -3
  114. data/lib/moov/models/components/createfeeplanagreement.rbi +2 -0
  115. data/lib/moov/models/components/createpaymentlink.rb +1 -1
  116. data/lib/moov/models/components/createrefund.rb +9 -5
  117. data/lib/moov/models/components/createrefund.rbi +2 -0
  118. data/lib/moov/models/components/createreversal.rb +6 -3
  119. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  120. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  121. data/lib/moov/models/components/createtippresets.rb +1 -1
  122. data/lib/moov/models/components/createtransfer.rb +5 -5
  123. data/lib/moov/models/components/createtransferdestination.rb +6 -2
  124. data/lib/moov/models/components/createtransferdestination.rbi +2 -0
  125. data/lib/moov/models/components/createtransferdestinationwire.rb +32 -0
  126. data/lib/moov/models/components/createtransferdestinationwire.rbi +13 -0
  127. data/lib/moov/models/components/createtransferfacilitatorfee.rb +36 -0
  128. data/lib/moov/models/components/createtransferfacilitatorfee.rbi +15 -0
  129. data/lib/moov/models/components/createtransferoptions.rb +2 -2
  130. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  131. data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
  132. data/lib/moov/models/components/createwebhook.rb +1 -1
  133. data/lib/moov/models/components/debitholdperiod.rb +3 -1
  134. data/lib/moov/models/components/depositaccountingestedresponse.rb +1 -1
  135. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +3 -1
  136. data/lib/moov/models/components/dispute.rb +2 -2
  137. data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
  138. data/lib/moov/models/components/disputephase.rb +3 -1
  139. data/lib/moov/models/components/disputestatus.rb +3 -1
  140. data/lib/moov/models/components/document.rb +1 -1
  141. data/lib/moov/models/components/documenttype.rb +3 -1
  142. data/lib/moov/models/components/domesticpullfromcard.rb +3 -1
  143. data/lib/moov/models/components/domesticpushtocard.rb +3 -1
  144. data/lib/moov/models/components/estimatedactivity.rb +1 -1
  145. data/lib/moov/models/components/evidencetextresponse.rb +1 -1
  146. data/lib/moov/models/components/evidencetype.rb +3 -1
  147. data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
  148. data/lib/moov/models/components/facilitatorfee.rb +6 -17
  149. data/lib/moov/models/components/facilitatorfee.rbi +0 -4
  150. data/lib/moov/models/components/feecategory.rb +3 -1
  151. data/lib/moov/models/components/feemodel.rb +3 -1
  152. data/lib/moov/models/components/feepaidby.rb +4 -2
  153. data/lib/moov/models/components/feeplan.rb +1 -1
  154. data/lib/moov/models/components/feeplanagreement.rb +12 -4
  155. data/lib/moov/models/components/feeplanagreement.rbi +4 -0
  156. data/lib/moov/models/components/feeplanagreementstatus.rb +3 -1
  157. data/lib/moov/models/components/filedetails.rb +2 -2
  158. data/lib/moov/models/components/filepurpose.rb +3 -1
  159. data/lib/moov/models/components/filestatus.rb +3 -1
  160. data/lib/moov/models/components/fulfillment.rb +2 -2
  161. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  162. data/lib/moov/models/components/fulfillmentmethod.rb +3 -1
  163. data/lib/moov/models/components/fulfillmenttimeframe.rb +3 -1
  164. data/lib/moov/models/components/fullissuedcard.rb +6 -5
  165. data/lib/moov/models/components/geographicreach.rb +3 -1
  166. data/lib/moov/models/components/googlepayresponse.rb +3 -3
  167. data/lib/moov/models/components/incurredfee.rb +1 -1
  168. data/lib/moov/models/components/instantbankcredittransferprocessingdetails.rb +48 -0
  169. data/lib/moov/models/components/{instantbanktransactiondetails.rbi → instantbankcredittransferprocessingdetails.rbi} +4 -12
  170. data/lib/moov/models/components/instantbankfailurecode.rb +3 -1
  171. data/lib/moov/models/components/instantbanknetwork.rb +3 -1
  172. data/lib/moov/models/components/instantbanktransactionstatus.rb +3 -1
  173. data/lib/moov/models/components/invoice.rb +1 -1
  174. data/lib/moov/models/components/invoicepayment.rb +1 -1
  175. data/lib/moov/models/components/invoicepaymenttype.rb +3 -1
  176. data/lib/moov/models/components/invoicestatus.rb +3 -1
  177. data/lib/moov/models/components/issuedcard.rb +6 -5
  178. data/lib/moov/models/components/issuedcardauthorization.rb +2 -2
  179. data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
  180. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +3 -1
  181. data/lib/moov/models/components/issuedcardeventtype.rb +3 -1
  182. data/lib/moov/models/components/issuedcardstate.rb +5 -1
  183. data/lib/moov/models/components/issuedcontrols.rb +52 -0
  184. data/lib/moov/models/components/issuedcontrols.rbi +23 -0
  185. data/lib/moov/models/components/issuedcontrols_allowedschedule.rb +36 -0
  186. data/lib/moov/models/components/issuedcontrols_allowedschedule.rbi +15 -0
  187. data/lib/moov/models/components/issuedvelocitylimit.rb +60 -0
  188. data/lib/moov/models/components/issuedvelocitylimit.rbi +27 -0
  189. data/lib/moov/models/components/issuingauthorizationstatus.rb +3 -1
  190. data/lib/moov/models/components/issuingcontrols.rb +19 -3
  191. data/lib/moov/models/components/issuingcontrols.rbi +8 -0
  192. data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +36 -0
  193. data/lib/moov/models/components/issuingcontrols_allowedschedule.rbi +15 -0
  194. data/lib/moov/models/components/issuingcontrolserror.rb +18 -2
  195. data/lib/moov/models/components/issuingcontrolserror.rbi +8 -0
  196. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rb +21 -0
  197. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rbi +11 -0
  198. data/lib/moov/models/components/issuingintervallimit.rb +6 -1
  199. data/lib/moov/models/components/issuingmerchantcategory.rb +45 -0
  200. data/lib/moov/models/components/issuingmerchantcategory.rbi +11 -0
  201. data/lib/moov/models/components/issuingscheduleday.rb +24 -0
  202. data/lib/moov/models/components/{cardtransactionstatus.rbi → issuingscheduleday.rbi} +2 -2
  203. data/lib/moov/models/components/issuingvelocitylimit.rb +11 -7
  204. data/lib/moov/models/components/issuingvelocitylimit.rbi +4 -2
  205. data/lib/moov/models/components/issuingvelocitylimiterror.rb +6 -2
  206. data/lib/moov/models/components/issuingvelocitylimiterror.rbi +2 -0
  207. data/lib/moov/models/components/jsonwebkey.rb +1 -1
  208. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  209. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +1 -1
  210. data/lib/moov/models/components/merchantcategories.rb +32 -0
  211. data/lib/moov/models/components/merchantcategories.rbi +13 -0
  212. data/lib/moov/models/components/merchantcategory.rb +37 -0
  213. data/lib/moov/models/components/merchantcategory.rbi +15 -0
  214. data/lib/moov/models/components/merchantcategoryrestrictions.rb +44 -0
  215. data/lib/moov/models/components/merchantcategoryrestrictions.rbi +19 -0
  216. data/lib/moov/models/components/merchantcategoryrestrictionserror.rb +44 -0
  217. data/lib/moov/models/components/merchantcategoryrestrictionserror.rbi +19 -0
  218. data/lib/moov/models/components/merchantentry.rb +40 -0
  219. data/lib/moov/models/components/merchantentry.rbi +17 -0
  220. data/lib/moov/models/components/merchantentryerror.rb +36 -0
  221. data/lib/moov/models/components/merchantentryerror.rbi +15 -0
  222. data/lib/moov/models/components/merchantrestrictions.rb +36 -0
  223. data/lib/moov/models/components/merchantrestrictions.rbi +15 -0
  224. data/lib/moov/models/components/merchantrestrictionserror.rb +36 -0
  225. data/lib/moov/models/components/merchantrestrictionserror.rbi +15 -0
  226. data/lib/moov/models/components/mode.rb +3 -1
  227. data/lib/moov/models/components/monthlyvolumerange.rb +3 -1
  228. data/lib/moov/models/components/moovfee.rb +1 -1
  229. data/lib/moov/models/components/moovfeedetails.rb +5 -5
  230. data/lib/moov/models/components/occurrencesresponse.rb +2 -2
  231. data/lib/moov/models/components/occurrencestatus.rb +3 -1
  232. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  233. data/lib/moov/models/components/partnerpricingagreement.rb +15 -7
  234. data/lib/moov/models/components/partnerpricingagreement.rbi +4 -0
  235. data/lib/moov/models/components/patchbusiness.rb +2 -2
  236. data/lib/moov/models/components/patchwallet.rb +1 -1
  237. data/lib/moov/models/components/paymentlink.rb +4 -6
  238. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetails.rb +0 -2
  239. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetailsupdate.rb +0 -2
  240. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
  241. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
  242. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +5 -7
  243. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +5 -7
  244. data/lib/moov/models/components/paymentlinkstatus.rb +3 -1
  245. data/lib/moov/models/components/paymentlinktype.rb +3 -1
  246. data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
  247. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  248. data/lib/moov/models/components/paymentmethodswallet.rb +2 -1
  249. data/lib/moov/models/components/paymentmethodtype.rb +4 -1
  250. data/lib/moov/models/components/pendinglitigation.rb +3 -1
  251. data/lib/moov/models/components/primaryregulator.rb +3 -1
  252. data/lib/moov/models/components/pullfromcardoptions.rb +39 -0
  253. data/lib/moov/models/components/pullfromcardoptions.rbi +15 -0
  254. data/lib/moov/models/components/pullfromcardtransactionstatus.rb +22 -0
  255. data/lib/moov/models/components/pullfromcardtransactionstatus.rbi +11 -0
  256. data/lib/moov/models/components/pullfromcardtransferprocessingdetails.rb +48 -0
  257. data/lib/moov/models/components/pullfromcardtransferprocessingdetails.rbi +21 -0
  258. data/lib/moov/models/components/pushdeliveryspeed.rb +3 -1
  259. data/lib/moov/models/components/pushoptions.rb +5 -4
  260. data/lib/moov/models/components/pushoptionsupdate.rb +5 -4
  261. data/lib/moov/models/components/pushtocardoptions.rb +32 -0
  262. data/lib/moov/models/components/pushtocardoptions.rbi +13 -0
  263. data/lib/moov/models/components/pushtocardtransactionstatus.rb +24 -0
  264. data/lib/moov/models/components/pushtocardtransactionstatus.rbi +11 -0
  265. data/lib/moov/models/components/pushtocardtransferprocessingdetails.rb +48 -0
  266. data/lib/moov/models/components/pushtocardtransferprocessingdetails.rbi +21 -0
  267. data/lib/moov/models/components/puttippresets.rb +1 -1
  268. data/lib/moov/models/components/refundpolicy.rb +3 -1
  269. data/lib/moov/models/components/refundprocessingdetails.rb +32 -0
  270. data/lib/moov/models/components/refundprocessingdetails.rbi +13 -0
  271. data/lib/moov/models/components/refundstatus.rb +3 -1
  272. data/lib/moov/models/components/requestcard.rb +1 -1
  273. data/lib/moov/models/components/requirementerror.rb +2 -2
  274. data/lib/moov/models/components/requirementerrorcode.rb +3 -1
  275. data/lib/moov/models/components/requirementid.rb +18 -1
  276. data/lib/moov/models/components/resolutionlink.rb +1 -1
  277. data/lib/moov/models/components/resolutionlinkstatus.rb +3 -1
  278. data/lib/moov/models/components/returnpolicytype.rb +3 -1
  279. data/lib/moov/models/components/reversalamountdetails.rb +3 -1
  280. data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
  281. data/lib/moov/models/components/rtprejectioncode.rb +3 -1
  282. data/lib/moov/models/components/schedulelistresponse.rb +1 -1
  283. data/lib/moov/models/components/scheduleresponse.rb +1 -1
  284. data/lib/moov/models/components/schedulewindow.rb +40 -0
  285. data/lib/moov/models/components/schedulewindow.rbi +17 -0
  286. data/lib/moov/models/components/schedulewindowerror.rb +40 -0
  287. data/lib/moov/models/components/schedulewindowerror.rbi +17 -0
  288. data/lib/moov/models/components/seccode.rb +3 -1
  289. data/lib/moov/models/components/sendfunds.rb +6 -2
  290. data/lib/moov/models/components/sendfunds.rbi +2 -0
  291. data/lib/moov/models/components/sendfundserror.rb +6 -2
  292. data/lib/moov/models/components/sendfundserror.rbi +2 -0
  293. data/lib/moov/models/components/sendfundswire.rb +32 -0
  294. data/lib/moov/models/components/sendfundswire.rbi +13 -0
  295. data/lib/moov/models/components/sendfundswireerror.rb +32 -0
  296. data/lib/moov/models/components/sendfundswireerror.rbi +13 -0
  297. data/lib/moov/models/components/sourcesystem.rb +3 -1
  298. data/lib/moov/models/components/statement.rb +6 -2
  299. data/lib/moov/models/components/statement.rbi +2 -0
  300. data/lib/moov/models/components/sweep.rb +1 -1
  301. data/lib/moov/models/components/sweepconfig.rb +3 -3
  302. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  303. data/lib/moov/models/components/sweepconfigstatus.rb +3 -1
  304. data/lib/moov/models/components/sweepstatus.rb +3 -1
  305. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  306. data/lib/moov/models/components/terminalapplication.rb +2 -2
  307. data/lib/moov/models/components/terminalapplicationplatform.rb +3 -1
  308. data/lib/moov/models/components/terminalapplicationstatus.rb +3 -1
  309. data/lib/moov/models/components/terminalcard.rb +2 -2
  310. data/lib/moov/models/components/ticket.rb +1 -1
  311. data/lib/moov/models/components/ticketstatus.rb +3 -1
  312. data/lib/moov/models/components/tipcalculationbasis.rb +3 -1
  313. data/lib/moov/models/components/tippresets.rb +1 -1
  314. data/lib/moov/models/components/transactionsource.rb +3 -1
  315. data/lib/moov/models/components/transfer.rb +28 -24
  316. data/lib/moov/models/components/transfer.rbi +8 -8
  317. data/lib/moov/models/components/transferauthorization.rb +52 -0
  318. data/lib/moov/models/components/transferauthorization.rbi +23 -0
  319. data/lib/moov/models/components/transferdestination.rb +5 -17
  320. data/lib/moov/models/components/transferdestination.rbi +0 -6
  321. data/lib/moov/models/components/transferfailurereason.rb +3 -1
  322. data/lib/moov/models/components/transferfeepaidby.rb +2 -2
  323. data/lib/moov/models/components/transferoptions.rb +3 -3
  324. data/lib/moov/models/components/transferparty.rb +3 -1
  325. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
  326. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  327. data/lib/moov/models/components/transferpaymentmethodswallet.rb +2 -1
  328. data/lib/moov/models/components/transferpaymentmethodtype.rb +4 -1
  329. data/lib/moov/models/components/transferprocessingdetails.rb +56 -0
  330. data/lib/moov/models/components/transferprocessingdetails.rbi +25 -0
  331. data/lib/moov/models/components/transferrailoptions.rb +52 -0
  332. data/lib/moov/models/components/transferrailoptions.rbi +23 -0
  333. data/lib/moov/models/components/transfersource.rb +9 -17
  334. data/lib/moov/models/components/transfersource.rbi +2 -6
  335. data/lib/moov/models/components/transferstatus.rb +4 -1
  336. data/lib/moov/models/components/transferterminalcard.rb +2 -2
  337. data/lib/moov/models/components/transfertype.rb +28 -0
  338. data/lib/moov/models/components/transfertype.rbi +11 -0
  339. data/lib/moov/models/components/underwriting.rb +12 -6
  340. data/lib/moov/models/components/underwriting.rbi +2 -0
  341. data/lib/moov/models/components/underwritingstatus.rb +3 -1
  342. data/lib/moov/models/components/updateevidence.rb +1 -1
  343. data/lib/moov/models/components/updateinvoice.rb +1 -1
  344. data/lib/moov/models/components/updateissuedcard.rb +8 -2
  345. data/lib/moov/models/components/updateissuedcard.rbi +2 -0
  346. data/lib/moov/models/components/updateissuedcardstate.rb +4 -0
  347. data/lib/moov/models/components/updateissuingcontrols.rb +48 -0
  348. data/lib/moov/models/components/updateissuingcontrols.rbi +21 -0
  349. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +36 -0
  350. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rbi +15 -0
  351. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb +44 -0
  352. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rbi +19 -0
  353. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb +36 -0
  354. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rbi +15 -0
  355. data/lib/moov/models/components/updateissuingcontrolserror.rb +48 -0
  356. data/lib/moov/models/components/updateissuingcontrolserror.rbi +21 -0
  357. data/lib/moov/models/components/updatepaymentlink.rb +1 -1
  358. data/lib/moov/models/components/updatewebhook.rb +1 -1
  359. data/lib/moov/models/components/upsertunderwriting.rb +11 -5
  360. data/lib/moov/models/components/upsertunderwriting.rbi +2 -0
  361. data/lib/moov/models/components/use.rb +3 -1
  362. data/lib/moov/models/components/verification.rb +3 -3
  363. data/lib/moov/models/components/verificationstatus.rb +3 -1
  364. data/lib/moov/models/components/verificationstatusdetail.rb +3 -1
  365. data/lib/moov/models/components/wallet.rb +3 -2
  366. data/lib/moov/models/components/walletstatus.rb +3 -1
  367. data/lib/moov/models/components/wallettransaction.rb +3 -3
  368. data/lib/moov/models/components/wallettransactionsourcetype.rb +3 -1
  369. data/lib/moov/models/components/wallettransactionstatus.rb +3 -1
  370. data/lib/moov/models/components/wallettransactiontype.rb +4 -1
  371. data/lib/moov/models/components/wallettype.rb +5 -1
  372. data/lib/moov/models/components/webhook.rb +1 -1
  373. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
  374. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
  375. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  376. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  377. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  378. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
  379. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
  380. data/lib/moov/models/components/webhookdatacaptureupdated.rb +44 -0
  381. data/lib/moov/models/components/webhookdatacaptureupdated.rbi +19 -0
  382. data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
  383. data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
  384. data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
  385. data/lib/moov/models/components/webhookdatainvoiceupdated.rb +1 -1
  386. data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
  387. data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
  388. data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
  389. data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
  390. data/lib/moov/models/components/webhookdataticketupdated.rb +1 -1
  391. data/lib/moov/models/components/webhookdatatransferstatus.rb +4 -0
  392. data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
  393. data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
  394. data/lib/moov/models/components/webhookevent.rb +3 -3
  395. data/lib/moov/models/components/webhookeventtype.rb +4 -1
  396. data/lib/moov/models/components/webhookstatus.rb +3 -1
  397. data/lib/moov/models/components/wirecreditpaymentmethod.rb +40 -0
  398. data/lib/moov/models/components/wirecreditpaymentmethod.rbi +17 -0
  399. data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rb +18 -0
  400. data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rbi +11 -0
  401. data/lib/moov/models/components/wirecredittransferpaymentmethod.rb +40 -0
  402. data/lib/moov/models/components/wirecredittransferpaymentmethod.rbi +17 -0
  403. data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rb +18 -0
  404. data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rbi +11 -0
  405. data/lib/moov/models/components/wirefailurecode.rb +28 -0
  406. data/lib/moov/models/components/wirefailurecode.rbi +11 -0
  407. data/lib/moov/models/components/wireoptions.rb +32 -0
  408. data/lib/moov/models/components/wireoptions.rbi +13 -0
  409. data/lib/moov/models/components/wiretransactionstatus.rb +23 -0
  410. data/lib/moov/models/components/wiretransactionstatus.rbi +11 -0
  411. data/lib/moov/models/components/wiretransferprocessingdetails.rb +40 -0
  412. data/lib/moov/models/components/wiretransferprocessingdetails.rbi +17 -0
  413. data/lib/moov/models/components.rb +69 -8
  414. data/lib/moov/models/errors/bankaccountattestationvalidationerror.rb +40 -0
  415. data/lib/moov/models/errors/bankaccountattestationvalidationerror.rbi +17 -0
  416. data/lib/moov/models/errors/capturevalidationerror.rb +68 -0
  417. data/lib/moov/models/errors/capturevalidationerror.rbi +31 -0
  418. data/lib/moov/models/errors/cardacquiringrefund_error.rb +12 -8
  419. data/lib/moov/models/errors/cardacquiringrefund_error.rbi +4 -2
  420. data/lib/moov/models/errors/imagemetadata_error.rb +61 -0
  421. data/lib/moov/models/errors/imagemetadata_error.rbi +27 -0
  422. data/lib/moov/models/errors/transfer_error.rb +28 -24
  423. data/lib/moov/models/errors/transfer_error.rbi +8 -8
  424. data/lib/moov/models/errors/updateissuedcarderror.rb +6 -2
  425. data/lib/moov/models/errors/updateissuedcarderror.rbi +2 -0
  426. data/lib/moov/models/errors/upsertunderwritingerror.rb +6 -2
  427. data/lib/moov/models/errors/upsertunderwritingerror.rbi +2 -0
  428. data/lib/moov/models/errors.rb +3 -0
  429. data/lib/moov/models/operations/createbankaccountattestation_request.rb +40 -0
  430. data/lib/moov/models/operations/createbankaccountattestation_request.rbi +17 -0
  431. data/lib/moov/models/operations/createbankaccountattestation_response.rb +48 -0
  432. data/lib/moov/models/operations/createbankaccountattestation_response.rbi +21 -0
  433. data/lib/moov/models/operations/createcancellation_request.rb +6 -2
  434. data/lib/moov/models/operations/createcancellation_request.rbi +2 -0
  435. data/lib/moov/models/operations/createcapture_request.rb +44 -0
  436. data/lib/moov/models/operations/createcapture_request.rbi +19 -0
  437. data/lib/moov/models/operations/createcapture_response.rb +48 -0
  438. data/lib/moov/models/operations/createcapture_response.rbi +21 -0
  439. data/lib/moov/models/operations/createreversal_request.rb +3 -3
  440. data/lib/moov/models/operations/getbankaccountattestationeligibility_request.rb +41 -0
  441. data/lib/moov/models/operations/getbankaccountattestationeligibility_request.rbi +17 -0
  442. data/lib/moov/models/operations/getbankaccountattestationeligibility_response.rb +48 -0
  443. data/lib/moov/models/operations/getbankaccountattestationeligibility_response.rbi +21 -0
  444. data/lib/moov/models/operations/getcapture_request.rb +40 -0
  445. data/lib/moov/models/operations/getcapture_request.rbi +17 -0
  446. data/lib/moov/models/operations/getcapture_response.rb +48 -0
  447. data/lib/moov/models/operations/getcapture_response.rbi +21 -0
  448. data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
  449. data/lib/moov/models/operations/initiaterefund_request.rb +6 -6
  450. data/lib/moov/models/operations/initiaterefund_request.rbi +2 -2
  451. data/lib/moov/models/operations/listaccounts_request.rb +1 -1
  452. data/lib/moov/models/operations/listbankaccountattestations_request.rb +36 -0
  453. data/lib/moov/models/operations/listbankaccountattestations_request.rbi +15 -0
  454. data/lib/moov/models/operations/listbankaccountattestations_response.rb +48 -0
  455. data/lib/moov/models/operations/listbankaccountattestations_response.rbi +21 -0
  456. data/lib/moov/models/operations/listcaptures_request.rb +36 -0
  457. data/lib/moov/models/operations/listcaptures_request.rbi +15 -0
  458. data/lib/moov/models/operations/listcaptures_response.rb +48 -0
  459. data/lib/moov/models/operations/listcaptures_response.rbi +21 -0
  460. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
  461. data/lib/moov/models/operations/listdisputes_request.rb +1 -1
  462. data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
  463. data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
  464. data/lib/moov/models/operations/listinvoices_request.rb +1 -1
  465. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
  466. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
  467. data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
  468. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +7 -3
  469. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +2 -0
  470. data/lib/moov/models/operations/listissuingmerchantcategories_response.rb +48 -0
  471. data/lib/moov/models/operations/listissuingmerchantcategories_response.rbi +21 -0
  472. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
  473. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  474. data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
  475. data/lib/moov/models/operations/listproducts_request.rb +1 -1
  476. data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
  477. data/lib/moov/models/operations/listresiduals_request.rb +1 -1
  478. data/lib/moov/models/operations/listschedules_request.rb +1 -1
  479. data/lib/moov/models/operations/liststatements_request.rb +1 -1
  480. data/lib/moov/models/operations/listsweeps_request.rb +1 -1
  481. data/lib/moov/models/operations/listtickets_request.rb +1 -1
  482. data/lib/moov/models/operations/listtransfers_request.rb +11 -3
  483. data/lib/moov/models/operations/listtransfers_request.rbi +4 -0
  484. data/lib/moov/models/operations/listwallets_request.rb +1 -1
  485. data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
  486. data/lib/moov/models/operations/retrievefees_request.rb +1 -1
  487. data/lib/moov/models/operations.rb +13 -0
  488. data/lib/moov/payment_methods.rb +2 -2
  489. data/lib/moov/sdkconfiguration.rb +3 -3
  490. data/lib/moov/transfers.rb +446 -10
  491. data/lib/moov/utils/retries.rb +41 -2
  492. data/lib/moov/utils/utils.rb +6 -2
  493. data/lib/moov_ruby.rb +1 -1
  494. metadata +170 -16
  495. data/lib/moov/models/components/achtransactiondetails.rb +0 -92
  496. data/lib/moov/models/components/achtransactiondetails.rbi +0 -43
  497. data/lib/moov/models/components/cardacquiringdispute.rb +0 -40
  498. data/lib/moov/models/components/cardacquiringdispute.rbi +0 -17
  499. data/lib/moov/models/components/cardtransactiondetails.rb +0 -93
  500. data/lib/moov/models/components/cardtransactiondetails.rbi +0 -41
  501. data/lib/moov/models/components/instantbanktransactiondetails.rb +0 -64
  502. data/lib/moov/models/components/refundcarddetails.rb +0 -56
  503. data/lib/moov/models/components/refundcarddetails.rbi +0 -25
@@ -19,7 +19,7 @@ module Moov
19
19
  # A registered trade name under which the business operates, if different from its legal name.
20
20
  field :doing_business_as, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('doingBusinessAs') } }
21
21
  # The type of entity represented by this business.
22
- field :business_type, Crystalline::Nilable.new(Models::Components::BusinessType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('businessType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BusinessType, true) } }
22
+ field :business_type, Crystalline::Nilable.new(Models::Components::BusinessType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('businessType'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BusinessType, true) } }
23
23
 
24
24
  field :address, Crystalline::Nilable.new(Models::Components::Address), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('address') } }
25
25
 
@@ -39,7 +39,7 @@ module Moov
39
39
  # Classification identifier for the industry. Use the [GET industries](https://docs.moov.io/api/enrichment/form-shortening/industries/get/) endpoint to retrieve an array of valid industry details for a merchant, inducing all industry field values.
40
40
  field :industry, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('industry') } }
41
41
  # If the business is a financial institution, this field describes its primary regulator.
42
- field :primary_regulator, Crystalline::Nilable.new(Models::Components::PrimaryRegulator), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('primaryRegulator'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PrimaryRegulator, true) } }
42
+ field :primary_regulator, Crystalline::Nilable.new(Models::Components::PrimaryRegulator), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('primaryRegulator'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::PrimaryRegulator, true) } }
43
43
 
44
44
  sig { params(legal_business_name: ::String, owners_provided: T::Boolean, doing_business_as: T.nilable(::String), business_type: T.nilable(Models::Components::BusinessType), address: T.nilable(Models::Components::Address), phone: T.nilable(Models::Components::PhoneNumber), email: T.nilable(::String), website: T.nilable(::String), description: T.nilable(::String), tax_id_provided: T.nilable(T::Boolean), representatives: T.nilable(T::Array[Models::Components::Representative]), industry_codes: T.nilable(Models::Components::IndustryCodes), industry: T.nilable(::String), primary_regulator: T.nilable(Models::Components::PrimaryRegulator)).void }
45
45
  def initialize(legal_business_name:, owners_provided:, doing_business_as: nil, business_type: nil, address: nil, phone: nil, email: nil, website: nil, description: nil, tax_id_provided: nil, representatives: nil, industry_codes: nil, industry: nil, primary_regulator: nil)
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # BusinessType - The type of entity represented by this business.
11
- class BusinessType < T::Enum
11
+ class BusinessType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  SOLE_PROPRIETORSHIP = new('soleProprietorship')
14
15
  UNINCORPORATED_ASSOCIATION = new('unincorporatedAssociation')
@@ -21,6 +22,7 @@ module Moov
21
22
  INCORPORATED_NON_PROFIT = new('incorporatedNonProfit')
22
23
  GOVERNMENT_ENTITY = new('governmentEntity')
23
24
  end
25
+ open!
24
26
  end
25
27
  end
26
28
  end
@@ -11,7 +11,8 @@ module Moov
11
11
  #
12
12
  # If set to "auto" the UI will automatically select between
13
13
  # "pay" and "confirm" for payments and payouts respectively.
14
- class CallToAction < T::Enum
14
+ class CallToAction
15
+ include ::Crystalline::Enum
15
16
  enums do
16
17
  PAY = new('pay')
17
18
  BOOK = new('book')
@@ -20,6 +21,7 @@ module Moov
20
21
  CONFIRM = new('confirm')
21
22
  AUTO = new('auto')
22
23
  end
24
+ open!
23
25
  end
24
26
  end
25
27
  end
@@ -7,7 +7,7 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
-
10
+ # Cancellation of a transfer.
11
11
  class Cancellation
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
@@ -15,7 +15,7 @@ module Moov
15
15
 
16
16
  field :cancellation_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cancellationID'), required: true } }
17
17
 
18
- field :status, Models::Components::CancellationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CancellationStatus, false) } }
18
+ field :status, Models::Components::CancellationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CancellationStatus, false) } }
19
19
 
20
20
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
21
21
 
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class CancellationStatus < T::Enum
11
+ class CancellationStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  PENDING = new('pending')
14
15
  COMPLETED = new('completed')
15
16
  FAILED = new('failed')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -21,11 +21,11 @@ module Moov
21
21
  # Read our [capabilities reference](https://docs.moov.io/guides/accounts/capabilities/reference/) to choose the right capabilities for your integration.
22
22
  #
23
23
  # The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in the list for your Partner account. These are read-only capabilities that Moov requests. These capabilities remain active with your account and require no additional action.
24
- field :capability, Models::Components::CapabilityID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capability'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CapabilityID, false) } }
24
+ field :capability, Models::Components::CapabilityID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capability'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CapabilityID, false) } }
25
25
 
26
26
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
27
27
  # The status of the capability requested for an account.
28
- field :status, Models::Components::CapabilityStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CapabilityStatus, false) } }
28
+ field :status, Models::Components::CapabilityStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CapabilityStatus, false) } }
29
29
 
30
30
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
31
31
 
@@ -16,7 +16,8 @@ module Moov
16
16
  # Read our [capabilities reference](https://docs.moov.io/guides/accounts/capabilities/reference/) to choose the right capabilities for your integration.
17
17
  #
18
18
  # The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in the list for your Partner account. These are read-only capabilities that Moov requests. These capabilities remain active with your account and require no additional action.
19
- class CapabilityID < T::Enum
19
+ class CapabilityID
20
+ include ::Crystalline::Enum
20
21
  enums do
21
22
  TRANSFERS = new('transfers')
22
23
  SEND_FUNDS = new('send-funds')
@@ -38,6 +39,7 @@ module Moov
38
39
  PLATFORM_PRODUCTION_APP = new('platform.production-app')
39
40
  PLATFORM_WALLET_TRANSFERS = new('platform.wallet-transfers')
40
41
  end
42
+ open!
41
43
  end
42
44
  end
43
45
  end
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CapabilityStatus - The status of the capability requested for an account.
11
- class CapabilityStatus < T::Enum
11
+ class CapabilityStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  ENABLED = new('enabled')
14
15
  DISABLED = new('disabled')
15
16
  PENDING = new('pending')
16
17
  IN_REVIEW = new('in-review')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -0,0 +1,82 @@
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
+ # Details of a capture against an authorization.
11
+ class Capture
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Identifier for the capture.
16
+ field :capture_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('captureID'), required: true } }
17
+
18
+ field :amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
19
+ # Indicates whether this is intended to be the final capture.
20
+ field :is_final, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('isFinal'), required: true } }
21
+
22
+ field :status, Models::Components::CaptureStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CaptureStatus, false) } }
23
+
24
+ field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
25
+ # Payment method of the merchant account the funds were captured into. For card-acquiring transfers, this must be a moov-wallet payment method.
26
+ field :destination_payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destinationPaymentMethodID'), required: true } }
27
+ # An optional description of the capture that is used on receipts and for your own internal use.
28
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
29
+ # Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
30
+ field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
31
+ # Optional alias from a foreign/external system which can be used to reference this resource.
32
+ field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
33
+ # An optional collection of line items for a transfer.
34
+ # When line items are provided, their total plus tax must equal the transfer amount.
35
+ field :line_items, Crystalline::Nilable.new(Models::Components::TransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
36
+
37
+ field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
38
+ # The facilitator fee applied to this capture.
39
+ # The transfer's facilitator fee is the sum of its capture fees.
40
+ field :facilitator_fee_amount, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('facilitatorFeeAmount') } }
41
+
42
+ field :failure_code, Crystalline::Nilable.new(Models::Components::CardTransactionFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardTransactionFailureCode, true) } }
43
+
44
+ sig { params(capture_id: ::String, amount: Models::Components::AmountDecimal, is_final: T::Boolean, status: Models::Components::CaptureStatus, created_on: ::DateTime, destination_payment_method_id: ::String, description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItems), amount_details: T.nilable(Models::Components::TransferAmountDetails), facilitator_fee_amount: T.nilable(Models::Components::AmountDecimal), failure_code: T.nilable(Models::Components::CardTransactionFailureCode)).void }
45
+ def initialize(capture_id:, amount:, is_final:, status:, created_on:, destination_payment_method_id:, description: nil, metadata: nil, foreign_id: nil, line_items: nil, amount_details: nil, facilitator_fee_amount: nil, failure_code: nil)
46
+ @capture_id = capture_id
47
+ @amount = amount
48
+ @is_final = is_final
49
+ @status = status
50
+ @created_on = created_on
51
+ @destination_payment_method_id = destination_payment_method_id
52
+ @description = description
53
+ @metadata = metadata
54
+ @foreign_id = foreign_id
55
+ @line_items = line_items
56
+ @amount_details = amount_details
57
+ @facilitator_fee_amount = facilitator_fee_amount
58
+ @failure_code = failure_code
59
+ end
60
+
61
+ sig { params(other: T.untyped).returns(T::Boolean) }
62
+ def ==(other)
63
+ return false unless other.is_a? self.class
64
+ return false unless @capture_id == other.capture_id
65
+ return false unless @amount == other.amount
66
+ return false unless @is_final == other.is_final
67
+ return false unless @status == other.status
68
+ return false unless @created_on == other.created_on
69
+ return false unless @destination_payment_method_id == other.destination_payment_method_id
70
+ return false unless @description == other.description
71
+ return false unless @metadata == other.metadata
72
+ return false unless @foreign_id == other.foreign_id
73
+ return false unless @line_items == other.line_items
74
+ return false unless @amount_details == other.amount_details
75
+ return false unless @facilitator_fee_amount == other.facilitator_fee_amount
76
+ return false unless @failure_code == other.failure_code
77
+ true
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,37 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::Capture
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::Capture
11
+ def capture_id(); end
12
+ def capture_id=(str_); end
13
+ def amount(); end
14
+ def amount=(str_); end
15
+ def is_final(); end
16
+ def is_final=(str_); end
17
+ def status(); end
18
+ def status=(str_); end
19
+ def created_on(); end
20
+ def created_on=(str_); end
21
+ def destination_payment_method_id(); end
22
+ def destination_payment_method_id=(str_); end
23
+ def description(); end
24
+ def description=(str_); end
25
+ def metadata(); end
26
+ def metadata=(str_); end
27
+ def foreign_id(); end
28
+ def foreign_id=(str_); end
29
+ def line_items(); end
30
+ def line_items=(str_); end
31
+ def amount_details(); end
32
+ def amount_details=(str_); end
33
+ def facilitator_fee_amount(); end
34
+ def facilitator_fee_amount=(str_); end
35
+ def failure_code(); end
36
+ def failure_code=(str_); end
37
+ end
@@ -8,14 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class RefundCardStatus < T::Enum
11
+ class CaptureStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
- INITIATED = new('initiated')
14
- CONFIRMED = new('confirmed')
15
- SETTLED = new('settled')
16
- FAILED = new('failed')
14
+ PENDING = new('pending')
17
15
  COMPLETED = new('completed')
16
+ FAILED = new('failed')
17
+ CANCELED = new('canceled')
18
18
  end
19
+ open!
19
20
  end
20
21
  end
21
22
  end
@@ -2,10 +2,10 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Moov::Models::Components::RefundCardStatus
5
+ class Moov::Models::Components::CaptureStatus
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::RefundCardStatus
10
+ class Moov::Models::Components::CaptureStatus
11
11
  end
@@ -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.
@@ -59,9 +59,9 @@ module Moov
59
59
  # The results of the most recent card update request.
60
60
  field :card_account_updater, Crystalline::Nilable.new(Models::Components::CardAccountUpdater), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAccountUpdater') } }
61
61
  # Indicates which level of domestic push-to-card transfer is supported by the card, if any.
62
- 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) } }
62
+ 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) } }
63
63
  # Indicates if the card supports domestic pull-from-card transfer.
64
- 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) } }
64
+ 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) } }
65
65
  # Includes any payment methods created as a result of linking a card with the `x-wait-for` header set to `payment-method`.
66
66
  #
67
67
  # Only returned by the link card endpoint; not included when getting or listing cards.
@@ -15,7 +15,7 @@ module Moov
15
15
  # Timestamp from the card network indicating when the card update was processed.
16
16
  field :updated_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
17
17
  # The results of the card update request.
18
- field :update_type, Crystalline::Nilable.new(Models::Components::CardUpdateReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updateType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardUpdateReason, true) } }
18
+ field :update_type, Crystalline::Nilable.new(Models::Components::CardUpdateReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updateType'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardUpdateReason, true) } }
19
19
 
20
20
  sig { params(updated_on: T.nilable(::DateTime), update_type: T.nilable(Models::Components::CardUpdateReason)).void }
21
21
  def initialize(updated_on: nil, update_type: nil)
@@ -8,11 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CardAcquiringModel - Specifies the card processing pricing model
11
- class CardAcquiringModel < T::Enum
11
+ class CardAcquiringModel
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  COST_PLUS = new('cost-plus')
14
15
  FLAT_RATE = new('flat-rate')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -19,23 +19,26 @@ module Moov
19
19
 
20
20
  field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
21
21
 
22
- field :status, Models::Components::RefundStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::RefundStatus, false) } }
22
+ field :status, Models::Components::RefundStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RefundStatus, false) } }
23
23
 
24
- field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
24
+ field :amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
25
25
 
26
- field :amount_details, Crystalline::Nilable.new(Models::Components::RefundAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
26
+ field :processing_details, Models::Components::RefundProcessingDetails, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('processingDetails'), required: true } }
27
+ # ID of the capture refunded for an auth-capture `card-payment` transfer.
28
+ field :capture_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('captureID') } }
27
29
 
28
- field :card_details, Crystalline::Nilable.new(Models::Components::RefundCardDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
30
+ field :amount_details, Crystalline::Nilable.new(Models::Components::RefundAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
29
31
 
30
- sig { params(refund_id: ::String, created_on: ::DateTime, updated_on: ::DateTime, status: Models::Components::RefundStatus, amount: Models::Components::Amount, amount_details: T.nilable(Models::Components::RefundAmountDetails), card_details: T.nilable(Models::Components::RefundCardDetails)).void }
31
- def initialize(refund_id:, created_on:, updated_on:, status:, amount:, amount_details: nil, card_details: nil)
32
+ sig { params(refund_id: ::String, created_on: ::DateTime, updated_on: ::DateTime, status: Models::Components::RefundStatus, amount: Models::Components::AmountDecimal, processing_details: Models::Components::RefundProcessingDetails, capture_id: T.nilable(::String), amount_details: T.nilable(Models::Components::RefundAmountDetails)).void }
33
+ def initialize(refund_id:, created_on:, updated_on:, status:, amount:, processing_details:, capture_id: nil, amount_details: nil)
32
34
  @refund_id = refund_id
33
35
  @created_on = created_on
34
36
  @updated_on = updated_on
35
37
  @status = status
36
38
  @amount = amount
39
+ @processing_details = processing_details
40
+ @capture_id = capture_id
37
41
  @amount_details = amount_details
38
- @card_details = card_details
39
42
  end
40
43
 
41
44
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -46,8 +49,9 @@ module Moov
46
49
  return false unless @updated_on == other.updated_on
47
50
  return false unless @status == other.status
48
51
  return false unless @amount == other.amount
52
+ return false unless @processing_details == other.processing_details
53
+ return false unless @capture_id == other.capture_id
49
54
  return false unless @amount_details == other.amount_details
50
- return false unless @card_details == other.card_details
51
55
  true
52
56
  end
53
57
  end
@@ -18,8 +18,10 @@ class Moov::Models::Components::CardAcquiringRefund
18
18
  def status=(str_); end
19
19
  def amount(); end
20
20
  def amount=(str_); end
21
+ def processing_details(); end
22
+ def processing_details=(str_); end
23
+ def capture_id(); end
24
+ def capture_id=(str_); end
21
25
  def amount_details(); end
22
26
  def amount_details=(str_); end
23
- def card_details(); end
24
- def card_details=(str_); end
25
27
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CardBrand - The card brand.
11
- class CardBrand < T::Enum
11
+ class CardBrand
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  AMERICAN_EXPRESS = new('American Express')
14
15
  DISCOVER = new('Discover')
@@ -16,6 +17,7 @@ module Moov
16
17
  VISA = new('Visa')
17
18
  UNKNOWN = new('Unknown')
18
19
  end
20
+ open!
19
21
  end
20
22
  end
21
23
  end
@@ -0,0 +1,34 @@
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
+ # Underwriting data for the `card-issuing` capability.
11
+ #
12
+ # Issued cards are funded from the account's card-issuing wallet before they can be spent, so estimated activity is the only data collected.
13
+ class CardIssuing
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+
18
+ field :estimated_activity, Crystalline::Nilable.new(Models::Components::EstimatedActivity), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('estimatedActivity') } }
19
+
20
+ sig { params(estimated_activity: T.nilable(Models::Components::EstimatedActivity)).void }
21
+ def initialize(estimated_activity: nil)
22
+ @estimated_activity = estimated_activity
23
+ end
24
+
25
+ sig { params(other: T.untyped).returns(T::Boolean) }
26
+ def ==(other)
27
+ return false unless other.is_a? self.class
28
+ return false unless @estimated_activity == other.estimated_activity
29
+ true
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CardIssuing
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CardIssuing
11
+ def estimated_activity(); end
12
+ def estimated_activity=(str_); end
13
+ 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
+
11
+ class CardIssuingError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :estimated_activity, Crystalline::Nilable.new(Models::Components::EstimatedActivityError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('estimatedActivity') } }
17
+
18
+ sig { params(estimated_activity: T.nilable(Models::Components::EstimatedActivityError)).void }
19
+ def initialize(estimated_activity: nil)
20
+ @estimated_activity = estimated_activity
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 @estimated_activity == other.estimated_activity
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::CardIssuingError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CardIssuingError
11
+ def estimated_activity(); end
12
+ def estimated_activity=(str_); end
13
+ end
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CardIssuingNetwork - The name of the network a card transaction is routed through.
11
- class CardIssuingNetwork < T::Enum
11
+ class CardIssuingNetwork
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  DISCOVER = new('discover')
14
15
  SHAZAM = new('shazam')
15
16
  VISA = new('visa')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -15,9 +15,9 @@ module Moov
15
15
  # The first six to eight digits of the card number, which identifies the financial institution that issued the card.
16
16
  field :bin, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bin'), required: true } }
17
17
  # The card brand.
18
- field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardBrand, false) } }
18
+ field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardBrand, false) } }
19
19
  # The type of the card.
20
- 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) } }
20
+ 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) } }
21
21
  # The category or level of the card defined by the issuer.
22
22
  # Examples include, but not limited to, "REWARDS", "TRADITIONAL REWARDS", "CLASSIC", and "CORPORATE PURCHASING".
23
23
  field :card_category, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardCategory') } }
@@ -36,9 +36,9 @@ module Moov
36
36
  # URL of the issuer.
37
37
  field :issuer_url, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuerURL') } }
38
38
  # Indicates if the card supports domestic pull-from-card transfer.
39
- 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) } }
39
+ 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) } }
40
40
  # Indicates which level of domestic push-to-card transfer is supported by the card, if any.
41
- 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) } }
41
+ 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) } }
42
42
 
43
43
  sig { params(bin: ::String, brand: Models::Components::CardBrand, card_type: Models::Components::CardType, card_category: T.nilable(::String), commercial: T.nilable(T::Boolean), regulated: T.nilable(T::Boolean), issuer: T.nilable(::String), issuer_country: T.nilable(::String), issuer_phone: T.nilable(::String), issuer_url: T.nilable(::String), domestic_pull_from_card: T.nilable(Models::Components::DomesticPullFromCard), domestic_push_to_card: T.nilable(Models::Components::DomesticPushToCard)).void }
44
44
  def initialize(bin:, brand:, card_type:, card_category: nil, commercial: nil, regulated: nil, issuer: nil, issuer_country: nil, issuer_phone: nil, issuer_url: nil, domestic_pull_from_card: nil, domestic_push_to_card: nil)
@@ -0,0 +1,39 @@
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 CardPaymentOptions
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
16
+ field :dynamic_descriptor, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('dynamicDescriptor') } }
17
+ # Specifies the nature and initiator of a transaction.
18
+ #
19
+ # Crucial for recurring and merchant-initiated transactions as per card scheme rules.
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.open_enum_from_string(Models::Components::TransactionSource, true) } }
22
+
23
+ sig { params(dynamic_descriptor: T.nilable(::String), transaction_source: T.nilable(Models::Components::TransactionSource)).void }
24
+ def initialize(dynamic_descriptor: nil, transaction_source: nil)
25
+ @dynamic_descriptor = dynamic_descriptor
26
+ @transaction_source = transaction_source
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @dynamic_descriptor == other.dynamic_descriptor
33
+ return false unless @transaction_source == other.transaction_source
34
+ true
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CardPaymentOptions
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CardPaymentOptions
11
+ def dynamic_descriptor(); end
12
+ def dynamic_descriptor=(str_); end
13
+ def transaction_source(); end
14
+ def transaction_source=(str_); end
15
+ end