moov_ruby 25.2.13 → 25.2.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 (237) 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/bankaccount.rb +4 -4
  18. data/lib/moov/models/components/bankaccountexception.rb +2 -2
  19. data/lib/moov/models/components/bankaccountholdertype.rb +3 -1
  20. data/lib/moov/models/components/bankaccountintegration.rb +2 -2
  21. data/lib/moov/models/components/bankaccountstatus.rb +3 -1
  22. data/lib/moov/models/components/bankaccountstatusreason.rb +3 -1
  23. data/lib/moov/models/components/bankaccounttype.rb +3 -1
  24. data/lib/moov/models/components/bankaccountverification.rb +2 -2
  25. data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
  26. data/lib/moov/models/components/bankaccountverificationmethod.rb +3 -1
  27. data/lib/moov/models/components/bankaccountverificationstatus.rb +3 -1
  28. data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
  29. data/lib/moov/models/components/billablefee.rb +2 -2
  30. data/lib/moov/models/components/billingadjustment.rb +40 -0
  31. data/lib/moov/models/components/billingadjustment.rbi +17 -0
  32. data/lib/moov/models/components/billingsummary.rb +8 -4
  33. data/lib/moov/models/components/billingsummary.rbi +2 -0
  34. data/lib/moov/models/components/billingsummary_adjustmentfees.rb +40 -0
  35. data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +15 -0
  36. data/lib/moov/models/components/businessprofile.rb +2 -2
  37. data/lib/moov/models/components/businesstype.rb +3 -1
  38. data/lib/moov/models/components/calltoaction.rb +3 -1
  39. data/lib/moov/models/components/cancellation.rb +2 -2
  40. data/lib/moov/models/components/cancellationstatus.rb +3 -1
  41. data/lib/moov/models/components/capability.rb +2 -2
  42. data/lib/moov/models/components/capabilityid.rb +3 -1
  43. data/lib/moov/models/components/capabilitystatus.rb +3 -1
  44. data/lib/moov/models/components/card.rb +4 -4
  45. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  46. data/lib/moov/models/components/cardacquiringmodel.rb +3 -1
  47. data/lib/moov/models/components/cardacquiringrefund.rb +1 -1
  48. data/lib/moov/models/components/cardbrand.rb +3 -1
  49. data/lib/moov/models/components/cardissuingnetwork.rb +3 -1
  50. data/lib/moov/models/components/cardtransactiondetails.rb +3 -3
  51. data/lib/moov/models/components/cardtransactionfailurecode.rb +3 -1
  52. data/lib/moov/models/components/cardtransactionstatus.rb +3 -1
  53. data/lib/moov/models/components/cardtype.rb +3 -1
  54. data/lib/moov/models/components/cardupdatereason.rb +3 -1
  55. data/lib/moov/models/components/cardverification.rb +3 -3
  56. data/lib/moov/models/components/cardverificationresult.rb +3 -1
  57. data/lib/moov/models/components/collectionpaymentmethodtype.rb +3 -1
  58. data/lib/moov/models/components/createaccount.rb +2 -2
  59. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  60. data/lib/moov/models/components/createdtransfer.rb +6 -3
  61. data/lib/moov/models/components/createevidencetext.rb +1 -1
  62. data/lib/moov/models/components/createfeeplanagreement.rb +13 -3
  63. data/lib/moov/models/components/createfeeplanagreement.rbi +2 -0
  64. data/lib/moov/models/components/createpaymentlink.rb +1 -1
  65. data/lib/moov/models/components/createrefund.rb +1 -1
  66. data/lib/moov/models/components/createreversal.rb +4 -1
  67. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  68. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  69. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  70. data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
  71. data/lib/moov/models/components/createwebhook.rb +1 -1
  72. data/lib/moov/models/components/debitholdperiod.rb +3 -1
  73. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +3 -1
  74. data/lib/moov/models/components/dispute.rb +2 -2
  75. data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
  76. data/lib/moov/models/components/disputephase.rb +3 -1
  77. data/lib/moov/models/components/disputestatus.rb +3 -1
  78. data/lib/moov/models/components/document.rb +1 -1
  79. data/lib/moov/models/components/documenttype.rb +3 -1
  80. data/lib/moov/models/components/domesticpullfromcard.rb +3 -1
  81. data/lib/moov/models/components/domesticpushtocard.rb +3 -1
  82. data/lib/moov/models/components/evidencetextresponse.rb +1 -1
  83. data/lib/moov/models/components/evidencetype.rb +3 -1
  84. data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
  85. data/lib/moov/models/components/facilitatorfee.rb +2 -2
  86. data/lib/moov/models/components/feecategory.rb +3 -1
  87. data/lib/moov/models/components/feemodel.rb +3 -1
  88. data/lib/moov/models/components/feeplan.rb +1 -1
  89. data/lib/moov/models/components/feeplanagreement.rb +12 -4
  90. data/lib/moov/models/components/feeplanagreement.rbi +4 -0
  91. data/lib/moov/models/components/feeplanagreementstatus.rb +3 -1
  92. data/lib/moov/models/components/filedetails.rb +2 -2
  93. data/lib/moov/models/components/filepurpose.rb +3 -1
  94. data/lib/moov/models/components/filestatus.rb +3 -1
  95. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  96. data/lib/moov/models/components/fullissuedcard.rb +4 -3
  97. data/lib/moov/models/components/instantbankfailurecode.rb +3 -1
  98. data/lib/moov/models/components/instantbanknetwork.rb +3 -1
  99. data/lib/moov/models/components/instantbanktransactiondetails.rb +3 -3
  100. data/lib/moov/models/components/instantbanktransactionstatus.rb +3 -1
  101. data/lib/moov/models/components/issuedcard.rb +4 -3
  102. data/lib/moov/models/components/issuedcardauthorization.rb +2 -2
  103. data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
  104. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +3 -1
  105. data/lib/moov/models/components/issuedcardeventtype.rb +3 -1
  106. data/lib/moov/models/components/issuedcardstate.rb +5 -1
  107. data/lib/moov/models/components/issuingauthorizationstatus.rb +3 -1
  108. data/lib/moov/models/components/issuingcontrols.rb +1 -1
  109. data/lib/moov/models/components/jsonwebkey.rb +1 -1
  110. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  111. data/lib/moov/models/components/mode.rb +3 -1
  112. data/lib/moov/models/components/moovfee.rb +1 -1
  113. data/lib/moov/models/components/occurrencesresponse.rb +2 -2
  114. data/lib/moov/models/components/occurrencestatus.rb +3 -1
  115. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  116. data/lib/moov/models/components/partnerpricingagreement.rb +15 -7
  117. data/lib/moov/models/components/partnerpricingagreement.rbi +4 -0
  118. data/lib/moov/models/components/patchbusiness.rb +2 -2
  119. data/lib/moov/models/components/patchwallet.rb +1 -1
  120. data/lib/moov/models/components/paymentlink.rb +4 -4
  121. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
  122. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
  123. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +1 -1
  124. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +1 -1
  125. data/lib/moov/models/components/paymentlinkstatus.rb +3 -1
  126. data/lib/moov/models/components/paymentlinktype.rb +3 -1
  127. data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
  128. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  129. data/lib/moov/models/components/paymentmethodswallet.rb +1 -1
  130. data/lib/moov/models/components/paymentmethodtype.rb +3 -1
  131. data/lib/moov/models/components/primaryregulator.rb +3 -1
  132. data/lib/moov/models/components/refundcarddetails.rb +2 -2
  133. data/lib/moov/models/components/refundcardstatus.rb +3 -1
  134. data/lib/moov/models/components/refundstatus.rb +3 -1
  135. data/lib/moov/models/components/requestcard.rb +1 -1
  136. data/lib/moov/models/components/requirementerror.rb +2 -2
  137. data/lib/moov/models/components/requirementerrorcode.rb +3 -1
  138. data/lib/moov/models/components/requirementid.rb +3 -1
  139. data/lib/moov/models/components/returnpolicytype.rb +3 -1
  140. data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
  141. data/lib/moov/models/components/rtpfailurecode.rb +3 -1
  142. data/lib/moov/models/components/rtprejectioncode.rb +3 -1
  143. data/lib/moov/models/components/rtptransactiondetails.rb +2 -2
  144. data/lib/moov/models/components/rtptransactionstatus.rb +3 -1
  145. data/lib/moov/models/components/schedulelistresponse.rb +1 -1
  146. data/lib/moov/models/components/scheduleresponse.rb +1 -1
  147. data/lib/moov/models/components/seccode.rb +3 -1
  148. data/lib/moov/models/components/statement.rb +6 -2
  149. data/lib/moov/models/components/statement.rbi +2 -0
  150. data/lib/moov/models/components/sweep.rb +1 -1
  151. data/lib/moov/models/components/sweepconfig.rb +3 -3
  152. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  153. data/lib/moov/models/components/sweepconfigstatus.rb +3 -1
  154. data/lib/moov/models/components/sweepstatus.rb +3 -1
  155. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  156. data/lib/moov/models/components/terminalapplication.rb +2 -2
  157. data/lib/moov/models/components/terminalapplicationplatform.rb +3 -1
  158. data/lib/moov/models/components/terminalapplicationstatus.rb +3 -1
  159. data/lib/moov/models/components/transactionsource.rb +3 -1
  160. data/lib/moov/models/components/transfer.rb +6 -3
  161. data/lib/moov/models/components/transferdestination.rb +1 -1
  162. data/lib/moov/models/components/transferfailurereason.rb +3 -1
  163. data/lib/moov/models/components/transferparty.rb +3 -1
  164. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
  165. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  166. data/lib/moov/models/components/transferpaymentmethodswallet.rb +1 -1
  167. data/lib/moov/models/components/transferpaymentmethodtype.rb +3 -1
  168. data/lib/moov/models/components/transfersource.rb +1 -1
  169. data/lib/moov/models/components/transferstatus.rb +3 -1
  170. data/lib/moov/models/components/underwriting.rb +1 -1
  171. data/lib/moov/models/components/underwritingstatus.rb +3 -1
  172. data/lib/moov/models/components/updateevidence.rb +1 -1
  173. data/lib/moov/models/components/updateissuedcard.rb +2 -0
  174. data/lib/moov/models/components/updateissuedcardstate.rb +4 -0
  175. data/lib/moov/models/components/updatepaymentlink.rb +1 -1
  176. data/lib/moov/models/components/updatewebhook.rb +1 -1
  177. data/lib/moov/models/components/use.rb +3 -1
  178. data/lib/moov/models/components/verification.rb +3 -3
  179. data/lib/moov/models/components/verificationstatus.rb +3 -1
  180. data/lib/moov/models/components/verificationstatusdetail.rb +3 -1
  181. data/lib/moov/models/components/wallet.rb +2 -2
  182. data/lib/moov/models/components/walletstatus.rb +3 -1
  183. data/lib/moov/models/components/wallettransaction.rb +3 -3
  184. data/lib/moov/models/components/wallettransactionsourcetype.rb +3 -1
  185. data/lib/moov/models/components/wallettransactionstatus.rb +3 -1
  186. data/lib/moov/models/components/wallettransactiontype.rb +3 -1
  187. data/lib/moov/models/components/wallettype.rb +3 -1
  188. data/lib/moov/models/components/webhook.rb +1 -1
  189. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
  190. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
  191. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  192. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  193. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  194. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
  195. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
  196. data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
  197. data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
  198. data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
  199. data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
  200. data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
  201. data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
  202. data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
  203. data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
  204. data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
  205. data/lib/moov/models/components/webhookevent.rb +1 -1
  206. data/lib/moov/models/components/webhookeventtype.rb +3 -1
  207. data/lib/moov/models/components/webhookstatus.rb +3 -1
  208. data/lib/moov/models/components.rb +3 -1
  209. data/lib/moov/models/errors/cardacquiringrefund_error.rb +1 -1
  210. data/lib/moov/models/errors/transfer_error.rb +6 -3
  211. data/lib/moov/models/operations/listaccounts_request.rb +1 -1
  212. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
  213. data/lib/moov/models/operations/listdisputes_request.rb +1 -1
  214. data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
  215. data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
  216. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
  217. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
  218. data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
  219. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +7 -3
  220. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +2 -0
  221. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
  222. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  223. data/lib/moov/models/operations/listproducts_request.rb +1 -1
  224. data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
  225. data/lib/moov/models/operations/listresiduals_request.rb +1 -1
  226. data/lib/moov/models/operations/listschedules_request.rb +1 -1
  227. data/lib/moov/models/operations/liststatements_request.rb +1 -1
  228. data/lib/moov/models/operations/listsweeps_request.rb +1 -1
  229. data/lib/moov/models/operations/listtransfers_request.rb +2 -2
  230. data/lib/moov/models/operations/listwallets_request.rb +1 -1
  231. data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
  232. data/lib/moov/models/operations/retrievefees_request.rb +1 -1
  233. data/lib/moov/sdkconfiguration.rb +3 -3
  234. data/lib/moov/transfers.rb +11 -5
  235. data/lib/moov/utils/retries.rb +41 -2
  236. data/lib/moov/utils/utils.rb +6 -2
  237. metadata +6 -2
