moov_ruby 26.4.13 → 26.7.0.pre.dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/account_terminal_applications.rb +16 -16
  3. data/lib/moov/accounts.rb +54 -52
  4. data/lib/moov/adjustments.rb +8 -8
  5. data/lib/moov/apple_pay.rb +20 -20
  6. data/lib/moov/authentication.rb +8 -8
  7. data/lib/moov/avatars.rb +5 -5
  8. data/lib/moov/bank_accounts.rb +37 -37
  9. data/lib/moov/branding.rb +12 -12
  10. data/lib/moov/capabilities.rb +20 -20
  11. data/lib/moov/card_issuing.rb +25 -25
  12. data/lib/moov/cards.rb +178 -20
  13. data/lib/moov/disputes.rb +44 -44
  14. data/lib/moov/end_to_end_encryption.rb +8 -8
  15. data/lib/moov/enriched_address.rb +5 -5
  16. data/lib/moov/enriched_profile.rb +5 -5
  17. data/lib/moov/fee_plans.rb +40 -40
  18. data/lib/moov/files.rb +12 -12
  19. data/lib/moov/google_pay.rb +4 -4
  20. data/lib/moov/images.rb +28 -28
  21. data/lib/moov/industries.rb +4 -4
  22. data/lib/moov/institutions.rb +9 -9
  23. data/lib/moov/invoices.rb +28 -28
  24. data/lib/moov/issuing_transactions.rb +20 -20
  25. data/lib/moov/models/components/addcapabilities.rb +1 -5
  26. data/lib/moov/models/components/amountdecimalrange.rb +36 -0
  27. data/lib/moov/models/components/amountdecimalrange.rbi +15 -0
  28. data/lib/moov/models/components/amountdecimalrangeupdate.rb +36 -0
  29. data/lib/moov/models/components/amountdecimalrangeupdate.rbi +15 -0
  30. data/lib/moov/models/components/authorizeduser.rb +36 -0
  31. data/lib/moov/models/components/authorizeduser.rbi +15 -0
  32. data/lib/moov/models/components/capability.rb +1 -7
  33. data/lib/moov/models/components/capabilityid.rb +1 -8
  34. data/lib/moov/models/components/cardbrandfees.rb +2 -6
  35. data/lib/moov/models/components/cardbrandfees.rbi +0 -2
  36. data/lib/moov/models/components/cardmetadata.rb +79 -0
  37. data/lib/moov/models/components/cardmetadata.rbi +35 -0
  38. data/lib/moov/models/components/cardmetadatarequest.rb +38 -0
  39. data/lib/moov/models/components/cardmetadatarequest.rbi +15 -0
  40. data/lib/moov/models/components/cardtransactiondetails.rb +2 -10
  41. data/lib/moov/models/components/cardtransactiondetails.rbi +0 -4
  42. data/lib/moov/models/components/cardtransactionstatus.rb +0 -1
  43. data/lib/moov/models/components/createaccount.rb +1 -5
  44. data/lib/moov/models/components/createauthorizeduser.rb +40 -0
  45. data/lib/moov/models/components/createauthorizeduser.rbi +17 -0
  46. data/lib/moov/models/components/createauthorizedusererror.rb +40 -0
  47. data/lib/moov/models/components/createauthorizedusererror.rbi +17 -0
  48. data/lib/moov/models/components/createauthorizeduserupdate.rb +40 -0
  49. data/lib/moov/models/components/createauthorizeduserupdate.rbi +17 -0
  50. data/lib/moov/models/components/createdtransfer.rb +2 -10
  51. data/lib/moov/models/components/createdtransfer.rbi +0 -4
  52. data/lib/moov/models/components/createpaymentlink.rb +15 -15
  53. data/lib/moov/models/components/createpaymentlink.rbi +4 -4
  54. data/lib/moov/models/components/createpaymentlinkamountdetails.rb +32 -0
  55. data/lib/moov/models/components/createpaymentlinkamountdetails.rbi +13 -0
  56. data/lib/moov/models/components/createpaymentlinkamountdetailsvalidationerror.rb +32 -0
  57. data/lib/moov/models/components/createpaymentlinkamountdetailsvalidationerror.rbi +13 -0
  58. data/lib/moov/models/components/createrefund.rb +2 -2
  59. data/lib/moov/models/components/createreversal.rb +1 -1
  60. data/lib/moov/models/components/createtransfer.rb +2 -6
  61. data/lib/moov/models/components/createtransfer.rbi +0 -2
  62. data/lib/moov/models/components/createtransferamountdetails.rb +6 -2
  63. data/lib/moov/models/components/createtransferamountdetails.rbi +2 -0
  64. data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rb +6 -2
  65. data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rbi +2 -0
  66. data/lib/moov/models/components/createtransferdestinationcard.rb +2 -6
  67. data/lib/moov/models/components/createtransferdestinationcard.rbi +0 -2
  68. data/lib/moov/models/components/filedetails.rb +1 -1
  69. data/lib/moov/models/components/filepurpose.rb +1 -1
  70. data/lib/moov/models/components/fullissuedcard.rb +13 -23
  71. data/lib/moov/models/components/fullissuedcard.rbi +4 -10
  72. data/lib/moov/models/components/invoice.rb +3 -7
  73. data/lib/moov/models/components/invoice.rbi +0 -2
  74. data/lib/moov/models/components/issuedcard.rb +13 -23
  75. data/lib/moov/models/components/issuedcard.rbi +4 -10
  76. data/lib/moov/models/components/issuedcardstate.rb +5 -1
  77. data/lib/moov/models/components/issuingintervallimit.rb +1 -1
  78. data/lib/moov/models/components/issuingvelocitylimit.rb +1 -1
  79. data/lib/moov/models/components/manualtermsofservice.rb +1 -1
  80. data/lib/moov/models/components/manualtermsofserviceupdate.rb +1 -1
  81. data/lib/moov/models/components/onboardinginvite.rb +2 -2
  82. data/lib/moov/models/components/onboardinginviterequest.rb +1 -1
  83. data/lib/moov/models/components/patchtransfer.rb +1 -1
  84. data/lib/moov/models/components/paymentlink.rb +15 -15
  85. data/lib/moov/models/components/paymentlink.rbi +4 -4
  86. data/lib/moov/models/components/paymentlinkamountdetails.rb +32 -0
  87. data/lib/moov/models/components/paymentlinkamountdetails.rbi +13 -0
  88. data/lib/moov/models/components/paymentlinkpaymentdetails.rb +14 -2
  89. data/lib/moov/models/components/paymentlinkpaymentdetails.rbi +6 -0
  90. data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rb +19 -0
  91. data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rbi +11 -0
  92. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rb +14 -2
  93. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rbi +6 -0
  94. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rb +19 -0
  95. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rbi +11 -0
  96. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +2 -9
  97. data/lib/moov/models/components/paymentlinkpayoutdetails.rbi +0 -2
  98. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +2 -9
  99. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rbi +0 -2
  100. data/lib/moov/models/components/paymentmethodswallet.rb +0 -1
  101. data/lib/moov/models/components/payoutdetailserror.rb +2 -6
  102. data/lib/moov/models/components/payoutdetailserror.rbi +0 -2
  103. data/lib/moov/models/components/requestcard.rb +17 -17
  104. data/lib/moov/models/components/requestcard.rbi +8 -8
  105. data/lib/moov/models/components/termsofservice.rb +1 -1
  106. data/lib/moov/models/components/transfer.rb +2 -10
  107. data/lib/moov/models/components/transfer.rbi +0 -4
  108. data/lib/moov/models/components/transferamountdetails.rb +6 -2
  109. data/lib/moov/models/components/transferamountdetails.rbi +2 -0
  110. data/lib/moov/models/components/transferconfig.rb +2 -6
  111. data/lib/moov/models/components/transferconfig.rbi +0 -2
  112. data/lib/moov/models/components/transferdestination.rb +2 -8
  113. data/lib/moov/models/components/transferdestination.rbi +0 -2
  114. data/lib/moov/models/components/transferpaymentmethodswallet.rb +0 -1
  115. data/lib/moov/models/components/updateinvoice.rb +6 -6
  116. data/lib/moov/models/components/updateissuedcard.rb +9 -13
  117. data/lib/moov/models/components/updateissuedcard.rbi +4 -6
  118. data/lib/moov/models/components/updatepaymentlink.rb +6 -6
  119. data/lib/moov/models/components/updatepaymentlink.rbi +2 -2
  120. data/lib/moov/models/components/updatepaymentlinkamountdetails.rb +32 -0
  121. data/lib/moov/models/components/updatepaymentlinkamountdetails.rbi +13 -0
  122. data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rb +32 -0
  123. data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rbi +13 -0
  124. data/lib/moov/models/components/wallet.rb +0 -1
  125. data/lib/moov/models/components/wallettype.rb +0 -2
  126. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +2 -6
  127. data/lib/moov/models/components/webhookdatabankaccountdeleted.rbi +0 -2
  128. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -7
  129. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +1 -7
  130. data/lib/moov/models/components/webhookdatasweepcreated.rb +2 -6
  131. data/lib/moov/models/components/webhookdatasweepcreated.rbi +0 -2
  132. data/lib/moov/models/components/webhookdatasweepupdated.rb +2 -6
  133. data/lib/moov/models/components/webhookdatasweepupdated.rbi +0 -2
  134. data/lib/moov/models/components/webhookdatatransferstatus.rb +0 -3
  135. data/lib/moov/models/components/webhookevent.rb +2 -2
  136. data/lib/moov/models/components/webhookeventtype.rb +0 -1
  137. data/lib/moov/models/components.rb +15 -11
  138. data/lib/moov/models/errors/cardmetadatarequesterror.rb +44 -0
  139. data/lib/moov/models/errors/cardmetadatarequesterror.rbi +19 -0
  140. data/lib/moov/models/errors/createpaymentlinkerror.rb +6 -6
  141. data/lib/moov/models/errors/createpaymentlinkerror.rbi +2 -2
  142. data/lib/moov/models/errors/requestcarderror.rb +14 -14
  143. data/lib/moov/models/errors/requestcarderror.rbi +8 -8
  144. data/lib/moov/models/errors/transfer_error.rb +2 -10
  145. data/lib/moov/models/errors/transfer_error.rbi +0 -4
  146. data/lib/moov/models/errors/transfervalidationerror.rb +2 -6
  147. data/lib/moov/models/errors/transfervalidationerror.rbi +0 -2
  148. data/lib/moov/models/errors/updateissuedcarderror.rb +8 -12
  149. data/lib/moov/models/errors/updateissuedcarderror.rbi +4 -6
  150. data/lib/moov/models/errors/updatepaymentlinkerror.rb +6 -6
  151. data/lib/moov/models/errors/updatepaymentlinkerror.rbi +2 -2
  152. data/lib/moov/models/errors.rb +1 -0
  153. data/lib/moov/models/operations/disablecapability_request.rb +1 -7
  154. data/lib/moov/models/operations/getcapability_request.rb +1 -7
  155. data/lib/moov/models/operations/{listcancellations_response.rb → getcardmetadata_response.rb} +6 -6
  156. data/lib/moov/models/operations/{listcancellations_response.rbi → getcardmetadata_response.rbi} +4 -4
  157. data/lib/moov/models/operations/linkbankaccount_request.rb +1 -1
  158. data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
  159. data/lib/moov/models/operations/listtransfers_request.rb +2 -10
  160. data/lib/moov/models/operations/listtransfers_request.rbi +0 -4
  161. data/lib/moov/models/operations.rb +1 -2
  162. data/lib/moov/onboarding.rb +16 -16
  163. data/lib/moov/payment_links.rb +24 -24
  164. data/lib/moov/payment_methods.rb +8 -8
  165. data/lib/moov/ping.rb +4 -4
  166. data/lib/moov/products.rb +20 -20
  167. data/lib/moov/receipts.rb +8 -8
  168. data/lib/moov/representatives.rb +20 -20
  169. data/lib/moov/resolution_links.rb +16 -16
  170. data/lib/moov/scheduling.rb +24 -24
  171. data/lib/moov/sdkconfiguration.rb +4 -4
  172. data/lib/moov/statements.rb +8 -8
  173. data/lib/moov/support.rb +20 -20
  174. data/lib/moov/sweeps.rb +24 -24
  175. data/lib/moov/terminal_applications.rb +20 -20
  176. data/lib/moov/transfer_config.rb +12 -12
  177. data/lib/moov/transfers.rb +48 -171
  178. data/lib/moov/underwriting.rb +12 -12
  179. data/lib/moov/utils/retries.rb +1 -4
  180. data/lib/moov/wallet_transactions.rb +8 -8
  181. data/lib/moov/wallets.rb +16 -16
  182. data/lib/moov/webhooks.rb +32 -32
  183. metadata +40 -32
  184. data/lib/moov/models/components/billingaddress.rb +0 -52
  185. data/lib/moov/models/components/billingaddress.rbi +0 -23
  186. data/lib/moov/models/components/pushdeliveryspeed.rb +0 -19
  187. data/lib/moov/models/components/pushdeliveryspeed.rbi +0 -11
  188. data/lib/moov/models/components/pushoptions.rb +0 -38
  189. data/lib/moov/models/components/pushoptions.rbi +0 -15
  190. data/lib/moov/models/components/pushoptionserror.rb +0 -36
  191. data/lib/moov/models/components/pushoptionserror.rbi +0 -15
  192. data/lib/moov/models/components/pushoptionsupdate.rb +0 -38
  193. data/lib/moov/models/components/pushoptionsupdate.rbi +0 -15
  194. data/lib/moov/models/components/rtpfailurecode.rb +0 -27
  195. data/lib/moov/models/components/rtpfailurecode.rbi +0 -11
  196. data/lib/moov/models/components/rtptransactiondetails.rb +0 -58
  197. data/lib/moov/models/components/rtptransactiondetails.rbi +0 -25
  198. data/lib/moov/models/components/rtptransactionstatus.rb +0 -21
  199. data/lib/moov/models/components/rtptransactionstatus.rbi +0 -11
  200. data/lib/moov/models/components/transfercapture.rb +0 -36
  201. data/lib/moov/models/components/transfercapture.rbi +0 -15
  202. data/lib/moov/models/components/transfercontrols.rb +0 -48
  203. data/lib/moov/models/components/transfercontrols.rbi +0 -21
  204. data/lib/moov/models/components/webhookdataauthorizationexpiring.rb +0 -44
  205. data/lib/moov/models/components/webhookdataauthorizationexpiring.rbi +0 -19
  206. data/lib/moov/models/operations/listcancellations_request.rb +0 -36
  207. data/lib/moov/models/operations/listcancellations_request.rbi +0 -15
