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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/module.rb +1 -1
  3. data/lib/moov/bank_accounts.rb +439 -0
  4. data/lib/moov/card_issuing.rb +1 -1
  5. data/lib/moov/images.rb +17 -2
  6. data/lib/moov/institutions.rb +1 -1
  7. data/lib/moov/models/components/account.rb +2 -2
  8. data/lib/moov/models/components/accountnameverification.rb +4 -4
  9. data/lib/moov/models/components/accounttype.rb +3 -1
  10. data/lib/moov/models/components/accountverificationstatus.rb +3 -1
  11. data/lib/moov/models/components/achcredittransferprocessingdetails.rb +6 -2
  12. data/lib/moov/models/components/achcredittransferprocessingdetails.rbi +2 -0
  13. data/lib/moov/models/components/achdebitoptions.rb +2 -2
  14. data/lib/moov/models/components/achdebittransferprocessingdetails.rb +6 -2
  15. data/lib/moov/models/components/achdebittransferprocessingdetails.rbi +2 -0
  16. data/lib/moov/models/components/achreturncode.rb +3 -1
  17. data/lib/moov/models/components/achtransactionstatus.rb +26 -0
  18. data/lib/moov/models/components/achtransactionstatus.rbi +11 -0
  19. data/lib/moov/models/components/adjustmentfees.rb +11 -15
  20. data/lib/moov/models/components/adjustmentfees.rbi +4 -4
  21. data/lib/moov/models/components/amountdecimalrange.rb +0 -2
  22. data/lib/moov/models/components/amountdecimalrangeupdate.rb +0 -2
  23. data/lib/moov/models/components/applepayresponse.rb +2 -2
  24. data/lib/moov/models/components/applicationscope.rb +4 -2
  25. data/lib/moov/models/components/asynccreatedrefund.rb +1 -1
  26. data/lib/moov/models/components/authmethod.rb +3 -1
  27. data/lib/moov/models/components/bankaccount.rb +4 -4
  28. data/lib/moov/models/components/bankaccountattestation.rb +52 -0
  29. data/lib/moov/models/components/bankaccountattestation.rbi +23 -0
  30. data/lib/moov/models/components/bankaccountattestationeligibility.rb +36 -0
  31. data/lib/moov/models/components/bankaccountattestationeligibility.rbi +15 -0
  32. data/lib/moov/models/components/bankaccountattestationsummary.rb +44 -0
  33. data/lib/moov/models/components/bankaccountattestationsummary.rbi +19 -0
  34. data/lib/moov/models/components/bankaccountexception.rb +2 -2
  35. data/lib/moov/models/components/bankaccountholdertype.rb +3 -1
  36. data/lib/moov/models/components/bankaccountintegration.rb +2 -2
  37. data/lib/moov/models/components/bankaccountstatus.rb +3 -1
  38. data/lib/moov/models/components/bankaccountstatusreason.rb +3 -1
  39. data/lib/moov/models/components/bankaccounttype.rb +3 -1
  40. data/lib/moov/models/components/bankaccountverification.rb +2 -2
  41. data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
  42. data/lib/moov/models/components/bankaccountverificationmethod.rb +3 -1
  43. data/lib/moov/models/components/bankaccountverificationstatus.rb +3 -1
  44. data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
  45. data/lib/moov/models/components/billablefee.rb +2 -2
  46. data/lib/moov/models/components/billingadjustment.rb +40 -0
  47. data/lib/moov/models/components/billingadjustment.rbi +17 -0
  48. data/lib/moov/models/components/billingsummary.rb +8 -4
  49. data/lib/moov/models/components/billingsummary.rbi +2 -0
  50. data/lib/moov/models/components/billingsummary_adjustmentfees.rb +40 -0
  51. data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +15 -0
  52. data/lib/moov/models/components/businesspresence.rb +3 -1
  53. data/lib/moov/models/components/businessprofile.rb +2 -2
  54. data/lib/moov/models/components/businesstype.rb +3 -1
  55. data/lib/moov/models/components/calltoaction.rb +3 -1
  56. data/lib/moov/models/components/cancellation.rb +2 -2
  57. data/lib/moov/models/components/cancellationstatus.rb +3 -1
  58. data/lib/moov/models/components/capability.rb +2 -2
  59. data/lib/moov/models/components/capabilityid.rb +3 -1
  60. data/lib/moov/models/components/capabilitystatus.rb +3 -1
  61. data/lib/moov/models/components/capture.rb +11 -6
  62. data/lib/moov/models/components/capture.rbi +2 -0
  63. data/lib/moov/models/components/capturestatus.rb +3 -3
  64. data/lib/moov/models/components/card.rb +4 -4
  65. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  66. data/lib/moov/models/components/cardacquiringmodel.rb +3 -1
  67. data/lib/moov/models/components/cardacquiringrefund.rb +2 -2
  68. data/lib/moov/models/components/cardbrand.rb +3 -1
  69. data/lib/moov/models/components/cardissuing.rb +34 -0
  70. data/lib/moov/models/components/cardissuing.rbi +13 -0
  71. data/lib/moov/models/components/cardissuingerror.rb +32 -0
  72. data/lib/moov/models/components/cardissuingerror.rbi +13 -0
  73. data/lib/moov/models/components/cardissuingnetwork.rb +3 -1
  74. data/lib/moov/models/components/cardmetadata.rb +4 -4
  75. data/lib/moov/models/components/cardpaymentoptions.rb +1 -1
  76. data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rb +1 -1
  77. data/lib/moov/models/components/cardpaymenttransactionstatus.rb +25 -0
  78. data/lib/moov/models/components/cardpaymenttransactionstatus.rbi +11 -0
  79. data/lib/moov/models/components/cardpaymenttransferprocessingdetails.rb +11 -7
  80. data/lib/moov/models/components/cardpaymenttransferprocessingdetails.rbi +4 -2
  81. data/lib/moov/models/components/cardtransactionfailurecode.rb +19 -1
  82. data/lib/moov/models/components/cardtype.rb +3 -1
  83. data/lib/moov/models/components/cardupdatereason.rb +3 -1
  84. data/lib/moov/models/components/cardverification.rb +3 -3
  85. data/lib/moov/models/components/cardverificationresult.rb +3 -1
  86. data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
  87. data/lib/moov/models/components/collectionpaymentmethodtype.rb +3 -1
  88. data/lib/moov/models/components/createaccount.rb +2 -2
  89. data/lib/moov/models/components/createaccounttype.rb +3 -1
  90. data/lib/moov/models/components/createbankaccountattestation.rb +36 -0
  91. data/lib/moov/models/components/createbankaccountattestation.rbi +15 -0
  92. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  93. data/lib/moov/models/components/createcancellation.rb +4 -2
  94. data/lib/moov/models/components/createcapture.rb +7 -4
  95. data/lib/moov/models/components/createdtransfer.rb +9 -5
  96. data/lib/moov/models/components/createevidencetext.rb +1 -1
  97. data/lib/moov/models/components/createfeeplanagreement.rb +13 -3
  98. data/lib/moov/models/components/createfeeplanagreement.rbi +2 -0
  99. data/lib/moov/models/components/createpaymentlink.rb +1 -1
  100. data/lib/moov/models/components/createrefund.rb +2 -2
  101. data/lib/moov/models/components/createreversal.rb +4 -1
  102. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  103. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  104. data/lib/moov/models/components/createtippresets.rb +1 -1
  105. data/lib/moov/models/components/createtransfer.rb +1 -1
  106. data/lib/moov/models/components/createtransferdestination.rb +6 -2
  107. data/lib/moov/models/components/createtransferdestination.rbi +2 -0
  108. data/lib/moov/models/components/createtransferdestinationwire.rb +32 -0
  109. data/lib/moov/models/components/createtransferdestinationwire.rbi +13 -0
  110. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  111. data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
  112. data/lib/moov/models/components/createwebhook.rb +1 -1
  113. data/lib/moov/models/components/debitholdperiod.rb +3 -1
  114. data/lib/moov/models/components/depositaccountingestedresponse.rb +1 -1
  115. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +3 -1
  116. data/lib/moov/models/components/dispute.rb +2 -2
  117. data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
  118. data/lib/moov/models/components/disputephase.rb +3 -1
  119. data/lib/moov/models/components/disputestatus.rb +3 -1
  120. data/lib/moov/models/components/document.rb +1 -1
  121. data/lib/moov/models/components/documenttype.rb +3 -1
  122. data/lib/moov/models/components/domesticpullfromcard.rb +3 -1
  123. data/lib/moov/models/components/domesticpushtocard.rb +3 -1
  124. data/lib/moov/models/components/estimatedactivity.rb +1 -1
  125. data/lib/moov/models/components/evidencetextresponse.rb +1 -1
  126. data/lib/moov/models/components/evidencetype.rb +3 -1
  127. data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
  128. data/lib/moov/models/components/facilitatorfee.rb +6 -17
  129. data/lib/moov/models/components/facilitatorfee.rbi +0 -4
  130. data/lib/moov/models/components/feecategory.rb +3 -1
  131. data/lib/moov/models/components/feemodel.rb +3 -1
  132. data/lib/moov/models/components/feepaidby.rb +4 -2
  133. data/lib/moov/models/components/feeplan.rb +1 -1
  134. data/lib/moov/models/components/feeplanagreement.rb +12 -4
  135. data/lib/moov/models/components/feeplanagreement.rbi +4 -0
  136. data/lib/moov/models/components/feeplanagreementstatus.rb +3 -1
  137. data/lib/moov/models/components/filedetails.rb +2 -2
  138. data/lib/moov/models/components/filepurpose.rb +3 -1
  139. data/lib/moov/models/components/filestatus.rb +3 -1
  140. data/lib/moov/models/components/fulfillment.rb +2 -2
  141. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  142. data/lib/moov/models/components/fulfillmentmethod.rb +3 -1
  143. data/lib/moov/models/components/fulfillmenttimeframe.rb +3 -1
  144. data/lib/moov/models/components/fullissuedcard.rb +3 -2
  145. data/lib/moov/models/components/geographicreach.rb +3 -1
  146. data/lib/moov/models/components/googlepayresponse.rb +3 -3
  147. data/lib/moov/models/components/incurredfee.rb +1 -1
  148. data/lib/moov/models/components/instantbankcredittransferprocessingdetails.rb +8 -4
  149. data/lib/moov/models/components/instantbankcredittransferprocessingdetails.rbi +2 -0
  150. data/lib/moov/models/components/instantbankfailurecode.rb +3 -1
  151. data/lib/moov/models/components/instantbanknetwork.rb +3 -1
  152. data/lib/moov/models/components/instantbanktransactionstatus.rb +23 -0
  153. data/lib/moov/models/components/instantbanktransactionstatus.rbi +11 -0
  154. data/lib/moov/models/components/invoice.rb +1 -1
  155. data/lib/moov/models/components/invoicepayment.rb +1 -1
  156. data/lib/moov/models/components/invoicepaymenttype.rb +3 -1
  157. data/lib/moov/models/components/invoicestatus.rb +3 -1
  158. data/lib/moov/models/components/issuedcard.rb +3 -2
  159. data/lib/moov/models/components/issuedcardauthorization.rb +2 -2
  160. data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
  161. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +3 -1
  162. data/lib/moov/models/components/issuedcardeventtype.rb +3 -1
  163. data/lib/moov/models/components/issuedcardstate.rb +5 -1
  164. data/lib/moov/models/components/issuedcontrols.rb +2 -2
  165. data/lib/moov/models/components/issuedvelocitylimit.rb +1 -1
  166. data/lib/moov/models/components/issuingauthorizationstatus.rb +3 -1
  167. data/lib/moov/models/components/issuingcontrols.rb +3 -3
  168. data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +1 -1
  169. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rb +4 -2
  170. data/lib/moov/models/components/issuingintervallimit.rb +3 -1
  171. data/lib/moov/models/components/issuingmerchantcategory.rb +3 -1
  172. data/lib/moov/models/components/issuingvelocitylimit.rb +1 -1
  173. data/lib/moov/models/components/jsonwebkey.rb +1 -1
  174. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  175. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +1 -1
  176. data/lib/moov/models/components/merchantcategory.rb +1 -1
  177. data/lib/moov/models/components/merchantcategoryrestrictions.rb +3 -3
  178. data/lib/moov/models/components/merchantentry.rb +6 -6
  179. data/lib/moov/models/components/merchantentry.rbi +2 -2
  180. data/lib/moov/models/components/merchantentryerror.rb +5 -5
  181. data/lib/moov/models/components/merchantentryerror.rbi +2 -2
  182. data/lib/moov/models/components/merchantrestrictions.rb +2 -2
  183. data/lib/moov/models/components/mode.rb +3 -1
  184. data/lib/moov/models/components/monthlyvolumerange.rb +3 -1
  185. data/lib/moov/models/components/moovfee.rb +1 -1
  186. data/lib/moov/models/components/occurrencesresponse.rb +2 -2
  187. data/lib/moov/models/components/occurrencestatus.rb +3 -1
  188. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  189. data/lib/moov/models/components/partnerpricingagreement.rb +15 -7
  190. data/lib/moov/models/components/partnerpricingagreement.rbi +4 -0
  191. data/lib/moov/models/components/patchbusiness.rb +2 -2
  192. data/lib/moov/models/components/patchwallet.rb +1 -1
  193. data/lib/moov/models/components/paymentlink.rb +4 -6
  194. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetails.rb +0 -2
  195. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetailsupdate.rb +0 -2
  196. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
  197. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
  198. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +5 -7
  199. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +5 -7
  200. data/lib/moov/models/components/paymentlinkstatus.rb +3 -1
  201. data/lib/moov/models/components/paymentlinktype.rb +3 -1
  202. data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
  203. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  204. data/lib/moov/models/components/paymentmethodswallet.rb +1 -1
  205. data/lib/moov/models/components/paymentmethodtype.rb +4 -1
  206. data/lib/moov/models/components/pendinglitigation.rb +3 -1
  207. data/lib/moov/models/components/primaryregulator.rb +3 -1
  208. data/lib/moov/models/components/pullfromcardoptions.rb +1 -1
  209. data/lib/moov/models/components/pullfromcardtransactionstatus.rb +22 -0
  210. data/lib/moov/models/components/pullfromcardtransactionstatus.rbi +11 -0
  211. data/lib/moov/models/components/pullfromcardtransferprocessingdetails.rb +7 -3
  212. data/lib/moov/models/components/pullfromcardtransferprocessingdetails.rbi +2 -0
  213. data/lib/moov/models/components/pushdeliveryspeed.rb +3 -1
  214. data/lib/moov/models/components/pushoptions.rb +5 -4
  215. data/lib/moov/models/components/pushoptionsupdate.rb +5 -4
  216. data/lib/moov/models/components/pushtocardtransactionstatus.rb +24 -0
  217. data/lib/moov/models/components/pushtocardtransactionstatus.rbi +11 -0
  218. data/lib/moov/models/components/pushtocardtransferprocessingdetails.rb +7 -3
  219. data/lib/moov/models/components/pushtocardtransferprocessingdetails.rbi +2 -0
  220. data/lib/moov/models/components/puttippresets.rb +1 -1
  221. data/lib/moov/models/components/refundpolicy.rb +3 -1
  222. data/lib/moov/models/components/refundstatus.rb +3 -1
  223. data/lib/moov/models/components/requestcard.rb +1 -1
  224. data/lib/moov/models/components/requirementerror.rb +2 -2
  225. data/lib/moov/models/components/requirementerrorcode.rb +3 -1
  226. data/lib/moov/models/components/requirementid.rb +18 -1
  227. data/lib/moov/models/components/resolutionlink.rb +1 -1
  228. data/lib/moov/models/components/resolutionlinkstatus.rb +3 -1
  229. data/lib/moov/models/components/returnpolicytype.rb +3 -1
  230. data/lib/moov/models/components/reversalamountdetails.rb +3 -1
  231. data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
  232. data/lib/moov/models/components/rtprejectioncode.rb +3 -1
  233. data/lib/moov/models/components/schedulelistresponse.rb +1 -1
  234. data/lib/moov/models/components/scheduleresponse.rb +1 -1
  235. data/lib/moov/models/components/seccode.rb +3 -1
  236. data/lib/moov/models/components/sourcesystem.rb +3 -1
  237. data/lib/moov/models/components/statement.rb +6 -2
  238. data/lib/moov/models/components/statement.rbi +2 -0
  239. data/lib/moov/models/components/sweep.rb +1 -1
  240. data/lib/moov/models/components/sweepconfig.rb +3 -3
  241. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  242. data/lib/moov/models/components/sweepconfigstatus.rb +3 -1
  243. data/lib/moov/models/components/sweepstatus.rb +3 -1
  244. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  245. data/lib/moov/models/components/terminalapplication.rb +2 -2
  246. data/lib/moov/models/components/terminalapplicationplatform.rb +3 -1
  247. data/lib/moov/models/components/terminalapplicationstatus.rb +3 -1
  248. data/lib/moov/models/components/terminalcard.rb +2 -2
  249. data/lib/moov/models/components/ticket.rb +1 -1
  250. data/lib/moov/models/components/ticketstatus.rb +3 -1
  251. data/lib/moov/models/components/tipcalculationbasis.rb +3 -1
  252. data/lib/moov/models/components/tippresets.rb +1 -1
  253. data/lib/moov/models/components/transactionsource.rb +3 -1
  254. data/lib/moov/models/components/transfer.rb +9 -5
  255. data/lib/moov/models/components/transferauthorization.rb +7 -7
  256. data/lib/moov/models/components/transferdestination.rb +1 -1
  257. data/lib/moov/models/components/transferfailurereason.rb +3 -1
  258. data/lib/moov/models/components/transferfeepaidby.rb +2 -2
  259. data/lib/moov/models/components/transferoptions.rb +3 -3
  260. data/lib/moov/models/components/transferparty.rb +3 -1
  261. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
  262. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  263. data/lib/moov/models/components/transferpaymentmethodswallet.rb +1 -1
  264. data/lib/moov/models/components/transferpaymentmethodtype.rb +4 -1
  265. data/lib/moov/models/components/transferprocessingdetails.rb +6 -2
  266. data/lib/moov/models/components/transferprocessingdetails.rbi +2 -0
  267. data/lib/moov/models/components/transferrailoptions.rb +6 -2
  268. data/lib/moov/models/components/transferrailoptions.rbi +2 -0
  269. data/lib/moov/models/components/transfersource.rb +1 -1
  270. data/lib/moov/models/components/transferstatus.rb +3 -1
  271. data/lib/moov/models/components/transferterminalcard.rb +2 -2
  272. data/lib/moov/models/components/transfertype.rb +4 -1
  273. data/lib/moov/models/components/underwriting.rb +12 -6
  274. data/lib/moov/models/components/underwriting.rbi +2 -0
  275. data/lib/moov/models/components/underwritingstatus.rb +3 -1
  276. data/lib/moov/models/components/updateevidence.rb +1 -1
  277. data/lib/moov/models/components/updateinvoice.rb +1 -1
  278. data/lib/moov/models/components/updateissuedcard.rb +2 -0
  279. data/lib/moov/models/components/updateissuedcardstate.rb +4 -0
  280. data/lib/moov/models/components/updateissuingcontrols.rb +5 -5
  281. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +1 -1
  282. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb +3 -3
  283. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb +3 -3
  284. data/lib/moov/models/components/updatepaymentlink.rb +1 -1
  285. data/lib/moov/models/components/updatewebhook.rb +1 -1
  286. data/lib/moov/models/components/upsertunderwriting.rb +11 -5
  287. data/lib/moov/models/components/upsertunderwriting.rbi +2 -0
  288. data/lib/moov/models/components/use.rb +3 -1
  289. data/lib/moov/models/components/verification.rb +3 -3
  290. data/lib/moov/models/components/verificationstatus.rb +3 -1
  291. data/lib/moov/models/components/verificationstatusdetail.rb +3 -1
  292. data/lib/moov/models/components/wallet.rb +2 -2
  293. data/lib/moov/models/components/walletstatus.rb +3 -1
  294. data/lib/moov/models/components/wallettransaction.rb +3 -3
  295. data/lib/moov/models/components/wallettransactionsourcetype.rb +3 -1
  296. data/lib/moov/models/components/wallettransactionstatus.rb +3 -1
  297. data/lib/moov/models/components/wallettransactiontype.rb +4 -1
  298. data/lib/moov/models/components/wallettype.rb +3 -1
  299. data/lib/moov/models/components/webhook.rb +1 -1
  300. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
  301. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
  302. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  303. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  304. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  305. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
  306. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
  307. data/lib/moov/models/components/webhookdatacaptureupdated.rb +44 -0
  308. data/lib/moov/models/components/webhookdatacaptureupdated.rbi +19 -0
  309. data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
  310. data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
  311. data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
  312. data/lib/moov/models/components/webhookdatainvoiceupdated.rb +1 -1
  313. data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
  314. data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
  315. data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
  316. data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
  317. data/lib/moov/models/components/webhookdataticketupdated.rb +1 -1
  318. data/lib/moov/models/components/webhookdatatransferstatus.rb +1 -0
  319. data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
  320. data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
  321. data/lib/moov/models/components/webhookevent.rb +3 -3
  322. data/lib/moov/models/components/webhookeventtype.rb +4 -1
  323. data/lib/moov/models/components/webhookstatus.rb +3 -1
  324. data/lib/moov/models/components/wirecreditpaymentmethod.rb +40 -0
  325. data/lib/moov/models/components/wirecreditpaymentmethod.rbi +17 -0
  326. data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rb +18 -0
  327. data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rbi +11 -0
  328. data/lib/moov/models/components/wirecredittransferpaymentmethod.rb +40 -0
  329. data/lib/moov/models/components/wirecredittransferpaymentmethod.rbi +17 -0
  330. data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rb +18 -0
  331. data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rbi +11 -0
  332. data/lib/moov/models/components/wirefailurecode.rb +28 -0
  333. data/lib/moov/models/components/wirefailurecode.rbi +11 -0
  334. data/lib/moov/models/components/wireoptions.rb +32 -0
  335. data/lib/moov/models/components/wireoptions.rbi +13 -0
  336. data/lib/moov/models/components/wiretransactionstatus.rb +23 -0
  337. data/lib/moov/models/components/wiretransactionstatus.rbi +11 -0
  338. data/lib/moov/models/components/wiretransferprocessingdetails.rb +40 -0
  339. data/lib/moov/models/components/wiretransferprocessingdetails.rbi +17 -0
  340. data/lib/moov/models/components.rb +24 -1
  341. data/lib/moov/models/errors/bankaccountattestationvalidationerror.rb +40 -0
  342. data/lib/moov/models/errors/bankaccountattestationvalidationerror.rbi +17 -0
  343. data/lib/moov/models/errors/cardacquiringrefund_error.rb +2 -2
  344. data/lib/moov/models/errors/imagemetadata_error.rb +61 -0
  345. data/lib/moov/models/errors/imagemetadata_error.rbi +27 -0
  346. data/lib/moov/models/errors/transfer_error.rb +9 -5
  347. data/lib/moov/models/errors/upsertunderwritingerror.rb +6 -2
  348. data/lib/moov/models/errors/upsertunderwritingerror.rbi +2 -0
  349. data/lib/moov/models/errors.rb +2 -0
  350. data/lib/moov/models/operations/createbankaccountattestation_request.rb +40 -0
  351. data/lib/moov/models/operations/createbankaccountattestation_request.rbi +17 -0
  352. data/lib/moov/models/operations/createbankaccountattestation_response.rb +48 -0
  353. data/lib/moov/models/operations/createbankaccountattestation_response.rbi +21 -0
  354. data/lib/moov/models/operations/createcapture_request.rb +2 -2
  355. data/lib/moov/models/operations/getbankaccountattestationeligibility_request.rb +41 -0
  356. data/lib/moov/models/operations/getbankaccountattestationeligibility_request.rbi +17 -0
  357. data/lib/moov/models/operations/getbankaccountattestationeligibility_response.rb +48 -0
  358. data/lib/moov/models/operations/getbankaccountattestationeligibility_response.rbi +21 -0
  359. data/lib/moov/models/operations/getcapture_request.rb +2 -2
  360. data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
  361. data/lib/moov/models/operations/listaccounts_request.rb +1 -1
  362. data/lib/moov/models/operations/listbankaccountattestations_request.rb +36 -0
  363. data/lib/moov/models/operations/listbankaccountattestations_request.rbi +15 -0
  364. data/lib/moov/models/operations/listbankaccountattestations_response.rb +48 -0
  365. data/lib/moov/models/operations/listbankaccountattestations_response.rbi +21 -0
  366. data/lib/moov/models/operations/listcaptures_request.rb +2 -2
  367. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
  368. data/lib/moov/models/operations/listdisputes_request.rb +1 -1
  369. data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
  370. data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
  371. data/lib/moov/models/operations/listinvoices_request.rb +1 -1
  372. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
  373. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
  374. data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
  375. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +7 -3
  376. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +2 -0
  377. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
  378. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  379. data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
  380. data/lib/moov/models/operations/listproducts_request.rb +1 -1
  381. data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
  382. data/lib/moov/models/operations/listresiduals_request.rb +1 -1
  383. data/lib/moov/models/operations/listschedules_request.rb +1 -1
  384. data/lib/moov/models/operations/liststatements_request.rb +1 -1
  385. data/lib/moov/models/operations/listsweeps_request.rb +1 -1
  386. data/lib/moov/models/operations/listtickets_request.rb +1 -1
  387. data/lib/moov/models/operations/listtransfers_request.rb +4 -8
  388. data/lib/moov/models/operations/listtransfers_request.rbi +0 -2
  389. data/lib/moov/models/operations/listwallets_request.rb +1 -1
  390. data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
  391. data/lib/moov/models/operations/retrievefees_request.rb +1 -1
  392. data/lib/moov/models/operations.rb +6 -0
  393. data/lib/moov/payment_methods.rb +2 -2
  394. data/lib/moov/sdkconfiguration.rb +3 -3
  395. data/lib/moov/transfers.rb +16 -9
  396. data/lib/moov/utils/retries.rb +41 -2
  397. data/lib/moov/utils/utils.rb +6 -2
  398. metadata +64 -2
