moov_ruby 25.8.13 → 25.8.15

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 (260) 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/businesspresence.rb +3 -1
  37. data/lib/moov/models/components/businessprofile.rb +2 -2
  38. data/lib/moov/models/components/businesstype.rb +3 -1
  39. data/lib/moov/models/components/calltoaction.rb +3 -1
  40. data/lib/moov/models/components/cancellation.rb +2 -2
  41. data/lib/moov/models/components/cancellationstatus.rb +3 -1
  42. data/lib/moov/models/components/capability.rb +2 -2
  43. data/lib/moov/models/components/capabilityid.rb +3 -1
  44. data/lib/moov/models/components/capabilitystatus.rb +3 -1
  45. data/lib/moov/models/components/card.rb +4 -4
  46. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  47. data/lib/moov/models/components/cardacquiringmodel.rb +3 -1
  48. data/lib/moov/models/components/cardacquiringrefund.rb +1 -1
  49. data/lib/moov/models/components/cardbrand.rb +3 -1
  50. data/lib/moov/models/components/cardissuingnetwork.rb +3 -1
  51. data/lib/moov/models/components/cardtransactiondetails.rb +3 -3
  52. data/lib/moov/models/components/cardtransactionfailurecode.rb +3 -1
  53. data/lib/moov/models/components/cardtransactionstatus.rb +3 -1
  54. data/lib/moov/models/components/cardtype.rb +3 -1
  55. data/lib/moov/models/components/cardupdatereason.rb +3 -1
  56. data/lib/moov/models/components/cardverification.rb +3 -3
  57. data/lib/moov/models/components/cardverificationresult.rb +3 -1
  58. data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
  59. data/lib/moov/models/components/collectionpaymentmethodtype.rb +3 -1
  60. data/lib/moov/models/components/createaccount.rb +2 -2
  61. data/lib/moov/models/components/createaccounttype.rb +3 -1
  62. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  63. data/lib/moov/models/components/createdtransfer.rb +6 -3
  64. data/lib/moov/models/components/createevidencetext.rb +1 -1
  65. data/lib/moov/models/components/createfeeplanagreement.rb +13 -3
  66. data/lib/moov/models/components/createfeeplanagreement.rbi +2 -0
  67. data/lib/moov/models/components/createpaymentlink.rb +1 -1
  68. data/lib/moov/models/components/createrefund.rb +1 -1
  69. data/lib/moov/models/components/createreversal.rb +4 -1
  70. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  71. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  72. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  73. data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
  74. data/lib/moov/models/components/createwebhook.rb +1 -1
  75. data/lib/moov/models/components/debitholdperiod.rb +3 -1
  76. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +3 -1
  77. data/lib/moov/models/components/dispute.rb +2 -2
  78. data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
  79. data/lib/moov/models/components/disputephase.rb +3 -1
  80. data/lib/moov/models/components/disputestatus.rb +3 -1
  81. data/lib/moov/models/components/document.rb +1 -1
  82. data/lib/moov/models/components/documenttype.rb +3 -1
  83. data/lib/moov/models/components/domesticpullfromcard.rb +3 -1
  84. data/lib/moov/models/components/domesticpushtocard.rb +3 -1
  85. data/lib/moov/models/components/estimatedactivity.rb +1 -1
  86. data/lib/moov/models/components/evidencetextresponse.rb +1 -1
  87. data/lib/moov/models/components/evidencetype.rb +3 -1
  88. data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
  89. data/lib/moov/models/components/facilitatorfee.rb +2 -2
  90. data/lib/moov/models/components/feecategory.rb +3 -1
  91. data/lib/moov/models/components/feemodel.rb +3 -1
  92. data/lib/moov/models/components/feeplan.rb +1 -1
  93. data/lib/moov/models/components/feeplanagreement.rb +12 -4
  94. data/lib/moov/models/components/feeplanagreement.rbi +4 -0
  95. data/lib/moov/models/components/feeplanagreementstatus.rb +3 -1
  96. data/lib/moov/models/components/filedetails.rb +2 -2
  97. data/lib/moov/models/components/filepurpose.rb +3 -1
  98. data/lib/moov/models/components/filestatus.rb +3 -1
  99. data/lib/moov/models/components/fulfillment.rb +2 -2
  100. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  101. data/lib/moov/models/components/fulfillmentmethod.rb +3 -1
  102. data/lib/moov/models/components/fulfillmenttimeframe.rb +3 -1
  103. data/lib/moov/models/components/fullissuedcard.rb +4 -3
  104. data/lib/moov/models/components/geographicreach.rb +3 -1
  105. data/lib/moov/models/components/instantbankfailurecode.rb +3 -1
  106. data/lib/moov/models/components/instantbanknetwork.rb +3 -1
  107. data/lib/moov/models/components/instantbanktransactiondetails.rb +3 -3
  108. data/lib/moov/models/components/instantbanktransactionstatus.rb +3 -1
  109. data/lib/moov/models/components/issuedcard.rb +4 -3
  110. data/lib/moov/models/components/issuedcardauthorization.rb +8 -4
  111. data/lib/moov/models/components/issuedcardauthorization.rbi +2 -0
  112. data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
  113. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +3 -1
  114. data/lib/moov/models/components/issuedcardeventtype.rb +3 -1
  115. data/lib/moov/models/components/issuedcardstate.rb +5 -1
  116. data/lib/moov/models/components/issuedcardtransaction.rb +6 -2
  117. data/lib/moov/models/components/issuedcardtransaction.rbi +2 -0
  118. data/lib/moov/models/components/issuingauthorizationstatus.rb +3 -1
  119. data/lib/moov/models/components/issuingcontrols.rb +1 -1
  120. data/lib/moov/models/components/jsonwebkey.rb +1 -1
  121. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  122. data/lib/moov/models/components/mode.rb +3 -1
  123. data/lib/moov/models/components/monthlyvolumerange.rb +3 -1
  124. data/lib/moov/models/components/moovfee.rb +1 -1
  125. data/lib/moov/models/components/occurrencesresponse.rb +2 -2
  126. data/lib/moov/models/components/occurrencestatus.rb +3 -1
  127. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  128. data/lib/moov/models/components/partnerpricingagreement.rb +15 -7
  129. data/lib/moov/models/components/partnerpricingagreement.rbi +4 -0
  130. data/lib/moov/models/components/patchbusiness.rb +2 -2
  131. data/lib/moov/models/components/patchwallet.rb +1 -1
  132. data/lib/moov/models/components/paymentlink.rb +4 -4
  133. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
  134. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
  135. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +1 -1
  136. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +1 -1
  137. data/lib/moov/models/components/paymentlinkstatus.rb +3 -1
  138. data/lib/moov/models/components/paymentlinktype.rb +3 -1
  139. data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
  140. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  141. data/lib/moov/models/components/paymentmethodswallet.rb +1 -1
  142. data/lib/moov/models/components/paymentmethodtype.rb +3 -1
  143. data/lib/moov/models/components/pendinglitigation.rb +3 -1
  144. data/lib/moov/models/components/primaryregulator.rb +3 -1
  145. data/lib/moov/models/components/refundcarddetails.rb +2 -2
  146. data/lib/moov/models/components/refundcardstatus.rb +3 -1
  147. data/lib/moov/models/components/refundpolicy.rb +3 -1
  148. data/lib/moov/models/components/refundstatus.rb +3 -1
  149. data/lib/moov/models/components/requestcard.rb +1 -1
  150. data/lib/moov/models/components/requirementerror.rb +2 -2
  151. data/lib/moov/models/components/requirementerrorcode.rb +3 -1
  152. data/lib/moov/models/components/requirementid.rb +10 -1
  153. data/lib/moov/models/components/returnpolicytype.rb +3 -1
  154. data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
  155. data/lib/moov/models/components/rtpfailurecode.rb +3 -1
  156. data/lib/moov/models/components/rtprejectioncode.rb +3 -1
  157. data/lib/moov/models/components/rtptransactiondetails.rb +2 -2
  158. data/lib/moov/models/components/rtptransactionstatus.rb +3 -1
  159. data/lib/moov/models/components/schedulelistresponse.rb +1 -1
  160. data/lib/moov/models/components/scheduleresponse.rb +1 -1
  161. data/lib/moov/models/components/seccode.rb +3 -1
  162. data/lib/moov/models/components/statement.rb +6 -2
  163. data/lib/moov/models/components/statement.rbi +2 -0
  164. data/lib/moov/models/components/sweep.rb +1 -1
  165. data/lib/moov/models/components/sweepconfig.rb +3 -3
  166. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  167. data/lib/moov/models/components/sweepconfigstatus.rb +3 -1
  168. data/lib/moov/models/components/sweepstatus.rb +3 -1
  169. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  170. data/lib/moov/models/components/terminalapplication.rb +2 -2
  171. data/lib/moov/models/components/terminalapplicationplatform.rb +3 -1
  172. data/lib/moov/models/components/terminalapplicationstatus.rb +3 -1
  173. data/lib/moov/models/components/terminalcard.rb +2 -2
  174. data/lib/moov/models/components/ticket.rb +1 -1
  175. data/lib/moov/models/components/ticketstatus.rb +3 -1
  176. data/lib/moov/models/components/transactionsource.rb +3 -1
  177. data/lib/moov/models/components/transfer.rb +6 -3
  178. data/lib/moov/models/components/transferdestination.rb +1 -1
  179. data/lib/moov/models/components/transferfailurereason.rb +3 -1
  180. data/lib/moov/models/components/transferparty.rb +3 -1
  181. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
  182. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  183. data/lib/moov/models/components/transferpaymentmethodswallet.rb +1 -1
  184. data/lib/moov/models/components/transferpaymentmethodtype.rb +3 -1
  185. data/lib/moov/models/components/transfersource.rb +1 -1
  186. data/lib/moov/models/components/transferstatus.rb +3 -1
  187. data/lib/moov/models/components/transferterminalcard.rb +2 -2
  188. data/lib/moov/models/components/underwriting.rb +4 -4
  189. data/lib/moov/models/components/underwritingstatus.rb +3 -1
  190. data/lib/moov/models/components/updateevidence.rb +1 -1
  191. data/lib/moov/models/components/updateissuedcard.rb +2 -0
  192. data/lib/moov/models/components/updateissuedcardstate.rb +4 -0
  193. data/lib/moov/models/components/updatepaymentlink.rb +1 -1
  194. data/lib/moov/models/components/updatewebhook.rb +1 -1
  195. data/lib/moov/models/components/upsertunderwriting.rb +3 -3
  196. data/lib/moov/models/components/use.rb +3 -1
  197. data/lib/moov/models/components/verification.rb +3 -3
  198. data/lib/moov/models/components/verificationstatus.rb +3 -1
  199. data/lib/moov/models/components/verificationstatusdetail.rb +3 -1
  200. data/lib/moov/models/components/wallet.rb +2 -2
  201. data/lib/moov/models/components/walletstatus.rb +3 -1
  202. data/lib/moov/models/components/wallettransaction.rb +3 -3
  203. data/lib/moov/models/components/wallettransactionsourcetype.rb +3 -1
  204. data/lib/moov/models/components/wallettransactionstatus.rb +3 -1
  205. data/lib/moov/models/components/wallettransactiontype.rb +3 -1
  206. data/lib/moov/models/components/wallettype.rb +3 -1
  207. data/lib/moov/models/components/webhook.rb +1 -1
  208. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
  209. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
  210. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  211. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  212. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  213. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
  214. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
  215. data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
  216. data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
  217. data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
  218. data/lib/moov/models/components/webhookdataeventtest.rb +32 -0
  219. data/lib/moov/models/components/webhookdataeventtest.rbi +13 -0
  220. data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
  221. data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
  222. data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
  223. data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
  224. data/lib/moov/models/components/webhookdataticketupdated.rb +1 -1
  225. data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
  226. data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
  227. data/lib/moov/models/components/webhookevent.rb +3 -3
  228. data/lib/moov/models/components/webhookeventtype.rb +4 -1
  229. data/lib/moov/models/components/webhookstatus.rb +3 -1
  230. data/lib/moov/models/components.rb +4 -1
  231. data/lib/moov/models/errors/cardacquiringrefund_error.rb +1 -1
  232. data/lib/moov/models/errors/transfer_error.rb +6 -3
  233. data/lib/moov/models/operations/listaccounts_request.rb +1 -1
  234. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
  235. data/lib/moov/models/operations/listdisputes_request.rb +1 -1
  236. data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
  237. data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
  238. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
  239. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
  240. data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
  241. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +7 -3
  242. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +2 -0
  243. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
  244. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  245. data/lib/moov/models/operations/listproducts_request.rb +1 -1
  246. data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
  247. data/lib/moov/models/operations/listresiduals_request.rb +1 -1
  248. data/lib/moov/models/operations/listschedules_request.rb +1 -1
  249. data/lib/moov/models/operations/liststatements_request.rb +1 -1
  250. data/lib/moov/models/operations/listsweeps_request.rb +1 -1
  251. data/lib/moov/models/operations/listtickets_request.rb +1 -1
  252. data/lib/moov/models/operations/listtransfers_request.rb +2 -2
  253. data/lib/moov/models/operations/listwallets_request.rb +1 -1
  254. data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
  255. data/lib/moov/models/operations/retrievefees_request.rb +1 -1
  256. data/lib/moov/sdkconfiguration.rb +3 -3
  257. data/lib/moov/transfers.rb +11 -5
  258. data/lib/moov/utils/retries.rb +41 -2
  259. data/lib/moov/utils/utils.rb +6 -2
  260. metadata +8 -2