@@ -8,9 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # UpdateIssuedCardState - Updates the state of a Moov issued card.
11
+ # - `active`: Reactivates a frozen card so it can approve authorizations again.
12
+ # - `frozen`: Temporarily suspends the card so it cannot approve authorizations. A card can be moved between `frozen` and `active` at will until it is `closed`, which is a terminal state.
11
13
  # - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
12
14
  class UpdateIssuedCardState < T::Enum
13
15
  enums do
16
+ ACTIVE = new('active')
17
+ FROZEN = new('frozen')
14
18
  CLOSED = new('closed')
15
19
  end
16
20
  end
@@ -22,7 +22,7 @@ module Moov
22
22
  field :customer, Crystalline::Nilable.new(Models::Components::PaymentLinkCustomerOptions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customer') } }
23
23
  # Options for payment links used to collect payment.
24
24
  field :payment, Crystalline::Nilable.new(Models::Components::PaymentLinkPaymentDetailsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payment') } }
25
-
25
+ # Options for payout links used to send a payout.
26
26
  field :payout, Crystalline::Nilable.new(Models::Components::PaymentLinkPayoutDetailsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payout') } }
27
27
  # An optional collection of line items for a payment link.
28
28
  # When line items are provided, their total plus tax must equal the payment link amount.
@@ -15,7 +15,7 @@ module Moov
15
15
  # The URL where webhook events will be sent.
16
16
  field :url, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('url'), required: true } }
17
17
  # The status of the webhook.
18
- field :status, Models::Components::WebhookStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WebhookStatus, false) } }
18
+ field :status, Models::Components::WebhookStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WebhookStatus, false) } }
19
19
  # The list of event types this webhook should subscribe to.