@@ -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)
@@ -18,7 +18,7 @@ module Moov
18
18
  #
19
19
  # Crucial for recurring and merchant-initiated transactions as per card scheme rules.
20
20
  # Omit for customer-initiated e-commerce transactions.
21
- field :transaction_source, Crystalline::Nilable.new(Models::Components::TransactionSource), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transactionSource'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TransactionSource, true) } }
21
+ field :transaction_source, Crystalline::Nilable.new(Models::Components::TransactionSource), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transactionSource'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransactionSource, true) } }
22
22
 
23
23
  sig { params(dynamic_descriptor: T.nilable(::String), transaction_source: T.nilable(Models::Components::TransactionSource)).void }
24
24
  def initialize(dynamic_descriptor: nil, transaction_source: nil)
@@ -13,7 +13,7 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
 
16
- field :failure_code, Crystalline::Nilable.new(Models::Components::CardTransactionFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardTransactionFailureCode, true) } }
16
+ 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) } }
17
17
 
18
18
  sig { params(failure_code: T.nilable(Models::Components::CardTransactionFailureCode)).void }
19
19
  def initialize(failure_code: nil)
@@ -0,0 +1,25 @@
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
+ # CardPaymentTransactionStatus - Status of a card payment transaction.
11
+ class CardPaymentTransactionStatus
12
+ include ::Crystalline::Enum
13
+ enums do
14
+ INITIATED = new('initiated')
15
+ CONFIRMED = new('confirmed')
16
+ CANCELED = new('canceled')
17
+ SETTLED = new('settled')
18
+ FAILED = new('failed')
19
+ COMPLETED = new('completed')
20
+ end
21
+ open!
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CardPaymentTransactionStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CardPaymentTransactionStatus
11
+ end
@@ -12,30 +12,34 @@ module Moov
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
+ # Status of a card payment transaction.
16
+ field :status, Crystalline::Nilable.new(Models::Components::CardPaymentTransactionStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardPaymentTransactionStatus, true) } }
15
17
 
