moov_ruby 26.4.15 → 26.7.0.pre.dev.0

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 (433) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/module.rb +1 -1
  3. data/lib/moov/account_terminal_applications.rb +16 -16
  4. data/lib/moov/accounts.rb +54 -52
  5. data/lib/moov/adjustments.rb +8 -8
  6. data/lib/moov/apple_pay.rb +20 -20
  7. data/lib/moov/authentication.rb +8 -8
  8. data/lib/moov/avatars.rb +5 -5
  9. data/lib/moov/bank_accounts.rb +37 -37
  10. data/lib/moov/branding.rb +12 -12
  11. data/lib/moov/capabilities.rb +20 -20
  12. data/lib/moov/card_issuing.rb +26 -26
  13. data/lib/moov/cards.rb +178 -20
  14. data/lib/moov/disputes.rb +44 -44
  15. data/lib/moov/end_to_end_encryption.rb +8 -8
  16. data/lib/moov/enriched_address.rb +5 -5
  17. data/lib/moov/enriched_profile.rb +5 -5
  18. data/lib/moov/fee_plans.rb +40 -40
  19. data/lib/moov/files.rb +12 -12
  20. data/lib/moov/google_pay.rb +4 -4
  21. data/lib/moov/images.rb +29 -29
  22. data/lib/moov/industries.rb +4 -4
  23. data/lib/moov/institutions.rb +10 -10
  24. data/lib/moov/invoices.rb +28 -28
  25. data/lib/moov/issuing_transactions.rb +20 -20
  26. data/lib/moov/models/components/account.rb +2 -2
  27. data/lib/moov/models/components/accountnameverification.rb +4 -4
  28. data/lib/moov/models/components/accounttype.rb +1 -3
  29. data/lib/moov/models/components/accountverificationstatus.rb +1 -3
  30. data/lib/moov/models/components/achreturncode.rb +1 -3
  31. data/lib/moov/models/components/achtransactiondetails.rb +3 -3
  32. data/lib/moov/models/components/achtransactionstatus.rb +1 -3
  33. data/lib/moov/models/components/addcapabilities.rb +1 -5
  34. data/lib/moov/models/components/adjustmentfees.rb +15 -11
  35. data/lib/moov/models/components/adjustmentfees.rbi +4 -4
  36. data/lib/moov/models/components/amountdecimalrange.rb +36 -0
  37. data/lib/moov/models/components/amountdecimalrange.rbi +15 -0
  38. data/lib/moov/models/components/amountdecimalrangeupdate.rb +36 -0
  39. data/lib/moov/models/components/amountdecimalrangeupdate.rbi +15 -0
  40. data/lib/moov/models/components/applepayresponse.rb +2 -2
  41. data/lib/moov/models/components/applicationscope.rb +2 -4
  42. data/lib/moov/models/components/authmethod.rb +1 -3
  43. data/lib/moov/models/components/authorizeduser.rb +36 -0
  44. data/lib/moov/models/components/authorizeduser.rbi +15 -0
  45. data/lib/moov/models/components/bankaccount.rb +4 -4
  46. data/lib/moov/models/components/bankaccountexception.rb +2 -2
  47. data/lib/moov/models/components/bankaccountholdertype.rb +1 -3
  48. data/lib/moov/models/components/bankaccountintegration.rb +2 -2
  49. data/lib/moov/models/components/bankaccountstatus.rb +1 -3
  50. data/lib/moov/models/components/bankaccountstatusreason.rb +1 -3
  51. data/lib/moov/models/components/bankaccounttype.rb +1 -3
  52. data/lib/moov/models/components/bankaccountverification.rb +2 -2
  53. data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
  54. data/lib/moov/models/components/bankaccountverificationmethod.rb +1 -3
  55. data/lib/moov/models/components/bankaccountverificationstatus.rb +1 -3
  56. data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
  57. data/lib/moov/models/components/billablefee.rb +2 -2
  58. data/lib/moov/models/components/billingsummary.rb +4 -8
  59. data/lib/moov/models/components/billingsummary.rbi +0 -2
  60. data/lib/moov/models/components/businesspresence.rb +1 -3
  61. data/lib/moov/models/components/businessprofile.rb +2 -2
  62. data/lib/moov/models/components/businesstype.rb +1 -3
  63. data/lib/moov/models/components/calltoaction.rb +1 -3
  64. data/lib/moov/models/components/cancellation.rb +2 -2
  65. data/lib/moov/models/components/cancellationstatus.rb +1 -3
  66. data/lib/moov/models/components/capability.rb +3 -9
  67. data/lib/moov/models/components/capabilityid.rb +2 -11
  68. data/lib/moov/models/components/capabilitystatus.rb +1 -3
  69. data/lib/moov/models/components/card.rb +4 -4
  70. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  71. data/lib/moov/models/components/cardacquiringmodel.rb +1 -3
  72. data/lib/moov/models/components/cardacquiringrefund.rb +1 -1
  73. data/lib/moov/models/components/cardbrand.rb +1 -3
  74. data/lib/moov/models/components/cardbrandfees.rb +2 -6
  75. data/lib/moov/models/components/cardbrandfees.rbi +0 -2
  76. data/lib/moov/models/components/cardissuingnetwork.rb +1 -3
  77. data/lib/moov/models/components/cardmetadata.rb +79 -0
  78. data/lib/moov/models/components/cardmetadata.rbi +35 -0
  79. data/lib/moov/models/components/cardmetadatarequest.rb +38 -0
  80. data/lib/moov/models/components/cardmetadatarequest.rbi +15 -0
  81. data/lib/moov/models/components/cardtransactiondetails.rb +5 -13
  82. data/lib/moov/models/components/cardtransactiondetails.rbi +0 -4
  83. data/lib/moov/models/components/cardtransactionfailurecode.rb +1 -3
  84. data/lib/moov/models/components/cardtransactionstatus.rb +1 -4
  85. data/lib/moov/models/components/cardtype.rb +1 -3
  86. data/lib/moov/models/components/cardupdatereason.rb +1 -3
  87. data/lib/moov/models/components/cardverification.rb +3 -3
  88. data/lib/moov/models/components/cardverificationresult.rb +1 -3
  89. data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
  90. data/lib/moov/models/components/collectionpaymentmethodtype.rb +1 -3
  91. data/lib/moov/models/components/createaccount.rb +3 -7
  92. data/lib/moov/models/components/createaccounttype.rb +1 -3
  93. data/lib/moov/models/components/createauthorizeduser.rb +40 -0
  94. data/lib/moov/models/components/createauthorizeduser.rbi +17 -0
  95. data/lib/moov/models/components/createauthorizedusererror.rb +40 -0
  96. data/lib/moov/models/components/createauthorizedusererror.rbi +17 -0
  97. data/lib/moov/models/components/createauthorizeduserupdate.rb +40 -0
  98. data/lib/moov/models/components/createauthorizeduserupdate.rbi +17 -0
  99. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  100. data/lib/moov/models/components/createdtransfer.rb +5 -16
  101. data/lib/moov/models/components/createdtransfer.rbi +0 -4
  102. data/lib/moov/models/components/createevidencetext.rb +1 -1
  103. data/lib/moov/models/components/createfeeplanagreement.rb +3 -13
  104. data/lib/moov/models/components/createfeeplanagreement.rbi +0 -2
  105. data/lib/moov/models/components/createpaymentlink.rb +16 -16
  106. data/lib/moov/models/components/createpaymentlink.rbi +4 -4
  107. data/lib/moov/models/components/createpaymentlinkamountdetails.rb +32 -0
  108. data/lib/moov/models/components/createpaymentlinkamountdetails.rbi +13 -0
  109. data/lib/moov/models/components/{webhookdataeventtest.rb → createpaymentlinkamountdetailsvalidationerror.rb} +7 -7
  110. data/lib/moov/models/components/createpaymentlinkamountdetailsvalidationerror.rbi +13 -0
  111. data/lib/moov/models/components/createrefund.rb +2 -2
  112. data/lib/moov/models/components/createreversal.rb +1 -4
  113. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  114. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  115. data/lib/moov/models/components/createtippresets.rb +1 -1
  116. data/lib/moov/models/components/createtransfer.rb +2 -6
  117. data/lib/moov/models/components/createtransfer.rbi +0 -2
  118. data/lib/moov/models/components/createtransferamountdetails.rb +6 -2
  119. data/lib/moov/models/components/createtransferamountdetails.rbi +2 -0
  120. data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rb +6 -2
  121. data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rbi +2 -0
  122. data/lib/moov/models/components/createtransferdestinationcard.rb +2 -6
  123. data/lib/moov/models/components/createtransferdestinationcard.rbi +0 -2
  124. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  125. data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
  126. data/lib/moov/models/components/createwebhook.rb +1 -1
  127. data/lib/moov/models/components/debitholdperiod.rb +1 -3
  128. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +1 -3
  129. data/lib/moov/models/components/dispute.rb +2 -2
  130. data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
  131. data/lib/moov/models/components/disputephase.rb +1 -3
  132. data/lib/moov/models/components/disputestatus.rb +1 -3
  133. data/lib/moov/models/components/document.rb +1 -1
  134. data/lib/moov/models/components/documenttype.rb +1 -3
  135. data/lib/moov/models/components/domesticpullfromcard.rb +1 -3
  136. data/lib/moov/models/components/domesticpushtocard.rb +1 -3
  137. data/lib/moov/models/components/estimatedactivity.rb +1 -1
  138. data/lib/moov/models/components/evidencetextresponse.rb +1 -1
  139. data/lib/moov/models/components/evidencetype.rb +1 -3
  140. data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
  141. data/lib/moov/models/components/facilitatorfee.rb +2 -2
  142. data/lib/moov/models/components/feecategory.rb +1 -3
  143. data/lib/moov/models/components/feemodel.rb +1 -3
  144. data/lib/moov/models/components/feeplan.rb +1 -1
  145. data/lib/moov/models/components/feeplanagreement.rb +4 -12
  146. data/lib/moov/models/components/feeplanagreement.rbi +0 -4
  147. data/lib/moov/models/components/feeplanagreementstatus.rb +1 -3
  148. data/lib/moov/models/components/filedetails.rb +3 -3
  149. data/lib/moov/models/components/filepurpose.rb +2 -4
  150. data/lib/moov/models/components/filestatus.rb +1 -3
  151. data/lib/moov/models/components/fulfillment.rb +2 -2
  152. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  153. data/lib/moov/models/components/fulfillmentmethod.rb +1 -3
  154. data/lib/moov/models/components/fulfillmenttimeframe.rb +1 -3
  155. data/lib/moov/models/components/fullissuedcard.rb +16 -27
  156. data/lib/moov/models/components/fullissuedcard.rbi +4 -10
  157. data/lib/moov/models/components/geographicreach.rb +1 -3
  158. data/lib/moov/models/components/googlepayresponse.rb +3 -3
  159. data/lib/moov/models/components/instantbankfailurecode.rb +1 -3
  160. data/lib/moov/models/components/instantbanknetwork.rb +1 -3
  161. data/lib/moov/models/components/instantbanktransactiondetails.rb +3 -3
  162. data/lib/moov/models/components/instantbanktransactionstatus.rb +1 -3
  163. data/lib/moov/models/components/invoice.rb +4 -8
  164. data/lib/moov/models/components/invoice.rbi +0 -2
  165. data/lib/moov/models/components/invoicepayment.rb +1 -1
  166. data/lib/moov/models/components/invoicepaymenttype.rb +1 -3
  167. data/lib/moov/models/components/invoicestatus.rb +1 -3
  168. data/lib/moov/models/components/issuedcard.rb +15 -26
  169. data/lib/moov/models/components/issuedcard.rbi +4 -10
  170. data/lib/moov/models/components/issuedcardauthorization.rb +4 -8
  171. data/lib/moov/models/components/issuedcardauthorization.rbi +0 -2
  172. data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
  173. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +1 -3
  174. data/lib/moov/models/components/issuedcardeventtype.rb +1 -3
  175. data/lib/moov/models/components/issuedcardstate.rb +6 -6
  176. data/lib/moov/models/components/issuedcardtransaction.rb +2 -6
  177. data/lib/moov/models/components/issuedcardtransaction.rbi +0 -2
  178. data/lib/moov/models/components/issuingauthorizationstatus.rb +1 -3
  179. data/lib/moov/models/components/issuingcontrols.rb +1 -1
  180. data/lib/moov/models/components/issuingintervallimit.rb +1 -1
  181. data/lib/moov/models/components/issuingvelocitylimit.rb +1 -1
  182. data/lib/moov/models/components/jsonwebkey.rb +1 -1
  183. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  184. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +1 -1
  185. data/lib/moov/models/components/manualtermsofservice.rb +1 -1
  186. data/lib/moov/models/components/manualtermsofserviceupdate.rb +1 -1
  187. data/lib/moov/models/components/mode.rb +1 -3
  188. data/lib/moov/models/components/monthlyvolumerange.rb +1 -3
  189. data/lib/moov/models/components/moovfee.rb +1 -1
  190. data/lib/moov/models/components/occurrencesresponse.rb +2 -2
  191. data/lib/moov/models/components/occurrencestatus.rb +1 -3
  192. data/lib/moov/models/components/onboardinginvite.rb +2 -2
  193. data/lib/moov/models/components/onboardinginviterequest.rb +1 -1
  194. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  195. data/lib/moov/models/components/partnerpricingagreement.rb +7 -15
  196. data/lib/moov/models/components/partnerpricingagreement.rbi +0 -4
  197. data/lib/moov/models/components/patchbusiness.rb +2 -2
  198. data/lib/moov/models/components/patchtransfer.rb +1 -1
  199. data/lib/moov/models/components/patchwallet.rb +1 -1
  200. data/lib/moov/models/components/paymentlink.rb +19 -19
  201. data/lib/moov/models/components/paymentlink.rbi +4 -4
  202. data/lib/moov/models/components/paymentlinkamountdetails.rb +32 -0
  203. data/lib/moov/models/components/paymentlinkamountdetails.rbi +13 -0
  204. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
  205. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
  206. data/lib/moov/models/components/paymentlinkpaymentdetails.rb +14 -2
  207. data/lib/moov/models/components/paymentlinkpaymentdetails.rbi +6 -0
  208. data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rb +19 -0
  209. data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rbi +11 -0
  210. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rb +14 -2
  211. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rbi +6 -0
  212. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rb +19 -0
  213. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rbi +11 -0
  214. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +3 -7
  215. data/lib/moov/models/components/paymentlinkpayoutdetails.rbi +0 -2
  216. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +3 -7
  217. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rbi +0 -2
  218. data/lib/moov/models/components/paymentlinkstatus.rb +1 -3
  219. data/lib/moov/models/components/paymentlinktype.rb +1 -3
  220. data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
  221. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  222. data/lib/moov/models/components/paymentmethodswallet.rb +1 -2
  223. data/lib/moov/models/components/paymentmethodtype.rb +1 -3
  224. data/lib/moov/models/components/payoutdetailserror.rb +2 -6
  225. data/lib/moov/models/components/payoutdetailserror.rbi +0 -2
  226. data/lib/moov/models/components/pendinglitigation.rb +1 -3
  227. data/lib/moov/models/components/primaryregulator.rb +1 -3
  228. data/lib/moov/models/components/puttippresets.rb +1 -1
  229. data/lib/moov/models/components/refundcarddetails.rb +2 -2
  230. data/lib/moov/models/components/refundcardstatus.rb +1 -3
  231. data/lib/moov/models/components/refundpolicy.rb +1 -3
  232. data/lib/moov/models/components/refundstatus.rb +1 -3
  233. data/lib/moov/models/components/requestcard.rb +18 -18
  234. data/lib/moov/models/components/requestcard.rbi +8 -8
  235. data/lib/moov/models/components/requirementerror.rb +2 -2
  236. data/lib/moov/models/components/requirementerrorcode.rb +1 -3
  237. data/lib/moov/models/components/requirementid.rb +1 -10
  238. data/lib/moov/models/components/resolutionlink.rb +1 -1
  239. data/lib/moov/models/components/resolutionlinkstatus.rb +1 -3
  240. data/lib/moov/models/components/returnpolicytype.rb +1 -3
  241. data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
  242. data/lib/moov/models/components/rtprejectioncode.rb +1 -3
  243. data/lib/moov/models/components/schedulelistresponse.rb +1 -1
  244. data/lib/moov/models/components/scheduleresponse.rb +1 -1
  245. data/lib/moov/models/components/seccode.rb +1 -3
  246. data/lib/moov/models/components/statement.rb +2 -6
  247. data/lib/moov/models/components/statement.rbi +0 -2
  248. data/lib/moov/models/components/sweep.rb +1 -1
  249. data/lib/moov/models/components/sweepconfig.rb +3 -3
  250. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  251. data/lib/moov/models/components/sweepconfigstatus.rb +1 -3
  252. data/lib/moov/models/components/sweepstatus.rb +1 -3
  253. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  254. data/lib/moov/models/components/terminalapplication.rb +2 -2
  255. data/lib/moov/models/components/terminalapplicationplatform.rb +1 -3
  256. data/lib/moov/models/components/terminalapplicationstatus.rb +1 -3
  257. data/lib/moov/models/components/terminalcard.rb +2 -2
  258. data/lib/moov/models/components/termsofservice.rb +1 -1
  259. data/lib/moov/models/components/ticket.rb +1 -1
  260. data/lib/moov/models/components/ticketstatus.rb +1 -3
  261. data/lib/moov/models/components/tipcalculationbasis.rb +1 -3
  262. data/lib/moov/models/components/tippresets.rb +1 -1
  263. data/lib/moov/models/components/transactionsource.rb +1 -3
  264. data/lib/moov/models/components/transfer.rb +5 -16
  265. data/lib/moov/models/components/transfer.rbi +0 -4
  266. data/lib/moov/models/components/transferamountdetails.rb +6 -2
  267. data/lib/moov/models/components/transferamountdetails.rbi +2 -0
  268. data/lib/moov/models/components/transferconfig.rb +2 -6
  269. data/lib/moov/models/components/transferconfig.rbi +0 -2
  270. data/lib/moov/models/components/transferdestination.rb +3 -9
  271. data/lib/moov/models/components/transferdestination.rbi +0 -2
  272. data/lib/moov/models/components/transferfailurereason.rb +1 -3
  273. data/lib/moov/models/components/transferparty.rb +1 -3
  274. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
  275. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  276. data/lib/moov/models/components/transferpaymentmethodswallet.rb +1 -2
  277. data/lib/moov/models/components/transferpaymentmethodtype.rb +1 -3
  278. data/lib/moov/models/components/transfersource.rb +1 -1
  279. data/lib/moov/models/components/transferstatus.rb +1 -3
  280. data/lib/moov/models/components/transferterminalcard.rb +2 -2
  281. data/lib/moov/models/components/underwriting.rb +4 -4
  282. data/lib/moov/models/components/underwritingstatus.rb +1 -3
  283. data/lib/moov/models/components/updateevidence.rb +1 -1
  284. data/lib/moov/models/components/updateinvoice.rb +7 -7
  285. data/lib/moov/models/components/updateissuedcard.rb +9 -15
  286. data/lib/moov/models/components/updateissuedcard.rbi +4 -6
  287. data/lib/moov/models/components/updateissuedcardstate.rb +0 -4
  288. data/lib/moov/models/components/updatepaymentlink.rb +7 -7
  289. data/lib/moov/models/components/updatepaymentlink.rbi +2 -2
  290. data/lib/moov/models/components/updatepaymentlinkamountdetails.rb +32 -0
  291. data/lib/moov/models/components/updatepaymentlinkamountdetails.rbi +13 -0
  292. data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rb +32 -0
  293. data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rbi +13 -0
  294. data/lib/moov/models/components/updatewebhook.rb +1 -1
  295. data/lib/moov/models/components/upsertunderwriting.rb +3 -3
  296. data/lib/moov/models/components/use.rb +1 -3
  297. data/lib/moov/models/components/verification.rb +3 -3
  298. data/lib/moov/models/components/verificationstatus.rb +1 -3
  299. data/lib/moov/models/components/verificationstatusdetail.rb +1 -3
  300. data/lib/moov/models/components/wallet.rb +2 -3
  301. data/lib/moov/models/components/walletstatus.rb +1 -3
  302. data/lib/moov/models/components/wallettransaction.rb +3 -3
  303. data/lib/moov/models/components/wallettransactionsourcetype.rb +1 -3
  304. data/lib/moov/models/components/wallettransactionstatus.rb +1 -3
  305. data/lib/moov/models/components/wallettransactiontype.rb +1 -3
  306. data/lib/moov/models/components/wallettype.rb +1 -5
  307. data/lib/moov/models/components/webhook.rb +1 -1
  308. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
  309. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +2 -6
  310. data/lib/moov/models/components/webhookdatabankaccountdeleted.rbi +0 -2
  311. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  312. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  313. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  314. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +2 -8
  315. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +3 -9
  316. data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
  317. data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
  318. data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
  319. data/lib/moov/models/components/webhookdatainvoiceupdated.rb +1 -1
  320. data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
  321. data/lib/moov/models/components/webhookdatasweepcreated.rb +2 -6
  322. data/lib/moov/models/components/webhookdatasweepcreated.rbi +0 -2
  323. data/lib/moov/models/components/webhookdatasweepupdated.rb +3 -7
  324. data/lib/moov/models/components/webhookdatasweepupdated.rbi +0 -2
  325. data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
  326. data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
  327. data/lib/moov/models/components/webhookdataticketupdated.rb +1 -1
  328. data/lib/moov/models/components/webhookdatatransferstatus.rb +0 -3
  329. data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
  330. data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
  331. data/lib/moov/models/components/webhookevent.rb +3 -3
  332. data/lib/moov/models/components/webhookeventtype.rb +1 -5
  333. data/lib/moov/models/components/webhookstatus.rb +1 -3
  334. data/lib/moov/models/components.rb +16 -15
  335. data/lib/moov/models/errors/cardacquiringrefund_error.rb +1 -1
  336. data/lib/moov/models/errors/cardmetadatarequesterror.rb +44 -0
  337. data/lib/moov/models/errors/cardmetadatarequesterror.rbi +19 -0
  338. data/lib/moov/models/errors/createpaymentlinkerror.rb +6 -6
  339. data/lib/moov/models/errors/createpaymentlinkerror.rbi +2 -2
  340. data/lib/moov/models/errors/requestcarderror.rb +14 -14
  341. data/lib/moov/models/errors/requestcarderror.rbi +8 -8
  342. data/lib/moov/models/errors/transfer_error.rb +5 -16
  343. data/lib/moov/models/errors/transfer_error.rbi +0 -4
  344. data/lib/moov/models/errors/transfervalidationerror.rb +2 -6
  345. data/lib/moov/models/errors/transfervalidationerror.rbi +0 -2
  346. data/lib/moov/models/errors/updateissuedcarderror.rb +8 -12
  347. data/lib/moov/models/errors/updateissuedcarderror.rbi +4 -6
  348. data/lib/moov/models/errors/updatepaymentlinkerror.rb +6 -6
  349. data/lib/moov/models/errors/updatepaymentlinkerror.rbi +2 -2
  350. data/lib/moov/models/errors.rb +1 -0
  351. data/lib/moov/models/operations/disablecapability_request.rb +1 -7
  352. data/lib/moov/models/operations/getcapability_request.rb +1 -7
  353. data/lib/moov/models/operations/{listcancellations_response.rb → getcardmetadata_response.rb} +6 -6
  354. data/lib/moov/models/operations/{listcancellations_response.rbi → getcardmetadata_response.rbi} +4 -4
  355. data/lib/moov/models/operations/linkbankaccount_request.rb +1 -1
  356. data/lib/moov/models/operations/listaccounts_request.rb +1 -1
  357. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
  358. data/lib/moov/models/operations/listdisputes_request.rb +1 -1
  359. data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
  360. data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
  361. data/lib/moov/models/operations/listinvoices_request.rb +1 -1
  362. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
  363. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
  364. data/lib/moov/models/operations/listissuedcards_request.rb +2 -2
  365. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +3 -7
  366. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +0 -2
  367. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
  368. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  369. data/lib/moov/models/operations/listproducts_request.rb +1 -1
  370. data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
  371. data/lib/moov/models/operations/listresiduals_request.rb +1 -1
  372. data/lib/moov/models/operations/listschedules_request.rb +1 -1
  373. data/lib/moov/models/operations/liststatements_request.rb +1 -1
  374. data/lib/moov/models/operations/listsweeps_request.rb +1 -1
  375. data/lib/moov/models/operations/listtickets_request.rb +1 -1
  376. data/lib/moov/models/operations/listtransfers_request.rb +3 -11
  377. data/lib/moov/models/operations/listtransfers_request.rbi +0 -4
  378. data/lib/moov/models/operations/listwallets_request.rb +1 -1
  379. data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
  380. data/lib/moov/models/operations/retrievefees_request.rb +1 -1
  381. data/lib/moov/models/operations.rb +1 -2
  382. data/lib/moov/onboarding.rb +16 -16
  383. data/lib/moov/payment_links.rb +24 -24
  384. data/lib/moov/payment_methods.rb +8 -8
  385. data/lib/moov/ping.rb +4 -4
  386. data/lib/moov/products.rb +20 -20
  387. data/lib/moov/receipts.rb +8 -8
  388. data/lib/moov/representatives.rb +20 -20
  389. data/lib/moov/resolution_links.rb +16 -16
  390. data/lib/moov/scheduling.rb +24 -24
  391. data/lib/moov/sdkconfiguration.rb +4 -4
  392. data/lib/moov/statements.rb +8 -8
  393. data/lib/moov/support.rb +20 -20
  394. data/lib/moov/sweeps.rb +24 -24
  395. data/lib/moov/terminal_applications.rb +20 -20
  396. data/lib/moov/transfer_config.rb +12 -12
  397. data/lib/moov/transfers.rb +51 -180
  398. data/lib/moov/underwriting.rb +12 -12
  399. data/lib/moov/utils/retries.rb +1 -43
  400. data/lib/moov/utils/utils.rb +2 -6
  401. data/lib/moov/wallet_transactions.rb +8 -8
  402. data/lib/moov/wallets.rb +16 -16
  403. data/lib/moov/webhooks.rb +32 -32
  404. metadata +40 -38
  405. data/lib/moov/models/components/billingaddress.rb +0 -52
  406. data/lib/moov/models/components/billingaddress.rbi +0 -23
  407. data/lib/moov/models/components/billingadjustment.rb +0 -40
  408. data/lib/moov/models/components/billingadjustment.rbi +0 -17
  409. data/lib/moov/models/components/billingsummary_adjustmentfees.rb +0 -40
  410. data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +0 -15
  411. data/lib/moov/models/components/pushdeliveryspeed.rb +0 -21
  412. data/lib/moov/models/components/pushdeliveryspeed.rbi +0 -11
  413. data/lib/moov/models/components/pushoptions.rb +0 -39
  414. data/lib/moov/models/components/pushoptions.rbi +0 -15
  415. data/lib/moov/models/components/pushoptionserror.rb +0 -36
  416. data/lib/moov/models/components/pushoptionserror.rbi +0 -15
  417. data/lib/moov/models/components/pushoptionsupdate.rb +0 -39
  418. data/lib/moov/models/components/pushoptionsupdate.rbi +0 -15
  419. data/lib/moov/models/components/rtpfailurecode.rb +0 -29
  420. data/lib/moov/models/components/rtpfailurecode.rbi +0 -11
  421. data/lib/moov/models/components/rtptransactiondetails.rb +0 -58
  422. data/lib/moov/models/components/rtptransactiondetails.rbi +0 -25
  423. data/lib/moov/models/components/rtptransactionstatus.rb +0 -23
  424. data/lib/moov/models/components/rtptransactionstatus.rbi +0 -11
  425. data/lib/moov/models/components/transfercapture.rb +0 -36
  426. data/lib/moov/models/components/transfercapture.rbi +0 -15
  427. data/lib/moov/models/components/transfercontrols.rb +0 -48
  428. data/lib/moov/models/components/transfercontrols.rbi +0 -21
  429. data/lib/moov/models/components/webhookdataauthorizationexpiring.rb +0 -44
  430. data/lib/moov/models/components/webhookdataauthorizationexpiring.rbi +0 -19
  431. data/lib/moov/models/components/webhookdataeventtest.rbi +0 -13
  432. data/lib/moov/models/operations/listcancellations_request.rb +0 -36
  433. data/lib/moov/models/operations/listcancellations_request.rbi +0 -15