20
20
  field :event_types, Crystalline::Array.new(Models::Components::WebhookEventType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventTypes'), required: true } }
21
21
  # A description of the webhook for reference. Can be an empty string.
@@ -8,11 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # Use - The intended use of the key. 'sig' for signature, 'enc' for encryption.
11
- class Use < T::Enum
11
+ class Use
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  SIG = new('sig')
14
15
  ENC = new('enc')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -15,15 +15,15 @@ module Moov
15
15
  # Possible states an account verification can be in.
16
16
  #
17
17
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
18
- field :status, Models::Components::VerificationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::VerificationStatus, false) } }
18
+ field :status, Models::Components::VerificationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::VerificationStatus, false) } }
19
19
  # Possible states an account verification can be in.
20
20
  #
21
21
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
22
- field :verification_status, Crystalline::Nilable.new(Models::Components::AccountVerificationStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('verificationStatus'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::AccountVerificationStatus, true) } }
22
+ field :verification_status, Crystalline::Nilable.new(Models::Components::AccountVerificationStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('verificationStatus'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::AccountVerificationStatus, true) } }
23
23
  # Additional detail for a verification status.
24
24
  #
25
25
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
26
- field :details, Crystalline::Nilable.new(Models::Components::VerificationStatusDetail), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('details'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::VerificationStatusDetail, true) } }
26
+ field :details, Crystalline::Nilable.new(Models::Components::VerificationStatusDetail), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('details'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::VerificationStatusDetail, true) } }
27
27
 