@@ -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:)
@@ -0,0 +1,32 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # The data payload sent for an `event.test` event, such as a webhook ping.
11
+ class WebhookDataEventTest
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :ping, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('ping'), required: true } }
17
+
18
+ sig { params(ping: T::Boolean).void }
19
+ def initialize(ping:)
20
+ @ping = ping
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @ping == other.ping
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::WebhookDataEventTest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::WebhookDataEventTest
11
+ def ping(); end
12
+ def ping=(str_); end
13
+ end
@@ -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:)
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :ticket_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('ticketID'), required: true } }
19
19
 
20
- field :status, Models::Components::TicketStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TicketStatus, false) } }
20
+ field :status, Models::Components::TicketStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TicketStatus, false) } }
21
21
 
22
22
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
23
23
 
@@ -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,13 +15,13 @@ 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
- 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 } }
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, Models::Components::WebhookDataEventTest), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('data'), required: true } }
21
21
 
22
22
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
23
23
 
24
- sig { params(event_id: ::String, type: Models::Components::WebhookEventType, data: T.any(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), created_on: ::DateTime).void }
24
+ sig { params(event_id: ::String, type: Models::Components::WebhookEventType, data: T.any(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, Models::Components::WebhookDataEventTest), created_on: ::DateTime).void }
25
25
  def initialize(event_id:, type:, data:, created_on:)