16
18
  field :authorization_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizationCode') } }
17
19
 
18
20
  field :network_transaction_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkTransactionID') } }
19
21
 
20
- field :network_response_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkResponseCode') } }
22
+ 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) } }
23
+ # The retrieval reference number assigned by the card network to the card payment.
24
+ field :retrieval_reference_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('retrievalReferenceNumber') } }
21
25
 
22
- field :failure_code, Crystalline::Nilable.new(Models::Components::CardTransactionFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardTransactionFailureCode, true) } }
23
-
24
- sig { params(authorization_code: T.nilable(::String), network_transaction_id: T.nilable(::String), network_response_code: T.nilable(::String), failure_code: T.nilable(Models::Components::CardTransactionFailureCode)).void }
25
- def initialize(authorization_code: nil, network_transaction_id: nil, network_response_code: nil, failure_code: nil)
26
+ sig { params(status: T.nilable(Models::Components::CardPaymentTransactionStatus), authorization_code: T.nilable(::String), network_transaction_id: T.nilable(::String), failure_code: T.nilable(Models::Components::CardTransactionFailureCode), retrieval_reference_number: T.nilable(::String)).void }
27
+ def initialize(status: nil, authorization_code: nil, network_transaction_id: nil, failure_code: nil, retrieval_reference_number: nil)
28
+ @status = status
26
29
  @authorization_code = authorization_code