28
28
  field :documents, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::Document)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('documents') } }
29
29
 
@@ -10,13 +10,15 @@ module Moov
10
10
  # VerificationStatus - Possible states an account verification can be in.
11
11
  #
12
12
  # @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
13
- class VerificationStatus < T::Enum
13
+ class VerificationStatus
14
+ include ::Crystalline::Enum
14
15
  enums do
15
16
  UNVERIFIED = new('unverified')
16
17
  PENDING = new('pending')
17
18
  VERIFIED = new('verified')
18
19
  ERRORED = new('errored')
19
20
  end
21
+ open!
20
22
  end
21
23
  end
22
24
  end
@@ -10,7 +10,8 @@ module Moov
10
10
  # VerificationStatusDetail - Additional detail for a verification status.
11
11
  #
12
12
  # @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
13
- class VerificationStatusDetail < T::Enum
13
+ class VerificationStatusDetail
14
+ include ::Crystalline::Enum
14
15
  enums do
15
16
  FAILED_AUTO_VERIFY = new('failedAutoVerify')
16
17
  DOC_DOB_MISMATCH = new('docDobMismatch')
@@ -23,6 +24,7 @@ module Moov
23
24
  POTENTIAL_REPRESENTATIVE_SANCTIONS_MATCH = new('potentialRepresentativeSanctionsMatch')
24
25
  FAILED_OTHER = new('failedOther')
25
26
  end
27
+ open!
26
28
  end
27
29
  end
28
30
  end
@@ -23,12 +23,12 @@ module Moov
23
23
  # Status of a wallet.
24
24
  # - `active`: The wallet is available for use and has an enabled payment method.
25
25
  # - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
26
- field :status, Models::Components::WalletStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletStatus, false) } }
26
+ field :status, Models::Components::WalletStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletStatus, false) } }
27
27
  # Type of a wallet.
28
28
  # - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
29
29
  # - `general`: An additional, user-defined wallet created via API or Dashboard.
30
30
  # - `card-issuing`: The system-generated wallet automatically created when an account is granted the card-issuing capability.
31
- 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) } }
31
+ 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) } }
32
32
  # Description of the wallet
33
33
  field :description, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description'), required: true } }
34
34
 
@@ -10,11 +10,13 @@ module Moov
10
10
  # WalletStatus - Status of a wallet.
11
11
  # - `active`: The wallet is available for use and has an enabled payment method.
12
12
  # - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
13
- class WalletStatus < T::Enum
13
+ class WalletStatus
14
+ include ::Crystalline::Enum
14
15
  enums do
15
16
  ACTIVE = new('active')
16
17
  CLOSED = new('closed')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -17,13 +17,13 @@ module Moov
17
17
 
18
18
  field :transaction_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transactionID'), required: true } }
19
19
 
20
- field :transaction_type, Models::Components::WalletTransactionType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transactionType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletTransactionType, false) } }
20
+ field :transaction_type, Models::Components::WalletTransactionType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transactionType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletTransactionType, false) } }
21
21
 
22
- field :source_type, Models::Components::WalletTransactionSourceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletTransactionSourceType, false) } }
22
+ field :source_type, Models::Components::WalletTransactionSourceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletTransactionSourceType, false) } }
23
23
  # The ID of the Moov object to which this transaction is related.
24
24
  field :source_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceID'), required: true } }
25
25
 
26
- field :status, Models::Components::WalletTransactionStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletTransactionStatus, false) } }
26
+ field :status, Models::Components::WalletTransactionStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletTransactionStatus, false) } }
27
27
  # Detailed description of the transaction.
28
28
  field :memo, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('memo'), required: true } }
29
29
 
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class WalletTransactionSourceType < T::Enum
11
+ class WalletTransactionSourceType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  TRANSFER = new('transfer')
14
15
  DISPUTE = new('dispute')
@@ -19,6 +20,7 @@ module Moov
19
20
  FEE = new('fee')
20
21
  RESIDUAL = new('residual')
21
22
  end
23
+ open!
22
24
  end
23
25
  end
24
26
  end
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class WalletTransactionStatus < T::Enum
11
+ class WalletTransactionStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  PENDING = new('pending')
14
15
  COMPLETED = new('completed')