26
26
  @event_id = event_id
27
27
  @type = type
@@ -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')
@@ -49,7 +50,9 @@ module Moov
49
50
  WALLET_TRANSACTION_UPDATED = new('walletTransaction.updated')
50
51
  BILLING_STATEMENT_CREATED = new('billingStatement.created')
51
52
  AUTHORIZATION_EXPIRING = new('authorization.expiring')
53
+ EVENT_TEST = new('event.test')
52
54
  end
55
+ open!
53
56
  end
54
57
  end
55
58
  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'
@@ -579,6 +582,7 @@ module Moov
579
582
  autoload :WebhookDataCardAutoUpdated, 'moov/models/components/webhookdatacardautoupdated.rb'
580
583
  autoload :WebhookDataDisputeCreated, 'moov/models/components/webhookdatadisputecreated.rb'
581
584
  autoload :WebhookDataDisputeUpdated, 'moov/models/components/webhookdatadisputeupdated.rb'
585
+ autoload :WebhookDataEventTest, 'moov/models/components/webhookdataeventtest.rb'
582
586
  autoload :WebhookDataInvoiceCreated, 'moov/models/components/webhookdatainvoicecreated.rb'
583
587
  autoload :WebhookDataInvoiceUpdated, 'moov/models/components/webhookdatainvoiceupdated.rb'
