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
@@ -24,10 +24,10 @@ module Moov
24
24
  field :platform_fees, Crystalline::Nilable.new(Models::Components::BillingSummaryPlatformFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('platformFees') } }
25
25
  # A summary of account fees.
26
26
  field :account_fees, Crystalline::Nilable.new(Models::Components::BillingSummaryDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountFees') } }
27
- # The total amount of adjustment fees. This field is deprecated and will be removed in a future release.
27
+ # The total amount of adjustment fees. This field is deprecated and will be removed in a future release. Use adjustments.total.
28
28
  #
29
29
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
30
- field :adjustment_fees, Crystalline::Nilable.new(Models::Components::AdjustmentFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('adjustmentFees') } }
30
+ field :adjustment_fees, Crystalline::Nilable.new(Models::Components::BillingSummaryAdjustmentFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('adjustmentFees') } }
31
31
  # The total amount of other card fees. This field is deprecated and will be removed in a future release. Use summary.otherCardFees.
32
32
  #
33
33
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
@@ -46,9 +46,11 @@ module Moov
46
46
  field :monthly_partner_costs, Crystalline::Nilable.new(Models::Components::PartnerFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('monthlyPartnerCosts') } }
47
47
  # Final partner payment after deducting monthlyPartnerCosts.
48
48
  field :net_partner_payment, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('netPartnerPayment') } }
49
+ # Final partner payment after deducting monthlyPartnerCosts and any adjustments.
50
+ field :total_net_partner_payment, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('totalNetPartnerPayment') } }
49
51
 
50
- sig { params(card_acquiring: T.nilable(Models::Components::CardAcquiring), ach: T.nilable(Models::Components::BillingSummaryDetails), instant_payments: T.nilable(Models::Components::BillingSummaryDetails), platform_fees: T.nilable(Models::Components::BillingSummaryPlatformFees), account_fees: T.nilable(Models::Components::BillingSummaryDetails), adjustment_fees: T.nilable(Models::Components::AdjustmentFees), other_fees: T.nilable(Models::Components::OtherFees), other_card_fees: T.nilable(Models::Components::BillingSummaryDetails), total: T.nilable(Models::Components::AmountDecimal), net_income_subtotal: T.nilable(Models::Components::BillingSummaryDetails), revenue_share: T.nilable(::String), residual_subtotal: T.nilable(Models::Components::AmountDecimal), monthly_partner_costs: T.nilable(Models::Components::PartnerFees), net_partner_payment: T.nilable(Models::Components::AmountDecimal)).void }
51
- def initialize(card_acquiring: nil, ach: nil, instant_payments: nil, platform_fees: nil, account_fees: nil, adjustment_fees: nil, other_fees: nil, other_card_fees: nil, total: nil, net_income_subtotal: nil, revenue_share: nil, residual_subtotal: nil, monthly_partner_costs: nil, net_partner_payment: nil)
52
+ sig { params(card_acquiring: T.nilable(Models::Components::CardAcquiring), ach: T.nilable(Models::Components::BillingSummaryDetails), instant_payments: T.nilable(Models::Components::BillingSummaryDetails), platform_fees: T.nilable(Models::Components::BillingSummaryPlatformFees), account_fees: T.nilable(Models::Components::BillingSummaryDetails), adjustment_fees: T.nilable(Models::Components::BillingSummaryAdjustmentFees), other_fees: T.nilable(Models::Components::OtherFees), other_card_fees: T.nilable(Models::Components::BillingSummaryDetails), total: T.nilable(Models::Components::AmountDecimal), net_income_subtotal: T.nilable(Models::Components::BillingSummaryDetails), revenue_share: T.nilable(::String), residual_subtotal: T.nilable(Models::Components::AmountDecimal), monthly_partner_costs: T.nilable(Models::Components::PartnerFees), net_partner_payment: T.nilable(Models::Components::AmountDecimal), total_net_partner_payment: T.nilable(Models::Components::AmountDecimal)).void }
53
+ def initialize(card_acquiring: nil, ach: nil, instant_payments: nil, platform_fees: nil, account_fees: nil, adjustment_fees: nil, other_fees: nil, other_card_fees: nil, total: nil, net_income_subtotal: nil, revenue_share: nil, residual_subtotal: nil, monthly_partner_costs: nil, net_partner_payment: nil, total_net_partner_payment: nil)
52
54
  @card_acquiring = card_acquiring
