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,8 +14,6 @@ class Moov::Models::Components::CardTransactionDetails
14
14
  def failure_code=(str_); end
15
15
  def dynamic_descriptor(); end
16
16
  def dynamic_descriptor=(str_); end
17
- def scheduled_delivery_on(); end
18
- def scheduled_delivery_on=(str_); end
19
17
  def transaction_source(); end
20
18
  def transaction_source=(str_); end
21
19
  def initiated_on(); end
@@ -30,8 +28,6 @@ class Moov::Models::Components::CardTransactionDetails
30
28
  def canceled_on=(str_); end
31
29
  def completed_on(); end
32
30
  def completed_on=(str_); end
33
- def deferred_on(); end
34
- def deferred_on=(str_); end
35
31
  def interchange_qualification(); end
36
32
  def interchange_qualification=(str_); end
37
33
  def fee_program(); end
@@ -16,7 +16,6 @@ module Moov
16
16
  SETTLED = new('settled')
17
17
  FAILED = new('failed')
18
18
  COMPLETED = new('completed')
19
- DEFERRED = new('deferred')
20
19
  end
21
20
  end
22
21
  end
@@ -27,11 +27,7 @@ module Moov
27
27
  field :customer_support, Crystalline::Nilable.new(Models::Components::CustomerSupport), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customerSupport') } }
28
28
  # User provided settings to manage an account.
29
29
  field :settings, Crystalline::Nilable.new(Models::Components::Settings), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('settings') } }
30
- # Capabilities to request when the account is created. Request granular capability IDs that match your use case.
31
- #
32
- # Read our [capabilities reference](https://docs.moov.io/guides/accounts/capabilities/reference/) to choose the right capabilities for your integration.
33
- #
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.
30
+
35
31
  field :capabilities, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::CapabilityID)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capabilities') } }
36
32
  # The operating mode for an account.
37
33
  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) } }
@@ -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
+ # Fields for identifying an authorized individual.
11
+ class CreateAuthorizedUser
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :first_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('firstName'), required: true } }
17
+
18
+ field :last_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastName'), required: true } }
19
+
20
+ field :birth_date, Crystalline::Nilable.new(Models::Components::BirthDate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('birthDate') } }
21
+
22
+ sig { params(first_name: ::String, last_name: ::String, birth_date: T.nilable(Models::Components::BirthDate)).void }
23
+ def initialize(first_name:, last_name:, birth_date: nil)
24
+ @first_name = first_name
25
+ @last_name = last_name
26
+ @birth_date = birth_date
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @first_name == other.first_name
33
+ return false unless @last_name == other.last_name
34
+ return false unless @birth_date == other.birth_date
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreateAuthorizedUser
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateAuthorizedUser
11
+ def first_name(); end
12
+ def first_name=(str_); end
13
+ def last_name(); end
14
+ def last_name=(str_); end
15
+ def birth_date(); end
16
+ def birth_date=(str_); end
17
+ 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
+
11
+ class CreateAuthorizedUserError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :first_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('firstName') } }
17
+
18
+ field :last_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastName') } }
19
+
20
+ field :birth_date, Crystalline::Nilable.new(Models::Components::BirthDateError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('birthDate') } }
21
+
22
+ sig { params(first_name: T.nilable(::String), last_name: T.nilable(::String), birth_date: T.nilable(Models::Components::BirthDateError)).void }
23
+ def initialize(first_name: nil, last_name: nil, birth_date: nil)
24
+ @first_name = first_name
25
+ @last_name = last_name
26
+ @birth_date = birth_date
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @first_name == other.first_name
33
+ return false unless @last_name == other.last_name
34
+ return false unless @birth_date == other.birth_date
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreateAuthorizedUserError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateAuthorizedUserError
11
+ def first_name(); end
12
+ def first_name=(str_); end
13
+ def last_name(); end
14
+ def last_name=(str_); end
15
+ def birth_date(); end
16
+ def birth_date=(str_); end
17
+ 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
+ # Fields for identifying an authorized individual.
11
+ class CreateAuthorizedUserUpdate
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :first_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('firstName') } }
17
+
18
+ field :last_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastName') } }
19
+
20
+ field :birth_date, Crystalline::Nilable.new(Models::Components::BirthDateUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('birthDate') } }
21
+
22
+ sig { params(first_name: T.nilable(::String), last_name: T.nilable(::String), birth_date: T.nilable(Models::Components::BirthDateUpdate)).void }
23
+ def initialize(first_name: nil, last_name: nil, birth_date: nil)
24
+ @first_name = first_name
25
+ @last_name = last_name
26
+ @birth_date = birth_date
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @first_name == other.first_name
33
+ return false unless @last_name == other.last_name
34
+ return false unless @birth_date == other.birth_date
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreateAuthorizedUserUpdate
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateAuthorizedUserUpdate
11
+ def first_name(); end
12
+ def first_name=(str_); end
13
+ def last_name(); end
14
+ def last_name=(str_); end
15
+ def birth_date(); end
16
+ def birth_date=(str_); end
17
+ end
@@ -60,8 +60,6 @@ module Moov
60
60
  field :occurrence_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('occurrenceID') } }