27
30
  @network_transaction_id = network_transaction_id
28
- @network_response_code = network_response_code
29
31
  @failure_code = failure_code
32
+ @retrieval_reference_number = retrieval_reference_number
30
33
  end
31
34
 
32
35
  sig { params(other: T.untyped).returns(T::Boolean) }
33
36
  def ==(other)
34
37
  return false unless other.is_a? self.class
38
+ return false unless @status == other.status
35
39
  return false unless @authorization_code == other.authorization_code
36
40
  return false unless @network_transaction_id == other.network_transaction_id
37
- return false unless @network_response_code == other.network_response_code
38
41
  return false unless @failure_code == other.failure_code
42
+ return false unless @retrieval_reference_number == other.retrieval_reference_number
39
43
  true
40
44
  end
41
45
  end
@@ -8,12 +8,14 @@ end
8
8
 
9
9
 
10
10
  class Moov::Models::Components::CardPaymentTransferProcessingDetails
11
+ def status(); end
12
+ def status=(str_); end
11
13
  def authorization_code(); end
12
14
  def authorization_code=(str_); end
13
15
  def network_transaction_id(); end
14
16
  def network_transaction_id=(str_); end
15
- def network_response_code(); end
16
- def network_response_code=(str_); end
17
17
  def failure_code(); end
