moov_ruby 0.3.13 → 0.3.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/bank_accounts.rb +3 -3
  3. data/lib/moov/models/components/accountfees.rb +53 -0
  4. data/lib/moov/models/components/accountfees.rbi +23 -0
  5. data/lib/moov/models/components/adjustmentfees.rb +41 -0
  6. data/lib/moov/models/components/adjustmentfees.rbi +15 -0
  7. data/lib/moov/models/components/bankaccountexception.rb +25 -2
  8. data/lib/moov/models/components/bankaccountexception.rbi +2 -0
  9. data/lib/moov/models/components/bankaccountstatusreason.rb +1 -0
  10. data/lib/moov/models/components/billingcountandamount.rb +1 -1
  11. data/lib/moov/models/components/billingsummary.rb +45 -11
  12. data/lib/moov/models/components/billingsummary.rbi +14 -0
  13. data/lib/moov/models/components/billingsummary_platformfees.rb +41 -0
  14. data/lib/moov/models/components/billingsummary_platformfees.rbi +15 -0
  15. data/lib/moov/models/components/billingsummary_volumeamount.rb +41 -0
  16. data/lib/moov/models/components/billingsummary_volumeamount.rbi +15 -0
  17. data/lib/moov/models/components/billingsummarydetails.rb +22 -6
  18. data/lib/moov/models/components/billingsummarydetails.rbi +6 -0
  19. data/lib/moov/models/components/billingsummarydetails_volumeamount.rb +41 -0
  20. data/lib/moov/models/components/billingsummarydetails_volumeamount.rbi +15 -0
  21. data/lib/moov/models/components/cardacquiring.rb +22 -6
  22. data/lib/moov/models/components/cardacquiring.rbi +6 -0
  23. data/lib/moov/models/components/cardbrandfees.rb +1 -1
  24. data/lib/moov/models/components/otherfees.rb +41 -0
  25. data/lib/moov/models/components/otherfees.rbi +15 -0
  26. data/lib/moov/models/components/partnerfees.rb +41 -0
  27. data/lib/moov/models/components/partnerfees.rbi +17 -0
  28. data/lib/moov/models/components/platformfees.rb +3 -1
  29. data/lib/moov/models/components/runtransfer.rb +7 -2
  30. data/lib/moov/models/components/runtransfer.rbi +2 -0
  31. data/lib/moov/models/components/scheduledtransferlineitem.rb +49 -0
  32. data/lib/moov/models/components/scheduledtransferlineitem.rbi +21 -0
  33. data/lib/moov/models/components/scheduledtransferlineitemoption.rb +45 -0
  34. data/lib/moov/models/components/scheduledtransferlineitemoption.rbi +19 -0
  35. data/lib/moov/models/components/scheduledtransferlineitems.rb +34 -0
  36. data/lib/moov/models/components/scheduledtransferlineitems.rbi +13 -0
  37. data/lib/moov/models/components/statement.rb +15 -5
  38. data/lib/moov/models/components/statement.rbi +4 -0
  39. data/lib/moov/models/components.rb +10 -0
  40. data/lib/moov/sdkconfiguration.rb +3 -3
  41. metadata +22 -2
@@ -8,25 +8,38 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- # A summary of card acquiring volume and fees.
11
+ # A summary of card acquiring fees.
12
12
  class CardAcquiring
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
- # The total transaction volume amount.
17
- field :volume_amount, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('volumeAmount') } }
18
- # The total number of transactions.
16
+ # The total transaction volume amount. This field is deprecated and will be removed in a future release.
17
+ #
18
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
19
+ field :volume_amount, Crystalline::Nilable.new(Models::Components::BillingSummaryVolumeAmount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('volumeAmount') } }
20
+ # The total number of transactions. This field is deprecated and will be removed in a future release.
21
+ #
22
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
19
23
  field :volume_count, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('volumeCount') } }
20
24
  # The total fee amount.
21
25
  field :fee_amount, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feeAmount') } }