61
61
 
62
62
  field :payment_link_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentLinkCode') } }
63
- # Optional sales tax amount.
64
- field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
65
63
  # Optional alias from a foreign/external system which can be used to reference this resource.
66
64
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
67
65
  # An optional collection of line items for a transfer.
@@ -69,11 +67,9 @@ module Moov
69
67
  field :line_items, Crystalline::Nilable.new(Models::Components::TransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
70
68
 
71
69
  field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
72
- # The card authorization and capture IDs associated with a transfer.
73
- field :capture, Crystalline::Nilable.new(Models::Components::TransferCapture), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capture') } }
74
70
 
75
- sig { params(transfer_id: ::String, created_on: ::DateTime, source: T.nilable(Models::Components::TransferSource), destination: T.nilable(Models::Components::TransferDestination), completed_on: T.nilable(::DateTime), status: T.nilable(Models::Components::TransferStatus), failure_reason: T.nilable(Models::Components::TransferFailureReason), amount: T.nilable(Models::Components::Amount), 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), 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), amount_details: T.nilable(Models::Components::TransferAmountDetails), capture: T.nilable(Models::Components::TransferCapture)).void }
76
- def initialize(transfer_id:, created_on:, source: nil, destination: nil, completed_on: nil, status: nil, failure_reason: nil, amount: nil, description: nil, metadata: nil, facilitator_fee: nil, moov_fee: nil, moov_fee_decimal: nil, moov_fee_details: 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, amount_details: nil, capture: nil)
71
+ sig { params(transfer_id: ::String, created_on: ::DateTime, source: T.nilable(Models::Components::TransferSource), destination: T.nilable(Models::Components::TransferDestination), completed_on: T.nilable(::DateTime), status: T.nilable(Models::Components::TransferStatus), failure_reason: T.nilable(Models::Components::TransferFailureReason), amount: T.nilable(Models::Components::Amount), 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), 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), amount_details: T.nilable(Models::Components::TransferAmountDetails)).void }
72
+ def initialize(transfer_id:, created_on:, source: nil, destination: nil, completed_on: nil, status: nil, failure_reason: nil, amount: nil, description: nil, metadata: nil, facilitator_fee: nil, moov_fee: nil, moov_fee_decimal: nil, moov_fee_details: 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, amount_details: nil)
77
73
  @transfer_id = transfer_id
78
74
  @created_on = created_on
79
75
  @source = source
@@ -98,11 +94,9 @@ module Moov
98
94
  @schedule_id = schedule_id
99
95
  @occurrence_id = occurrence_id
100
96
  @payment_link_code = payment_link_code
101
- @sales_tax_amount = sales_tax_amount
102
97
  @foreign_id = foreign_id
103
98
  @line_items = line_items
104
99
  @amount_details = amount_details
105
- @capture = capture
106
100
  end
107
101
 
108
102
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -132,11 +126,9 @@ module Moov
132
126
  return false unless @schedule_id == other.schedule_id
133
127
  return false unless @occurrence_id == other.occurrence_id