18
18
  def failure_code=(str_); end
19
+ def retrieval_reference_number(); end
20
+ def retrieval_reference_number=(str_); end
19
21
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class CardTransactionFailureCode < T::Enum
11
+ class CardTransactionFailureCode
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  CALL_ISSUER = new('call-issuer')
14
15
  DO_NOT_HONOR = new('do-not-honor')
@@ -33,9 +34,26 @@ module Moov
33
34
  ISSUER_NOT_AVAILABLE = new('issuer-not-available')
34
35
  COULD_NOT_ROUTE = new('could-not-route')
35
36
  CARDHOLDER_ACCOUNT_CLOSED = new('cardholder-account-closed')
37
+ ACCOUNT_CLOSED = new('account-closed')
38
+ ACCOUNT_NOT_ACTIVATED = new('account-not-activated')
39
+ AUTHENTICATION_FAILED = new('authentication-failed')
40
+ AUTHENTICATION_REQUIRED = new('authentication-required')
41
+ CARDHOLDER_ACTION_REQUIRED = new('cardholder-action-required')
42
+ FORMAT_ERROR = new('format-error')
43
+ INVALID_PIN = new('invalid-pin')
44
+ OFFLINE_APPROVED = new('offline-approved')
45
+ OFFLINE_DECLINED = new('offline-declined')
46
+ PARTIAL_APPROVAL = new('partial-approval')
47
+ PAYMENT_STOPPED = new('payment-stopped')
48
+ PIN_REQUIRED = new('pin-required')
49
+ RECORD_NOT_FOUND = new('record-not-found')
50
+ SURCHARGE_NOT_PERMITTED = new('surcharge-not-permitted')
51
+ TRANSACTION_REVERSED = new('transaction-reversed')
52
+ VERIFICATION_FAILED = new('verification-failed')
36
53
  UNKNOWN_ISSUE = new('unknown-issue')