@@ -14,28 +14,40 @@ module Moov
14
14
 
15
15
  # A list of payment methods that should be supported for this payment link.
16
16
  field :allowed_methods, Crystalline::Array.new(Models::Components::CollectionPaymentMethodType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedMethods'), required: true } }
17
+ # The minimum and maximum amounts the buyer can specify when `amountType` is `open`.
18
+ field :amount_range, Crystalline::Nilable.new(Models::Components::AmountDecimalRange), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountRange') } }
19
+ # Optional preset amounts displayed to the buyer when `amountType` is `open`.
20
+ field :suggested_amounts, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AmountDecimal)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('suggestedAmounts') } }
17
21
  # Options for payment links used to collect a card payment.
18
22
  field :card_details, Crystalline::Nilable.new(Models::Components::CardPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
19
23
  # Options for payment links used to collect an ACH payment.
20
24
  field :ach_details, Crystalline::Nilable.new(Models::Components::ACHPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
21
25
  # Optional free-form metadata for the transfer.
22
26
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
27
+ # Indicates whether the payment amount is fixed by the merchant or open for the buyer to choose.
28
+ field :amount_type, Crystalline::Nilable.new(Models::Components::PaymentLinkPaymentDetailsAmountType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PaymentLinkPaymentDetailsAmountType, true) } }
23
29
 