53
55
  @ach = ach
54
56
  @instant_payments = instant_payments
@@ -63,6 +65,7 @@ module Moov
63
65
  @residual_subtotal = residual_subtotal
64
66
  @monthly_partner_costs = monthly_partner_costs
65
67
  @net_partner_payment = net_partner_payment
68
+ @total_net_partner_payment = total_net_partner_payment
66
69
  end
67
70
 
68
71
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -82,6 +85,7 @@ module Moov
82
85
  return false unless @residual_subtotal == other.residual_subtotal
83
86
  return false unless @monthly_partner_costs == other.monthly_partner_costs
84
87
  return false unless @net_partner_payment == other.net_partner_payment
88
+ return false unless @total_net_partner_payment == other.total_net_partner_payment
85
89
  true
86
90
  end
87
91
  end
@@ -36,4 +36,6 @@ class Moov::Models::Components::BillingSummary
36
36
  def monthly_partner_costs=(str_); end
37
37
  def net_partner_payment(); end
38
38
  def net_partner_payment=(str_); end
39
+ def total_net_partner_payment(); end
40
+ def total_net_partner_payment=(str_); end
39
41
  end
@@ -0,0 +1,40 @@
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 total amount of adjustment fees. This field is deprecated and will be removed in a future release. Use adjustments.total.
11
+ #
12
+ # @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
13
+ class BillingSummaryAdjustmentFees
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+ # A 3-letter ISO 4217 currency code.
18
+ field :currency, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('currency'), required: true } }
19
+ # A decimal-formatted numerical string that represents up to 9 decimal place precision.
20
+ #
21
+ # For example, $12.987654321 is '12.987654321'.
22
+ field :value_decimal, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('valueDecimal'), required: true } }
23
+
24
+ sig { params(currency: ::String, value_decimal: ::String).void }
25
+ def initialize(currency:, value_decimal:)
26
+ @currency = currency
27
+ @value_decimal = value_decimal
28
+ end
29
+
30
+ sig { params(other: T.untyped).returns(T::Boolean) }
31
+ def ==(other)
32
+ return false unless other.is_a? self.class
33
+ return false unless @currency == other.currency
34
+ return false unless @value_decimal == other.value_decimal
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::BillingSummaryAdjustmentFees
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::BillingSummaryAdjustmentFees
11
+ def currency(); end
12
+ def currency=(str_); end
13
+ def value_decimal(); end
14
+ def value_decimal=(str_); end
15
+ end
@@ -19,7 +19,7 @@ module Moov
19
19
  # A registered trade name under which the business operates, if different from its legal name.
20
20
  field :doing_business_as, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('doingBusinessAs') } }
21
21
  # The type of entity represented by this business.
22
- field :business_type, Crystalline::Nilable.new(Models::Components::BusinessType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('businessType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BusinessType, true) } }
22
+ field :business_type, Crystalline::Nilable.new(Models::Components::BusinessType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('businessType'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BusinessType, true) } }
23
23
 
24
24
  field :address, Crystalline::Nilable.new(Models::Components::Address), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('address') } }
25
25
 
@@ -39,7 +39,7 @@ module Moov
39
39
  # Classification identifier for the industry. Use the [GET industries](https://docs.moov.io/api/enrichment/form-shortening/industries/get/) endpoint to retrieve an array of valid industry details for a merchant, inducing all industry field values.
40
40
  field :industry, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('industry') } }
41
41
  # If the business is a financial institution, this field describes its primary regulator.