584
588
  autoload :WebhookDataNetworkIDUpdated, 'moov/models/components/webhookdatanetworkidupdated.rb'
@@ -611,7 +615,6 @@ module Moov
611
615
  autoload :WireServices, 'moov/models/components/wireservices.rb'
612
616
  autoload :AchDetails, 'moov/models/components/achdetails.rb'
613
617
  autoload :AchPayment, 'moov/models/components/achpayment.rb'
614
- autoload :AdjustmentFees, 'moov/models/components/adjustmentfees.rb'
615
618
  autoload :BillingAddress, 'moov/models/components/billingaddress.rb'
616
619
  autoload :CardAcquiring, 'moov/models/components/cardacquiring.rb'
617
620
  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::CreateAccountType), 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::CreateAccountType), 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 } }
@@ -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 transfer ID to filter the results by.
22
22
  field :transfer_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'transferID', 'style': 'form', 'explode': false } }
@@ -18,7 +18,7 @@ module Moov
18
18
  field :authorization_id, ::String, { 'path_param': { 'field_name': 'authorizationID', 'style': 'simple', 'explode': false } }
19
19
 
20
20
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
21
-
21
+ # Page size. When omitted, the server defaults to `200`.
22
22
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
23
23
 
24
24
  sig { params(account_id: ::String, authorization_id: ::String, 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 ID of the issued card to filter results.
22
22
  field :issued_card_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'issuedCardID', '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
  # Optional, comma-separated states to filter the Moov list issued cards response. For example `active,closed`
22
22
  field :states, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::IssuedCardState)), { 'query_param': { 'field_name': 'states', 'style': 'form', 'explode': false } }