24
- sig { params(allowed_methods: T::Array[Models::Components::CollectionPaymentMethodType], card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
25
- def initialize(allowed_methods:, card_details: nil, ach_details: nil, metadata: nil)
30
+ sig { params(allowed_methods: T::Array[Models::Components::CollectionPaymentMethodType], amount_range: T.nilable(Models::Components::AmountDecimalRange), suggested_amounts: T.nilable(T::Array[Models::Components::AmountDecimal]), card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails), metadata: T.nilable(T::Hash[Symbol, ::String]), amount_type: T.nilable(Models::Components::PaymentLinkPaymentDetailsAmountType)).void }
31
+ def initialize(allowed_methods:, amount_range: nil, suggested_amounts: nil, card_details: nil, ach_details: nil, metadata: nil, amount_type: Models::Components::PaymentLinkPaymentDetailsAmountType::FIXED)
26
32
  @allowed_methods = allowed_methods
33
+ @amount_range = amount_range
34
+ @suggested_amounts = suggested_amounts
27
35
  @card_details = card_details
28
36
  @ach_details = ach_details
29
37
  @metadata = metadata
38
+ @amount_type = amount_type
30
39
  end
31
40
 
32
41
  sig { params(other: T.untyped).returns(T::Boolean) }
33
42
  def ==(other)
34
43
  return false unless other.is_a? self.class
35
44
  return false unless @allowed_methods == other.allowed_methods
45
+ return false unless @amount_range == other.amount_range
46
+ return false unless @suggested_amounts == other.suggested_amounts
36
47
  return false unless @card_details == other.card_details
37
48
  return false unless @ach_details == other.ach_details
38
49
  return false unless @metadata == other.metadata
50
+ return false unless @amount_type == other.amount_type
39
51
  true
40
52
  end
41
53
  end
@@ -10,10 +10,16 @@ end
10
10
  class Moov::Models::Components::PaymentLinkPaymentDetails
11
11
  def allowed_methods(); end
12
12
  def allowed_methods=(str_); end
13
+ def amount_range(); end
14
+ def amount_range=(str_); end
15
+ def suggested_amounts(); end
16
+ def suggested_amounts=(str_); end
13
17
  def card_details(); end
14
18
  def card_details=(str_); end
15
19
  def ach_details(); end
16
20
  def ach_details=(str_); end
17
21
  def metadata(); end
18
22
  def metadata=(str_); end
23
+ def amount_type(); end
24
+ def amount_type=(str_); end
19
25
  end
@@ -0,0 +1,19 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # PaymentLinkPaymentDetailsAmountType - Indicates whether the payment amount is fixed by the merchant or open for the buyer to choose.
11
+ class PaymentLinkPaymentDetailsAmountType < T::Enum
12
+ enums do
13
+ FIXED = new('fixed')
14
+ OPEN = new('open')
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PaymentLinkPaymentDetailsAmountType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PaymentLinkPaymentDetailsAmountType
11
+ end
@@ -14,28 +14,40 @@ module Moov
14
14
 
15
15
  # A list of payment methods that should be supported for this payment link.
16
16
  field :allowed_methods, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::CollectionPaymentMethodType)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedMethods') } }