42
- field :primary_regulator, Crystalline::Nilable.new(Models::Components::PrimaryRegulator), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('primaryRegulator'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PrimaryRegulator, true) } }
42
+ field :primary_regulator, Crystalline::Nilable.new(Models::Components::PrimaryRegulator), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('primaryRegulator'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::PrimaryRegulator, true) } }
43
43
 
44
44
  sig { params(legal_business_name: ::String, owners_provided: T::Boolean, doing_business_as: T.nilable(::String), business_type: T.nilable(Models::Components::BusinessType), address: T.nilable(Models::Components::Address), phone: T.nilable(Models::Components::PhoneNumber), email: T.nilable(::String), website: T.nilable(::String), description: T.nilable(::String), tax_id_provided: T.nilable(T::Boolean), representatives: T.nilable(T::Array[Models::Components::Representative]), industry_codes: T.nilable(Models::Components::IndustryCodes), industry: T.nilable(::String), primary_regulator: T.nilable(Models::Components::PrimaryRegulator)).void }
45
45
  def initialize(legal_business_name:, owners_provided:, doing_business_as: nil, business_type: nil, address: nil, phone: nil, email: nil, website: nil, description: nil, tax_id_provided: nil, representatives: nil, industry_codes: nil, industry: nil, primary_regulator: nil)
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # BusinessType - The type of entity represented by this business.
11
- class BusinessType < T::Enum
11
+ class BusinessType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  SOLE_PROPRIETORSHIP = new('soleProprietorship')
14
15
  UNINCORPORATED_ASSOCIATION = new('unincorporatedAssociation')
@@ -21,6 +22,7 @@ module Moov
21
22
  INCORPORATED_NON_PROFIT = new('incorporatedNonProfit')
22
23
  GOVERNMENT_ENTITY = new('governmentEntity')
23
24
  end
25
+ open!
24
26
  end
25
27
  end
26
28
  end
@@ -11,7 +11,8 @@ module Moov
11
11
  #
12
12
  # If set to "auto" the UI will automatically select between
13
13
  # "pay" and "confirm" for payments and payouts respectively.
14
- class CallToAction < T::Enum
14
+ class CallToAction
15
+ include ::Crystalline::Enum
15
16
  enums do
16
17
  PAY = new('pay')
17
18
  BOOK = new('book')
@@ -20,6 +21,7 @@ module Moov
20
21
  CONFIRM = new('confirm')
21
22
  AUTO = new('auto')
22
23
  end
24
+ open!
23
25
  end
24
26
  end
25
27
  end
@@ -7,7 +7,7 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
-
10
+ # Cancellation of a transfer.
11
11
  class Cancellation
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
@@ -15,7 +15,7 @@ module Moov
15
15
 
16
16
  field :cancellation_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cancellationID'), required: true } }
17
17
 
18
- 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) } }
18
+ 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) } }
19
19
 
20
20
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
21
21
 
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class CancellationStatus < T::Enum
11
+ class CancellationStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  PENDING = new('pending')
14
15
  COMPLETED = new('completed')
15
16
  FAILED = new('failed')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -21,11 +21,11 @@ module Moov
21
21
  # Read our [capabilities reference](https://docs.moov.io/guides/accounts/capabilities/reference/) to choose the right capabilities for your integration.
22
22
  #
23
23
  # 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.
24
- field :capability, Models::Components::CapabilityID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capability'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CapabilityID, false) } }
24
+ field :capability, Models::Components::CapabilityID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capability'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CapabilityID, false) } }
25
25
 
26
26
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
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 :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
31
31
 
@@ -16,7 +16,8 @@ module Moov
16
16
  # Read our [capabilities reference](https://docs.moov.io/guides/accounts/capabilities/reference/) to choose the right capabilities for your integration.
17
17
  #
18
18
  # 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.
19
- class CapabilityID < T::Enum
19
+ class CapabilityID
20
+ include ::Crystalline::Enum
20
21
  enums do
21
22
  TRANSFERS = new('transfers')
22
23
  SEND_FUNDS = new('send-funds')
@@ -26,6 +27,7 @@ module Moov
26
27
  ISSUING_CARDHOLDER = new('issuing.cardholder')