@@ -8,13 +8,11 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # Mode - The operating mode for an account.
11
- class Mode
12
- include ::Crystalline::Enum
11
+ class Mode < T::Enum
13
12
  enums do
14
13
  SANDBOX = new('sandbox')
15
14
  PRODUCTION = new('production')
16
15
  end
17
- open!
18
16
  end
19
17
  end
20
18
  end
@@ -8,8 +8,7 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # MonthlyVolumeRange - The low value in each range is included. The high value in each range is excluded.
11
- class MonthlyVolumeRange
12
- include ::Crystalline::Enum
11
+ class MonthlyVolumeRange < T::Enum
13
12
  enums do
14
13
  UNDER_10K = new('under-10k')
15
14
  TENK_50K = new('10k-50k')
@@ -20,7 +19,6 @@ module Moov
20
19
  ONEM_5M = new('1m-5m')
21
20
  OVER_5M = new('over-5m')
22
21
  end
23
- open!
24
22
  end
25
23
  end
26
24
  end
@@ -15,7 +15,7 @@ module Moov
15
15
  # ID of the account that fees were charged to.
16
16
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
17
17
  # Indicates whether the account charged was the partner, source, or destination of the transfer.
18
- field :transfer_party, Models::Components::TransferParty, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferParty'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferParty, false) } }
18
+ field :transfer_party, Models::Components::TransferParty, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferParty'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TransferParty, false) } }
19
19
  # The total amount of fees charged to the account.