37
54
  DUPLICATE_TRANSACTION = new('duplicate-transaction')
38
55
  end
56
+ open!
39
57
  end
40
58
  end
41
59
  end
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CardType - The type of the card.
11
- class CardType < T::Enum
11
+ class CardType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  DEBIT = new('debit')
14
15
  CREDIT = new('credit')
15
16
  PREPAID = new('prepaid')
16
17
  UNKNOWN = new('unknown')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CardUpdateReason - The results of the card update request.
11
- class CardUpdateReason < T::Enum
11
+ class CardUpdateReason
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  UNSPECIFIED = new('unspecified')
14
15
  ACCOUNT_CLOSED = new('account-closed')
@@ -18,6 +19,7 @@ module Moov
18
19
  NO_MATCH = new('no-match')
19
20
  NUMBER_UPDATE = new('number-update')
20
21
  end
22
+ open!
21
23
  end
22
24
  end
23
25
  end
@@ -13,13 +13,13 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # Verification result of the card's CVV.
16
- field :cvv, Models::Components::CardVerificationResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cvv'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, false) } }
16
+ field :cvv, Models::Components::CardVerificationResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cvv'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardVerificationResult, false) } }
17
17
  # Verification result of the billing address line 1.
18
18
  # Derived from the same AVS code as `postalCode`; the card network returns a single code covering both address fields.
19
- field :address_line1, Models::Components::CardVerificationResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('addressLine1'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, false) } }
19
+ field :address_line1, Models::Components::CardVerificationResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('addressLine1'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardVerificationResult, false) } }
20
20
  # Verification result of the billing address postal code.
21
21
  # Derived from the same AVS code as `addressLine1`; the card network returns a single code covering both address fields.
22
- field :postal_code, Models::Components::CardVerificationResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('postalCode'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, false) } }
22
+ field :postal_code, Models::Components::CardVerificationResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('postalCode'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardVerificationResult, false) } }
23
23
  # Verification results of the cardholder's name, broken down by name component.
24
24
  field :account_name, Crystalline::Nilable.new(Models::Components::AccountNameVerification), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountName') } }
25
25
 
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CardVerificationResult - The result of a card verification check.
11
- class CardVerificationResult < T::Enum
11
+ class CardVerificationResult
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  NO_MATCH = new('noMatch')
14
15
  MATCH = new('match')
@@ -16,6 +17,7 @@ module Moov
16
17
  UNAVAILABLE = new('unavailable')
17
18
  PARTIAL_MATCH = new('partialMatch')
18
19
  end
20
+ open!
19
21
  end
20
22
  end
21
23
  end
@@ -21,7 +21,7 @@ module Moov
21
21
 
22
22
  field :fulfillment, Crystalline::Nilable.new(Models::Components::Fulfillment), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fulfillment') } }
23
23
 
24
- field :refund_policy, Crystalline::Nilable.new(Models::Components::RefundPolicy), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('refundPolicy'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::RefundPolicy, true) } }
24
+ field :refund_policy, Crystalline::Nilable.new(Models::Components::RefundPolicy), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('refundPolicy'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RefundPolicy, true) } }
25
25
 
26
26
  sig { params(card_acceptance_methods: T.nilable(Models::Components::CardAcceptanceMethods), currently_accepts_cards: T.nilable(T::Boolean), estimated_activity: T.nilable(Models::Components::EstimatedActivity), fulfillment: T.nilable(Models::Components::Fulfillment), refund_policy: T.nilable(Models::Components::RefundPolicy)).void }
27
27
  def initialize(card_acceptance_methods: nil, currently_accepts_cards: nil, estimated_activity: nil, fulfillment: nil, refund_policy: nil)
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CollectionPaymentMethodType - Payment methods allowed for collecting a payment.
11
- class CollectionPaymentMethodType < T::Enum
11
+ class CollectionPaymentMethodType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  APPLE_PAY = new('apple-pay')
14
15
  CARD_PAYMENT = new('card-payment')
15
16
  ACH_DEBIT_COLLECT = new('ach-debit-collect')
16
17
  GOOGLE_PAY = new('google-pay')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -13,7 +13,7 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
 
16
- field :account_type, Models::Components::CreateAccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CreateAccountType, false) } }
16
+ field :account_type, Models::Components::CreateAccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CreateAccountType, false) } }
17
17
 
18
18
  field :profile, Models::Components::CreateProfile, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('profile'), required: true } }
19
19
  # Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
@@ -34,7 +34,7 @@ module Moov
34
34
  # The `send-funds`, `collect-funds`, and `wallet` capability IDs are deprecated. Use granular values such as `send-funds.ach`, `collect-funds.card-payments`, or `wallet.balance` instead.
35
35
  field :capabilities, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::CapabilityID)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capabilities') } }
36
36
  # The operating mode for an account.
37
- field :mode, Crystalline::Nilable.new(Models::Components::Mode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::Mode, true) } }
37
+ field :mode, Crystalline::Nilable.new(Models::Components::Mode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::Mode, true) } }
38
38
 
39
39
  sig { params(account_type: Models::Components::CreateAccountType, profile: Models::Components::CreateProfile, metadata: T.nilable(T::Hash[Symbol, ::String]), terms_of_service: T.nilable(Models::Components::TermsOfServicePayload), foreign_id: T.nilable(::String), customer_support: T.nilable(Models::Components::CustomerSupport), settings: T.nilable(Models::Components::Settings), capabilities: T.nilable(T::Array[Models::Components::CapabilityID]), mode: T.nilable(Models::Components::Mode)).void }