26
+ # Total fee revenue collected from merchants.
27
+ field :merchant_fees_collected, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantFeesCollected') } }
28
+ # Total fee costs incurred by the partner.
29
+ field :partner_fees_assessed, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerFeesAssessed') } }
30
+ # Net revenue after deducting partner fee costs.
31
+ field :net_income, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('netIncome') } }
22
32
  # A summary of interchange fees by card brand.
23
33
  field :interchange_fees, Crystalline::Nilable.new(Models::Components::BillingSummaryInterchange), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('interchangeFees') } }
24
34
 
25
- sig { params(volume_amount: T.nilable(Models::Components::AmountDecimal), volume_count: T.nilable(::Integer), fee_amount: T.nilable(Models::Components::AmountDecimal), interchange_fees: T.nilable(Models::Components::BillingSummaryInterchange)).void }
26
- def initialize(volume_amount: nil, volume_count: nil, fee_amount: nil, interchange_fees: nil)
35
+ sig { params(volume_amount: T.nilable(Models::Components::BillingSummaryVolumeAmount), volume_count: T.nilable(::Integer), fee_amount: T.nilable(Models::Components::AmountDecimal), merchant_fees_collected: T.nilable(Models::Components::AmountDecimal), partner_fees_assessed: T.nilable(Models::Components::AmountDecimal), net_income: T.nilable(Models::Components::AmountDecimal), interchange_fees: T.nilable(Models::Components::BillingSummaryInterchange)).void }
36
+ def initialize(volume_amount: nil, volume_count: nil, fee_amount: nil, merchant_fees_collected: nil, partner_fees_assessed: nil, net_income: nil, interchange_fees: nil)
27
37
  @volume_amount = volume_amount
28
38
  @volume_count = volume_count
29
39
  @fee_amount = fee_amount
40
+ @merchant_fees_collected = merchant_fees_collected
41
+ @partner_fees_assessed = partner_fees_assessed
42
+ @net_income = net_income
30
43
  @interchange_fees = interchange_fees
31
44
  end
32
45
 
@@ -36,6 +49,9 @@ module Moov
36
49
  return false unless @volume_amount == other.volume_amount
37
50
  return false unless @volume_count == other.volume_count
38
51
  return false unless @fee_amount == other.fee_amount
52
+ return false unless @merchant_fees_collected == other.merchant_fees_collected
53
+ return false unless @partner_fees_assessed == other.partner_fees_assessed
54
+ return false unless @net_income == other.net_income
39
55
  return false unless @interchange_fees == other.interchange_fees
40
56
  true
41
57
  end
@@ -14,6 +14,12 @@ class Moov::Models::Components::CardAcquiring
14
14
  def volume_count=(str_); end
15
15
  def fee_amount(); end
16
16
  def fee_amount=(str_); end
17
+ def merchant_fees_collected(); end
18
+ def merchant_fees_collected=(str_); end
19
+ def partner_fees_assessed(); end
20
+ def partner_fees_assessed=(str_); end
21
+ def net_income(); end
22
+ def net_income=(str_); end
17
23
  def interchange_fees(); end
18
24
  def interchange_fees=(str_); end
19
25
  end