20
20
  field :total_amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('totalAmount'), required: true } }
21
21
  # List of fee IDs that sum to the totalAmount.
@@ -21,7 +21,7 @@ module Moov
21
21
 
22
22
  field :occurrence_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('occurrenceID') } }
23
23
  # Sandbox or production account mode of this schedule.
24
- 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) } }
24
+ 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) } }
25
25
  # True if this was generated by a RRule.
26
26
  field :generated, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('generated') } }
27
27
  # True if the RRule set runs indefinitely.
@@ -33,7 +33,7 @@ module Moov
33
33
 
34
34
  field :ran_transfer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('ranTransferID') } }
35
35
  # Status of the completed occurrence.
36
- field :status, Crystalline::Nilable.new(Models::Components::OccurrenceStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::OccurrenceStatus, true) } }
36
+ field :status, Crystalline::Nilable.new(Models::Components::OccurrenceStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::OccurrenceStatus, true) } }
37
37
  # Contains details on why the occurrence errored.
38
38
  field :error, Crystalline::Nilable.new(Models::Components::OccurrencesResponseError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('error') } }
39
39
 
@@ -8,14 +8,12 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # OccurrenceStatus - Status of the completed occurrence.
11
- class OccurrenceStatus
12
- include ::Crystalline::Enum
11
+ class OccurrenceStatus < T::Enum
13
12
  enums do