17
+ # The minimum and maximum amounts the buyer can specify when `amountType` is `open`.
18
+ field :amount_range, Crystalline::Nilable.new(Models::Components::AmountDecimalRangeUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountRange') } }
19
+ # Optional preset amounts displayed to the buyer when `amountType` is `open`.
20
+ field :suggested_amounts, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AmountDecimal)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('suggestedAmounts') } }
17
21
  # Options for payment links used to collect a card payment.
18
22
  field :card_details, Crystalline::Nilable.new(Models::Components::CardPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
19
23
  # Options for payment links used to collect an ACH payment.
20
24
  field :ach_details, Crystalline::Nilable.new(Models::Components::ACHPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
21
25
  # Optional free-form metadata for the transfer.
22
26
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
27
+ # Indicates whether the payment amount is fixed by the merchant or open for the buyer to choose.
28
+ field :amount_type, Crystalline::Nilable.new(Models::Components::PaymentLinkPaymentDetailsUpdateAmountType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PaymentLinkPaymentDetailsUpdateAmountType, true) } }
23
29
 
24
- sig { params(allowed_methods: T.nilable(T::Array[Models::Components::CollectionPaymentMethodType]), card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
25
- def initialize(allowed_methods: nil, card_details: nil, ach_details: nil, metadata: nil)
30
+ sig { params(allowed_methods: T.nilable(T::Array[Models::Components::CollectionPaymentMethodType]), amount_range: T.nilable(Models::Components::AmountDecimalRangeUpdate), suggested_amounts: T.nilable(T::Array[Models::Components::AmountDecimal]), card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails), metadata: T.nilable(T::Hash[Symbol, ::String]), amount_type: T.nilable(Models::Components::PaymentLinkPaymentDetailsUpdateAmountType)).void }
31
+ def initialize(allowed_methods: nil, amount_range: nil, suggested_amounts: nil, card_details: nil, ach_details: nil, metadata: nil, amount_type: Models::Components::PaymentLinkPaymentDetailsUpdateAmountType::FIXED)
26
32
  @allowed_methods = allowed_methods
33
+ @amount_range = amount_range
34
+ @suggested_amounts = suggested_amounts
27
35
  @card_details = card_details
28
36
  @ach_details = ach_details
29
37
  @metadata = metadata
38
+ @amount_type = amount_type
30
39
  end
31
40
 
32
41
  sig { params(other: T.untyped).returns(T::Boolean) }
33
42
  def ==(other)
34
43
  return false unless other.is_a? self.class
35
44
  return false unless @allowed_methods == other.allowed_methods
45
+ return false unless @amount_range == other.amount_range
46
+ return false unless @suggested_amounts == other.suggested_amounts
36
47
  return false unless @card_details == other.card_details
37
48
  return false unless @ach_details == other.ach_details
38
49
  return false unless @metadata == other.metadata
50
+ return false unless @amount_type == other.amount_type
39
51
  true
40
52
  end
41
53
  end
@@ -10,10 +10,16 @@ end
10
10
  class Moov::Models::Components::PaymentLinkPaymentDetailsUpdate
11
11
  def allowed_methods(); end
12
12
  def allowed_methods=(str_); end
13
+ def amount_range(); end
14
+ def amount_range=(str_); end
15
+ def suggested_amounts(); end
16
+ def suggested_amounts=(str_); end
13
17
  def card_details(); end
14
18
  def card_details=(str_); end
15
19
  def ach_details(); end
16
20
  def ach_details=(str_); end
17
21
  def metadata(); end
18
22
  def metadata=(str_); end
23
+ def amount_type(); end
24
+ def amount_type=(str_); end
19
25
  end
@@ -0,0 +1,19 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # PaymentLinkPaymentDetailsUpdateAmountType - Indicates whether the payment amount is fixed by the merchant or open for the buyer to choose.
11
+ class PaymentLinkPaymentDetailsUpdateAmountType < T::Enum
12
+ enums do
13
+ FIXED = new('fixed')
14
+ OPEN = new('open')
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PaymentLinkPaymentDetailsUpdateAmountType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PaymentLinkPaymentDetailsUpdateAmountType
11
+ end
@@ -21,18 +21,12 @@ module Moov
21
21
  field :recipient, Models::Components::PayoutRecipient, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recipient'), required: true } }
22
22
  # Optional free-form metadata for the transfer.
23
23
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
24
- # Delivery options for push-to-card payouts. Only applies when `allowedMethods` includes `push-to-card`.
25
- #
26
- # The `deferred` speed and `deferredBy` apply to `push-to-card` only. Other push methods
27
- # (`push-to-apple-pay`, `push-to-google-pay`) are always delivered instantly regardless of these options.
28
- field :push_options, Crystalline::Nilable.new(Models::Components::PushOptions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
29
24
 
30
- sig { params(allowed_methods: T::Array[Models::Components::DisbursementPaymentMethodType], recipient: Models::Components::PayoutRecipient, metadata: T.nilable(T::Hash[Symbol, ::String]), push_options: T.nilable(Models::Components::PushOptions)).void }
31
- def initialize(allowed_methods:, recipient:, metadata: nil, push_options: nil)
25
+ sig { params(allowed_methods: T::Array[Models::Components::DisbursementPaymentMethodType], recipient: Models::Components::PayoutRecipient, metadata: T.nilable(T::Hash[Symbol, ::String])).void }
26
+ def initialize(allowed_methods:, recipient:, metadata: nil)
32
27
  @allowed_methods = allowed_methods
33
28
  @recipient = recipient
34
29
  @metadata = metadata
35
- @push_options = push_options
36
30
  end
37
31
 
38
32
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -41,7 +35,6 @@ module Moov
41
35
  return false unless @allowed_methods == other.allowed_methods
42
36
  return false unless @recipient == other.recipient
43
37
  return false unless @metadata == other.metadata
44
- return false unless @push_options == other.push_options
45
38
  true
46
39
  end
47
40
  end
@@ -14,6 +14,4 @@ class Moov::Models::Components::PaymentLinkPayoutDetails
14
14
  def recipient=(str_); end
15
15
  def metadata(); end
16
16
  def metadata=(str_); end
17
- def push_options(); end
18
- def push_options=(str_); end
19
17
  end
@@ -21,18 +21,12 @@ module Moov
21
21
  field :recipient, Crystalline::Nilable.new(Models::Components::PayoutRecipient), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recipient') } }
22
22
  # Optional free-form metadata for the transfer.
23
23
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
24
- # Delivery options for push-to-card payouts. Only applies when `allowedMethods` includes `push-to-card`.
25
- #
26
- # The `deferred` speed and `deferredBy` apply to `push-to-card` only. Other push methods
27
- # (`push-to-apple-pay`, `push-to-google-pay`) are always delivered instantly regardless of these options.
28
- field :push_options, Crystalline::Nilable.new(Models::Components::PushOptionsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
29
24
 
30
- sig { params(allowed_methods: T.nilable(T::Array[Models::Components::DisbursementPaymentMethodType]), recipient: T.nilable(Models::Components::PayoutRecipient), metadata: T.nilable(T::Hash[Symbol, ::String]), push_options: T.nilable(Models::Components::PushOptionsUpdate)).void }
31
- def initialize(allowed_methods: nil, recipient: nil, metadata: nil, push_options: nil)
25
+ sig { params(allowed_methods: T.nilable(T::Array[Models::Components::DisbursementPaymentMethodType]), recipient: T.nilable(Models::Components::PayoutRecipient), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
26
+ def initialize(allowed_methods: nil, recipient: nil, metadata: nil)
32
27
  @allowed_methods = allowed_methods
33
28
  @recipient = recipient
34
29
  @metadata = metadata
35
- @push_options = push_options
36
30
  end
37
31
 
38
32
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -41,7 +35,6 @@ module Moov
41
35
  return false unless @allowed_methods == other.allowed_methods
42
36
  return false unless @recipient == other.recipient
43
37
  return false unless @metadata == other.metadata
44
- return false unless @push_options == other.push_options
45
38
  true
46
39
  end
47
40
  end
@@ -14,6 +14,4 @@ class Moov::Models::Components::PaymentLinkPayoutDetailsUpdate
14
14
  def recipient=(str_); end
15
15
  def metadata(); end
16
16
  def metadata=(str_); end
17
- def push_options(); end
18
- def push_options=(str_); end
19
17
  end
@@ -19,7 +19,6 @@ module Moov
19
19
  # Type of a wallet.
20
20
  # - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
21
21
  # - `general`: An additional, user-defined wallet created via API or Dashboard.
22
- # - `card-issuing`: The system-generated wallet automatically created when an account is granted the card-issuing capability.
23
22
  field :wallet_type, Models::Components::WalletType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletType, false) } }
24
23
 
25
24
  sig { params(wallet_id: ::String, partner_account_id: ::String, wallet_type: Models::Components::WalletType).void }
@@ -19,14 +19,11 @@ module Moov
19
19
 
20
20
  field :metadata, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
21
21
 
22
- field :push_options, Crystalline::Nilable.new(Models::Components::PushOptionsError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
23
-
24
- sig { params(allowed_methods: T.nilable(::String), recipient: T.nilable(Models::Components::PayoutRecipientError), metadata: T.nilable(::String), push_options: T.nilable(Models::Components::PushOptionsError)).void }
25
- def initialize(allowed_methods: nil, recipient: nil, metadata: nil, push_options: nil)
22
+ sig { params(allowed_methods: T.nilable(::String), recipient: T.nilable(Models::Components::PayoutRecipientError), metadata: T.nilable(::String)).void }
23
+ def initialize(allowed_methods: nil, recipient: nil, metadata: nil)
26
24
  @allowed_methods = allowed_methods
27
25
  @recipient = recipient
28
26
  @metadata = metadata
29
- @push_options = push_options
30
27
  end
31
28
 
32
29
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -35,7 +32,6 @@ module Moov
35
32
  return false unless @allowed_methods == other.allowed_methods
36
33
  return false unless @recipient == other.recipient
37
34
  return false unless @metadata == other.metadata
38
- return false unless @push_options == other.push_options
39
35
  true
40
36
  end
41
37
  end
@@ -14,6 +14,4 @@ class Moov::Models::Components::PayoutDetailsError
14
14
  def recipient=(str_); end
15
15
  def metadata(); end
16
16
  def metadata=(str_); end
17
- def push_options(); end
18
- def push_options=(str_); end
19
17
  end
@@ -13,24 +13,24 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
 
16
- field :authorized_user_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedUserAccountID') } }
17
-
18
- field :nickname, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('nickname') } }
19
- # Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
20
- field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
21
-
22
- field :billing_address, Crystalline::Nilable.new(Models::Components::Address), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress') } }
16
+ field :funding_wallet_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fundingWalletID'), required: true } }
17
+ # Fields for identifying an authorized individual.
18
+ field :authorized_user, Models::Components::CreateAuthorizedUser, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedUser'), required: true } }
19
+ # Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
20
+ field :form_factor, Models::Components::IssuedCardFormFactor, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('formFactor'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardFormFactor, false) } }
21
+ # An optional descriptive name for the card.
22
+ field :memo, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('memo') } }
23
23
  # The expiration date of the card or token.