@@ -8,7 +8,7 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- # A detailed breakdown of fees for a specific card brand.
11
+
12
12
  class CardBrandFees
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
@@ -0,0 +1,41 @@
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
+ # The total amount of other card fees. This field is deprecated and will be removed in a future release. Use summary.otherCardFees.
12
+ #
13
+ # @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
14
+ class OtherFees
15
+ extend T::Sig
16
+ include Crystalline::MetadataFields
17
+
18
+ # A 3-letter ISO 4217 currency code.
19
+ field :currency, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('currency'), required: true } }
20
+ # A decimal-formatted numerical string that represents up to 9 decimal place precision.
21
+ #
22
+ # For example, $12.987654321 is '12.987654321'.
23
+ field :value_decimal, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('valueDecimal'), required: true } }
24
+
25
+ sig { params(currency: ::String, value_decimal: ::String).void }
26
+ def initialize(currency:, value_decimal:)
27
+ @currency = currency
28
+ @value_decimal = value_decimal
29
+ end
30
+
31
+ sig { params(other: T.untyped).returns(T::Boolean) }
32
+ def ==(other)
33
+ return false unless other.is_a? self.class
34
+ return false unless @currency == other.currency
35
+ return false unless @value_decimal == other.value_decimal
36
+ true
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::OtherFees
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::OtherFees
11
+ def currency(); end
12
+ def currency=(str_); end
13
+ def value_decimal(); end
14
+ def value_decimal=(str_); end
15
+ end
@@ -0,0 +1,41 @@
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
+ # Monthly partner costs that are charged separately and not included in residual subtotal (e.g. platform fees, minimums).
12
+ class PartnerFees
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Total partner fees.
17
+ field :total, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('total'), required: true } }
18
+ # The minimum spending amount that must be met in the billing period. If actual usage is below the minimum amount, account is charged the difference.
19
+ field :minimum_commitment, Crystalline::Nilable.new(Models::Components::BillingCountAndAmount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('minimumCommitment') } }
20
+ # Fixed recurring fee for the billing period regardless of usage.
21
+ field :monthly_platform, Crystalline::Nilable.new(Models::Components::BillingCountAndAmount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('monthlyPlatform') } }
22
+
23
+ sig { params(total: Models::Components::BillingCountAndAmount, minimum_commitment: T.nilable(Models::Components::BillingCountAndAmount), monthly_platform: T.nilable(Models::Components::BillingCountAndAmount)).void }
24
+ def initialize(total:, minimum_commitment: nil, monthly_platform: nil)
25
+ @total = total
26
+ @minimum_commitment = minimum_commitment
27
+ @monthly_platform = monthly_platform
28
+ end
29
+
30
+ sig { params(other: T.untyped).returns(T::Boolean) }
31
+ def ==(other)
32
+ return false unless other.is_a? self.class
33
+ return false unless @total == other.total
34
+ return false unless @minimum_commitment == other.minimum_commitment
35
+ return false unless @monthly_platform == other.monthly_platform
36
+ true
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PartnerFees
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PartnerFees
11
+ def total(); end
12
+ def total=(str_); end
13
+ def minimum_commitment(); end
14
+ def minimum_commitment=(str_); end
15
+ def monthly_platform(); end
16
+ def monthly_platform=(str_); end
17
+ end
@@ -8,7 +8,9 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- # A detailed breakdown of platform fees.
11
+ # A detailed breakdown of platform fees. This field is deprecated and will be removed in a future release. Use accountFees.
12
+ #
13
+ # @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
12
14
  class PlatformFees
13
15
  extend T::Sig
14
16
  include Crystalline::MetadataFields
@@ -25,15 +25,19 @@ module Moov
25
25
  field :description, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description'), required: true } }
26
26
  # Optional sales tax amount. This amount is included in the total transfer amount.
27
27
  field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