14
13
  PENDING = new('pending')
15
14
  FAILED = new('failed')
16
15
  COMPLETED = new('completed')
17
16
  end
18
- open!
19
17
  end
20
18
  end
21
19
  end
@@ -19,14 +19,14 @@ module Moov
19
19
  # List of [scopes](https://docs.moov.io/api/authentication/scopes/) you request to use on this
20
20
  # account. These values are used to determine what can be done with the account onboarded.
21
21
  field :scopes, Crystalline::Array.new(Models::Components::ApplicationScope), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('scopes'), required: true } }
22
- # List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/reference/) you intend to request for this
22
+ # List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/) you intend to request for this
23
23
  # account. These values are used to determine what information to collect from the user during onboarding.
24
24
  field :capabilities, Crystalline::Array.new(Models::Components::CapabilityID), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capabilities'), required: true } }
25
25
  # List of fee plan codes to assign the account created by the invitee.
26
26
  field :fee_plan_codes, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePlanCodes'), required: true } }
27
27
 
28
28
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
29
- # Optional URL to redirect the user to after they complete the onboarding process.
29
+ # The scopes requested by the inviter.
30
30
  field :return_url, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('returnURL') } }
31
31
  # The terms of service URL set by the inviter.
32
32
  field :terms_of_service_url, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('termsOfServiceURL') } }