24
24
  field :expiration, Crystalline::Nilable.new(Models::Components::CardExpiration), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration') } }
25
25
 
26
26
  field :controls, Crystalline::Nilable.new(Models::Components::IssuingControls), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('controls') } }
27
27
 
28
- sig { params(authorized_user_account_id: T.nilable(::String), nickname: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), billing_address: T.nilable(Models::Components::Address), expiration: T.nilable(Models::Components::CardExpiration), controls: T.nilable(Models::Components::IssuingControls)).void }
29
- def initialize(authorized_user_account_id: nil, nickname: nil, metadata: nil, billing_address: nil, expiration: nil, controls: nil)
30
- @authorized_user_account_id = authorized_user_account_id
31
- @nickname = nickname
32
- @metadata = metadata
33
- @billing_address = billing_address
28
+ sig { params(funding_wallet_id: ::String, authorized_user: Models::Components::CreateAuthorizedUser, form_factor: Models::Components::IssuedCardFormFactor, memo: T.nilable(::String), expiration: T.nilable(Models::Components::CardExpiration), controls: T.nilable(Models::Components::IssuingControls)).void }
29
+ def initialize(funding_wallet_id:, authorized_user:, form_factor:, memo: nil, expiration: nil, controls: nil)
30
+ @funding_wallet_id = funding_wallet_id
31
+ @authorized_user = authorized_user
32
+ @form_factor = form_factor
33
+ @memo = memo
34
34
  @expiration = expiration