27
28
  PRODUCTION_APP = new('production-app')
28
29
  end
30
+ open!
29
31
  end
30
32
  end
31
33
  end
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CapabilityStatus - The status of the capability requested for an account.
11
- class CapabilityStatus < T::Enum
11
+ class CapabilityStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  ENABLED = new('enabled')
14
15
  DISABLED = new('disabled')
15
16
  PENDING = new('pending')
16
17
  IN_REVIEW = new('in-review')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -19,9 +19,9 @@ module Moov
19
19
  # This field can be used to identify specific payment methods across multiple accounts on your platform.
20
20
  field :fingerprint, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fingerprint'), required: true } }
21
21
  # The card brand.
22
- field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardBrand, false) } }
22
+ field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardBrand, false) } }
23
23
  # The type of the card.
24
- field :card_type, Models::Components::CardType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardType, false) } }
24
+ field :card_type, Models::Components::CardType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardType, false) } }
25
25
  # Last four digits of the card number
26
26
  field :last_four_card_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber'), required: true } }
27
27
  # The first six to eight digits of the card number, which identifies the financial institution that issued the card.
@@ -59,9 +59,9 @@ module Moov
59
59
  # The results of the most recent card update request.
60
60
  field :card_account_updater, Crystalline::Nilable.new(Models::Components::CardAccountUpdater), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAccountUpdater') } }
61
61
  # Indicates which level of domestic push-to-card transfer is supported by the card, if any.
62
- field :domestic_push_to_card, Crystalline::Nilable.new(Models::Components::DomesticPushToCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPushToCard'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DomesticPushToCard, true) } }
62
+ field :domestic_push_to_card, Crystalline::Nilable.new(Models::Components::DomesticPushToCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPushToCard'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DomesticPushToCard, true) } }
63
63
  # Indicates if the card supports domestic pull-from-card transfer.
64
- field :domestic_pull_from_card, Crystalline::Nilable.new(Models::Components::DomesticPullFromCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPullFromCard'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DomesticPullFromCard, true) } }
64
+ field :domestic_pull_from_card, Crystalline::Nilable.new(Models::Components::DomesticPullFromCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPullFromCard'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DomesticPullFromCard, true) } }
65
65
  # Includes any payment methods created as a result of linking a card with the `x-wait-for` header set to `payment-method`.
66
66
  #
67
67
  # Only returned by the link card endpoint; not included when getting or listing cards.
@@ -15,7 +15,7 @@ module Moov
15
15
  # Timestamp from the card network indicating when the card update was processed.
16
16
  field :updated_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
17
17
  # The results of the card update request.
18
- field :update_type, Crystalline::Nilable.new(Models::Components::CardUpdateReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updateType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardUpdateReason, true) } }
18
+ field :update_type, Crystalline::Nilable.new(Models::Components::CardUpdateReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updateType'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardUpdateReason, true) } }
19
19
 
20
20
  sig { params(updated_on: T.nilable(::DateTime), update_type: T.nilable(Models::Components::CardUpdateReason)).void }
21
21
  def initialize(updated_on: nil, update_type: nil)
@@ -8,11 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CardAcquiringModel - Specifies the card processing pricing model
11
- class CardAcquiringModel < T::Enum
11
+ class CardAcquiringModel
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  COST_PLUS = new('cost-plus')
14
15
  FLAT_RATE = new('flat-rate')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -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
 
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CardBrand - The card brand.
11
- class CardBrand < T::Enum
11
+ class CardBrand
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  AMERICAN_EXPRESS = new('American Express')
14
15
  DISCOVER = new('Discover')
@@ -16,6 +17,7 @@ module Moov
16
17
  VISA = new('Visa')
17
18
  UNKNOWN = new('Unknown')
18
19
  end
20
+ open!
19
21
  end
20
22
  end
21
23
  end
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CardIssuingNetwork - The name of the network a card transaction is routed through.
11
- class CardIssuingNetwork < T::Enum
11
+ class CardIssuingNetwork
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  DISCOVER = new('discover')
14
15
  SHAZAM = new('shazam')
15
16
  VISA = new('visa')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -13,16 +13,16 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # Status of a transaction within the card payment lifecycle.
16
- field :status, Crystalline::Nilable.new(Models::Components::CardTransactionStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardTransactionStatus, true) } }
16
+ field :status, Crystalline::Nilable.new(Models::Components::CardTransactionStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardTransactionStatus, true) } }
17
17
 