@@ -15,7 +15,7 @@ module Moov
15
15
  # List of [scopes](https://docs.moov.io/api/authentication/scopes/) you request to use on this
16
16
  # account. These values are used to determine what can be done with the account onboarded.
17
17
  field :scopes, Crystalline::Array.new(Models::Components::ApplicationScope), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('scopes'), required: true } }
18
- # List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/reference/) you intend to request for this
18
+ # List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/) you intend to request for this
19
19
  # account. These values are used to determine what information to collect from the user during onboarding.
20
20
  field :capabilities, Crystalline::Array.new(Models::Components::CapabilityID), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capabilities'), required: true } }
21
21
  # List of fee plan codes to assign the account created by the invitee.
@@ -15,7 +15,7 @@ module Moov
15
15
  # The account ID of the partner that created the invite.
16
16
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
17
17
  # The operating mode for an account.
18
- field :account_mode, Models::Components::Mode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountMode'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::Mode, false) } }
18
+ field :account_mode, Models::Components::Mode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountMode'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::Mode, false) } }
19
19
  # The name of the Moov account used to create the onboarding invite.
20
20
  field :display_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('displayName'), required: true } }
21
21
 
@@ -21,30 +21,26 @@ module Moov
21
21
 
22
22
  field :accepted_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
23
23
 
24
- field :status, Models::Components::FeePlanAgreementStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::FeePlanAgreementStatus, false) } }
24
+ field :status, Models::Components::FeePlanAgreementStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::FeePlanAgreementStatus, false) } }
25
25
  # Specifies the card processing pricing model
26
- field :card_acquiring_model, Models::Components::CardAcquiringModel, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAcquiringModel'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardAcquiringModel, false) } }
26
+ field :card_acquiring_model, Models::Components::CardAcquiringModel, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAcquiringModel'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardAcquiringModel, false) } }
27
27
 
28
28
  field :billable_fees, Crystalline::Array.new(Models::Components::BillableFee), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billableFees'), required: true } }
29
29
  # The minimum spending amount that must be met in the billing period. If actual usage is below the minimum amount, account is charged the difference.
30
30
  field :minimum_commitment, Models::Components::MinimumCommitment, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('minimumCommitment'), required: true } }
31
31
  # Fixed recurring amount paid in the billing period regardless of usage.
32
32
  field :monthly_platform_fee, Models::Components::MonthlyPlatformFee, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('monthlyPlatformFee'), required: true } }
33
- # The decimal-formatted numerical string of the revenue split for partner.
34
- #
35
- # For example, 2.25% is '2.25'.
33
+ # The decimal-formatted numerical string of the revenue split for partner.
34
+ #
35
+ # For example, 2.25% is '2.25'.
36
36
  field :revenue_share, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('revenueShare'), required: true } }
37
37
  # 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).
38
38
  field :account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID') } }
39
39
  # The description of the agreement.
40
40
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
41
- # The agreement this one replaced. Only set when the agreement was created by replacing another.
42
- field :prior_agreement_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priorAgreementID') } }
43
- # The date and time the prior agreement was terminated.
44
- field :prior_agreement_terminated_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priorAgreementTerminatedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
45
41
 
46
- sig { params(agreement_id: ::String, plan_id: ::String, name: ::String, accepted_on: ::DateTime, status: Models::Components::FeePlanAgreementStatus, card_acquiring_model: Models::Components::CardAcquiringModel, billable_fees: T::Array[Models::Components::BillableFee], minimum_commitment: Models::Components::MinimumCommitment, monthly_platform_fee: Models::Components::MonthlyPlatformFee, revenue_share: ::String, account_id: T.nilable(::String), description: T.nilable(::String), prior_agreement_id: T.nilable(::String), prior_agreement_terminated_on: T.nilable(::DateTime)).void }
47
- def initialize(agreement_id:, plan_id:, name:, accepted_on:, status:, card_acquiring_model:, billable_fees:, minimum_commitment:, monthly_platform_fee:, revenue_share:, account_id: nil, description: nil, prior_agreement_id: nil, prior_agreement_terminated_on: nil)
42
+ sig { params(agreement_id: ::String, plan_id: ::String, name: ::String, accepted_on: ::DateTime, status: Models::Components::FeePlanAgreementStatus, card_acquiring_model: Models::Components::CardAcquiringModel, billable_fees: T::Array[Models::Components::BillableFee], minimum_commitment: Models::Components::MinimumCommitment, monthly_platform_fee: Models::Components::MonthlyPlatformFee, revenue_share: ::String, account_id: T.nilable(::String), description: T.nilable(::String)).void }
43
+ def initialize(agreement_id:, plan_id:, name:, accepted_on:, status:, card_acquiring_model:, billable_fees:, minimum_commitment:, monthly_platform_fee:, revenue_share:, account_id: nil, description: nil)
48
44
  @agreement_id = agreement_id