35
35
  @controls = controls
36
36
  end
@@ -38,10 +38,10 @@ module Moov
38
38
  sig { params(other: T.untyped).returns(T::Boolean) }
39
39
  def ==(other)
40
40
  return false unless other.is_a? self.class
41
- return false unless @authorized_user_account_id == other.authorized_user_account_id
42
- return false unless @nickname == other.nickname
43
- return false unless @metadata == other.metadata
44
- return false unless @billing_address == other.billing_address
41
+ return false unless @funding_wallet_id == other.funding_wallet_id
42
+ return false unless @authorized_user == other.authorized_user
43
+ return false unless @form_factor == other.form_factor
44
+ return false unless @memo == other.memo
45
45
  return false unless @expiration == other.expiration
46
46
  return false unless @controls == other.controls
47
47
  true
@@ -8,14 +8,14 @@ end
8
8
 
9
9
 
10
10
  class Moov::Models::Components::RequestCard
11
- def authorized_user_account_id(); end
12
- def authorized_user_account_id=(str_); end
13
- def nickname(); end
14
- def nickname=(str_); end
15
- def metadata(); end
16
- def metadata=(str_); end
17
- def billing_address(); end
18
- def billing_address=(str_); end
11
+ def funding_wallet_id(); end
12
+ def funding_wallet_id=(str_); end
13
+ def authorized_user(); end
14
+ def authorized_user=(str_); end
15
+ def form_factor(); end
16
+ def form_factor=(str_); end
17
+ def memo(); end
18
+ def memo=(str_); end
19
19
  def expiration(); end
20
20
  def expiration=(str_); end
21
21
  def controls(); end
@@ -14,7 +14,7 @@ module Moov
14
14
 
15
15
  # The date and time the terms of service were accepted.
16
16
  field :accepted_date, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedDate'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
17
- # The IP address (IPv4 or IPv6) from which the terms of service were accepted.
17
+ # The IP address from which the terms of service were accepted.
18
18
  field :accepted_ip, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedIP'), required: true } }
19
19
 
20
20
  sig { params(accepted_date: ::DateTime, accepted_ip: ::String).void }
@@ -62,8 +62,6 @@ module Moov
62
62
  field :occurrence_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('occurrenceID') } }
63
63
 
64
64
  field :payment_link_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentLinkCode') } }
65
-
66
- field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
67
65
  # Optional alias from a foreign/external system which can be used to reference this resource.
68
66
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
69
67
  # An optional collection of line items for a transfer.
@@ -73,11 +71,9 @@ module Moov
73
71
  field :invoice_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoiceID') } }
74
72
 
75
73
  field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
76
- # The card authorization and capture IDs associated with a transfer.
77
- field :capture, Crystalline::Nilable.new(Models::Components::TransferCapture), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capture') } }
78
74
 
79
- sig { params(transfer_id: ::String, created_on: ::DateTime, source: Models::Components::TransferSource, destination: Models::Components::TransferDestination, status: Models::Components::TransferStatus, amount: Models::Components::Amount, completed_on: T.nilable(::DateTime), failure_reason: T.nilable(Models::Components::TransferFailureReason), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), facilitator_fee: T.nilable(Models::Components::FacilitatorFee), moov_fee: T.nilable(::Integer), moov_fee_decimal: T.nilable(::String), moov_fee_details: T.nilable(Models::Components::MoovFeeDetails), moov_fees: T.nilable(T::Array[Models::Components::MoovFee]), group_id: T.nilable(::String), cancellations: T.nilable(T::Array[Models::Components::Cancellation]), refunded_amount: T.nilable(Models::Components::Amount), refunds: T.nilable(T::Array[Models::Components::CardAcquiringRefund]), disputed_amount: T.nilable(Models::Components::Amount), disputes: T.nilable(T::Array[Models::Components::CardAcquiringDispute]), sweep_id: T.nilable(::String), schedule_id: T.nilable(::String), occurrence_id: T.nilable(::String), payment_link_code: T.nilable(::String), sales_tax_amount: T.nilable(Models::Components::Amount), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItems), invoice_id: T.nilable(::String), amount_details: T.nilable(Models::Components::TransferAmountDetails), capture: T.nilable(Models::Components::TransferCapture)).void }
80
- def initialize(transfer_id:, created_on:, source:, destination:, status:, amount:, completed_on: nil, failure_reason: nil, description: nil, metadata: nil, facilitator_fee: nil, moov_fee: nil, moov_fee_decimal: nil, moov_fee_details: nil, moov_fees: nil, group_id: nil, cancellations: nil, refunded_amount: nil, refunds: nil, disputed_amount: nil, disputes: nil, sweep_id: nil, schedule_id: nil, occurrence_id: nil, payment_link_code: nil, sales_tax_amount: nil, foreign_id: nil, line_items: nil, invoice_id: nil, amount_details: nil, capture: nil)
75
+ sig { params(transfer_id: ::String, created_on: ::DateTime, source: Models::Components::TransferSource, destination: Models::Components::TransferDestination, status: Models::Components::TransferStatus, amount: Models::Components::Amount, completed_on: T.nilable(::DateTime), failure_reason: T.nilable(Models::Components::TransferFailureReason), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), facilitator_fee: T.nilable(Models::Components::FacilitatorFee), moov_fee: T.nilable(::Integer), moov_fee_decimal: T.nilable(::String), moov_fee_details: T.nilable(Models::Components::MoovFeeDetails), moov_fees: T.nilable(T::Array[Models::Components::MoovFee]), group_id: T.nilable(::String), cancellations: T.nilable(T::Array[Models::Components::Cancellation]), refunded_amount: T.nilable(Models::Components::Amount), refunds: T.nilable(T::Array[Models::Components::CardAcquiringRefund]), disputed_amount: T.nilable(Models::Components::Amount), disputes: T.nilable(T::Array[Models::Components::CardAcquiringDispute]), sweep_id: T.nilable(::String), schedule_id: T.nilable(::String), occurrence_id: T.nilable(::String), payment_link_code: T.nilable(::String), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItems), invoice_id: T.nilable(::String), amount_details: T.nilable(Models::Components::TransferAmountDetails)).void }
76
+ def initialize(transfer_id:, created_on:, source:, destination:, status:, amount:, completed_on: nil, failure_reason: nil, description: nil, metadata: nil, facilitator_fee: nil, moov_fee: nil, moov_fee_decimal: nil, moov_fee_details: nil, moov_fees: nil, group_id: nil, cancellations: nil, refunded_amount: nil, refunds: nil, disputed_amount: nil, disputes: nil, sweep_id: nil, schedule_id: nil, occurrence_id: nil, payment_link_code: nil, foreign_id: nil, line_items: nil, invoice_id: nil, amount_details: nil)
81
77
  @transfer_id = transfer_id