134
128
  return false unless @payment_link_code == other.payment_link_code
135
- return false unless @sales_tax_amount == other.sales_tax_amount
136
129
  return false unless @foreign_id == other.foreign_id
137
130
  return false unless @line_items == other.line_items
138
131
  return false unless @amount_details == other.amount_details
139
- return false unless @capture == other.capture
140
132
  true
141
133
  end
142
134
  end
@@ -56,14 +56,10 @@ class Moov::Models::Components::CreatedTransfer
56
56
  def occurrence_id=(str_); end
57
57
  def payment_link_code(); end
58
58
  def payment_link_code=(str_); end
59
- def sales_tax_amount(); end
60
- def sales_tax_amount=(str_); end
61
59
  def foreign_id(); end
62
60
  def foreign_id=(str_); end
63
61
  def line_items(); end
64
62
  def line_items=(str_); end
65
63
  def amount_details(); end
66
64
  def amount_details=(str_); end
67
- def capture(); end
68
- def capture=(str_); end
69
65
  end
@@ -9,7 +9,7 @@ module Moov
9
9
  module Components
10
10
  # Request to create a new payment link.
11
11
  #
12
- # A payment link must include exactly one of `payment`, `payout`, or `customAmountPayment` details. For payout payment links,
12
+ # A payment link must include either `payment` or `payout` details, but not both. For payout payment links,
13
13
  # `maxUses` will automatically be set to 1, as these are intended for a one-time disbursement
14
14
  # to a specific recipient.
15
15
  #
@@ -21,17 +21,15 @@ module Moov
21
21
  field :partner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerAccountID'), required: true } }
22
22
  # The merchant's preferred payment method ID. Must be a wallet payment method.
23
23
  field :merchant_payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantPaymentMethodID'), required: true } }
24
- # The fixed amount of the payment link.
24
+ # Customizable display options for a payment link.
25
+ field :display, Models::Components::PaymentLinkDisplayOptions, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('display'), required: true } }
26
+ # The fixed amount of the payment link.
25
27
  #
26
28
  # In API versions before `2026.07.00`, this was a required field.
27
29
  #
28
- # In API version `2026.07.00` and beyond, this field is required for `payment` and `payout` links and must be
29
- # omitted for `customAmountPayment` links, where the payor chooses the amount.
30
- field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
31
- # Customizable display options for a payment link.
32
- field :display, Models::Components::PaymentLinkDisplayOptions, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('display'), required: true } }
33
- # Optional sales tax amount.
34
- field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
30
+ # In API version `2026.07.00` and beyond, this field is required for `fixed` payment amount types and omitted
31
+ # for `open` payment amount types.
32
+ field :amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
35
33
  # An optional limit on the number of times this payment link can be used.
36
34
  #
37
35
  # **For payouts, `maxUses` is always 1.**
@@ -48,19 +46,21 @@ module Moov
48
46
  # When line items are provided, their total plus tax must equal the payment link amount.
49
47
  field :line_items, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
50
48
 
51
- sig { params(partner_account_id: ::String, merchant_payment_method_id: ::String, amount: Models::Components::Amount, display: Models::Components::PaymentLinkDisplayOptions, sales_tax_amount: T.nilable(Models::Components::Amount), max_uses: T.nilable(::Integer), expires_on: T.nilable(::DateTime), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItems)).void }
52
- def initialize(partner_account_id:, merchant_payment_method_id:, amount:, display:, sales_tax_amount: nil, max_uses: nil, expires_on: nil, customer: nil, payment: nil, payout: nil, line_items: nil)
49
+ field :amount_details, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
50
+
51
+ sig { params(partner_account_id: ::String, merchant_payment_method_id: ::String, display: Models::Components::PaymentLinkDisplayOptions, amount: T.nilable(Models::Components::Amount), max_uses: T.nilable(::Integer), expires_on: T.nilable(::DateTime), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItems), amount_details: T.nilable(Models::Components::CreatePaymentLinkAmountDetails)).void }
52
+ def initialize(partner_account_id:, merchant_payment_method_id:, display:, amount: nil, max_uses: nil, expires_on: nil, customer: nil, payment: nil, payout: nil, line_items: nil, amount_details: nil)
53
53
  @partner_account_id = partner_account_id