49
45
  @plan_id = plan_id
50
46
  @name = name
@@ -57,8 +53,6 @@ module Moov
57
53
  @revenue_share = revenue_share
58
54
  @account_id = account_id
59
55
  @description = description
60
- @prior_agreement_id = prior_agreement_id
61
- @prior_agreement_terminated_on = prior_agreement_terminated_on
62
56
  end
63
57
 
64
58
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -76,8 +70,6 @@ module Moov
76
70
  return false unless @revenue_share == other.revenue_share
77
71
  return false unless @account_id == other.account_id
78
72
  return false unless @description == other.description
79
- return false unless @prior_agreement_id == other.prior_agreement_id
80
- return false unless @prior_agreement_terminated_on == other.prior_agreement_terminated_on
81
73
  true
82
74
  end
83
75
  end
@@ -32,8 +32,4 @@ class Moov::Models::Components::PartnerPricingAgreement
32
32
  def account_id=(str_); end
33
33
  def description(); end
34
34
  def description=(str_); end
35
- def prior_agreement_id(); end
36
- def prior_agreement_id=(str_); end
37
- def prior_agreement_terminated_on(); end
38
- def prior_agreement_terminated_on=(str_); end
39
35
  end
@@ -17,7 +17,7 @@ module Moov
17
17
 
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.open_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.enum_from_string(Models::Components::BusinessType, true) } }
21
21
 
22
22
  field :address, Crystalline::Nilable.new(Models::Components::AddressUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('address') } }
23
23
 
@@ -37,7 +37,7 @@ module Moov
37
37
  # 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.
38
38
  field :industry, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('industry') } }
39
39
  # If the business is a financial institution, this field describes its primary regulator.
40
- 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) } }
40
+ 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) } }
41
41
 
42
42
  sig { params(legal_business_name: T.nilable(::String), doing_business_as: T.nilable(::String), business_type: T.nilable(Models::Components::BusinessType), address: T.nilable(Models::Components::AddressUpdate), phone: T.nilable(Models::Components::PhoneNumber), email: T.nilable(::String), website: T.nilable(::String), description: T.nilable(::String), tax_id: T.nilable(Models::Components::TaxIDUpdate), owners_provided: T.nilable(T::Boolean), industry_codes: T.nilable(Models::Components::IndustryCodes), industry: T.nilable(::String), primary_regulator: T.nilable(Models::Components::PrimaryRegulator)).void }
43
43
  def initialize(legal_business_name: nil, doing_business_as: nil, business_type: nil, address: nil, phone: nil, email: nil, website: nil, description: nil, tax_id: nil, owners_provided: nil, industry_codes: nil, industry: nil, primary_regulator: nil)
@@ -14,7 +14,7 @@ module Moov
14
14
 
15
15
  # Optional alias from a foreign/external system which can be used to reference this resource.
16
16
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
17
- # Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
17
+
18
18
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
19
19
 
20
20
  sig { params(foreign_id: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
@@ -17,7 +17,7 @@ module Moov
17
17
  # Status of a wallet.
18
18
  # - `active`: The wallet is available for use and has an enabled payment method.
19
19
  # - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
20
- field :status, Crystalline::Nilable.new(Models::Components::WalletStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletStatus, true) } }
20
+ field :status, Crystalline::Nilable.new(Models::Components::WalletStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletStatus, true) } }
21
21
 
22
22
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
23
23
  # Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
@@ -15,11 +15,11 @@ module Moov
15
15
  # Unique code identifying this payment link.
16
16
  field :code, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('code'), required: true } }
17
17
 
18
- field :payment_link_type, Models::Components::PaymentLinkType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentLinkType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::PaymentLinkType, false) } }
18
+ field :payment_link_type, Models::Components::PaymentLinkType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentLinkType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PaymentLinkType, false) } }
19
19
  # The operating mode for an account.
20
- field :mode, Models::Components::Mode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::Mode, false) } }
20
+ field :mode, Models::Components::Mode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::Mode, false) } }
21
21
 
22
- field :status, Models::Components::PaymentLinkStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::PaymentLinkStatus, false) } }
22
+ field :status, Models::Components::PaymentLinkStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PaymentLinkStatus, false) } }
23
23
  # The partner's Moov account ID.
24
24
  field :partner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerAccountID'), required: true } }
25
25
  # The merchant's Moov account ID.
@@ -30,13 +30,6 @@ module Moov
30
30
  field :merchant_payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantPaymentMethodID'), required: true } }
31
31
  # Link to the payment landing page for this payment link.
32
32
  field :link, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('link'), required: true } }
33
- # The fixed amount of the payment link.
34
- #
35
- # In API versions before `2026.07.00`, this was a required field.
36
- #
37
- # In API version `2026.07.00` and beyond, this field is present for `payment` and `payout` links and omitted
38
- # for `customAmountPayment` links, where the payor chooses the amount.
39
- field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
40
33
  # The number of times this payment link has been used.
41
34
  field :uses, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('uses'), required: true } }
42
35
  # Customizable display options for a payment link.
@@ -47,8 +40,13 @@ module Moov
47
40
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
48
41
 
49
42
  field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
50
- # Optional sales tax amount.
51
- field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
43
+ # The fixed amount of the payment link.
44
+ #
45
+ # In API versions before `2026.07.00`, this was a required field.
46
+ #
47
+ # In API version `2026.07.00` and beyond, this field is required for `fixed` payment amount types and omitted
48
+ # for `open` payment amount types.
49
+ field :amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
52
50
  # An optional limit on the number of times this payment link can be used.
53
51
  #
54
52
  # **For payouts, `maxUses` is always 1.**
@@ -59,7 +57,7 @@ module Moov
59
57
  field :expires_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiresOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
60
58
  # Options for payment links used to collect payment.
61
59
  field :payment, Crystalline::Nilable.new(Models::Components::PaymentLinkPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payment') } }
62
- # Options for payout links used to send a payout.
60
+
63
61
  field :payout, Crystalline::Nilable.new(Models::Components::PaymentLinkPayoutDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payout') } }
64
62
  # An optional collection of line items for a payment link.
65
63
  # When line items are provided, their total plus tax must equal the payment link amount.
@@ -67,8 +65,10 @@ module Moov
67
65
 
68
66
  field :disabled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disabledOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
69
67
 
70
- sig { params(code: ::String, payment_link_type: Models::Components::PaymentLinkType, mode: Models::Components::Mode, status: Models::Components::PaymentLinkStatus, partner_account_id: ::String, merchant_account_id: ::String, owner_account_id: ::String, merchant_payment_method_id: ::String, link: ::String, amount: Models::Components::Amount, uses: ::Integer, display: Models::Components::PaymentLinkDisplayOptions, customer: Models::Components::PaymentLinkCustomerOptions, created_on: ::DateTime, updated_on: ::DateTime, sales_tax_amount: T.nilable(Models::Components::Amount), max_uses: T.nilable(::Integer), last_used_on: T.nilable(::DateTime), expires_on: T.nilable(::DateTime), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::PaymentLinkLineItems), disabled_on: T.nilable(::DateTime)).void }
71
- def initialize(code:, payment_link_type:, mode:, status:, partner_account_id:, merchant_account_id:, owner_account_id:, merchant_payment_method_id:, link:, amount:, uses:, display:, customer:, created_on:, updated_on:, sales_tax_amount: nil, max_uses: nil, last_used_on: nil, expires_on: nil, payment: nil, payout: nil, line_items: nil, disabled_on: nil)
68
+ field :amount_details, Crystalline::Nilable.new(Models::Components::PaymentLinkAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
69
+
70
+ sig { params(code: ::String, payment_link_type: Models::Components::PaymentLinkType, mode: Models::Components::Mode, status: Models::Components::PaymentLinkStatus, partner_account_id: ::String, merchant_account_id: ::String, owner_account_id: ::String, merchant_payment_method_id: ::String, link: ::String, uses: ::Integer, display: Models::Components::PaymentLinkDisplayOptions, customer: Models::Components::PaymentLinkCustomerOptions, created_on: ::DateTime, updated_on: ::DateTime, amount: T.nilable(Models::Components::Amount), max_uses: T.nilable(::Integer), last_used_on: T.nilable(::DateTime), expires_on: T.nilable(::DateTime), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::PaymentLinkLineItems), disabled_on: T.nilable(::DateTime), amount_details: T.nilable(Models::Components::PaymentLinkAmountDetails)).void }
71
+ def initialize(code:, payment_link_type:, mode:, status:, partner_account_id:, merchant_account_id:, owner_account_id:, merchant_payment_method_id:, link:, uses:, display:, customer:, created_on:, updated_on:, amount: nil, max_uses: nil, last_used_on: nil, expires_on: nil, payment: nil, payout: nil, line_items: nil, disabled_on: nil, amount_details: nil)
72
72
  @code = code
73
73
  @payment_link_type = payment_link_type
74
74
  @mode = mode
@@ -78,13 +78,12 @@ module Moov
78
78
  @owner_account_id = owner_account_id
79
79
  @merchant_payment_method_id = merchant_payment_method_id
80
80
  @link = link
81
- @amount = amount
82
81
  @uses = uses
83
82
  @display = display
84
83
  @customer = customer
85
84
  @created_on = created_on
86
85
  @updated_on = updated_on
87
- @sales_tax_amount = sales_tax_amount
86
+ @amount = amount
88
87
  @max_uses = max_uses
89
88
  @last_used_on = last_used_on
90
89
  @expires_on = expires_on
@@ -92,6 +91,7 @@ module Moov
92
91
  @payout = payout
93
92
  @line_items = line_items
94
93
  @disabled_on = disabled_on
94
+ @amount_details = amount_details
95
95
  end
96
96
 
97
97
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -106,13 +106,12 @@ module Moov
106
106
  return false unless @owner_account_id == other.owner_account_id
107
107
  return false unless @merchant_payment_method_id == other.merchant_payment_method_id
108
108
  return false unless @link == other.link
109
- return false unless @amount == other.amount
110
109
  return false unless @uses == other.uses
111
110
  return false unless @display == other.display
112
111
  return false unless @customer == other.customer
113
112
  return false unless @created_on == other.created_on
114
113
  return false unless @updated_on == other.updated_on
115
- return false unless @sales_tax_amount == other.sales_tax_amount
114
+ return false unless @amount == other.amount
116
115
  return false unless @max_uses == other.max_uses
117
116
  return false unless @last_used_on == other.last_used_on
118
117
  return false unless @expires_on == other.expires_on
@@ -120,6 +119,7 @@ module Moov
120
119
  return false unless @payout == other.payout
121
120
  return false unless @line_items == other.line_items
122
121
  return false unless @disabled_on == other.disabled_on
122
+ return false unless @amount_details == other.amount_details
123
123
  true
124
124
  end
125
125
  end
@@ -26,8 +26,6 @@ class Moov::Models::Components::PaymentLink
26
26
  def merchant_payment_method_id=(str_); end
27
27
  def link(); end
28
28
  def link=(str_); end
29
- def amount(); end
30
- def amount=(str_); end
31
29
  def uses(); end
32
30
  def uses=(str_); end
33
31
  def display(); end
@@ -38,8 +36,8 @@ class Moov::Models::Components::PaymentLink
38
36
  def created_on=(str_); end
39
37
  def updated_on(); end
40
38
  def updated_on=(str_); end
41
- def sales_tax_amount(); end
42
- def sales_tax_amount=(str_); end
39
+ def amount(); end
40
+ def amount=(str_); end
43
41
  def max_uses(); end
44
42
  def max_uses=(str_); end
45
43
  def last_used_on(); end
@@ -54,4 +52,6 @@ class Moov::Models::Components::PaymentLink
54
52
  def line_items=(str_); end
55
53
  def disabled_on(); end
56
54
  def disabled_on=(str_); end
55
+ def amount_details(); end
56
+ def amount_details=(str_); end
57
57
  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 PaymentLinkAmountDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The amount of tax applied to the payment link.
16
+ field :tax, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tax') } }
17
+
18
+ sig { params(tax: T.nilable(Models::Components::AmountDecimal)).void }
19
+ def initialize(tax: nil)
20
+ @tax = tax
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 @tax == other.tax
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::PaymentLinkAmountDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PaymentLinkAmountDetails
11
+ def tax(); end
12
+ def tax=(str_); end
13
+ end
@@ -20,7 +20,7 @@ module Moov
20
20
  #
21
21
  # If set to "auto" the UI will automatically select between
22
22
  # "pay" and "confirm" for payments and payouts respectively.
23
- field :call_to_action, Models::Components::CallToAction, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('callToAction'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CallToAction, false) } }
23
+ field :call_to_action, Models::Components::CallToAction, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('callToAction'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CallToAction, false) } }
24
24
 
25
25
  sig { params(title: ::String, description: ::String, call_to_action: Models::Components::CallToAction).void }
26
26
  def initialize(title:, description:, call_to_action:)
@@ -20,7 +20,7 @@ module Moov
20
20
  #
21
21
  # If set to "auto" the UI will automatically select between
22
22
  # "pay" and "confirm" for payments and payouts respectively.
23
- field :call_to_action, Crystalline::Nilable.new(Models::Components::CallToAction), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('callToAction'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CallToAction, true) } }
23
+ field :call_to_action, Crystalline::Nilable.new(Models::Components::CallToAction), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('callToAction'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CallToAction, true) } }
24
24
 
25
25
  sig { params(title: T.nilable(::String), description: T.nilable(::String), call_to_action: T.nilable(Models::Components::CallToAction)).void }
26
26
  def initialize(title: nil, description: nil, call_to_action: nil)
@@ -14,28 +14,40 @@ module Moov
14
14
 
15
15
  # A list of payment methods that should be supported for this payment link.
16
16
  field :allowed_methods, Crystalline::Array.new(Models::Components::CollectionPaymentMethodType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedMethods'), required: true } }
17
+ # The minimum and maximum amounts the buyer can specify when `amountType` is `open`.
18
+ field :amount_range, Crystalline::Nilable.new(Models::Components::AmountDecimalRange), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountRange') } }
19
+ # Optional preset amounts displayed to the buyer when `amountType` is `open`.
20
+ field :suggested_amounts, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AmountDecimal)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('suggestedAmounts') } }
17
21
  # Options for payment links used to collect a card payment.
18
22
  field :card_details, Crystalline::Nilable.new(Models::Components::CardPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
19
23
  # Options for payment links used to collect an ACH payment.
20
24
  field :ach_details, Crystalline::Nilable.new(Models::Components::ACHPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
21
25
  # Optional free-form metadata for the transfer.
22
26
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
27
+ # Indicates whether the payment amount is fixed by the merchant or open for the buyer to choose.
28
+ field :amount_type, Crystalline::Nilable.new(Models::Components::PaymentLinkPaymentDetailsAmountType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PaymentLinkPaymentDetailsAmountType, true) } }
23
29
 
24
- sig { params(allowed_methods: T::Array[Models::Components::CollectionPaymentMethodType], card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
25
- def initialize(allowed_methods:, card_details: nil, ach_details: nil, metadata: nil)
30
+ sig { params(allowed_methods: T::Array[Models::Components::CollectionPaymentMethodType], amount_range: T.nilable(Models::Components::AmountDecimalRange), suggested_amounts: T.nilable(T::Array[Models::Components::AmountDecimal]), card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails), metadata: T.nilable(T::Hash[Symbol, ::String]), amount_type: T.nilable(Models::Components::PaymentLinkPaymentDetailsAmountType)).void }
31
+ def initialize(allowed_methods:, amount_range: nil, suggested_amounts: nil, card_details: nil, ach_details: nil, metadata: nil, amount_type: Models::Components::PaymentLinkPaymentDetailsAmountType::FIXED)
26
32
  @allowed_methods = allowed_methods
33
+ @amount_range = amount_range
34
+ @suggested_amounts = suggested_amounts
27
35
  @card_details = card_details
28
36
  @ach_details = ach_details
29
37
  @metadata = metadata
38
+ @amount_type = amount_type
30
39
  end
31
40
 
32
41
  sig { params(other: T.untyped).returns(T::Boolean) }
33
42
  def ==(other)
34
43
  return false unless other.is_a? self.class
35
44
  return false unless @allowed_methods == other.allowed_methods
45
+ return false unless @amount_range == other.amount_range
46
+ return false unless @suggested_amounts == other.suggested_amounts
36
47
  return false unless @card_details == other.card_details
37
48
  return false unless @ach_details == other.ach_details
38
49
  return false unless @metadata == other.metadata
50
+ return false unless @amount_type == other.amount_type
39
51
  true
40
52
  end
41
53
  end
@@ -10,10 +10,16 @@ end
10
10
  class Moov::Models::Components::PaymentLinkPaymentDetails
11
11
  def allowed_methods(); end
12
12
  def allowed_methods=(str_); end
13
+ def amount_range(); end
14
+ def amount_range=(str_); end
15
+ def suggested_amounts(); end
16
+ def suggested_amounts=(str_); end
13
17
  def card_details(); end
14
18
  def card_details=(str_); end
15
19
  def ach_details(); end
16
20
  def ach_details=(str_); end
17
21
  def metadata(); end
18
22
  def metadata=(str_); end
23
+ def amount_type(); end
24
+ def amount_type=(str_); end
19
25
  end
@@ -0,0 +1,19 @@
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
+ # PaymentLinkPaymentDetailsAmountType - Indicates whether the payment amount is fixed by the merchant or open for the buyer to choose.
11
+ class PaymentLinkPaymentDetailsAmountType < T::Enum
12
+ enums do
13
+ FIXED = new('fixed')
14
+ OPEN = new('open')
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PaymentLinkPaymentDetailsAmountType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PaymentLinkPaymentDetailsAmountType
11
+ end
@@ -14,28 +14,40 @@ module Moov
14
14
 
15
15
  # A list of payment methods that should be supported for this payment link.
16
16
  field :allowed_methods, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::CollectionPaymentMethodType)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedMethods') } }
17
+ # The minimum and maximum amounts the buyer can specify when `amountType` is `open`.
18
+ field :amount_range, Crystalline::Nilable.new(Models::Components::AmountDecimalRangeUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountRange') } }
19
+ # Optional preset amounts displayed to the buyer when `amountType` is `open`.
20
+ field :suggested_amounts, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AmountDecimal)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('suggestedAmounts') } }
17
21
  # Options for payment links used to collect a card payment.
18
22
  field :card_details, Crystalline::Nilable.new(Models::Components::CardPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
19
23
  # Options for payment links used to collect an ACH payment.
20
24
  field :ach_details, Crystalline::Nilable.new(Models::Components::ACHPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
21
25
  # Optional free-form metadata for the transfer.
22
26
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
27
+ # Indicates whether the payment amount is fixed by the merchant or open for the buyer to choose.
28
+ field :amount_type, Crystalline::Nilable.new(Models::Components::PaymentLinkPaymentDetailsUpdateAmountType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PaymentLinkPaymentDetailsUpdateAmountType, true) } }
23
29
 
24
- sig { params(allowed_methods: T.nilable(T::Array[Models::Components::CollectionPaymentMethodType]), card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
25
- def initialize(allowed_methods: nil, card_details: nil, ach_details: nil, metadata: nil)
30
+ sig { params(allowed_methods: T.nilable(T::Array[Models::Components::CollectionPaymentMethodType]), amount_range: T.nilable(Models::Components::AmountDecimalRangeUpdate), suggested_amounts: T.nilable(T::Array[Models::Components::AmountDecimal]), card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails), metadata: T.nilable(T::Hash[Symbol, ::String]), amount_type: T.nilable(Models::Components::PaymentLinkPaymentDetailsUpdateAmountType)).void }
31
+ def initialize(allowed_methods: nil, amount_range: nil, suggested_amounts: nil, card_details: nil, ach_details: nil, metadata: nil, amount_type: Models::Components::PaymentLinkPaymentDetailsUpdateAmountType::FIXED)
26
32
  @allowed_methods = allowed_methods
33
+ @amount_range = amount_range
34
+ @suggested_amounts = suggested_amounts
27
35
  @card_details = card_details
28
36
  @ach_details = ach_details
29
37
  @metadata = metadata
38
+ @amount_type = amount_type
30
39
  end
31
40
 
32
41
  sig { params(other: T.untyped).returns(T::Boolean) }
33
42
  def ==(other)
34
43
  return false unless other.is_a? self.class
35
44
  return false unless @allowed_methods == other.allowed_methods
45
+ return false unless @amount_range == other.amount_range
46
+ return false unless @suggested_amounts == other.suggested_amounts
36
47
  return false unless @card_details == other.card_details
37
48
  return false unless @ach_details == other.ach_details
38
49
  return false unless @metadata == other.metadata
50
+ return false unless @amount_type == other.amount_type
39
51
  true
40
52
  end
41
53
  end
@@ -10,10 +10,16 @@ end
10
10
  class Moov::Models::Components::PaymentLinkPaymentDetailsUpdate
11
11
  def allowed_methods(); end
12
12
  def allowed_methods=(str_); end
13
+ def amount_range(); end
14
+ def amount_range=(str_); end
15
+ def suggested_amounts(); end
16
+ def suggested_amounts=(str_); end
13
17
  def card_details(); end
14
18
  def card_details=(str_); end
15
19
  def ach_details(); end
16
20
  def ach_details=(str_); end
17
21
  def metadata(); end
18
22
  def metadata=(str_); end
23
+ def amount_type(); end
24
+ def amount_type=(str_); end
19
25
  end