82
78
  @created_on = created_on
83
79
  @source = source
@@ -103,12 +99,10 @@ module Moov
103
99
  @schedule_id = schedule_id
104
100
  @occurrence_id = occurrence_id
105
101
  @payment_link_code = payment_link_code
106
- @sales_tax_amount = sales_tax_amount
107
102
  @foreign_id = foreign_id
108
103
  @line_items = line_items
109
104
  @invoice_id = invoice_id
110
105
  @amount_details = amount_details
111
- @capture = capture
112
106
  end
113
107
 
114
108
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -139,12 +133,10 @@ module Moov
139
133
  return false unless @schedule_id == other.schedule_id
140
134
  return false unless @occurrence_id == other.occurrence_id
141
135
  return false unless @payment_link_code == other.payment_link_code
142
- return false unless @sales_tax_amount == other.sales_tax_amount
143
136
  return false unless @foreign_id == other.foreign_id
144
137
  return false unless @line_items == other.line_items
145
138
  return false unless @invoice_id == other.invoice_id
146
139
  return false unless @amount_details == other.amount_details
147
- return false unless @capture == other.capture
148
140
  true
149
141
  end
150
142
  end
@@ -58,8 +58,6 @@ class Moov::Models::Components::Transfer
58
58
  def occurrence_id=(str_); end
59
59
  def payment_link_code(); end
60
60
  def payment_link_code=(str_); end
61
- def sales_tax_amount(); end
62
- def sales_tax_amount=(str_); end
63
61
  def foreign_id(); end
64
62
  def foreign_id=(str_); end
65
63
  def line_items(); end
@@ -68,6 +66,4 @@ class Moov::Models::Components::Transfer
68
66
  def invoice_id=(str_); end
69
67
  def amount_details(); end
70
68
  def amount_details=(str_); end
71
- def capture(); end
72
- def capture=(str_); end
73
69
  end
@@ -14,16 +14,20 @@ module Moov
14
14
 
15
15
  # The amount of tip applied to the transfer.
16
16
  field :tip, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tip') } }
17
+ # The amount of tax applied to the transfer.
18
+ field :tax, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tax') } }
17
19
 
18
- sig { params(tip: T.nilable(Models::Components::AmountDecimal)).void }
19
- def initialize(tip: nil)
20
+ sig { params(tip: T.nilable(Models::Components::AmountDecimal), tax: T.nilable(Models::Components::AmountDecimal)).void }
21
+ def initialize(tip: nil, tax: nil)
20
22
  @tip = tip
23
+ @tax = tax
21
24
  end
22
25
 
23
26
  sig { params(other: T.untyped).returns(T::Boolean) }
24
27
  def ==(other)
25
28
  return false unless other.is_a? self.class
26
29
  return false unless @tip == other.tip
30
+ return false unless @tax == other.tax
27
31
  true
28
32
  end
29
33
  end
@@ -10,4 +10,6 @@ end
10
10
  class Moov::Models::Components::TransferAmountDetails
11
11
  def tip(); end
12
12
  def tip=(str_); end
13
+ def tax(); end
14
+ def tax=(str_); end
13
15
  end
@@ -15,19 +15,15 @@ module Moov
15
15
  # Tip presets when calculating tips for a transfer.
16
16
  field :tip_presets, Crystalline::Nilable.new(Models::Components::TipPresets), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tipPresets') } }
17
17
 
18
- field :transfer_controls, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::TransferControls)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferControls') } }
19
-
20
- sig { params(tip_presets: T.nilable(Models::Components::TipPresets), transfer_controls: T.nilable(T::Array[Models::Components::TransferControls])).void }
21
- def initialize(tip_presets: nil, transfer_controls: nil)
18
+ sig { params(tip_presets: T.nilable(Models::Components::TipPresets)).void }
19
+ def initialize(tip_presets: nil)
22
20
  @tip_presets = tip_presets
23
- @transfer_controls = transfer_controls
24
21
  end
25
22
 
26
23
  sig { params(other: T.untyped).returns(T::Boolean) }
27
24
  def ==(other)
28
25
  return false unless other.is_a? self.class
29
26
  return false unless @tip_presets == other.tip_presets
30
- return false unless @transfer_controls == other.transfer_controls
31
27
  true
32
28
  end
33
29
  end
@@ -10,6 +10,4 @@ end
10
10
  class Moov::Models::Components::TransferConfig
11
11
  def tip_presets(); end
12
12
  def tip_presets=(str_); end
13
- def transfer_controls(); end
14
- def transfer_controls=(str_); end
15
13
  end