40
40
  def initialize(account_type:, profile:, metadata: nil, terms_of_service: nil, foreign_id: nil, customer_support: nil, settings: nil, capabilities: nil, mode: nil)
@@ -8,11 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class CreateAccountType < T::Enum
11
+ class CreateAccountType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  INDIVIDUAL = new('individual')
14
15
  BUSINESS = new('business')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -0,0 +1,36 @@
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
+ # Request body for creating a R29 re-authorization attestation for an errored bank account.
11
+ class CreateBankAccountAttestation
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Date on which new authorization was obtained from the receiver, formatted as YYYY-MM-DD.
16
+ field :attested_at, ::Date, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('attestedAt'), required: true, 'decoder': ::Moov::Utils.date_from_iso_format(false) } }
17
+ # Freeform text description describing how the authorization was obtained.
18
+ field :description, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description'), required: true } }
19
+
20
+ sig { params(attested_at: ::Date, description: ::String).void }
21
+ def initialize(attested_at:, description:)
22
+ @attested_at = attested_at
23
+ @description = description
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @attested_at == other.attested_at
30
+ return false unless @description == other.description
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreateBankAccountAttestation
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateBankAccountAttestation
11
+ def attested_at(); end
12
+ def attested_at=(str_); end
13
+ def description(); end
14
+ def description=(str_); end
15
+ end
@@ -17,7 +17,7 @@ module Moov
17
17
  # A registered trade name under which the business operates, if different from its legal name.
18
18
  field :doing_business_as, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('doingBusinessAs') } }
19
19
  # The type of entity represented by this business.
20
- field :business_type, Crystalline::Nilable.new(Models::Components::BusinessType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('businessType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BusinessType, true) } }
20
+ field :business_type, Crystalline::Nilable.new(Models::Components::BusinessType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('businessType'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BusinessType, true) } }
21
21
 
22
22
  field :address, Crystalline::Nilable.new(Models::Components::Address), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('address') } }
23
23
 
@@ -35,7 +35,7 @@ module Moov
35
35
  # 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.
36
36
  field :industry, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('industry') } }
37
37
  # If the business is a financial institution, this field describes its primary regulator.
38
- 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) } }
38
+ 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) } }
39
39
 
40
40
  sig { params(legal_business_name: ::String, 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: T.nilable(Models::Components::TaxID), industry_codes: T.nilable(Models::Components::IndustryCodes), industry: T.nilable(::String), primary_regulator: T.nilable(Models::Components::PrimaryRegulator)).void }
41
41
  def initialize(legal_business_name:, doing_business_as: nil, business_type: nil, address: nil, phone: nil, email: nil, website: nil, description: nil, tax_id: nil, industry_codes: nil, industry: nil, primary_regulator: nil)
@@ -7,12 +7,14 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
-
10
+ # Cancellation request.
11
11
  class CreateCancellation
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
-
15
+ # Amount to void. This field can only be set for an auth-capture `card-payment` transfer.
16
+ # This cannot exceed `capturableAmount`.
17
+ # Omit this field to void the entire `capturableAmount`.
16
18
  field :amount, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
17
19
 
18
20
  sig { params(amount: T.nilable(Models::Components::AmountDecimal)).void }
@@ -7,16 +7,18 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # Request to capture funds against an authorized transfer.
10
+ # Request to capture funds against an authorization.
11
11
  class CreateCapture
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # Payment method of the merchant account to capture funds into. For card-acquiring transfers, this must be a moov-wallet payment method.
16
16
  field :destination_payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destinationPaymentMethodID'), required: true } }
17
- # Amount to capture. If omitted, the remaining authorized amount is captured.
17
+ # Amount to capture.
18
+ # If omitted, the remaining capturable amount is captured.
18
19
  field :amount, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
19
- # Indicates whether this is the final capture against the authorization. When `true`, any remaining authorized amount is voided.
20
+ # Indicates whether this is intended to be the final capture.
21
+ # When `true`, any remaining capturable amount is voided.
20
22
  field :is_final, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('isFinal') } }
21
23
  # An optional description of the capture that is used on receipts and for your own internal use.
22
24
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
@@ -29,7 +31,8 @@ module Moov
29
31
  field :line_items, Crystalline::Nilable.new(Models::Components::CreateTransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
30
32
 
31
33
  field :amount_details, Crystalline::Nilable.new(Models::Components::CreateTransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
32
- # The facilitator fee amount applied to the capture.
34
+ # The facilitator fee applied to this capture.
35
+ # The transfer's facilitator fee is the sum of its capture fees.
33
36
  field :facilitator_fee_amount, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('facilitatorFeeAmount') } }
34
37
 
35
38
  sig { params(destination_payment_method_id: ::String, amount: T.nilable(Models::Components::AmountDecimal), is_final: T.nilable(T::Boolean), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::CreateTransferLineItems), amount_details: T.nilable(Models::Components::CreateTransferAmountDetails), facilitator_fee_amount: T.nilable(Models::Components::AmountDecimal)).void }
@@ -15,7 +15,7 @@ module Moov
15
15
 
16
16
  field :transfer_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID'), required: true } }
17
17
  # The rail and direction used to move funds for a transfer.
18
- field :transfer_type, Models::Components::TransferType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TransferType, false) } }
18
+ field :transfer_type, Models::Components::TransferType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferType, 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
 
@@ -29,10 +29,13 @@ module Moov
29
29
 
30
30
  field :completed_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('completedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
31
31
  # Status of a transfer.
32
- field :status, Crystalline::Nilable.new(Models::Components::TransferStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TransferStatus, true) } }
32
+ field :status, Crystalline::Nilable.new(Models::Components::TransferStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferStatus, true) } }
33
33
  # Reason for a transfer's failure.