15
16
  CANCELED = new('canceled')
16
17
  FAILED = new('failed')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class WalletTransactionType < T::Enum
11
+ class WalletTransactionType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  ACCOUNT_FUNDING = new('account-funding')
14
15
  ACH_REVERSAL = new('ach-reversal')
@@ -38,6 +39,7 @@ module Moov
38
39
  FEE_REVENUE = new('fee-revenue')
39
40
  RESIDUAL = new('residual')
40
41
  end
42
+ open!
41
43
  end
42
44
  end
43
45
  end
@@ -11,12 +11,14 @@ module Moov
11
11
  # - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
12
12
  # - `general`: An additional, user-defined wallet created via API or Dashboard.
13
13
  # - `card-issuing`: The system-generated wallet automatically created when an account is granted the card-issuing capability.
14
- class WalletType < T::Enum
14
+ class WalletType
15
+ include ::Crystalline::Enum
15
16
  enums do
16
17
  DEFAULT = new('default')
17
18
  GENERAL = new('general')
18
19
  CARD_ISSUING = new('card-issuing')
19
20
  end
21
+ open!
20
22
  end
21
23
  end
22
24
  end
@@ -17,7 +17,7 @@ module Moov
17
17
  # The URL where webhook events will be sent.
18
18
  field :url, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('url'), required: true } }
19
19
  # The status of a webhook.
20
- field :status, Models::Components::WebhookStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WebhookStatus, false) } }
20
+ field :status, Models::Components::WebhookStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WebhookStatus, false) } }
21
21
  # The list of event types this webhook is subscribed to.
22
22
  field :event_types, Crystalline::Array.new(Models::Components::WebhookEventType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventTypes'), required: true } }
23
23
  # A description of the webhook for reference.
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
19
19
 
20
- 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) } }
20
+ 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) } }
21
21
 
22
22
  sig { params(bank_account_id: ::String, account_id: ::String, status: Models::Components::BankAccountStatus).void }
23
23
  def initialize(bank_account_id:, account_id:, status:)
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
19
19
 
20
- 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) } }
20
+ 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) } }
21
21
 
22
22
  sig { params(bank_account_id: ::String, account_id: ::String, status: Models::Components::BankAccountStatus).void }
23
23
  def initialize(bank_account_id:, account_id:, status:)
@@ -17,9 +17,9 @@ module Moov
17
17
 
18
18
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
19
19
 
20
- 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) } }
20
+ 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) } }
21
21
  # The reason the bank account status changed to the current value.
22
- field :status_reason, Models::Components::BankAccountStatusReason, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('statusReason'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountStatusReason, false) } }
22
+ field :status_reason, Models::Components::BankAccountStatusReason, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('statusReason'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountStatusReason, false) } }
23
23
  # Reason for, and details related to, an `errored` or `verificationFailed` bank account status.
24
24
  field :exception_details, Crystalline::Nilable.new(Models::Components::BankAccountException), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('exceptionDetails') } }
25
25
 
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :transfer_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID'), required: true } }
19
19
 
20
- field :status, Models::Components::CancellationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CancellationStatus, false) } }
20
+ field :status, Models::Components::CancellationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CancellationStatus, false) } }
21
21
 
22
22
  sig { params(cancellation_id: ::String, transfer_id: ::String, status: Models::Components::CancellationStatus).void }
23
23
  def initialize(cancellation_id:, transfer_id:, status:)
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :transfer_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID'), required: true } }
19
19
 
20
- field :status, Models::Components::CancellationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CancellationStatus, false) } }
20
+ field :status, Models::Components::CancellationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CancellationStatus, false) } }
21
21
 
22
22
  sig { params(cancellation_id: ::String, transfer_id: ::String, status: Models::Components::CancellationStatus).void }
23
23
  def initialize(cancellation_id:, transfer_id:, status:)
@@ -23,7 +23,7 @@ module Moov
23
23
  # Read our [capabilities reference](https://docs.moov.io/guides/accounts/capabilities/reference/) to choose the right capabilities for your integration.
24
24
  #
25
25
  # The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in the list for your Partner account. These are read-only capabilities that Moov requests. These capabilities remain active with your account and require no additional action.
26
- field :capability_id, Models::Components::CapabilityID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capabilityID'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CapabilityID, false) } }
26
+ field :capability_id, Models::Components::CapabilityID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capabilityID'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CapabilityID, false) } }
27
27
 
28
28
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
29
29
 
@@ -23,9 +23,9 @@ module Moov
23
23
  # Read our [capabilities reference](https://docs.moov.io/guides/accounts/capabilities/reference/) to choose the right capabilities for your integration.
24
24
  #
25
25
  # The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in the list for your Partner account. These are read-only capabilities that Moov requests. These capabilities remain active with your account and require no additional action.
26
- field :capability_id, Models::Components::CapabilityID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capabilityID'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CapabilityID, false) } }
26
+ field :capability_id, Models::Components::CapabilityID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capabilityID'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CapabilityID, false) } }
27
27
  # The status of the capability requested for an account.
28
- field :status, Models::Components::CapabilityStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CapabilityStatus, false) } }
28
+ field :status, Models::Components::CapabilityStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CapabilityStatus, false) } }
29
29
 
30
30
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
31
31
 
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
19
19
  # The results of the card update request.
20
- field :update_type, Models::Components::CardUpdateReason, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updateType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardUpdateReason, false) } }
20
+ field :update_type, Models::Components::CardUpdateReason, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updateType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardUpdateReason, false) } }
21
21
 
22
22
  sig { params(card_id: ::String, account_id: ::String, update_type: Models::Components::CardUpdateReason).void }
23
23
  def initialize(card_id:, account_id:, update_type:)
@@ -23,9 +23,9 @@ module Moov
23
23
  # The status of a particular dispute.
24
24
  #
25
25
  # Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
26
- field :status, Models::Components::DisputeStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DisputeStatus, false) } }
26
+ field :status, Models::Components::DisputeStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DisputeStatus, false) } }
27
27
  # The phase of a dispute within the dispute lifecycle.
28
- field :phase, Models::Components::DisputePhase, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('phase'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DisputePhase, false) } }
28
+ field :phase, Models::Components::DisputePhase, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('phase'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DisputePhase, false) } }
29
29
 
30
30
  sig { params(account_id: ::String, transfer_id: ::String, transaction_id: ::String, dispute_id: ::String, status: Models::Components::DisputeStatus, phase: Models::Components::DisputePhase).void }
31
31
  def initialize(account_id:, transfer_id:, transaction_id:, dispute_id:, status:, phase:)
@@ -23,9 +23,9 @@ module Moov
23
23
  # The status of a particular dispute.
24
24
  #
25
25
  # Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
26
- field :status, Models::Components::DisputeStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DisputeStatus, false) } }
26
+ field :status, Models::Components::DisputeStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DisputeStatus, false) } }
27
27
  # The phase of a dispute within the dispute lifecycle.
28
- field :phase, Models::Components::DisputePhase, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('phase'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DisputePhase, false) } }
28
+ field :phase, Models::Components::DisputePhase, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('phase'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DisputePhase, false) } }
29
29
 
30
30
  sig { params(account_id: ::String, transfer_id: ::String, transaction_id: ::String, dispute_id: ::String, status: Models::Components::DisputeStatus, phase: Models::Components::DisputePhase).void }
31
31
  def initialize(account_id:, transfer_id:, transaction_id:, dispute_id:, status:, phase:)
@@ -19,7 +19,7 @@ module Moov
19
19
 
20
20
  field :refund_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('refundID'), required: true } }
21
21
 
22
- field :status, Models::Components::RefundStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::RefundStatus, false) } }
22
+ field :status, Models::Components::RefundStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RefundStatus, false) } }
23
23
 
24
24
  sig { params(account_id: ::String, transfer_id: ::String, refund_id: ::String, status: Models::Components::RefundStatus).void }
25
25
  def initialize(account_id:, transfer_id:, refund_id:, status:)
@@ -19,7 +19,7 @@ module Moov
19
19
 
20
20
  field :sweep_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sweepID'), required: true } }
21
21
 
22
- field :status, Models::Components::SweepStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::SweepStatus, false) } }
22
+ field :status, Models::Components::SweepStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::SweepStatus, false) } }
23
23
 
24
24
  field :transfer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID') } }
25
25
 
@@ -15,7 +15,7 @@ module Moov
15
15
 
16
16
  field :terminal_application_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('terminalApplicationID'), required: true } }
17
17
  # Status of the terminal application.
18
- field :status, Models::Components::TerminalApplicationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TerminalApplicationStatus, false) } }
18
+ field :status, Models::Components::TerminalApplicationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TerminalApplicationStatus, false) } }
19
19
 
20
20
  sig { params(terminal_application_id: ::String, status: Models::Components::TerminalApplicationStatus).void }
21
21
  def initialize(terminal_application_id:, status:)
@@ -15,7 +15,7 @@ module Moov
15
15
 
16
16
  field :terminal_application_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('terminalApplicationID'), required: true } }
17
17
  # Status of the terminal application.
18
- field :status, Models::Components::TerminalApplicationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TerminalApplicationStatus, false) } }
18
+ field :status, Models::Components::TerminalApplicationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TerminalApplicationStatus, false) } }
19
19
 
20
20
  sig { params(terminal_application_id: ::String, status: Models::Components::TerminalApplicationStatus).void }
21
21
  def initialize(terminal_application_id:, status:)
@@ -19,7 +19,7 @@ module Moov
19
19
 
20
20
  field :transaction_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transactionID'), required: true } }
21
21
 
22
- field :status, Models::Components::WalletTransactionStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletTransactionStatus, false) } }
22
+ field :status, Models::Components::WalletTransactionStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletTransactionStatus, false) } }
23
23
 
24
24
  field :available_balance, Crystalline::Nilable.new(Models::Components::WalletAvailableBalance), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('availableBalance') } }
25
25
 
@@ -19,7 +19,7 @@ module Moov
19
19
  # Status of a wallet.
20
20
  # - `active`: The wallet is available for use and has an enabled payment method.
21
21
  # - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
22
- field :status, Models::Components::WalletStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletStatus, false) } }
22
+ field :status, Models::Components::WalletStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletStatus, false) } }
23
23
 
24
24
  sig { params(account_id: ::String, wallet_id: ::String, status: Models::Components::WalletStatus).void }
25
25
  def initialize(account_id:, wallet_id:, status:)
@@ -15,7 +15,7 @@ module Moov
15
15
  # Unique identifier for the webhook event.
16
16
  field :event_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventID'), required: true } }
17
17
  # The type of event that occurred.
18
- field :type, Models::Components::WebhookEventType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('type'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WebhookEventType, false) } }
18
+ field :type, Models::Components::WebhookEventType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('type'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WebhookEventType, false) } }
19
19
  # The data for the webhook event. The contents are based on the event type.
20
20
  field :data, Crystalline::Union.new(Models::Components::WebhookDataAccountCreated, Models::Components::WebhookDataAccountUpdated, Models::Components::WebhookDataAccountDisconnected, Models::Components::WebhookDataBalanceUpdated, Models::Components::WebhookDataBankAccountCreated, Models::Components::WebhookDataBankAccountUpdated, Models::Components::WebhookDataBankAccountDeleted, Models::Components::WebhookDataCancellationCreated, Models::Components::WebhookDataCancellationUpdated, Models::Components::WebhookDataCardAutoUpdated, Models::Components::WebhookDataCapabilityRequested, Models::Components::WebhookDataCapabilityUpdated, Models::Components::WebhookDataDisputeCreated, Models::Components::WebhookDataDisputeUpdated, Models::Components::WebhookDataInvoiceCreated, Models::Components::WebhookDataInvoiceUpdated, Models::Components::WebhookDataNetworkIDUpdated, Models::Components::WebhookDataPaymentMethodEnabled, Models::Components::WebhookDataPaymentMethodDisabled, Models::Components::WebhookDataRefundCreated, Models::Components::WebhookDataRefundUpdated, Models::Components::WebhookDataRepresentativeCreated, Models::Components::WebhookDataRepresentativeUpdated, Models::Components::WebhookDataRepresentativeDisabled, Models::Components::WebhookDataSweepCreated, Models::Components::WebhookDataSweepUpdated, Models::Components::WebhookDataTerminalApplicationCreated, Models::Components::WebhookDataTerminalApplicationUpdated, Models::Components::WebhookDataTicketCreated, Models::Components::WebhookDataTicketUpdated, Models::Components::WebhookDataTicketMessageAdded, Models::Components::WebhookDataTransferCreated, Models::Components::WebhookDataTransferUpdated, Models::Components::WebhookDataWalletCreated, Models::Components::WebhookDataWalletUpdated, Models::Components::WebhookDataWalletTransactionUpdated, Models::Components::WebhookBillingStatementCreated, Models::Components::WebhookDataAuthorizationExpiring), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('data'), required: true } }
21
21
 
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # WebhookEventType - The type of event that occurred.
11
- class WebhookEventType < T::Enum
11
+ class WebhookEventType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  WILDCARD_ = new('*')
14
15
  ACCOUNT_CREATED = new('account.created')
@@ -50,6 +51,7 @@ module Moov
50
51
  BILLING_STATEMENT_CREATED = new('billingStatement.created')
51
52
  AUTHORIZATION_EXPIRING = new('authorization.expiring')
52
53
  end
54
+ open!
53
55
  end
54
56
  end
55
57
  end
@@ -8,11 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # WebhookStatus - The status of a webhook.
11
- class WebhookStatus < T::Enum
11
+ class WebhookStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  ENABLED = new('enabled')
14
15
  DISABLED = new('disabled')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -47,6 +47,7 @@ module Moov
47
47
  autoload :AddressSuggestion, 'moov/models/components/addresssuggestion.rb'
48
48
  autoload :AddressUpdate, 'moov/models/components/addressupdate.rb'
49
49
  autoload :Adjustment, 'moov/models/components/adjustment.rb'
50
+ autoload :AdjustmentFees, 'moov/models/components/adjustmentfees.rb'
50
51
  autoload :Amount, 'moov/models/components/amount.rb'
51
52
  autoload :AmountDecimal, 'moov/models/components/amountdecimal.rb'
52
53
  autoload :AmountDecimalValidationError, 'moov/models/components/amountdecimalvalidationerror.rb'
@@ -83,12 +84,14 @@ module Moov
83
84
  autoload :BasicPaymentMethod, 'moov/models/components/basicpaymentmethod.rb'
84
85
  autoload :BatchGetTransfersRequest, 'moov/models/components/batchgettransfersrequest.rb'
85
86
  autoload :BillableFee, 'moov/models/components/billablefee.rb'
87
+ autoload :BillingAdjustment, 'moov/models/components/billingadjustment.rb'
86
88
  autoload :BillingCountAndAmount, 'moov/models/components/billingcountandamount.rb'
87
89
  autoload :BillingInterchangeProgramFee, 'moov/models/components/billinginterchangeprogramfee.rb'
88
90
  autoload :BillingSummary, 'moov/models/components/billingsummary.rb'
89
91
  autoload :BillingSummaryDetails, 'moov/models/components/billingsummarydetails.rb'