@@ -16,21 +16,24 @@ 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 ID of the issued card to filter results.
22
22
  field :issued_card_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'issuedCardID', 'style': 'form', 'explode': false } }
23
+ # Optional case-insensitive substring match on the merchant name to filter results.
24
+ field :merchant_name, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'merchantName', 'style': 'form', 'explode': false } }
23
25
  # Optional date-time which inclusively filters all card transactions created after this date-time.
24
26
  field :start_date_time, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'startDateTime', 'style': 'form', 'explode': false } }
25
27
  # Optional date-time which exclusively filters all card transactions created before this date-time.
26
28
  field :end_date_time, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'endDateTime', 'style': 'form', 'explode': false } }
27
29
 
28
- sig { params(account_id: ::String, skip: T.nilable(::Integer), count: T.nilable(::Integer), issued_card_id: T.nilable(::String), start_date_time: T.nilable(::DateTime), end_date_time: T.nilable(::DateTime)).void }
29
- def initialize(account_id:, skip: nil, count: nil, issued_card_id: nil, start_date_time: nil, end_date_time: nil)
30
+ sig { params(account_id: ::String, skip: T.nilable(::Integer), count: T.nilable(::Integer), issued_card_id: T.nilable(::String), merchant_name: T.nilable(::String), start_date_time: T.nilable(::DateTime), end_date_time: T.nilable(::DateTime)).void }
31
+ def initialize(account_id:, skip: nil, count: nil, issued_card_id: nil, merchant_name: nil, start_date_time: nil, end_date_time: nil)
30
32
  @account_id = account_id
31
33
  @skip = skip
32
34
  @count = count
33
35
  @issued_card_id = issued_card_id
36
+ @merchant_name = merchant_name
34
37
  @start_date_time = start_date_time
35
38
  @end_date_time = end_date_time
36
39
  end
@@ -42,6 +45,7 @@ module Moov
42
45
  return false unless @skip == other.skip
43
46
  return false unless @count == other.count
44
47
  return false unless @issued_card_id == other.issued_card_id
48
+ return false unless @merchant_name == other.merchant_name
45
49
  return false unless @start_date_time == other.start_date_time
46
50
  return false unless @end_date_time == other.end_date_time
47
51
  true
@@ -16,6 +16,8 @@ class Moov::Models::Operations::ListIssuedCardTransactionsRequest
16
16
  def count=(str_); end
17
17
  def issued_card_id(); end
18
18
  def issued_card_id=(str_); end
19
+ def merchant_name(); end
20
+ def merchant_name=(str_); end
19
21
  def start_date_time(); end
20
22
  def start_date_time=(str_); end
21
23
  def end_date_time(); end
@@ -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 } }
@@ -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 payment link types to filter results.
22
22
  field :types, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::PaymentLinkType)), { 'query_param': { 'field_name': 'types', 'style': 'form', 'explode': false } }
@@ -18,7 +18,7 @@ module Moov
18
18
  field :title, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'title', 'style': 'form', 'explode': false } }
19
19
 
20
20
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
21
-
21
+ # Page size. When omitted, the server defaults to `200`.
22
22
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
23
23
 
24
24
  sig { params(account_id: ::String, title: T.nilable(::String), skip: T.nilable(::Integer), count: T.nilable(::Integer)).void }
@@ -18,7 +18,7 @@ module Moov
18
18
  field :residual_id, ::String, { 'path_param': { 'field_name': 'residualID', 'style': 'simple', 'explode': false } }
19
19
 
20
20
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
21
-
21
+ # Page size. When omitted, the server defaults to `200`.
22
22
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
23
23
  # Optional date-time to inclusively filter all fees created after this date-time.
24
24
  field :start_date_time, Crystalline::Nilable.new(::String), { '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
  # Optional date-time to inclusively filter all residuals with a period start after this date-time.
22
22
  field :start_date_time, Crystalline::Nilable.new(::String), { '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
 
22
22
  field :hydrate, Crystalline::Nilable.new(Models::Operations::Hydrate), { 'query_param': { 'field_name': 'hydrate', 'style': 'form', 'explode': false } }