34
- field :failure_reason, Crystalline::Nilable.new(Models::Components::TransferFailureReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureReason'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TransferFailureReason, true) } }
35
-
34
+ field :failure_reason, Crystalline::Nilable.new(Models::Components::TransferFailureReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureReason'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferFailureReason, true) } }
35
+ # Amount associated with this transfer.
36
+ # In v2026.10 and later, an auth-capture `card-payment` transfer reports the approved authorization amount until a final capture is created.
37
+ # For these transfers, when a final capture is created, this is updated to the cumulative captured amount.
38
+ # For other transfer types, this is the transfer amount.
36
39
  field :amount, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
37
40
  # An optional description of the transfer that is used on receipts and for your own internal use.
38
41
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
@@ -65,7 +68,8 @@ module Moov
65
68
  field :line_items, Crystalline::Nilable.new(Models::Components::TransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
66
69
 
67
70
  field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
68
-
71
+ # Authorization amounts.
72
+ # This field is present only for an auth-capture `card-payment` transfer.
69
73
  field :authorization, Crystalline::Nilable.new(Models::Components::TransferAuthorization), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorization') } }
70
74
 
71
75
  sig { params(transfer_id: ::String, transfer_type: Models::Components::TransferType, created_on: ::DateTime, options: Models::Components::TransferRailOptions, processing_details: Models::Components::TransferProcessingDetails, source: T.nilable(Models::Components::TransferSource), destination: T.nilable(Models::Components::TransferDestination), completed_on: T.nilable(::DateTime), status: T.nilable(Models::Components::TransferStatus), failure_reason: T.nilable(Models::Components::TransferFailureReason), amount: T.nilable(Models::Components::AmountDecimal), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), facilitator_fee: T.nilable(Models::Components::FacilitatorFee), moov_fee: T.nilable(Models::Components::AmountDecimal), moov_fee_details: T.nilable(Models::Components::MoovFeeDetails), group_id: T.nilable(::String), refunded_amount: T.nilable(Models::Components::AmountDecimal), disputed_amount: T.nilable(Models::Components::AmountDecimal), sweep_id: T.nilable(::String), schedule_id: T.nilable(::String), occurrence_id: T.nilable(::String), payment_link_code: T.nilable(::String), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItems), amount_details: T.nilable(Models::Components::TransferAmountDetails), authorization: T.nilable(Models::Components::TransferAuthorization)).void }
@@ -15,7 +15,7 @@ module Moov
15
15
  # The text to associate with the dispute as evidence.
16
16
  field :text, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('text'), required: true } }
17
17
 
18
- field :evidence_type, Models::Components::EvidenceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('evidenceType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::EvidenceType, false) } }
18
+ field :evidence_type, Models::Components::EvidenceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('evidenceType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::EvidenceType, false) } }
19
19
 
20
20
  sig { params(text: ::String, evidence_type: Models::Components::EvidenceType).void }
21
21
  def initialize(text:, evidence_type:)
@@ -12,18 +12,28 @@ module Moov
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer).
15
+ # A unique identifier for a fee plan: the pricing terms, such as flat-rate or cost-plus, that an account
16
+ # is charged under its fee plan agreement. Use GET /accounts/{accountID}/fee-plans to list the fee plans
17
+ # available to assign to a given account.
16
18
  field :plan_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('planID'), required: true } }
19
+ # The account's active fee plan agreement to supersede. When set, that agreement is terminated and
20
+ # the new one takes its place in a single operation, so the account is never without an active fee
21
+ # plan agreement. This new agreement always receives a newly issued agreementID.
22
+ #
23
+ # Omit it if the account doesn't already have an active fee plan agreement.
24
+ field :prior_agreement_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priorAgreementID') } }
17
25
 
18
- sig { params(plan_id: ::String).void }
19
- def initialize(plan_id:)
26
+ sig { params(plan_id: ::String, prior_agreement_id: T.nilable(::String)).void }
27
+ def initialize(plan_id:, prior_agreement_id: nil)
20
28
  @plan_id = plan_id
29
+ @prior_agreement_id = prior_agreement_id
21
30
  end
22
31
 
23
32
  sig { params(other: T.untyped).returns(T::Boolean) }
24
33
  def ==(other)
25
34
  return false unless other.is_a? self.class
26
35
  return false unless @plan_id == other.plan_id
36
+ return false unless @prior_agreement_id == other.prior_agreement_id
27
37
  true
28
38
  end
29
39
  end
@@ -10,4 +10,6 @@ end
10
10
  class Moov::Models::Components::CreateFeePlanAgreement
11
11
  def plan_id(); end
12
12
  def plan_id=(str_); end
13
+ def prior_agreement_id(); end
14
+ def prior_agreement_id=(str_); end
13
15
  end
@@ -40,7 +40,7 @@ module Moov
40
40
  field :customer, Crystalline::Nilable.new(Models::Components::PaymentLinkCustomerOptions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customer') } }
41
41
  # Options for payment links used to collect payment.
42
42
  field :payment, Crystalline::Nilable.new(Models::Components::PaymentLinkPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payment') } }
43
-
43
+ # Options for payout links used to send a payout.
44
44
  field :payout, Crystalline::Nilable.new(Models::Components::PaymentLinkPayoutDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payout') } }
45
45
  # Options for a custom amount payment link. Mutually exclusive with `payment` and `payout`.
46
46
  field :custom_amount_payment, Crystalline::Nilable.new(Models::Components::PaymentLinkCustomAmountPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customAmountPayment') } }
@@ -14,9 +14,9 @@ module Moov
14
14
  extend T::Sig
15
15
  include Crystalline::MetadataFields
16
16
 
17
- # Amount to refund. Before v2026.10, specify the amount in integer cents. If omitted, the original transfer's full amount will be refunded.
17
+ # Amount to refund. If omitted, the original transfer's full amount will be refunded.
18
18
  field :amount, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
19
- # ID of the capture to refund. Required for multi-capture card payment transfers.
19
+ # ID of the capture to refund. This field is only relevant for an auth-capture `card-payment` transfer.
20
20
  field :capture_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('captureID') } }
21
21
  # Breakdown of the refunded amount.
22
22
  field :amount_details, Crystalline::Nilable.new(Models::Components::RefundAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
@@ -12,7 +12,10 @@ module Moov
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # Amount to reverse. Before v2026.10, specify the amount in integer cents. Partial amounts automatically trigger a refund instead of a cancellation.
15
+ # Amount to reverse.
16
+ # Before v2026.10, specify the amount in integer cents.
17
+ # For supported auth-capture `card-payment` reversals in v2026.10 and later, a transfer with no captures uses the full `capturableAmount`.
18
+ # For those transfers with one final capture, a cancellation uses the full capture amount, while a refund may be partial.
16
19
  field :amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
17
20
  # Breakdown of the reversed amount.
18
21
  field :amount_details, Crystalline::Nilable.new(Models::Components::ReversalAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }