moov_ruby 26.4.13 → 26.4.14

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 (274) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/module.rb +1 -1
  3. data/lib/moov/card_issuing.rb +1 -1
  4. data/lib/moov/images.rb +1 -1
  5. data/lib/moov/institutions.rb +1 -1
  6. data/lib/moov/models/components/account.rb +2 -2
  7. data/lib/moov/models/components/accountnameverification.rb +4 -4
  8. data/lib/moov/models/components/accounttype.rb +3 -1
  9. data/lib/moov/models/components/accountverificationstatus.rb +3 -1
  10. data/lib/moov/models/components/achreturncode.rb +3 -1
  11. data/lib/moov/models/components/achtransactiondetails.rb +3 -3
  12. data/lib/moov/models/components/achtransactionstatus.rb +3 -1
  13. data/lib/moov/models/components/adjustmentfees.rb +11 -15
  14. data/lib/moov/models/components/adjustmentfees.rbi +4 -4
  15. data/lib/moov/models/components/applepayresponse.rb +2 -2
  16. data/lib/moov/models/components/applicationscope.rb +4 -2
  17. data/lib/moov/models/components/authmethod.rb +3 -1
  18. data/lib/moov/models/components/bankaccount.rb +4 -4
  19. data/lib/moov/models/components/bankaccountexception.rb +2 -2
  20. data/lib/moov/models/components/bankaccountholdertype.rb +3 -1
  21. data/lib/moov/models/components/bankaccountintegration.rb +2 -2
  22. data/lib/moov/models/components/bankaccountstatus.rb +3 -1
  23. data/lib/moov/models/components/bankaccountstatusreason.rb +3 -1
  24. data/lib/moov/models/components/bankaccounttype.rb +3 -1
  25. data/lib/moov/models/components/bankaccountverification.rb +2 -2
  26. data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
  27. data/lib/moov/models/components/bankaccountverificationmethod.rb +3 -1
  28. data/lib/moov/models/components/bankaccountverificationstatus.rb +3 -1
  29. data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
  30. data/lib/moov/models/components/billablefee.rb +2 -2
  31. data/lib/moov/models/components/billingadjustment.rb +40 -0
  32. data/lib/moov/models/components/billingadjustment.rbi +17 -0
  33. data/lib/moov/models/components/billingsummary.rb +8 -4
  34. data/lib/moov/models/components/billingsummary.rbi +2 -0
  35. data/lib/moov/models/components/billingsummary_adjustmentfees.rb +40 -0
  36. data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +15 -0
  37. data/lib/moov/models/components/businesspresence.rb +3 -1
  38. data/lib/moov/models/components/businessprofile.rb +2 -2
  39. data/lib/moov/models/components/businesstype.rb +3 -1
  40. data/lib/moov/models/components/calltoaction.rb +3 -1
  41. data/lib/moov/models/components/cancellation.rb +2 -2
  42. data/lib/moov/models/components/cancellationstatus.rb +3 -1
  43. data/lib/moov/models/components/capability.rb +2 -2
  44. data/lib/moov/models/components/capabilityid.rb +3 -1
  45. data/lib/moov/models/components/capabilitystatus.rb +3 -1
  46. data/lib/moov/models/components/card.rb +4 -4
  47. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  48. data/lib/moov/models/components/cardacquiringmodel.rb +3 -1
  49. data/lib/moov/models/components/cardacquiringrefund.rb +1 -1
  50. data/lib/moov/models/components/cardbrand.rb +3 -1
  51. data/lib/moov/models/components/cardissuingnetwork.rb +3 -1
  52. data/lib/moov/models/components/cardtransactiondetails.rb +3 -3
  53. data/lib/moov/models/components/cardtransactionfailurecode.rb +3 -1
  54. data/lib/moov/models/components/cardtransactionstatus.rb +3 -1
  55. data/lib/moov/models/components/cardtype.rb +3 -1
  56. data/lib/moov/models/components/cardupdatereason.rb +3 -1
  57. data/lib/moov/models/components/cardverification.rb +3 -3
  58. data/lib/moov/models/components/cardverificationresult.rb +3 -1
  59. data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
  60. data/lib/moov/models/components/collectionpaymentmethodtype.rb +3 -1
  61. data/lib/moov/models/components/createaccount.rb +2 -2
  62. data/lib/moov/models/components/createaccounttype.rb +3 -1
  63. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  64. data/lib/moov/models/components/createdtransfer.rb +6 -3
  65. data/lib/moov/models/components/createevidencetext.rb +1 -1
  66. data/lib/moov/models/components/createfeeplanagreement.rb +13 -3
  67. data/lib/moov/models/components/createfeeplanagreement.rbi +2 -0
  68. data/lib/moov/models/components/createpaymentlink.rb +1 -1
  69. data/lib/moov/models/components/createrefund.rb +1 -1
  70. data/lib/moov/models/components/createreversal.rb +4 -1
  71. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  72. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  73. data/lib/moov/models/components/createtippresets.rb +1 -1
  74. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  75. data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
  76. data/lib/moov/models/components/createwebhook.rb +1 -1
  77. data/lib/moov/models/components/debitholdperiod.rb +3 -1
  78. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +3 -1
  79. data/lib/moov/models/components/dispute.rb +2 -2
  80. data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
  81. data/lib/moov/models/components/disputephase.rb +3 -1
  82. data/lib/moov/models/components/disputestatus.rb +3 -1
  83. data/lib/moov/models/components/document.rb +1 -1
  84. data/lib/moov/models/components/documenttype.rb +3 -1
  85. data/lib/moov/models/components/domesticpullfromcard.rb +3 -1
  86. data/lib/moov/models/components/domesticpushtocard.rb +3 -1
  87. data/lib/moov/models/components/estimatedactivity.rb +1 -1
  88. data/lib/moov/models/components/evidencetextresponse.rb +1 -1
  89. data/lib/moov/models/components/evidencetype.rb +3 -1
  90. data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
  91. data/lib/moov/models/components/facilitatorfee.rb +2 -2
  92. data/lib/moov/models/components/feecategory.rb +3 -1
  93. data/lib/moov/models/components/feemodel.rb +3 -1
  94. data/lib/moov/models/components/feeplan.rb +1 -1
  95. data/lib/moov/models/components/feeplanagreement.rb +12 -4
  96. data/lib/moov/models/components/feeplanagreement.rbi +4 -0
  97. data/lib/moov/models/components/feeplanagreementstatus.rb +3 -1
  98. data/lib/moov/models/components/filedetails.rb +2 -2
  99. data/lib/moov/models/components/filepurpose.rb +3 -1
  100. data/lib/moov/models/components/filestatus.rb +3 -1
  101. data/lib/moov/models/components/fulfillment.rb +2 -2
  102. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  103. data/lib/moov/models/components/fulfillmentmethod.rb +3 -1
  104. data/lib/moov/models/components/fulfillmenttimeframe.rb +3 -1
  105. data/lib/moov/models/components/fullissuedcard.rb +4 -3
  106. data/lib/moov/models/components/geographicreach.rb +3 -1
  107. data/lib/moov/models/components/googlepayresponse.rb +3 -3
  108. data/lib/moov/models/components/instantbankfailurecode.rb +3 -1
  109. data/lib/moov/models/components/instantbanknetwork.rb +3 -1
  110. data/lib/moov/models/components/instantbanktransactiondetails.rb +3 -3
  111. data/lib/moov/models/components/instantbanktransactionstatus.rb +3 -1
  112. data/lib/moov/models/components/invoice.rb +1 -1
  113. data/lib/moov/models/components/invoicepayment.rb +1 -1
  114. data/lib/moov/models/components/invoicepaymenttype.rb +3 -1
  115. data/lib/moov/models/components/invoicestatus.rb +3 -1
  116. data/lib/moov/models/components/issuedcard.rb +4 -3
  117. data/lib/moov/models/components/issuedcardauthorization.rb +2 -2
  118. data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
  119. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +3 -1
  120. data/lib/moov/models/components/issuedcardeventtype.rb +3 -1
  121. data/lib/moov/models/components/issuedcardstate.rb +5 -1
  122. data/lib/moov/models/components/issuingauthorizationstatus.rb +3 -1
  123. data/lib/moov/models/components/issuingcontrols.rb +1 -1
  124. data/lib/moov/models/components/jsonwebkey.rb +1 -1
  125. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  126. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +1 -1
  127. data/lib/moov/models/components/mode.rb +3 -1
  128. data/lib/moov/models/components/monthlyvolumerange.rb +3 -1
  129. data/lib/moov/models/components/moovfee.rb +1 -1
  130. data/lib/moov/models/components/occurrencesresponse.rb +2 -2
  131. data/lib/moov/models/components/occurrencestatus.rb +3 -1
  132. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  133. data/lib/moov/models/components/partnerpricingagreement.rb +15 -7
  134. data/lib/moov/models/components/partnerpricingagreement.rbi +4 -0
  135. data/lib/moov/models/components/patchbusiness.rb +2 -2
  136. data/lib/moov/models/components/patchwallet.rb +1 -1
  137. data/lib/moov/models/components/paymentlink.rb +4 -4
  138. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
  139. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
  140. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +2 -5
  141. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +2 -5
  142. data/lib/moov/models/components/paymentlinkstatus.rb +3 -1
  143. data/lib/moov/models/components/paymentlinktype.rb +3 -1
  144. data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
  145. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  146. data/lib/moov/models/components/paymentmethodswallet.rb +1 -1
  147. data/lib/moov/models/components/paymentmethodtype.rb +3 -1
  148. data/lib/moov/models/components/pendinglitigation.rb +3 -1
  149. data/lib/moov/models/components/primaryregulator.rb +3 -1
  150. data/lib/moov/models/components/pushdeliveryspeed.rb +3 -1
  151. data/lib/moov/models/components/pushoptions.rb +5 -4
  152. data/lib/moov/models/components/pushoptionsupdate.rb +5 -4
  153. data/lib/moov/models/components/puttippresets.rb +1 -1
  154. data/lib/moov/models/components/refundcarddetails.rb +2 -2
  155. data/lib/moov/models/components/refundcardstatus.rb +3 -1
  156. data/lib/moov/models/components/refundpolicy.rb +3 -1
  157. data/lib/moov/models/components/refundstatus.rb +3 -1
  158. data/lib/moov/models/components/requestcard.rb +1 -1
  159. data/lib/moov/models/components/requirementerror.rb +2 -2
  160. data/lib/moov/models/components/requirementerrorcode.rb +3 -1
  161. data/lib/moov/models/components/requirementid.rb +10 -1
  162. data/lib/moov/models/components/resolutionlink.rb +1 -1
  163. data/lib/moov/models/components/resolutionlinkstatus.rb +3 -1
  164. data/lib/moov/models/components/returnpolicytype.rb +3 -1
  165. data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
  166. data/lib/moov/models/components/rtpfailurecode.rb +3 -1
  167. data/lib/moov/models/components/rtprejectioncode.rb +3 -1
  168. data/lib/moov/models/components/rtptransactiondetails.rb +2 -2
  169. data/lib/moov/models/components/rtptransactionstatus.rb +3 -1
  170. data/lib/moov/models/components/schedulelistresponse.rb +1 -1
  171. data/lib/moov/models/components/scheduleresponse.rb +1 -1
  172. data/lib/moov/models/components/seccode.rb +3 -1
  173. data/lib/moov/models/components/statement.rb +6 -2
  174. data/lib/moov/models/components/statement.rbi +2 -0
  175. data/lib/moov/models/components/sweep.rb +1 -1
  176. data/lib/moov/models/components/sweepconfig.rb +3 -3
  177. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  178. data/lib/moov/models/components/sweepconfigstatus.rb +3 -1
  179. data/lib/moov/models/components/sweepstatus.rb +3 -1
  180. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  181. data/lib/moov/models/components/terminalapplication.rb +2 -2
  182. data/lib/moov/models/components/terminalapplicationplatform.rb +3 -1
  183. data/lib/moov/models/components/terminalapplicationstatus.rb +3 -1
  184. data/lib/moov/models/components/terminalcard.rb +2 -2
  185. data/lib/moov/models/components/ticket.rb +1 -1
  186. data/lib/moov/models/components/ticketstatus.rb +3 -1
  187. data/lib/moov/models/components/tipcalculationbasis.rb +3 -1
  188. data/lib/moov/models/components/tippresets.rb +1 -1
  189. data/lib/moov/models/components/transactionsource.rb +3 -1
  190. data/lib/moov/models/components/transfer.rb +6 -3
  191. data/lib/moov/models/components/transferdestination.rb +1 -1
  192. data/lib/moov/models/components/transferfailurereason.rb +3 -1
  193. data/lib/moov/models/components/transferparty.rb +3 -1
  194. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
  195. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  196. data/lib/moov/models/components/transferpaymentmethodswallet.rb +1 -1
  197. data/lib/moov/models/components/transferpaymentmethodtype.rb +3 -1
  198. data/lib/moov/models/components/transfersource.rb +1 -1
  199. data/lib/moov/models/components/transferstatus.rb +3 -1
  200. data/lib/moov/models/components/transferterminalcard.rb +2 -2
  201. data/lib/moov/models/components/underwriting.rb +4 -4
  202. data/lib/moov/models/components/underwritingstatus.rb +3 -1
  203. data/lib/moov/models/components/updateevidence.rb +1 -1
  204. data/lib/moov/models/components/updateinvoice.rb +1 -1
  205. data/lib/moov/models/components/updateissuedcard.rb +2 -0
  206. data/lib/moov/models/components/updateissuedcardstate.rb +4 -0
  207. data/lib/moov/models/components/updatepaymentlink.rb +1 -1
  208. data/lib/moov/models/components/updatewebhook.rb +1 -1
  209. data/lib/moov/models/components/upsertunderwriting.rb +3 -3
  210. data/lib/moov/models/components/use.rb +3 -1
  211. data/lib/moov/models/components/verification.rb +3 -3
  212. data/lib/moov/models/components/verificationstatus.rb +3 -1
  213. data/lib/moov/models/components/verificationstatusdetail.rb +3 -1
  214. data/lib/moov/models/components/wallet.rb +2 -2
  215. data/lib/moov/models/components/walletstatus.rb +3 -1
  216. data/lib/moov/models/components/wallettransaction.rb +3 -3
  217. data/lib/moov/models/components/wallettransactionsourcetype.rb +3 -1
  218. data/lib/moov/models/components/wallettransactionstatus.rb +3 -1
  219. data/lib/moov/models/components/wallettransactiontype.rb +3 -1
  220. data/lib/moov/models/components/wallettype.rb +3 -1
  221. data/lib/moov/models/components/webhook.rb +1 -1
  222. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
  223. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
  224. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  225. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  226. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  227. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
  228. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
  229. data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
  230. data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
  231. data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
  232. data/lib/moov/models/components/webhookdatainvoiceupdated.rb +1 -1
  233. data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
  234. data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
  235. data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
  236. data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
  237. data/lib/moov/models/components/webhookdataticketupdated.rb +1 -1
  238. data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
  239. data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
  240. data/lib/moov/models/components/webhookevent.rb +1 -1
  241. data/lib/moov/models/components/webhookeventtype.rb +3 -1
  242. data/lib/moov/models/components/webhookstatus.rb +3 -1
  243. data/lib/moov/models/components.rb +3 -1
  244. data/lib/moov/models/errors/cardacquiringrefund_error.rb +1 -1
  245. data/lib/moov/models/errors/transfer_error.rb +6 -3
  246. data/lib/moov/models/operations/listaccounts_request.rb +1 -1
  247. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
  248. data/lib/moov/models/operations/listdisputes_request.rb +1 -1
  249. data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
  250. data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
  251. data/lib/moov/models/operations/listinvoices_request.rb +1 -1
  252. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
  253. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
  254. data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
  255. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +7 -3
  256. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +2 -0
  257. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
  258. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  259. data/lib/moov/models/operations/listproducts_request.rb +1 -1
  260. data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
  261. data/lib/moov/models/operations/listresiduals_request.rb +1 -1
  262. data/lib/moov/models/operations/listschedules_request.rb +1 -1
  263. data/lib/moov/models/operations/liststatements_request.rb +1 -1
  264. data/lib/moov/models/operations/listsweeps_request.rb +1 -1
  265. data/lib/moov/models/operations/listtickets_request.rb +1 -1
  266. data/lib/moov/models/operations/listtransfers_request.rb +2 -2
  267. data/lib/moov/models/operations/listwallets_request.rb +1 -1
  268. data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
  269. data/lib/moov/models/operations/retrievefees_request.rb +1 -1
  270. data/lib/moov/sdkconfiguration.rb +3 -3
  271. data/lib/moov/transfers.rb +11 -5
  272. data/lib/moov/utils/retries.rb +41 -2
  273. data/lib/moov/utils/utils.rb +6 -2
  274. metadata +6 -2
@@ -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.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.open_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.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.open_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)
@@ -7,7 +7,7 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
-
10
+ # Options for payout links used to send a payout.
11
11
  class PaymentLinkPayoutDetails
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
@@ -21,10 +21,7 @@ module Moov
21
21
  field :recipient, Models::Components::PayoutRecipient, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recipient'), required: true } }
22
22
  # Optional free-form metadata for the transfer.
23
23
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
24
- # Delivery options for push-to-card payouts. Only applies when `allowedMethods` includes `push-to-card`.
25
- #
26
- # The `deferred` speed and `deferredBy` apply to `push-to-card` only. Other push methods
27
- # (`push-to-apple-pay`, `push-to-google-pay`) are always delivered instantly regardless of these options.
24
+ # Delivery options for `push-to-card` and `push-to-apple-pay` payouts.
28
25
  field :push_options, Crystalline::Nilable.new(Models::Components::PushOptions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
29
26
 
30
27
  sig { params(allowed_methods: T::Array[Models::Components::DisbursementPaymentMethodType], recipient: Models::Components::PayoutRecipient, metadata: T.nilable(T::Hash[Symbol, ::String]), push_options: T.nilable(Models::Components::PushOptions)).void }
@@ -7,7 +7,7 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
-
10
+ # Options for payout links used to send a payout.
11
11
  class PaymentLinkPayoutDetailsUpdate
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
@@ -21,10 +21,7 @@ module Moov
21
21
  field :recipient, Crystalline::Nilable.new(Models::Components::PayoutRecipient), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recipient') } }
22
22
  # Optional free-form metadata for the transfer.
23
23
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
24
- # Delivery options for push-to-card payouts. Only applies when `allowedMethods` includes `push-to-card`.
25
- #
26
- # The `deferred` speed and `deferredBy` apply to `push-to-card` only. Other push methods
27
- # (`push-to-apple-pay`, `push-to-google-pay`) are always delivered instantly regardless of these options.
24
+ # Delivery options for `push-to-card` and `push-to-apple-pay` payouts.
28
25
  field :push_options, Crystalline::Nilable.new(Models::Components::PushOptionsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
29
26
 
30
27
  sig { params(allowed_methods: T.nilable(T::Array[Models::Components::DisbursementPaymentMethodType]), recipient: T.nilable(Models::Components::PayoutRecipient), metadata: T.nilable(T::Hash[Symbol, ::String]), push_options: T.nilable(Models::Components::PushOptionsUpdate)).void }
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class PaymentLinkStatus < T::Enum
11
+ class PaymentLinkStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  ACTIVE = new('active')
14
15
  USED = new('used')
15
16
  DISABLED = new('disabled')
16
17
  EXPIRED = new('expired')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class PaymentLinkType < T::Enum
11
+ class PaymentLinkType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  PAYMENT = new('payment')
14
15
  PAYOUT = new('payout')
15
16
  INVOICE_PAYMENT = new('invoice-payment')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -19,15 +19,15 @@ module Moov
19
19
  # The fingerprint acts as a way to identify whether two linked bank accounts are the same.
20
20
  field :fingerprint, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fingerprint'), required: true } }
21
21
 
22
- field :status, Models::Components::BankAccountStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountStatus, false) } }
22
+ field :status, Models::Components::BankAccountStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountStatus, false) } }
23
23
 
24
24
  field :holder_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderName'), required: true } }
25
25
  # The type of holder on a funding source.
26
- field :holder_type, Models::Components::BankAccountHolderType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountHolderType, false) } }
26
+ field :holder_type, Models::Components::BankAccountHolderType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountHolderType, false) } }
27
27
 
28
28
  field :bank_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankName'), required: true } }
29
29
  # The bank account type.
30
- field :bank_account_type, Models::Components::BankAccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankAccountType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountType, false) } }
30
+ field :bank_account_type, Models::Components::BankAccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankAccountType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountType, false) } }
31
31
 
32
32
  field :routing_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('routingNumber'), required: true } }
33
33
 
@@ -19,9 +19,9 @@ module Moov
19
19
  # This field can be used to identify specific payment methods across multiple accounts on your platform.
20
20
  field :fingerprint, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fingerprint'), required: true } }
21
21
  # The card brand.
22
- field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardBrand, false) } }
22
+ field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardBrand, false) } }
23
23
  # The type of the card.
24
- field :card_type, Models::Components::CardType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardType, false) } }
24
+ field :card_type, Models::Components::CardType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardType, false) } }
25
25
  # Last four digits of the card number
26
26
  field :last_four_card_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber'), required: true } }
27
27
  # The first six to eight digits of the card number, which identifies the financial institution that issued the card.
@@ -46,9 +46,9 @@ module Moov
46
46
  # The results of the most recent card update request.
47
47
  field :card_account_updater, Crystalline::Nilable.new(Models::Components::CardAccountUpdater), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAccountUpdater') } }
48
48
  # Indicates which level of domestic push-to-card transfer is supported by the card, if any.
49
- field :domestic_push_to_card, Crystalline::Nilable.new(Models::Components::DomesticPushToCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPushToCard'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DomesticPushToCard, true) } }
49
+ field :domestic_push_to_card, Crystalline::Nilable.new(Models::Components::DomesticPushToCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPushToCard'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DomesticPushToCard, true) } }
50
50
  # Indicates if the card supports domestic pull-from-card transfer.
51
- field :domestic_pull_from_card, Crystalline::Nilable.new(Models::Components::DomesticPullFromCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPullFromCard'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DomesticPullFromCard, true) } }
51
+ field :domestic_pull_from_card, Crystalline::Nilable.new(Models::Components::DomesticPullFromCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPullFromCard'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DomesticPullFromCard, true) } }
52
52
 
53
53
  sig { params(card_id: ::String, fingerprint: ::String, brand: Models::Components::CardBrand, card_type: Models::Components::CardType, last_four_card_number: ::String, bin: ::String, expiration: Models::Components::CardExpiration, billing_address: Models::Components::CardAddress, card_verification: Models::Components::CardVerification, holder_name: T.nilable(::String), issuer: T.nilable(::String), issuer_country: T.nilable(::String), card_on_file: T.nilable(T::Boolean), merchant_account_id: T.nilable(::String), card_account_updater: T.nilable(Models::Components::CardAccountUpdater), domestic_push_to_card: T.nilable(Models::Components::DomesticPushToCard), domestic_pull_from_card: T.nilable(Models::Components::DomesticPullFromCard)).void }
54
54
  def initialize(card_id:, fingerprint:, brand:, card_type:, last_four_card_number:, bin:, expiration:, billing_address:, card_verification:, holder_name: nil, issuer: nil, issuer_country: nil, card_on_file: nil, merchant_account_id: nil, card_account_updater: nil, domestic_push_to_card: nil, domestic_pull_from_card: nil)
@@ -20,7 +20,7 @@ module Moov
20
20
  # - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
21
21
  # - `general`: An additional, user-defined wallet created via API or Dashboard.
22
22
  # - `card-issuing`: The system-generated wallet automatically created when an account is granted the card-issuing capability.
23
- field :wallet_type, Models::Components::WalletType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletType, false) } }
23
+ field :wallet_type, Models::Components::WalletType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletType, false) } }
24
24
 
25
25
  sig { params(wallet_id: ::String, partner_account_id: ::String, wallet_type: Models::Components::WalletType).void }
26
26
  def initialize(wallet_id:, partner_account_id:, wallet_type:)
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # PaymentMethodType - The payment method type that represents a payment rail and directionality
11
- class PaymentMethodType < T::Enum
11
+ class PaymentMethodType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  MOOV_WALLET = new('moov-wallet')
14
15
  ACH_DEBIT_FUND = new('ach-debit-fund')
@@ -28,6 +29,7 @@ module Moov
28
29
  PUSH_TO_GOOGLE_PAY = new('push-to-google-pay')
29
30
  PULL_FROM_GOOGLE_PAY = new('pull-from-google-pay')
30
31
  end
32
+ open!
31
33
  end
32
34
  end
33
35
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class PendingLitigation < T::Enum
11
+ class PendingLitigation
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  BANKRUPTCY_OR_INSOLVENCY = new('bankruptcy-or-insolvency')
14
15
  CONSUMER_PROTECTION_OR_CLASS_ACTION = new('consumer-protection-or-class-action')
@@ -21,6 +22,7 @@ module Moov
21
22
  OTHER = new('other')
22
23
  PERSONAL_INJURY_OR_MEDICAL = new('personal-injury-or-medical')
23
24
  end
25
+ open!
24
26
  end
25
27
  end
26
28
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # PrimaryRegulator - If the business is a financial institution, this field describes its primary regulator.
11
- class PrimaryRegulator < T::Enum
11
+ class PrimaryRegulator
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  OCC = new('OCC')
14
15
  FDIC = new('FDIC')
@@ -16,6 +17,7 @@ module Moov
16
17
  FRB = new('FRB')
17
18
  STATE_CU_REGULATOR = new('state-cu-regulator')
18
19
  end
20
+ open!
19
21
  end
20
22
  end
21
23
  end
@@ -8,11 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # PushDeliverySpeed - Delivery speed options for push-to-card payouts.
11
- class PushDeliverySpeed < T::Enum
11
+ class PushDeliverySpeed
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  INSTANT = new('instant')
14
15
  DEFERRED = new('deferred')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -7,15 +7,16 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # Delivery options for push-to-card payouts.
10
+
11
11
  class PushOptions
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # Delivery speeds the recipient may choose from for `push-to-card`. Include `instant` to allow immediate
16
- # delivery, `deferred` to allow delayed delivery, or both to let the recipient choose at checkout.
15
+ # Delivery speeds the recipient may choose from for `push-to-card` and `push-to-apple-pay`.
16
+ # Include `instant` to allow immediate delivery, `deferred` to allow delayed delivery, or both
17
+ # to let the recipient choose at checkout.
17
18
  field :allowed_speeds, Crystalline::Array.new(Models::Components::PushDeliverySpeed), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedSpeeds'), required: true } }
18
- # Delay before delivering a deferred `push-to-card` payout. Required when `allowedSpeeds` includes `deferred`.
19
+ # Delay before delivering a deferred payout. Required when `allowedSpeeds` includes `deferred`.
19
20
  # Accepted values are `24h` or `48h`.
20
21
  field :deferred_by, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('deferredBy') } }
21
22
 
@@ -7,15 +7,16 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # Delivery options for push-to-card payouts.
10
+
11
11
  class PushOptionsUpdate
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # Delivery speeds the recipient may choose from for `push-to-card`. Include `instant` to allow immediate
16
- # delivery, `deferred` to allow delayed delivery, or both to let the recipient choose at checkout.
15
+ # Delivery speeds the recipient may choose from for `push-to-card` and `push-to-apple-pay`.
16
+ # Include `instant` to allow immediate delivery, `deferred` to allow delayed delivery, or both
17
+ # to let the recipient choose at checkout.
17
18
  field :allowed_speeds, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::PushDeliverySpeed)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedSpeeds') } }
18
- # Delay before delivering a deferred `push-to-card` payout. Required when `allowedSpeeds` includes `deferred`.
19
+ # Delay before delivering a deferred payout. Required when `allowedSpeeds` includes `deferred`.
19
20
  # Accepted values are `24h` or `48h`.
20
21
  field :deferred_by, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('deferredBy') } }
21
22
 
@@ -15,7 +15,7 @@ module Moov
15
15
  # Defines which amount should be used when calculating the final payment total. This calculation applies for percentage tip values.
16
16
  # - `pre-tax`: Tip amounts are calculated using the subtotal amount before taxes
17
17
  # - `post-tax`: Tip amounts are calculated using the subtotal amount + taxes
18
- field :calculation_basis, Crystalline::Nilable.new(Models::Components::TipCalculationBasis), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('calculationBasis'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TipCalculationBasis, true) } }
18
+ field :calculation_basis, Crystalline::Nilable.new(Models::Components::TipCalculationBasis), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('calculationBasis'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TipCalculationBasis, true) } }
19
19
  # Defines the set of suggested tip preset values presented to customers. Percentages must be between 0 and 100 (exclusive) and must be unique. A maximum of 3 values are allowed.
20
20
  field :percentage_options, Crystalline::Nilable.new(Crystalline::Array.new(::Integer)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('percentageOptions') } }
21
21
  # Defines the set of suggested tip preset values presented to customers. Fixed amounts must be positive and unique. A maximum of 3 values are allowed.
@@ -13,9 +13,9 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
 
16
- field :status, Models::Components::RefundCardStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::RefundCardStatus, false) } }
16
+ field :status, Models::Components::RefundCardStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RefundCardStatus, false) } }
17
17
 
18
- 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) } }
18
+ 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) } }
19
19
 
20
20
  field :initiated_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('initiatedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
21
21
 
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class RefundCardStatus < T::Enum
11
+ class RefundCardStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  INITIATED = new('initiated')
14
15
  CONFIRMED = new('confirmed')
@@ -16,6 +17,7 @@ module Moov
16
17
  FAILED = new('failed')
17
18
  COMPLETED = new('completed')
18
19
  end
20
+ open!
19
21
  end
20
22
  end
21
23
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class RefundPolicy < T::Enum
11
+ class RefundPolicy
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  CONDITIONAL_REFUND = new('conditional-refund')
14
15
  CUSTOM_POLICY = new('custom-policy')
@@ -20,6 +21,7 @@ module Moov
20
21
  PRORATED_REFUND = new('prorated-refund')
21
22
  STORE_CREDIT_ONLY = new('store-credit-only')
22
23
  end
24
+ open!
23
25
  end
24
26
  end
25
27
  end
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class RefundStatus < T::Enum
11
+ class RefundStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  CREATED = new('created')
14
15
  PENDING = new('pending')
15
16
  COMPLETED = new('completed')
16
17
  FAILED = new('failed')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -22,7 +22,7 @@ module Moov
22
22
  field :billing_address, Crystalline::Nilable.new(Models::Components::Address), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress') } }
23
23
  # The expiration date of the card or token.
24
24
  field :expiration, Crystalline::Nilable.new(Models::Components::CardExpiration), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration') } }
25
-
25
+ # Mutable spend controls for the card.
26
26
  field :controls, Crystalline::Nilable.new(Models::Components::IssuingControls), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('controls') } }
27
27
 
28
28
  sig { params(authorized_user_account_id: T.nilable(::String), nickname: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), billing_address: T.nilable(Models::Components::Address), expiration: T.nilable(Models::Components::CardExpiration), controls: T.nilable(Models::Components::IssuingControls)).void }
@@ -13,9 +13,9 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # The unique ID of what the requirement is asking to be filled out.
16
- field :requirement, Models::Components::RequirementID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('requirement'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::RequirementID, false) } }
16
+ field :requirement, Models::Components::RequirementID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('requirement'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RequirementID, false) } }
17
17
 
18
- field :error_code, Crystalline::Nilable.new(Models::Components::RequirementErrorCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('errorCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::RequirementErrorCode, true) } }
18
+ field :error_code, Crystalline::Nilable.new(Models::Components::RequirementErrorCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('errorCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RequirementErrorCode, true) } }
19
19
 
20
20
  sig { params(requirement: Models::Components::RequirementID, error_code: T.nilable(Models::Components::RequirementErrorCode)).void }
21
21
  def initialize(requirement:, error_code: nil)
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class RequirementErrorCode < T::Enum
11
+ class RequirementErrorCode
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  INVALID_VALUE = new('invalid-value')
14
15
  FAILED_AUTOMATIC_VERIFICATION = new('failed-automatic-verification')
@@ -29,6 +30,7 @@ module Moov
29
30
  DOCUMENT_CORRUPT = new('document-corrupt')
30
31
  DOCUMENT_EXPIRED = new('document-expired')
31
32
  end
33
+ open!
32
34
  end
33
35
  end
34
36
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # RequirementID - The unique ID of what the requirement is asking to be filled out.
11
- class RequirementID < T::Enum
11
+ class RequirementID
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  ACCOUNT_TOS_ACCEPTANCE = new('account.tos-acceptance')
14
15
  INDIVIDUAL_MOBILE = new('individual.mobile')
@@ -105,6 +106,13 @@ module Moov
105
106
  UNDERWRITING_SEND_FUNDS_PUSH_TO_CARD_ESTIMATED_ACTIVITY_MONTHLY_VOLUME_RANGE = new('underwriting.sendFunds.pushToCard.estimatedActivity.monthlyVolumeRange')
106
107
  UNDERWRITING_SEND_FUNDS_PUSH_TO_CARD_FULFILLMENT = new('underwriting.sendFunds.pushToCard.fulfillment')
107
108
  UNDERWRITING_SEND_FUNDS_PUSH_TO_CARD_REFUND_POLICY = new('underwriting.sendFunds.pushToCard.refundPolicy')
109
+ UNDERWRITING_SEND_FUNDS_INSTANT_BANK_CARD_ACCEPTANCE_METHODS = new('underwriting.sendFunds.instantBank.cardAcceptanceMethods')
110
+ UNDERWRITING_SEND_FUNDS_INSTANT_BANK_CURRENTLY_ACCEPTS_CARDS = new('underwriting.sendFunds.instantBank.currentlyAcceptsCards')
111
+ UNDERWRITING_SEND_FUNDS_INSTANT_BANK_ESTIMATED_ACTIVITY_AVERAGE_TRANSACTION_AMOUNT = new('underwriting.sendFunds.instantBank.estimatedActivity.averageTransactionAmount')
112
+ UNDERWRITING_SEND_FUNDS_INSTANT_BANK_ESTIMATED_ACTIVITY_MAXIMUM_TRANSACTION_AMOUNT = new('underwriting.sendFunds.instantBank.estimatedActivity.maximumTransactionAmount')
113
+ UNDERWRITING_SEND_FUNDS_INSTANT_BANK_ESTIMATED_ACTIVITY_MONTHLY_VOLUME_RANGE = new('underwriting.sendFunds.instantBank.estimatedActivity.monthlyVolumeRange')
114
+ UNDERWRITING_SEND_FUNDS_INSTANT_BANK_FULFILLMENT = new('underwriting.sendFunds.instantBank.fulfillment')
115
+ UNDERWRITING_SEND_FUNDS_INSTANT_BANK_REFUND_POLICY = new('underwriting.sendFunds.instantBank.refundPolicy')
108
116
  UNDERWRITING_MONEY_TRANSFER_PULL_FROM_CARD_CARD_ACCEPTANCE_METHODS = new('underwriting.moneyTransfer.pullFromCard.cardAcceptanceMethods')
109
117
  UNDERWRITING_MONEY_TRANSFER_PULL_FROM_CARD_CURRENTLY_ACCEPTS_CARDS = new('underwriting.moneyTransfer.pullFromCard.currentlyAcceptsCards')
110
118
  UNDERWRITING_MONEY_TRANSFER_PULL_FROM_CARD_ESTIMATED_ACTIVITY_AVERAGE_TRANSACTION_AMOUNT = new('underwriting.moneyTransfer.pullFromCard.estimatedActivity.averageTransactionAmount')
@@ -120,6 +128,7 @@ module Moov
120
128
  UNDERWRITING_MONEY_TRANSFER_PUSH_TO_CARD_FULFILLMENT = new('underwriting.moneyTransfer.pushToCard.fulfillment')
121
129
  UNDERWRITING_MONEY_TRANSFER_PUSH_TO_CARD_REFUND_POLICY = new('underwriting.moneyTransfer.pushToCard.refundPolicy')
122
130
  end
131
+ open!
123
132
  end
124
133
  end
125
134
  end
@@ -23,7 +23,7 @@ module Moov
23
23
  # The URL of the resolution link.
24
24
  field :url, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('url'), required: true } }
25
25
  # The current status of the resolution link.
26
- field :status, Models::Components::ResolutionLinkStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::ResolutionLinkStatus, false) } }
26
+ field :status, Models::Components::ResolutionLinkStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::ResolutionLinkStatus, false) } }
27
27
  # The date and time the resolution link was created.