18
- field :failure_code, Crystalline::Nilable.new(Models::Components::CardTransactionFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardTransactionFailureCode, true) } }
18
+ field :failure_code, Crystalline::Nilable.new(Models::Components::CardTransactionFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardTransactionFailureCode, true) } }
19
19
  # An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
20
20
  field :dynamic_descriptor, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('dynamicDescriptor') } }
21
21
  # Specifies the nature and initiator of a transaction.
22
22
  #
23
23
  # Crucial for recurring and merchant-initiated transactions as per card scheme rules.
24
24
  # Omit for customer-initiated e-commerce transactions.
25
- field :transaction_source, Crystalline::Nilable.new(Models::Components::TransactionSource), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transactionSource'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TransactionSource, true) } }
25
+ field :transaction_source, Crystalline::Nilable.new(Models::Components::TransactionSource), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transactionSource'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransactionSource, true) } }
26
26
 
27
27
  field :initiated_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('initiatedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
28
28
 
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class CardTransactionFailureCode < T::Enum
11
+ class CardTransactionFailureCode
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  CALL_ISSUER = new('call-issuer')
14
15
  DO_NOT_HONOR = new('do-not-honor')
@@ -36,6 +37,7 @@ module Moov
36
37
  UNKNOWN_ISSUE = new('unknown-issue')
37
38
  DUPLICATE_TRANSACTION = new('duplicate-transaction')
38
39
  end
40
+ open!
39
41
  end
40
42
  end
41
43
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CardTransactionStatus - Status of a transaction within the card payment lifecycle.
11
- class CardTransactionStatus < T::Enum
11
+ class CardTransactionStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  INITIATED = new('initiated')
14
15
  CONFIRMED = new('confirmed')
@@ -17,6 +18,7 @@ module Moov
17
18
  FAILED = new('failed')
18
19
  COMPLETED = new('completed')
19
20
  end
21
+ open!
20
22
  end
21
23
  end
22
24
  end
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CardType - The type of the card.
11
- class CardType < T::Enum
11
+ class CardType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  DEBIT = new('debit')
14
15
  CREDIT = new('credit')
15
16
  PREPAID = new('prepaid')
16
17
  UNKNOWN = new('unknown')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CardUpdateReason - The results of the card update request.
11
- class CardUpdateReason < T::Enum
11
+ class CardUpdateReason
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  UNSPECIFIED = new('unspecified')
14
15
  ACCOUNT_CLOSED = new('account-closed')
@@ -18,6 +19,7 @@ module Moov
18
19
  NO_MATCH = new('no-match')
19
20
  NUMBER_UPDATE = new('number-update')
20
21
  end
22
+ open!
21
23
  end
22
24
  end
23
25
  end
@@ -13,13 +13,13 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # Verification result of the card's CVV.
16
- field :cvv, Models::Components::CardVerificationResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cvv'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, false) } }
16
+ field :cvv, Models::Components::CardVerificationResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cvv'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardVerificationResult, false) } }
17
17
  # Verification result of the billing address line 1.
18
18
  # Derived from the same AVS code as `postalCode`; the card network returns a single code covering both address fields.
19
- field :address_line1, Models::Components::CardVerificationResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('addressLine1'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, false) } }
19
+ field :address_line1, Models::Components::CardVerificationResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('addressLine1'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardVerificationResult, false) } }
20
20
  # Verification result of the billing address postal code.
21
21
  # Derived from the same AVS code as `addressLine1`; the card network returns a single code covering both address fields.