@@ -32,15 +32,11 @@ module Moov
32
32
  field :google_pay, Crystalline::Nilable.new(Models::Components::GooglePayResponse), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay') } }
33
33
  # Card-specific details about the transaction.
34
34
  field :card_details, Crystalline::Nilable.new(Models::Components::CardTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
35
- # DEPRECATED: use `InstantBankTransactionDetails` instead (v2026.04.00 or later). RTP specific details about the transaction.
36
- #
37
- # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
38
- field :rtp_details, Crystalline::Nilable.new(Models::Components::RTPTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('rtpDetails') } }
39
35
  # Instant-bank specific details about the transaction.
40
36
  field :instant_bank_details, Crystalline::Nilable.new(Models::Components::InstantBankTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('instantBankDetails') } }
41
37
 
42
- sig { params(payment_method_id: ::String, payment_method_type: Models::Components::TransferPaymentMethodType, account: Models::Components::TransferAccount, bank_account: T.nilable(Models::Components::TransferPaymentMethodsBankAccount), wallet: T.nilable(Models::Components::TransferPaymentMethodsWallet), card: T.nilable(Models::Components::TransferPaymentMethodsCard), ach_details: T.nilable(Models::Components::ACHTransactionDetails), apple_pay: T.nilable(Models::Components::ApplePayResponse), google_pay: T.nilable(Models::Components::GooglePayResponse), card_details: T.nilable(Models::Components::CardTransactionDetails), rtp_details: T.nilable(Models::Components::RTPTransactionDetails), instant_bank_details: T.nilable(Models::Components::InstantBankTransactionDetails)).void }
43
- def initialize(payment_method_id:, payment_method_type:, account:, bank_account: nil, wallet: nil, card: nil, ach_details: nil, apple_pay: nil, google_pay: nil, card_details: nil, rtp_details: nil, instant_bank_details: nil)
38
+ sig { params(payment_method_id: ::String, payment_method_type: Models::Components::TransferPaymentMethodType, account: Models::Components::TransferAccount, bank_account: T.nilable(Models::Components::TransferPaymentMethodsBankAccount), wallet: T.nilable(Models::Components::TransferPaymentMethodsWallet), card: T.nilable(Models::Components::TransferPaymentMethodsCard), ach_details: T.nilable(Models::Components::ACHTransactionDetails), apple_pay: T.nilable(Models::Components::ApplePayResponse), google_pay: T.nilable(Models::Components::GooglePayResponse), card_details: T.nilable(Models::Components::CardTransactionDetails), instant_bank_details: T.nilable(Models::Components::InstantBankTransactionDetails)).void }
39
+ def initialize(payment_method_id:, payment_method_type:, account:, bank_account: nil, wallet: nil, card: nil, ach_details: nil, apple_pay: nil, google_pay: nil, card_details: nil, instant_bank_details: nil)
44
40
  @payment_method_id = payment_method_id
45
41
  @payment_method_type = payment_method_type
46
42
  @account = account
@@ -51,7 +47,6 @@ module Moov
51
47
  @apple_pay = apple_pay
52
48
  @google_pay = google_pay
53
49
  @card_details = card_details
54
- @rtp_details = rtp_details
55
50
  @instant_bank_details = instant_bank_details
56
51
  end
57
52
 
@@ -68,7 +63,6 @@ module Moov
68
63
  return false unless @apple_pay == other.apple_pay
69
64
  return false unless @google_pay == other.google_pay
70
65
  return false unless @card_details == other.card_details
71
- return false unless @rtp_details == other.rtp_details
72
66
  return false unless @instant_bank_details == other.instant_bank_details
73
67
  true
74
68
  end
@@ -28,8 +28,6 @@ class Moov::Models::Components::TransferDestination
28
28
  def google_pay=(str_); end
29
29
  def card_details(); end
30
30
  def card_details=(str_); end
31
- def rtp_details(); end
32
- def rtp_details=(str_); end
33
31
  def instant_bank_details(); end
34
32
  def instant_bank_details=(str_); end
35
33
  end
@@ -19,7 +19,6 @@ module Moov
19
19
  # Type of a wallet.
20
20
  # - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
21
21
  # - `general`: An additional, user-defined wallet created via API or Dashboard.
22
- # - `card-issuing`: The system-generated wallet automatically created when an account is granted the card-issuing capability.
23
22
  field :wallet_type, Models::Components::WalletType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletType, false) } }
24
23
 
25
24
  sig { params(wallet_id: ::String, partner_account_id: ::String, wallet_type: Models::Components::WalletType).void }
@@ -16,12 +16,12 @@ module Moov
16
16
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
17
17
  # A collection of line items for an invoice.
18
18
  field :line_items, Crystalline::Nilable.new(Models::Components::CreateInvoiceLineItemsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
19
- # The status can be updated to one of the following values under specific conditions:
20
- # - `canceled`: Can only be set if the current status is `draft`, `unpaid`, or `overdue`. Canceling an invoice
21
- # indicates the invoice is no longer expected to be paid (e.g., the charge was waived or terms changed).
22
- # Canceled invoices still appear in list results by default and remain part of the invoice history.
23
- # To completely discard an invoice created by mistake, use the delete endpoint instead.
24
- # - `unpaid`: Can only be set if the current status is `draft`. Setting the status to `unpaid` finalizes the invoice and sends an email with a payment link to the customer.
19
+ # The status can be updated to one of the following values under specific conditions:
20
+ # - `canceled`: Can only be set if the current status is `draft`, `unpaid`, or `overdue`. Canceling an invoice
21
+ # indicates the invoice is no longer expected to be paid (e.g., the charge was waived or terms changed).
22
+ # Canceled invoices still appear in list results by default and remain part of the invoice history.
23
+ # To completely discard an invoice created by mistake, use the delete endpoint instead.
24
+ # - `unpaid`: Can only be set if the current status is `draft`. Setting the status to `unpaid` finalizes the invoice and sends an email with a payment link to the customer.
25
25
  field :status, Crystalline::Nilable.new(Models::Components::InvoiceStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::InvoiceStatus, true) } }
26
26
 
27
27
  field :tax_amount, Crystalline::Nilable.new(Models::Components::AmountDecimalUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('taxAmount') } }