28
+ # An optional collection of line items for a scheduled transfer.
29
+ # When line items are provided their total must equal `amount` minus `salesTaxAmount`.
30
+ field :line_items, Crystalline::Nilable.new(Models::Components::ScheduledTransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
28
31
 
29
- sig { params(amount: Models::Components::Amount, destination: Models::Components::SchedulePaymentMethod, partner_account_id: ::String, source: Models::Components::SchedulePaymentMethod, description: ::String, sales_tax_amount: T.nilable(Models::Components::Amount)).void }
30
- def initialize(amount:, destination:, partner_account_id:, source:, description:, sales_tax_amount: nil)
32
+ sig { params(amount: Models::Components::Amount, destination: Models::Components::SchedulePaymentMethod, partner_account_id: ::String, source: Models::Components::SchedulePaymentMethod, description: ::String, sales_tax_amount: T.nilable(Models::Components::Amount), line_items: T.nilable(Models::Components::ScheduledTransferLineItems)).void }
33
+ def initialize(amount:, destination:, partner_account_id:, source:, description:, sales_tax_amount: nil, line_items: nil)
31
34
  @amount = amount
32
35
  @destination = destination
33
36
  @partner_account_id = partner_account_id
34
37
  @source = source
35
38
  @description = description
36
39
  @sales_tax_amount = sales_tax_amount
40
+ @line_items = line_items
37
41
  end
38
42
 
39
43
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -45,6 +49,7 @@ module Moov
45
49
  return false unless @source == other.source
46
50
  return false unless @description == other.description
47
51
  return false unless @sales_tax_amount == other.sales_tax_amount
52
+ return false unless @line_items == other.line_items
48
53
  true
49
54
  end
50
55
  end
@@ -20,4 +20,6 @@ class Moov::Models::Components::RunTransfer
20
20
  def description=(str_); end
21
21
  def sales_tax_amount(); end
22
22
  def sales_tax_amount=(str_); end
23
+ def line_items(); end
24
+ def line_items=(str_); end
23
25
  end
@@ -0,0 +1,49 @@
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
+ # Represents a single item in a scheduled transfer, including optional modifiers and quantity.
12
+ class ScheduledTransferLineItem
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The name of the item.
17
+ field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
18
+ # The base price of the item before applying option modifiers.
19
+ field :base_price, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('basePrice'), required: true } }
20
+ # The quantity of this item.
21
+ field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
22
+ # Optional list of modifiers applied to this item (e.g., toppings, upgrades, customizations).
23
+ field :options, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ScheduledTransferLineItemOption)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
24
+ # Optional unique identifier associating the line item with a product.
25
+ field :product_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('productID') } }
26
+
27
+ sig { params(name: ::String, base_price: Models::Components::AmountDecimal, quantity: ::Integer, options: T.nilable(T::Array[Models::Components::ScheduledTransferLineItemOption]), product_id: T.nilable(::String)).void }
28
+ def initialize(name:, base_price:, quantity:, options: nil, product_id: nil)
29
+ @name = name
30
+ @base_price = base_price
31
+ @quantity = quantity
32
+ @options = options
33
+ @product_id = product_id
34
+ end
35
+
36
+ sig { params(other: T.untyped).returns(T::Boolean) }
37
+ def ==(other)
38
+ return false unless other.is_a? self.class
39
+ return false unless @name == other.name
40
+ return false unless @base_price == other.base_price
41
+ return false unless @quantity == other.quantity
42
+ return false unless @options == other.options
43
+ return false unless @product_id == other.product_id
44
+ true
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::ScheduledTransferLineItem
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::ScheduledTransferLineItem
11
+ def name(); end
12
+ def name=(str_); end
13
+ def base_price(); end
14
+ def base_price=(str_); end
15
+ def quantity(); end
16
+ def quantity=(str_); end
17
+ def options(); end
18
+ def options=(str_); end
19
+ def product_id(); end
20
+ def product_id=(str_); end
21
+ end
@@ -0,0 +1,45 @@
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
+ # Represents a modifier or option applied to a scheduled transfer line item.
12
+ class ScheduledTransferLineItemOption
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The name of the option or modifier.
17
+ field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
18
+ # The quantity of this option.
19
+ field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
20
+ # Optional price modification applied by this option. Can be positive, negative, or zero.
21
+ field :price_modifier, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priceModifier') } }
22
+ # Optional group identifier to categorize related options (e.g., 'toppings').
23
+ field :group, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('group') } }
24
+
25
+ sig { params(name: ::String, quantity: ::Integer, price_modifier: T.nilable(Models::Components::AmountDecimal), group: T.nilable(::String)).void }
26
+ def initialize(name:, quantity:, price_modifier: nil, group: nil)
27
+ @name = name
28
+ @quantity = quantity
29
+ @price_modifier = price_modifier
30
+ @group = group
31
+ end
32
+
33
+ sig { params(other: T.untyped).returns(T::Boolean) }
34
+ def ==(other)
35
+ return false unless other.is_a? self.class
36
+ return false unless @name == other.name
37
+ return false unless @quantity == other.quantity
38
+ return false unless @price_modifier == other.price_modifier
39
+ return false unless @group == other.group
40
+ true
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::ScheduledTransferLineItemOption
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::ScheduledTransferLineItemOption
11
+ def name(); end
12
+ def name=(str_); end
13
+ def quantity(); end
14
+ def quantity=(str_); end
15
+ def price_modifier(); end
16
+ def price_modifier=(str_); end
17
+ def group(); end
18
+ def group=(str_); end
19
+ end
@@ -0,0 +1,34 @@
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
+ # An optional collection of line items for a scheduled transfer.
12
+ # When line items are provided their total must equal `amount` minus `salesTaxAmount`.
13
+ class ScheduledTransferLineItems
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+ # The list of line items.
18
+ field :items, Crystalline::Array.new(Models::Components::ScheduledTransferLineItem), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items'), required: true } }
19
+
20
+ sig { params(items: T::Array[Models::Components::ScheduledTransferLineItem]).void }
21
+ def initialize(items:)
22
+ @items = items
23
+ end
24
+
25
+ sig { params(other: T.untyped).returns(T::Boolean) }
26
+ def ==(other)
27
+ return false unless other.is_a? self.class
28
+ return false unless @items == other.items
29
+ true
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::ScheduledTransferLineItems
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::ScheduledTransferLineItems
11
+ def items(); end
12
+ def items=(str_); end
13
+ end
@@ -27,25 +27,31 @@ module Moov
27
27
  field :billing_period_end_date_time, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingPeriodEndDateTime'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