22
- field :postal_code, Models::Components::CardVerificationResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('postalCode'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, false) } }
22
+ field :postal_code, Models::Components::CardVerificationResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('postalCode'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardVerificationResult, false) } }
23
23
  # Verification results of the cardholder's name, broken down by name component.
24
24
  field :account_name, Crystalline::Nilable.new(Models::Components::AccountNameVerification), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountName') } }
25
25
 
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CardVerificationResult - The result of a card verification check.
11
- class CardVerificationResult < T::Enum
11
+ class CardVerificationResult
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  NO_MATCH = new('noMatch')
14
15
  MATCH = new('match')
@@ -16,6 +17,7 @@ module Moov
16
17
  UNAVAILABLE = new('unavailable')
17
18
  PARTIAL_MATCH = new('partialMatch')
18
19
  end
20
+ open!
19
21
  end
20
22
  end
21
23
  end
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # CollectionPaymentMethodType - Payment methods allowed for collecting a payment.
11
- class CollectionPaymentMethodType < T::Enum
11
+ class CollectionPaymentMethodType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  APPLE_PAY = new('apple-pay')
14
15
  CARD_PAYMENT = new('card-payment')
15
16
  ACH_DEBIT_COLLECT = new('ach-debit-collect')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -13,7 +13,7 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # The type of entity represented by this account.
16
- field :account_type, Models::Components::AccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::AccountType, false) } }
16
+ field :account_type, Models::Components::AccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::AccountType, false) } }
17
17
 
18
18
  field :profile, Models::Components::CreateProfile, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('profile'), required: true } }
19
19
  # Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
@@ -34,7 +34,7 @@ module Moov
34
34
  # The `send-funds`, `collect-funds`, and `wallet` capability IDs are deprecated. Use granular values such as `send-funds.ach`, `collect-funds.card-payments`, or `wallet.balance` instead.
35
35
  field :capabilities, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::CapabilityID)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capabilities') } }
36
36
  # The operating mode for an account.
37
- field :mode, Crystalline::Nilable.new(Models::Components::Mode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::Mode, true) } }
37
+ field :mode, Crystalline::Nilable.new(Models::Components::Mode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::Mode, true) } }
38
38
 
39
39
  sig { params(account_type: Models::Components::AccountType, profile: Models::Components::CreateProfile, metadata: T.nilable(T::Hash[Symbol, ::String]), terms_of_service: T.nilable(Models::Components::TermsOfServicePayload), foreign_id: T.nilable(::String), customer_support: T.nilable(Models::Components::CustomerSupport), settings: T.nilable(Models::Components::Settings), capabilities: T.nilable(T::Array[Models::Components::CapabilityID]), mode: T.nilable(Models::Components::Mode)).void }
40
40
  def initialize(account_type:, profile:, metadata: nil, terms_of_service: nil, foreign_id: nil, customer_support: nil, settings: nil, capabilities: nil, mode: nil)
@@ -17,7 +17,7 @@ module Moov
17
17
  # A registered trade name under which the business operates, if different from its legal name.
18
18
  field :doing_business_as, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('doingBusinessAs') } }
19
19
  # The type of entity represented by this business.
20
- field :business_type, Crystalline::Nilable.new(Models::Components::BusinessType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('businessType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BusinessType, true) } }
20
+ field :business_type, Crystalline::Nilable.new(Models::Components::BusinessType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('businessType'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BusinessType, true) } }
21
21
 
22
22
  field :address, Crystalline::Nilable.new(Models::Components::Address), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('address') } }
23
23
 
@@ -35,7 +35,7 @@ module Moov
35
35
  # Classification identifier for the industry. Use the [GET industries](https://docs.moov.io/api/enrichment/form-shortening/industries/get/) endpoint to retrieve an array of valid industry details for a merchant, inducing all industry field values.
36
36
  field :industry, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('industry') } }
37
37
  # If the business is a financial institution, this field describes its primary regulator.