54
54
  @merchant_payment_method_id = merchant_payment_method_id
55
- @amount = amount
56
55
  @display = display
57
- @sales_tax_amount = sales_tax_amount
56
+ @amount = amount
58
57
  @max_uses = max_uses
59
58
  @expires_on = expires_on
60
59
  @customer = customer
61
60
  @payment = payment
62
61
  @payout = payout
63
62
  @line_items = line_items
63
+ @amount_details = amount_details
64
64
  end
65
65
 
66
66
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -68,15 +68,15 @@ module Moov
68
68
  return false unless other.is_a? self.class
69
69
  return false unless @partner_account_id == other.partner_account_id
70
70
  return false unless @merchant_payment_method_id == other.merchant_payment_method_id
71
- return false unless @amount == other.amount
72
71
  return false unless @display == other.display
73
- return false unless @sales_tax_amount == other.sales_tax_amount
72
+ return false unless @amount == other.amount
74
73
  return false unless @max_uses == other.max_uses
75
74
  return false unless @expires_on == other.expires_on
76
75
  return false unless @customer == other.customer
77
76
  return false unless @payment == other.payment
78
77
  return false unless @payout == other.payout
79
78
  return false unless @line_items == other.line_items
79
+ return false unless @amount_details == other.amount_details
80
80
  true
81
81
  end
82
82
  end
@@ -12,12 +12,10 @@ class Moov::Models::Components::CreatePaymentLink
12
12
  def partner_account_id=(str_); end
13
13
  def merchant_payment_method_id(); end
14
14
  def merchant_payment_method_id=(str_); end
15
- def amount(); end
16
- def amount=(str_); end
17
15
  def display(); end
18
16
  def display=(str_); end
19
- def sales_tax_amount(); end
20
- def sales_tax_amount=(str_); end
17
+ def amount(); end
18
+ def amount=(str_); end
21
19
  def max_uses(); end
22
20
  def max_uses=(str_); end
23
21
  def expires_on(); end
@@ -30,4 +28,6 @@ class Moov::Models::Components::CreatePaymentLink
30
28
  def payout=(str_); end
31
29
  def line_items(); end
32
30
  def line_items=(str_); end
31
+ def amount_details(); end
32
+ def amount_details=(str_); end
33
33
  end
@@ -0,0 +1,32 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class CreatePaymentLinkAmountDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The amount of tax applied to the payment link.
16
+ field :tax, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tax') } }
17
+
18
+ sig { params(tax: T.nilable(Models::Components::AmountDecimal)).void }
19
+ def initialize(tax: nil)
20
+ @tax = tax
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @tax == other.tax
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreatePaymentLinkAmountDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreatePaymentLinkAmountDetails
11
+ def tax(); end
12
+ def tax=(str_); end
13
+ end
@@ -0,0 +1,32 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class CreatePaymentLinkAmountDetailsValidationError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :tax, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tax') } }
17
+
18
+ sig { params(tax: T.nilable(::String)).void }
19
+ def initialize(tax: nil)
20
+ @tax = tax
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @tax == other.tax
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreatePaymentLinkAmountDetailsValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreatePaymentLinkAmountDetailsValidationError
11
+ def tax(); end
12
+ def tax=(str_); end
13
+ end
@@ -9,12 +9,12 @@ module Moov
9
9
  module Components
10
10
  # Specifies a partial amount to refund.
11
11
  #
12
- # Before v2026.10, this request body may be omitted. In v2026.10 and later, send an empty object to refund the full amount of the original transfer.
12
+ # This request body is optional, an empty body will issue a refund for the full amount of the original transfer.
13
13
  class CreateRefund
14
14
  extend T::Sig
15
15
  include Crystalline::MetadataFields
16
16
 
17
- # Amount to refund. Before v2026.10, specify the amount in integer cents. If omitted, the original transfer's full amount will be refunded.
17
+ # Amount to refund in cents. If null, the original transfer's full amount will be refunded.
18
18
  field :amount, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