28
28
  # List of subscription IDs associated with this statement.
29
29
  field :subscription_i_ds, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('subscriptionIDs'), required: true } }
30
- # A summary of all fees included in this statement.
30
+ # A summary of all fees included in a statement.
31
31
  field :summary, Models::Components::BillingSummary, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('summary'), required: true } }
32
32
  # The date and time the statement was created.
33
33
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
34
34
  # The date and time the statement was last updated.
35
35
  field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
36
- # A detailed breakdown of card acquiring fees.
36
+ # A detailed breakdown of card acquiring fees by card brand.
37
37
  field :card_acquiring_fees, Crystalline::Nilable.new(Models::Components::CardAcquiringFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAcquiringFees') } }
38
38
  # A detailed breakdown of ACH fees.
39
39
  field :ach_fees, Crystalline::Nilable.new(Models::Components::ACHFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achFees') } }
40
40
  # A detailed breakdown of instant payment fees.
41
41
  field :instant_payment_fees, Crystalline::Nilable.new(Models::Components::InstantPaymentFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('instantPaymentFees') } }
42
- # A detailed breakdown of platform fees.
42
+ # A detailed breakdown of platform fees. This field is deprecated and will be removed in a future release. Use accountFees.
43
+ #
44
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
43
45
  field :platform_fees, Crystalline::Nilable.new(Models::Components::PlatformFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('platformFees') } }
46
+ # A detailed breakdown of account fees.
47
+ field :account_fees, Crystalline::Nilable.new(Models::Components::AccountFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountFees') } }
44
48
  # A detailed breakdown of other card-related fees.
45
49
  field :other_card_fees, Crystalline::Nilable.new(Models::Components::OtherCardFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('otherCardFees') } }