90
92
  autoload :BillingSummaryDetailsVolumeAmount, 'moov/models/components/billingsummarydetails_volumeamount.rb'
91
93
  autoload :BillingSummaryInterchange, 'moov/models/components/billingsummaryinterchange.rb'
94
+ autoload :BillingSummaryAdjustmentFees, 'moov/models/components/billingsummary_adjustmentfees.rb'
92
95
  autoload :BillingSummaryPlatformFees, 'moov/models/components/billingsummary_platformfees.rb'
93
96
  autoload :BillingSummaryVolumeAmount, 'moov/models/components/billingsummary_volumeamount.rb'
94
97
  autoload :BirthDate, 'moov/models/components/birthdate.rb'
@@ -554,7 +557,6 @@ module Moov
554
557
  autoload :WireServices, 'moov/models/components/wireservices.rb'
555
558
  autoload :AchDetails, 'moov/models/components/achdetails.rb'
556
559
  autoload :AchPayment, 'moov/models/components/achpayment.rb'
557
- autoload :AdjustmentFees, 'moov/models/components/adjustmentfees.rb'
558
560
  autoload :BillingAddress, 'moov/models/components/billingaddress.rb'
559
561
  autoload :CardAcquiring, 'moov/models/components/cardacquiring.rb'
560
562
  autoload :CardDetails, 'moov/models/components/carddetails.rb'
@@ -19,7 +19,7 @@ module Moov
19
19
 
20
20
  field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
21
21
 
22
- field :status, Models::Components::RefundStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::RefundStatus, false) } }
22
+ field :status, Models::Components::RefundStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RefundStatus, false) } }
23
23
 
24
24
  field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
25
25
 
@@ -21,13 +21,16 @@ module Moov
21
21
 
22
22
  field :destination, Models::Components::TransferDestination, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destination'), required: true } }
23
23
  # Status of a transfer.
24
- field :status, Models::Components::TransferStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TransferStatus, false) } }
25
-
24
+ field :status, Models::Components::TransferStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferStatus, false) } }
25
+ # Amount associated with this transfer.
26
+ # In v2026.10 and later, an auth-capture `card-payment` transfer reports the approved authorization amount until a final capture is created.
27
+ # For these transfers, when a final capture is created, this is updated to the cumulative captured amount.
28
+ # For other transfer types, this is the transfer amount.
26
29
  field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
27
30
 
28
31
  field :completed_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('completedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
29
32
  # Reason for a transfer's failure.
30
- field :failure_reason, Crystalline::Nilable.new(Models::Components::TransferFailureReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureReason'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TransferFailureReason, true) } }
33
+ field :failure_reason, Crystalline::Nilable.new(Models::Components::TransferFailureReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureReason'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferFailureReason, true) } }
31
34
  # An optional description of the transfer that is used on receipts and for your own internal use.
32
35
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
33
36
  # Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
@@ -47,7 +47,7 @@ module Moov
47
47
  field :capability_status, Crystalline::Nilable.new(Models::Components::CapabilityStatus), { 'query_param': { 'field_name': 'capabilityStatus', 'style': 'form', 'explode': false } }
48
48
 
49
49
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
50
-
50
+ # Page size. When omitted, the server defaults to `200`.
51
51
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
52
52
 
53
53
  sig { params(name: T.nilable(::String), email: T.nilable(::String), type: T.nilable(Models::Components::AccountType), foreign_id: T.nilable(::String), include_disconnected: T.nilable(T::Boolean), capability: T.nilable(Models::Components::CapabilityID), capability_status: T.nilable(Models::Components::CapabilityStatus), skip: T.nilable(::Integer), count: T.nilable(::Integer)).void }
@@ -49,7 +49,7 @@ module Moov
49
49
  field :capability_status, Crystalline::Nilable.new(Models::Components::CapabilityStatus), { 'query_param': { 'field_name': 'capabilityStatus', 'style': 'form', 'explode': false } }
50
50
 
51
51
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
52
-
52
+ # Page size. When omitted, the server defaults to `200`.
53
53
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
54
54
 
55
55
  sig { params(account_id: ::String, name: T.nilable(::String), email: T.nilable(::String), type: T.nilable(Models::Components::AccountType), foreign_id: T.nilable(::String), include_disconnected: T.nilable(T::Boolean), capability: T.nilable(Models::Components::CapabilityID), capability_status: T.nilable(Models::Components::CapabilityStatus), skip: T.nilable(::Integer), count: T.nilable(::Integer)).void }
@@ -16,7 +16,7 @@ module Moov
16
16
  field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
17
17
 
18
18
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
19
-
19
+ # Page size. When omitted, the server defaults to `200`.
20
20
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
21
21
  # Optional date-time parameter to filter all disputes created on and after the provided date and time.
22
22
  field :start_date_time, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'startDateTime', 'style': 'form', 'explode': false } }
@@ -16,7 +16,7 @@ module Moov
16
16
  field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
17
17
 
18
18
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
19
-
19
+ # Page size. When omitted, the server defaults to `200`.
20
20
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
21
21
  # A comma-separated list of agreement IDs to filter the results by.
22
22
  field :agreement_id, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'agreementID', 'style': 'form', 'explode': false } }