19
19
 
20
20
  sig { params(amount: T.nilable(::Integer)).void }
@@ -12,7 +12,7 @@ module Moov
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # Amount to reverse. Before v2026.10, specify the amount in integer cents. Partial amounts automatically trigger a refund instead of a cancellation.
15
+ # Amount to reverse in cents. Partial amounts will automatically trigger a refund instead of a cancellation.
16
16
  field :amount, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
17
17
 
18
18
  sig { params(amount: ::Integer).void }
@@ -24,8 +24,6 @@ module Moov
24
24
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
25
25
  # Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
26
26
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
27
-
28
- field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
29
27
  # Optional alias from a foreign/external system which can be used to reference this resource.
30
28
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
31
29
  # An optional collection of line items for a transfer.
@@ -34,15 +32,14 @@ module Moov
34
32
 
35
33
  field :amount_details, Crystalline::Nilable.new(Models::Components::CreateTransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
36
34
 
37
- sig { params(source: Models::Components::CreateTransferSource, destination: Models::Components::CreateTransferDestination, amount: Models::Components::Amount, facilitator_fee: T.nilable(Models::Components::FacilitatorFee), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), sales_tax_amount: T.nilable(Models::Components::Amount), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::CreateTransferLineItems), amount_details: T.nilable(Models::Components::CreateTransferAmountDetails)).void }
38
- def initialize(source:, destination:, amount:, facilitator_fee: nil, description: nil, metadata: nil, sales_tax_amount: nil, foreign_id: nil, line_items: nil, amount_details: nil)
35
+ sig { params(source: Models::Components::CreateTransferSource, destination: Models::Components::CreateTransferDestination, amount: Models::Components::Amount, facilitator_fee: T.nilable(Models::Components::FacilitatorFee), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::CreateTransferLineItems), amount_details: T.nilable(Models::Components::CreateTransferAmountDetails)).void }
36
+ def initialize(source:, destination:, amount:, facilitator_fee: nil, description: nil, metadata: nil, foreign_id: nil, line_items: nil, amount_details: nil)
39
37
  @source = source
40
38
  @destination = destination
41
39
  @amount = amount
42
40
  @facilitator_fee = facilitator_fee
43
41
  @description = description
44
42
  @metadata = metadata
45
- @sales_tax_amount = sales_tax_amount
46
43
  @foreign_id = foreign_id
47
44
  @line_items = line_items
48
45
  @amount_details = amount_details
@@ -57,7 +54,6 @@ module Moov
57
54
  return false unless @facilitator_fee == other.facilitator_fee
58
55
  return false unless @description == other.description
59
56
  return false unless @metadata == other.metadata
60
- return false unless @sales_tax_amount == other.sales_tax_amount
61
57
  return false unless @foreign_id == other.foreign_id
62
58
  return false unless @line_items == other.line_items
63
59
  return false unless @amount_details == other.amount_details
@@ -20,8 +20,6 @@ class Moov::Models::Components::CreateTransfer
20
20
  def description=(str_); end
21
21
  def metadata(); end
22
22
  def metadata=(str_); end
23
- def sales_tax_amount(); end
24
- def sales_tax_amount=(str_); end
25
23
  def foreign_id(); end
26
24
  def foreign_id=(str_); end
27
25
  def line_items(); 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::CreateTransferAmountDetails
11
11
  def tip(); end
12
12
  def tip=(str_); end
13
+ def tax(); end
14
+ def tax=(str_); end
13
15
  end
@@ -15,15 +15,19 @@ module Moov
15
15
 
16
16
  field :tip, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tip') } }
17
17
 
18
- sig { params(tip: T.nilable(::String)).void }
19
- def initialize(tip: nil)
18
+ field :tax, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tax') } }
19
+
20
+ sig { params(tip: T.nilable(::String), tax: T.nilable(::String)).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::CreateTransferAmountDetailsValidationError
11
11
  def tip(); end
12
12
  def tip=(str_); end
13
+ def tax(); end
14
+ def tax=(str_); end
13
15
  end