50
+ # Monthly partner costs that are charged separately and not included in residual subtotal (e.g. platform fees, minimums).
51
+ field :partner_fees, Crystalline::Nilable.new(Models::Components::PartnerFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerFees') } }
46
52
 
47
- sig { params(statement_id: ::String, statement_name: ::String, file_name: ::String, file_size: ::Integer, billing_period_start_date_time: ::DateTime, billing_period_end_date_time: ::DateTime, subscription_i_ds: T::Array[::String], summary: Models::Components::BillingSummary, created_on: ::DateTime, updated_on: ::DateTime, card_acquiring_fees: T.nilable(Models::Components::CardAcquiringFees), ach_fees: T.nilable(Models::Components::ACHFees), instant_payment_fees: T.nilable(Models::Components::InstantPaymentFees), platform_fees: T.nilable(Models::Components::PlatformFees), other_card_fees: T.nilable(Models::Components::OtherCardFees)).void }
48
- def initialize(statement_id:, statement_name:, file_name:, file_size:, billing_period_start_date_time:, billing_period_end_date_time:, subscription_i_ds:, summary:, created_on:, updated_on:, card_acquiring_fees: nil, ach_fees: nil, instant_payment_fees: nil, platform_fees: nil, other_card_fees: nil)
53
+ sig { params(statement_id: ::String, statement_name: ::String, file_name: ::String, file_size: ::Integer, billing_period_start_date_time: ::DateTime, billing_period_end_date_time: ::DateTime, subscription_i_ds: T::Array[::String], summary: Models::Components::BillingSummary, created_on: ::DateTime, updated_on: ::DateTime, card_acquiring_fees: T.nilable(Models::Components::CardAcquiringFees), ach_fees: T.nilable(Models::Components::ACHFees), instant_payment_fees: T.nilable(Models::Components::InstantPaymentFees), platform_fees: T.nilable(Models::Components::PlatformFees), account_fees: T.nilable(Models::Components::AccountFees), other_card_fees: T.nilable(Models::Components::OtherCardFees), partner_fees: T.nilable(Models::Components::PartnerFees)).void }
54
+ def initialize(statement_id:, statement_name:, file_name:, file_size:, billing_period_start_date_time:, billing_period_end_date_time:, subscription_i_ds:, summary:, created_on:, updated_on:, card_acquiring_fees: nil, ach_fees: nil, instant_payment_fees: nil, platform_fees: nil, account_fees: nil, other_card_fees: nil, partner_fees: nil)
49
55
  @statement_id = statement_id
50
56
  @statement_name = statement_name
51
57
  @file_name = file_name
@@ -60,7 +66,9 @@ module Moov
60
66
  @ach_fees = ach_fees
61
67
  @instant_payment_fees = instant_payment_fees
62
68
  @platform_fees = platform_fees
69
+ @account_fees = account_fees
63
70
  @other_card_fees = other_card_fees
71
+ @partner_fees = partner_fees
64
72
  end
65
73
 
66
74
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -80,7 +88,9 @@ module Moov
80
88
  return false unless @ach_fees == other.ach_fees
81
89
  return false unless @instant_payment_fees == other.instant_payment_fees
82
90
  return false unless @platform_fees == other.platform_fees
91
+ return false unless @account_fees == other.account_fees
83
92
  return false unless @other_card_fees == other.other_card_fees
93
+ return false unless @partner_fees == other.partner_fees
84
94
  true
85
95
  end
86
96
  end
@@ -36,6 +36,10 @@ class Moov::Models::Components::Statement
36
36
  def instant_payment_fees=(str_); end
37
37
  def platform_fees(); end
38
38
  def platform_fees=(str_); end
39
+ def account_fees(); end
40
+ def account_fees=(str_); end
39
41
  def other_card_fees(); end
40
42
  def other_card_fees=(str_); end
43
+ def partner_fees(); end
44
+ def partner_fees=(str_); end
41
45
  end
@@ -18,6 +18,7 @@ module Moov
18
18
  autoload :Account, 'moov/models/components/account.rb'
19
19
  autoload :AccountCapability, 'moov/models/components/accountcapability.rb'
20
20
  autoload :AccountCountries, 'moov/models/components/accountcountries.rb'
21
+ autoload :AccountFees, 'moov/models/components/accountfees.rb'
21
22
  autoload :AccountNameVerification, 'moov/models/components/accountnameverification.rb'
22
23
  autoload :AccountTerminalApplication, 'moov/models/components/accountterminalapplication.rb'
23
24
  autoload :AccountType, 'moov/models/components/accounttype.rb'
@@ -77,7 +78,10 @@ module Moov
77
78
  autoload :BillingInterchangeProgramFee, 'moov/models/components/billinginterchangeprogramfee.rb'
78
79
  autoload :BillingSummary, 'moov/models/components/billingsummary.rb'
79
80
  autoload :BillingSummaryDetails, 'moov/models/components/billingsummarydetails.rb'
81
+ autoload :BillingSummaryDetailsVolumeAmount, 'moov/models/components/billingsummarydetails_volumeamount.rb'
80
82
  autoload :BillingSummaryInterchange, 'moov/models/components/billingsummaryinterchange.rb'
83
+ autoload :BillingSummaryPlatformFees, 'moov/models/components/billingsummary_platformfees.rb'
84
+ autoload :BillingSummaryVolumeAmount, 'moov/models/components/billingsummary_volumeamount.rb'
81
85
  autoload :BirthDate, 'moov/models/components/birthdate.rb'
82
86
  autoload :BirthDateError, 'moov/models/components/birthdateerror.rb'
83
87
  autoload :BirthDateUpdate, 'moov/models/components/birthdateupdate.rb'
@@ -343,6 +347,7 @@ module Moov
343
347
  autoload :OnboardingPartnerAccount, 'moov/models/components/onboardingpartneraccount.rb'
344
348
  autoload :OtherCardFees, 'moov/models/components/othercardfees.rb'
345
349
  autoload :PartialScheduleAccount, 'moov/models/components/partialscheduleaccount.rb'
350
+ autoload :PartnerFees, 'moov/models/components/partnerfees.rb'
346
351
  autoload :PartnerPricing, 'moov/models/components/partnerpricing.rb'
347
352
  autoload :PartnerPricingAgreement, 'moov/models/components/partnerpricingagreement.rb'
348
353
  autoload :PatchAccount, 'moov/models/components/patchaccount.rb'
@@ -434,6 +439,9 @@ module Moov
434
439
  autoload :ScheduleListResponse, 'moov/models/components/schedulelistresponse.rb'
435
440
  autoload :SchedulePaymentMethod, 'moov/models/components/schedulepaymentmethod.rb'
436
441
  autoload :ScheduleResponse, 'moov/models/components/scheduleresponse.rb'
442
+ autoload :ScheduledTransferLineItem, 'moov/models/components/scheduledtransferlineitem.rb'
443
+ autoload :ScheduledTransferLineItemOption, 'moov/models/components/scheduledtransferlineitemoption.rb'
444
+ autoload :ScheduledTransferLineItems, 'moov/models/components/scheduledtransferlineitems.rb'
437
445
  autoload :Security, 'moov/models/components/security.rb'
438
446
  autoload :SendFunds, 'moov/models/components/sendfunds.rb'
439
447
  autoload :SendFundsAch, 'moov/models/components/sendfundsach.rb'
@@ -576,6 +584,7 @@ module Moov
576
584
  autoload :WireServices, 'moov/models/components/wireservices.rb'
577
585
  autoload :AchDetails, 'moov/models/components/achdetails.rb'
578
586
  autoload :AchPayment, 'moov/models/components/achpayment.rb'
587
+ autoload :AdjustmentFees, 'moov/models/components/adjustmentfees.rb'
579
588
  autoload :CardAcquiring, 'moov/models/components/cardacquiring.rb'
580
589
  autoload :CardDetails, 'moov/models/components/carddetails.rb'
581
590
  autoload :CardPayment, 'moov/models/components/cardpayment.rb'
@@ -583,6 +592,7 @@ module Moov
583
592
  autoload :Kind, 'moov/models/components/kind.rb'
584
593
  autoload :Logo, 'moov/models/components/logo.rb'
585
594
  autoload :Manual, 'moov/models/components/manual.rb'
595
+ autoload :OtherFees, 'moov/models/components/otherfees.rb'
586
596
  autoload :Phone, 'moov/models/components/phone.rb'
587
597
  autoload :Responsibilities, 'moov/models/components/responsibilities.rb'
588
598
  autoload :Status, 'moov/models/components/status.rb'
@@ -95,9 +95,9 @@ module Moov
95
95
  @globals = globals.nil? ? {} : globals
96
96
  @language = 'ruby'
97
97
  @openapi_doc_version = 'latest'
98
- @sdk_version = '0.3.13'
99
- @gen_version = '2.779.2'
100
- @user_agent = 'speakeasy-sdk/ruby 0.3.13 2.779.2 latest moov_ruby'
98
+ @sdk_version = '0.3.14'
99
+ @gen_version = '2.781.2'
100
+ @user_agent = 'speakeasy-sdk/ruby 0.3.14 2.781.2 latest moov_ruby'
101
101
  end
102
102
 
103
103
  sig { returns([String, T::Hash[Symbol, String]]) }