38
- field :primary_regulator, Crystalline::Nilable.new(Models::Components::PrimaryRegulator), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('primaryRegulator'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PrimaryRegulator, true) } }
38
+ field :primary_regulator, Crystalline::Nilable.new(Models::Components::PrimaryRegulator), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('primaryRegulator'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::PrimaryRegulator, true) } }
39
39
 
40
40
  sig { params(legal_business_name: ::String, doing_business_as: T.nilable(::String), business_type: T.nilable(Models::Components::BusinessType), address: T.nilable(Models::Components::Address), phone: T.nilable(Models::Components::PhoneNumber), email: T.nilable(::String), website: T.nilable(::String), description: T.nilable(::String), tax_id: T.nilable(Models::Components::TaxID), industry_codes: T.nilable(Models::Components::IndustryCodes), industry: T.nilable(::String), primary_regulator: T.nilable(Models::Components::PrimaryRegulator)).void }
41
41
  def initialize(legal_business_name:, doing_business_as: nil, business_type: nil, address: nil, phone: nil, email: nil, website: nil, description: nil, tax_id: nil, industry_codes: nil, industry: nil, primary_regulator: nil)
@@ -23,10 +23,13 @@ module Moov
23
23
 
24
24
  field :completed_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('completedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
25
25
  # Status of a transfer.
26
- field :status, Crystalline::Nilable.new(Models::Components::TransferStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TransferStatus, true) } }
26
+ field :status, Crystalline::Nilable.new(Models::Components::TransferStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferStatus, true) } }
27
27
  # Reason for a transfer's failure.
28
- 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) } }
29
-
28
+ 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) } }
29
+ # Amount associated with this transfer.
30
+ # In v2026.10 and later, an auth-capture `card-payment` transfer reports the approved authorization amount until a final capture is created.
31
+ # For these transfers, when a final capture is created, this is updated to the cumulative captured amount.
32
+ # For other transfer types, this is the transfer amount.
30
33
  field :amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
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') } }
@@ -15,7 +15,7 @@ module Moov
15
15
  # The text to associate with the dispute as evidence.
16
16
  field :text, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('text'), required: true } }
17
17
 
18
- field :evidence_type, Models::Components::EvidenceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('evidenceType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::EvidenceType, false) } }
18
+ field :evidence_type, Models::Components::EvidenceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('evidenceType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::EvidenceType, false) } }
19
19
 
20
20
  sig { params(text: ::String, evidence_type: Models::Components::EvidenceType).void }
21
21
  def initialize(text:, evidence_type:)
@@ -12,18 +12,28 @@ module Moov
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer).
15
+ # A unique identifier for a fee plan: the pricing terms, such as flat-rate or cost-plus, that an account
16
+ # is charged under its fee plan agreement. Use GET /accounts/{accountID}/fee-plans to list the fee plans
17
+ # available to assign to a given account.
16
18
  field :plan_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('planID'), required: true } }
19
+ # The account's active fee plan agreement to supersede. When set, that agreement is terminated and
20
+ # the new one takes its place in a single operation, so the account is never without an active fee
21
+ # plan agreement. This new agreement always receives a newly issued agreementID.
22
+ #
23
+ # Omit it if the account doesn't already have an active fee plan agreement.
24
+ field :prior_agreement_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priorAgreementID') } }
17
25
 
18
- sig { params(plan_id: ::String).void }
19
- def initialize(plan_id:)
26
+ sig { params(plan_id: ::String, prior_agreement_id: T.nilable(::String)).void }
27
+ def initialize(plan_id:, prior_agreement_id: nil)
20
28
  @plan_id = plan_id
29
+ @prior_agreement_id = prior_agreement_id
21
30
  end
22
31
 
23
32
  sig { params(other: T.untyped).returns(T::Boolean) }
24
33
  def ==(other)
25
34
  return false unless other.is_a? self.class
26
35
  return false unless @plan_id == other.plan_id
36
+ return false unless @prior_agreement_id == other.prior_agreement_id
27
37
  true
28
38
  end
29
39
  end