28
28
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
29
29
  # The date and time the resolution link was last updated.
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # ResolutionLinkStatus - The status of a resolution link.
11
- class ResolutionLinkStatus < T::Enum
11
+ class ResolutionLinkStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  ACTIVE = new('active')
14
15
  SUBMITTED = new('submitted')
@@ -16,6 +17,7 @@ module Moov
16
17
  DISABLED = new('disabled')
17
18
  EXPIRED = new('expired')
18
19
  end
20
+ open!
19
21
  end
20
22
  end
21
23
  end
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class ReturnPolicyType < T::Enum
11
+ class ReturnPolicyType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  NONE = new('none')
14
15
  EXCHANGE_ONLY = new('exchangeOnly')
15
16
  WITHIN_THIRTY_DAYS = new('withinThirtyDays')
16
17
  OTHER = new('other')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -12,7 +12,7 @@ module Moov
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
-
15
+ # Cancellation of a transfer.
16
16
  field :cancellation, Models::Components::Cancellation, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cancellation'), required: true } }
17
17
 
18
18
  sig { params(cancellation: Models::Components::Cancellation).void }
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # RTPFailureCode - Status codes for RTP failures.
11
- class RTPFailureCode < T::Enum
11
+ class RTPFailureCode
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  PROCESSING_ERROR = new('processing-error')
14
15
  INVALID_ACCOUNT = new('invalid-account')
@@ -21,6 +22,7 @@ module Moov
21
22
  CUSTOMER_DECEASED = new('customer-deceased')
22
23
  OTHER = new('other')
23
24
  end
25
+ open!
24
26
  end
25
27
  end
26
28
  end
@@ -16,7 +16,8 @@ module Moov
16
16
  # - AG01: Transactions Forbidden On Account
17
17
  # - AG03: Transaction Type Not Supported
18
18
  # - MD07: Customer Deceased
19
- class RTPRejectionCode < T::Enum
19
+ class RTPRejectionCode
20
+ include ::Crystalline::Enum
20
21
  enums do
21
22
  AC03 = new('AC03')
22
23
  AC04 = new('AC04')
@@ -26,6 +27,7 @@ module Moov
26
27
  AG03 = new('AG03')
27
28
  MD07 = new('MD07')
28
29
  end
30
+ open!
29
31
  end
30
32
  end
31
33
  end
@@ -15,11 +15,11 @@ module Moov
15
15
  include Crystalline::MetadataFields
16
16
 
17
17
  # Status of a transaction within the RTP lifecycle.
18
- field :status, Crystalline::Nilable.new(Models::Components::RTPTransactionStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::RTPTransactionStatus, true) } }
18
+ field :status, Crystalline::Nilable.new(Models::Components::RTPTransactionStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RTPTransactionStatus, true) } }
19
19
  # Response code returned by network on failure.
20
20
  field :network_response_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkResponseCode') } }
21
21
  # Status codes for RTP failures.
22
- field :failure_code, Crystalline::Nilable.new(Models::Components::RTPFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::RTPFailureCode, true) } }
22
+ field :failure_code, Crystalline::Nilable.new(Models::Components::RTPFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RTPFailureCode, true) } }
23
23
 
24
24
  field :initiated_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('initiatedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
25
25
 
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # RTPTransactionStatus - Status of a transaction within the RTP lifecycle.
11
- class RTPTransactionStatus < T::Enum
11
+ class RTPTransactionStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  INITIATED = new('initiated')
14
15
  COMPLETED = new('completed')
15
16
  FAILED = new('failed')
16
17
  ACCEPTED_WITHOUT_POSTING = new('accepted-without-posting')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -15,7 +15,7 @@ module Moov
15
15
 
16
16
  field :destination_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destinationAccountID'), required: true } }
17
17
  # The operating mode for an account.
18
- 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) } }
18
+ 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) } }
19
19
 
20
20
  field :owner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('ownerAccountID'), required: true } }
21
21
 
@@ -15,7 +15,7 @@ module Moov
15
15
 
16
16
  field :destination_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destinationAccountID'), required: true } }
17
17
  # The operating mode for an account.
18
- 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) } }
18
+ 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) } }
19
19
 
20
20
  field :owner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('ownerAccountID'), required: true } }
21
21
 
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # SECCode - Code used to identify the ACH authorization method.
11
- class SECCode < T::Enum
11
+ class SECCode
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  WEB = new('WEB')
14
15
  PPD = new('PPD')
15
16
  CCD = new('CCD')
16
17
  TEL = new('TEL')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end