moov_ruby 0.1.16 → 0.1.18

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/accounts.rb +1 -1
  3. data/lib/moov/client.rb +2 -1
  4. data/lib/moov/models/components/account.rb +1 -1
  5. data/lib/moov/models/components/achfees.rb +57 -0
  6. data/lib/moov/models/components/achfees.rbi +25 -0
  7. data/lib/moov/models/components/billingcountandamount.rb +37 -0
  8. data/lib/moov/models/components/billingcountandamount.rbi +15 -0
  9. data/lib/moov/models/components/billinginterchangeprogramfee.rb +53 -0
  10. data/lib/moov/models/components/billinginterchangeprogramfee.rbi +23 -0
  11. data/lib/moov/models/components/billingsummary.rb +57 -0
  12. data/lib/moov/models/components/billingsummary.rbi +25 -0
  13. data/lib/moov/models/components/billingsummarydetails.rb +41 -0
  14. data/lib/moov/models/components/billingsummarydetails.rbi +17 -0
  15. data/lib/moov/models/components/billingsummaryinterchange.rb +45 -0
  16. data/lib/moov/models/components/billingsummaryinterchange.rbi +19 -0
  17. data/lib/moov/models/components/cardacquiring.rb +45 -0
  18. data/lib/moov/models/components/cardacquiring.rbi +19 -0
  19. data/lib/moov/models/components/cardacquiringfees.rb +45 -0
  20. data/lib/moov/models/components/cardacquiringfees.rbi +19 -0
  21. data/lib/moov/models/components/cardbrandfees.rb +69 -0
  22. data/lib/moov/models/components/cardbrandfees.rbi +31 -0
  23. data/lib/moov/models/components/instantpaymentfees.rb +61 -0
  24. data/lib/moov/models/components/instantpaymentfees.rbi +27 -0
  25. data/lib/moov/models/components/othercardfees.rb +49 -0
  26. data/lib/moov/models/components/othercardfees.rbi +21 -0
  27. data/lib/moov/models/components/platformfees.rb +41 -0
  28. data/lib/moov/models/components/platformfees.rbi +17 -0
  29. data/lib/moov/models/components/profile.rb +1 -1
  30. data/lib/moov/models/components/statement.rb +89 -0
  31. data/lib/moov/models/components/statement.rbi +41 -0
  32. data/lib/moov/models/components/webhookbillingstatementcreated.rb +33 -0
  33. data/lib/moov/models/components/webhookbillingstatementcreated.rbi +13 -0
  34. data/lib/moov/models/components/webhookevent.rb +2 -2
  35. data/lib/moov/models/components/webhookeventtype.rb +1 -0
  36. data/lib/moov/models/components.rb +14 -0
  37. data/lib/moov/models/operations/getstatement_request.rb +49 -0
  38. data/lib/moov/models/operations/getstatement_request.rbi +17 -0
  39. data/lib/moov/models/operations/getstatement_response.rb +53 -0
  40. data/lib/moov/models/operations/getstatement_response.rbi +23 -0
  41. data/lib/moov/models/operations/listaccounts_request.rb +2 -0
  42. data/lib/moov/models/operations/liststatements_request.rb +61 -0
  43. data/lib/moov/models/operations/liststatements_request.rbi +23 -0
  44. data/lib/moov/models/operations/liststatements_response.rb +49 -0
  45. data/lib/moov/models/operations/liststatements_response.rbi +21 -0
  46. data/lib/moov/models/operations.rb +4 -0
  47. data/lib/moov/sdkconfiguration.rb +3 -3
  48. data/lib/moov/statements.rb +315 -0
  49. data/lib/moov_ruby.rb +1 -0
  50. metadata +39 -2
@@ -0,0 +1,69 @@
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
+ # A detailed breakdown of fees for a specific card brand.
12
+ class CardBrandFees
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Total fees for this card brand.
17
+ field :total, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('total'), required: true } }
18
+ # Details of interchange fees.
19
+ field :interchange, Crystalline::Nilable.new(Models::Components::BillingCountAndAmount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('interchange') } }
20
+ # A list of interchange program fees.
21
+ field :interchange_programs, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::BillingInterchangeProgramFee)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('interchangePrograms') } }
22
+ # Details of network passthrough fees.
23
+ field :network_passthrough, Crystalline::Nilable.new(Models::Components::BillingCountAndAmount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkPassthrough') } }
24
+ # Details of completed domestic online transactions.
25
+ field :completed_domestic_online, Crystalline::Nilable.new(Models::Components::BillingCountAndAmount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('completedDomesticOnline') } }
26
+ # Details of completed domestic in-person transactions.
27
+ field :completed_domestic_in_person, Crystalline::Nilable.new(Models::Components::BillingCountAndAmount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('completedDomesticInPerson') } }
28
+ # Details of completed international online transactions.
29
+ field :completed_international_online, Crystalline::Nilable.new(Models::Components::BillingCountAndAmount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('completedInternationalOnline') } }
30
+ # Details of completed international in-person transactions.
31
+ field :completed_international_in_person, Crystalline::Nilable.new(Models::Components::BillingCountAndAmount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('completedInternationalInPerson') } }
32
+ # Details of declined transactions.
33
+ field :declines, Crystalline::Nilable.new(Models::Components::BillingCountAndAmount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('declines') } }
34
+ # Details of refunded transactions.
35
+ field :refunds, Crystalline::Nilable.new(Models::Components::BillingCountAndAmount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('refunds') } }
36
+
37
+ sig { params(total: Models::Components::BillingCountAndAmount, interchange: T.nilable(Models::Components::BillingCountAndAmount), interchange_programs: T.nilable(T::Array[Models::Components::BillingInterchangeProgramFee]), network_passthrough: T.nilable(Models::Components::BillingCountAndAmount), completed_domestic_online: T.nilable(Models::Components::BillingCountAndAmount), completed_domestic_in_person: T.nilable(Models::Components::BillingCountAndAmount), completed_international_online: T.nilable(Models::Components::BillingCountAndAmount), completed_international_in_person: T.nilable(Models::Components::BillingCountAndAmount), declines: T.nilable(Models::Components::BillingCountAndAmount), refunds: T.nilable(Models::Components::BillingCountAndAmount)).void }
38
+ def initialize(total:, interchange: nil, interchange_programs: nil, network_passthrough: nil, completed_domestic_online: nil, completed_domestic_in_person: nil, completed_international_online: nil, completed_international_in_person: nil, declines: nil, refunds: nil)
39
+ @total = total
40
+ @interchange = interchange
41
+ @interchange_programs = interchange_programs
42
+ @network_passthrough = network_passthrough
43
+ @completed_domestic_online = completed_domestic_online
44
+ @completed_domestic_in_person = completed_domestic_in_person
45
+ @completed_international_online = completed_international_online
46
+ @completed_international_in_person = completed_international_in_person
47
+ @declines = declines
48
+ @refunds = refunds
49
+ end
50
+
51
+ sig { params(other: T.untyped).returns(T::Boolean) }
52
+ def ==(other)
53
+ return false unless other.is_a? self.class
54
+ return false unless @total == other.total
55
+ return false unless @interchange == other.interchange
56
+ return false unless @interchange_programs == other.interchange_programs
57
+ return false unless @network_passthrough == other.network_passthrough
58
+ return false unless @completed_domestic_online == other.completed_domestic_online
59
+ return false unless @completed_domestic_in_person == other.completed_domestic_in_person
60
+ return false unless @completed_international_online == other.completed_international_online
61
+ return false unless @completed_international_in_person == other.completed_international_in_person
62
+ return false unless @declines == other.declines
63
+ return false unless @refunds == other.refunds
64
+ true
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,31 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CardBrandFees
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CardBrandFees
11
+ def total(); end
12
+ def total=(str_); end
13
+ def interchange(); end
14
+ def interchange=(str_); end
15
+ def interchange_programs(); end
16
+ def interchange_programs=(str_); end
17
+ def network_passthrough(); end
18
+ def network_passthrough=(str_); end
19
+ def completed_domestic_online(); end
20
+ def completed_domestic_online=(str_); end
21
+ def completed_domestic_in_person(); end
22
+ def completed_domestic_in_person=(str_); end
23
+ def completed_international_online(); end
24
+ def completed_international_online=(str_); end
25
+ def completed_international_in_person(); end
26
+ def completed_international_in_person=(str_); end
27
+ def declines(); end
28
+ def declines=(str_); end
29
+ def refunds(); end
30
+ def refunds=(str_); end
31
+ end
@@ -0,0 +1,61 @@
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
+ # A detailed breakdown of instant payment fees.
12
+ class InstantPaymentFees
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Fees for RTP credit transactions.
17
+ field :rtp_credit_transaction, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('rtpCreditTransaction'), required: true } }
18
+ # Fees for push-to-card transactions.
19
+ field :push_to_card_transaction, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushToCardTransaction'), required: true } }
20
+ # Fees for pull-from-card transactions.
21
+ field :pull_from_card_transaction, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pullFromCardTransaction'), required: true } }
22
+ # Total instant payment fees.
23
+ field :total, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('total'), required: true } }
24
+ # Fees for RTP declines.
25
+ field :rtp_decline, Crystalline::Nilable.new(Models::Components::BillingCountAndAmount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('rtpDecline') } }
26
+ # Fees for push-to-card declines.
27
+ field :push_to_card_decline, Crystalline::Nilable.new(Models::Components::BillingCountAndAmount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushToCardDecline') } }
28
+ # Fees for pull-from-card declines.
29
+ field :pull_from_card_decline, Crystalline::Nilable.new(Models::Components::BillingCountAndAmount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pullFromCardDecline') } }
30
+ # Fees for pull-from-card refunds.
31
+ field :pull_from_card_refund, Crystalline::Nilable.new(Models::Components::BillingCountAndAmount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pullFromCardRefund') } }
32
+
33
+ sig { params(rtp_credit_transaction: Models::Components::BillingCountAndAmount, push_to_card_transaction: Models::Components::BillingCountAndAmount, pull_from_card_transaction: Models::Components::BillingCountAndAmount, total: Models::Components::BillingCountAndAmount, rtp_decline: T.nilable(Models::Components::BillingCountAndAmount), push_to_card_decline: T.nilable(Models::Components::BillingCountAndAmount), pull_from_card_decline: T.nilable(Models::Components::BillingCountAndAmount), pull_from_card_refund: T.nilable(Models::Components::BillingCountAndAmount)).void }
34
+ def initialize(rtp_credit_transaction:, push_to_card_transaction:, pull_from_card_transaction:, total:, rtp_decline: nil, push_to_card_decline: nil, pull_from_card_decline: nil, pull_from_card_refund: nil)
35
+ @rtp_credit_transaction = rtp_credit_transaction
36
+ @push_to_card_transaction = push_to_card_transaction
37
+ @pull_from_card_transaction = pull_from_card_transaction
38
+ @total = total
39
+ @rtp_decline = rtp_decline
40
+ @push_to_card_decline = push_to_card_decline
41
+ @pull_from_card_decline = pull_from_card_decline
42
+ @pull_from_card_refund = pull_from_card_refund
43
+ end
44
+
45
+ sig { params(other: T.untyped).returns(T::Boolean) }
46
+ def ==(other)
47
+ return false unless other.is_a? self.class
48
+ return false unless @rtp_credit_transaction == other.rtp_credit_transaction
49
+ return false unless @push_to_card_transaction == other.push_to_card_transaction
50
+ return false unless @pull_from_card_transaction == other.pull_from_card_transaction
51
+ return false unless @total == other.total
52
+ return false unless @rtp_decline == other.rtp_decline
53
+ return false unless @push_to_card_decline == other.push_to_card_decline
54
+ return false unless @pull_from_card_decline == other.pull_from_card_decline
55
+ return false unless @pull_from_card_refund == other.pull_from_card_refund
56
+ true
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,27 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::InstantPaymentFees
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::InstantPaymentFees
11
+ def rtp_credit_transaction(); end
12
+ def rtp_credit_transaction=(str_); end
13
+ def push_to_card_transaction(); end
14
+ def push_to_card_transaction=(str_); end
15
+ def pull_from_card_transaction(); end
16
+ def pull_from_card_transaction=(str_); end
17
+ def total(); end
18
+ def total=(str_); end
19
+ def rtp_decline(); end
20
+ def rtp_decline=(str_); end
21
+ def push_to_card_decline(); end
22
+ def push_to_card_decline=(str_); end
23
+ def pull_from_card_decline(); end
24
+ def pull_from_card_decline=(str_); end
25
+ def pull_from_card_refund(); end
26
+ def pull_from_card_refund=(str_); end
27
+ 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
+ # A detailed breakdown of other card-related fees.
12
+ class OtherCardFees
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Fees for disputes.
17
+ field :disputes, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disputes'), required: true } }
18
+ # Fees for card account updater services.
19
+ field :card_account_updater, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAccountUpdater'), required: true } }
20
+ # Fees for card verification.
21
+ field :card_verification, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardVerification'), required: true } }
22
+ # Fees for name verification.
23
+ field :name_verification, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('nameVerification'), required: true } }
24
+ # Total other card fees.
25
+ field :total, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('total'), required: true } }
26
+
27
+ sig { params(disputes: Models::Components::BillingCountAndAmount, card_account_updater: Models::Components::BillingCountAndAmount, card_verification: Models::Components::BillingCountAndAmount, name_verification: Models::Components::BillingCountAndAmount, total: Models::Components::BillingCountAndAmount).void }
28
+ def initialize(disputes:, card_account_updater:, card_verification:, name_verification:, total:)
29
+ @disputes = disputes
30
+ @card_account_updater = card_account_updater
31
+ @card_verification = card_verification
32
+ @name_verification = name_verification
33
+ @total = total
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 @disputes == other.disputes
40
+ return false unless @card_account_updater == other.card_account_updater
41
+ return false unless @card_verification == other.card_verification
42
+ return false unless @name_verification == other.name_verification
43
+ return false unless @total == other.total
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::OtherCardFees
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::OtherCardFees
11
+ def disputes(); end
12
+ def disputes=(str_); end
13
+ def card_account_updater(); end
14
+ def card_account_updater=(str_); end
15
+ def card_verification(); end
16
+ def card_verification=(str_); end
17
+ def name_verification(); end
18
+ def name_verification=(str_); end
19
+ def total(); end
20
+ def total=(str_); end
21
+ 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
+ # A detailed breakdown of platform fees.
12
+ class PlatformFees
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Fees associated with wallet services.
17
+ field :wallet_fee, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletFee'), required: true } }
18
+ # Fees for PCI compliance.
19
+ field :merchant_pci_fee, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantPCIFee'), required: true } }
20
+ # Total platform fees.
21
+ field :total, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('total'), required: true } }
22
+
23
+ sig { params(wallet_fee: Models::Components::AmountDecimal, merchant_pci_fee: Models::Components::AmountDecimal, total: Models::Components::AmountDecimal).void }
24
+ def initialize(wallet_fee:, merchant_pci_fee:, total:)
25
+ @wallet_fee = wallet_fee
26
+ @merchant_pci_fee = merchant_pci_fee
27
+ @total = total
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 @wallet_fee == other.wallet_fee
34
+ return false unless @merchant_pci_fee == other.merchant_pci_fee
35
+ return false unless @total == other.total
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::PlatformFees
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PlatformFees
11
+ def wallet_fee(); end
12
+ def wallet_fee=(str_); end
13
+ def merchant_pci_fee(); end
14
+ def merchant_pci_fee=(str_); end
15
+ def total(); end
16
+ def total=(str_); end
17
+ end
@@ -8,7 +8,7 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- # Describes a Moov account profile. A profile will have a business or an individual, depending on the account's type.
11
+ # Describes a Moov account profile. A profile will have a business, individual, or guest depending on the account's type.
12
12
  class Profile
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
@@ -0,0 +1,89 @@
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
+ # A billing statement for a Moov account.
12
+ class Statement
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The unique identifier for the statement.
17
+ field :statement_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('statementID'), required: true } }
18
+ # The name of the statement.
19
+ field :statement_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('statementName'), required: true } }
20
+ # The name of the statement file.
21
+ field :file_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fileName'), required: true } }
22
+ # The size of the statement file in bytes.
23
+ field :file_size, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fileSize'), required: true } }
24
+ # The start date and time of the billing period.
25
+ field :billing_period_start_date_time, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingPeriodStartDateTime'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
26
+ # The end date and time of the billing period.
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
+ # List of subscription IDs associated with this statement.
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.
31
+ field :summary, Models::Components::BillingSummary, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('summary'), required: true } }
32
+ # The date and time the statement was created.
33
+ field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
34
+ # The date and time the statement was last updated.
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.
37
+ field :card_acquiring_fees, Crystalline::Nilable.new(Models::Components::CardAcquiringFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAcquiringFees') } }
38
+ # A detailed breakdown of ACH fees.
39
+ field :ach_fees, Crystalline::Nilable.new(Models::Components::ACHFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achFees') } }
40
+ # A detailed breakdown of instant payment fees.
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.
43
+ field :platform_fees, Crystalline::Nilable.new(Models::Components::PlatformFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('platformFees') } }
44
+ # A detailed breakdown of other card-related fees.
45
+ field :other_card_fees, Crystalline::Nilable.new(Models::Components::OtherCardFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('otherCardFees') } }
46
+
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)
49
+ @statement_id = statement_id
50
+ @statement_name = statement_name
51
+ @file_name = file_name
52
+ @file_size = file_size
53
+ @billing_period_start_date_time = billing_period_start_date_time
54
+ @billing_period_end_date_time = billing_period_end_date_time
55
+ @subscription_i_ds = subscription_i_ds
56
+ @summary = summary
57
+ @created_on = created_on
58
+ @updated_on = updated_on
59
+ @card_acquiring_fees = card_acquiring_fees
60
+ @ach_fees = ach_fees
61
+ @instant_payment_fees = instant_payment_fees
62
+ @platform_fees = platform_fees
63
+ @other_card_fees = other_card_fees
64
+ end
65
+
66
+ sig { params(other: T.untyped).returns(T::Boolean) }
67
+ def ==(other)
68
+ return false unless other.is_a? self.class
69
+ return false unless @statement_id == other.statement_id
70
+ return false unless @statement_name == other.statement_name
71
+ return false unless @file_name == other.file_name
72
+ return false unless @file_size == other.file_size
73
+ return false unless @billing_period_start_date_time == other.billing_period_start_date_time
74
+ return false unless @billing_period_end_date_time == other.billing_period_end_date_time
75
+ return false unless @subscription_i_ds == other.subscription_i_ds
76
+ return false unless @summary == other.summary
77
+ return false unless @created_on == other.created_on
78
+ return false unless @updated_on == other.updated_on
79
+ return false unless @card_acquiring_fees == other.card_acquiring_fees
80
+ return false unless @ach_fees == other.ach_fees
81
+ return false unless @instant_payment_fees == other.instant_payment_fees
82
+ return false unless @platform_fees == other.platform_fees
83
+ return false unless @other_card_fees == other.other_card_fees
84
+ true
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,41 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::Statement
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::Statement
11
+ def statement_id(); end
12
+ def statement_id=(str_); end
13
+ def statement_name(); end
14
+ def statement_name=(str_); end
15
+ def file_name(); end
16
+ def file_name=(str_); end
17
+ def file_size(); end
18
+ def file_size=(str_); end
19
+ def billing_period_start_date_time(); end
20
+ def billing_period_start_date_time=(str_); end
21
+ def billing_period_end_date_time(); end
22
+ def billing_period_end_date_time=(str_); end
23
+ def subscription_i_ds(); end
24
+ def subscription_i_ds=(str_); end
25
+ def summary(); end
26
+ def summary=(str_); end
27
+ def created_on(); end
28
+ def created_on=(str_); end
29
+ def updated_on(); end
30
+ def updated_on=(str_); end
31
+ def card_acquiring_fees(); end
32
+ def card_acquiring_fees=(str_); end
33
+ def ach_fees(); end
34
+ def ach_fees=(str_); end
35
+ def instant_payment_fees(); end
36
+ def instant_payment_fees=(str_); end
37
+ def platform_fees(); end
38
+ def platform_fees=(str_); end
39
+ def other_card_fees(); end
40
+ def other_card_fees=(str_); end
41
+ end
@@ -0,0 +1,33 @@
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
+
12
+ class WebhookBillingStatementCreated
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :statement_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('statementID'), required: true } }
18
+
19
+ sig { params(statement_id: ::String).void }
20
+ def initialize(statement_id:)
21
+ @statement_id = statement_id
22
+ end
23
+
24
+ sig { params(other: T.untyped).returns(T::Boolean) }
25
+ def ==(other)
26
+ return false unless other.is_a? self.class
27
+ return false unless @statement_id == other.statement_id
28
+ true
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::WebhookBillingStatementCreated
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::WebhookBillingStatementCreated
11
+ def statement_id(); end
12
+ def statement_id=(str_); end
13
+ end
@@ -18,11 +18,11 @@ module Moov
18
18
  # The type of event that occurred.
19
19
  field :type, Models::Components::WebhookEventType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('type'), required: true, 'decoder': Utils.enum_from_string(Models::Components::WebhookEventType, false) } }
20
20
  # The data for the webhook event. The contents are based on the event type.
21
- field :data, Crystalline::Union.new(Models::Components::WebhookDataAccountCreated, Models::Components::WebhookDataAccountUpdated, Models::Components::WebhookDataAccountDisconnected, Models::Components::WebhookDataBalanceUpdated, Models::Components::WebhookDataBankAccountCreated, Models::Components::WebhookDataBankAccountUpdated, Models::Components::WebhookDataBankAccountDeleted, Models::Components::WebhookDataCancellationCreated, Models::Components::WebhookDataCancellationUpdated, Models::Components::WebhookDataCardAutoUpdated, Models::Components::WebhookDataCapabilityRequested, Models::Components::WebhookDataCapabilityUpdated, Models::Components::WebhookDataDisputeCreated, Models::Components::WebhookDataDisputeUpdated, Models::Components::WebhookDataNetworkIDUpdated, Models::Components::WebhookDataPaymentMethodEnabled, Models::Components::WebhookDataPaymentMethodDisabled, Models::Components::WebhookDataRefundCreated, Models::Components::WebhookDataRefundUpdated, Models::Components::WebhookDataRepresentativeCreated, Models::Components::WebhookDataRepresentativeUpdated, Models::Components::WebhookDataRepresentativeDisabled, Models::Components::WebhookDataSweepCreated, Models::Components::WebhookDataSweepUpdated, Models::Components::WebhookDataTerminalApplicationCreated, Models::Components::WebhookDataTerminalApplicationUpdated, Models::Components::WebhookDataTicketCreated, Models::Components::WebhookDataTicketUpdated, Models::Components::WebhookDataTicketMessageAdded, Models::Components::WebhookDataTransferCreated, Models::Components::WebhookDataTransferUpdated, Models::Components::WebhookDataWalletCreated, Models::Components::WebhookDataWalletUpdated, Models::Components::WebhookDataWalletTransactionUpdated), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('data'), required: true } }
21
+ field :data, Crystalline::Union.new(Models::Components::WebhookDataAccountCreated, Models::Components::WebhookDataAccountUpdated, Models::Components::WebhookDataAccountDisconnected, Models::Components::WebhookDataBalanceUpdated, Models::Components::WebhookDataBankAccountCreated, Models::Components::WebhookDataBankAccountUpdated, Models::Components::WebhookDataBankAccountDeleted, Models::Components::WebhookDataCancellationCreated, Models::Components::WebhookDataCancellationUpdated, Models::Components::WebhookDataCardAutoUpdated, Models::Components::WebhookDataCapabilityRequested, Models::Components::WebhookDataCapabilityUpdated, Models::Components::WebhookDataDisputeCreated, Models::Components::WebhookDataDisputeUpdated, Models::Components::WebhookDataNetworkIDUpdated, Models::Components::WebhookDataPaymentMethodEnabled, Models::Components::WebhookDataPaymentMethodDisabled, Models::Components::WebhookDataRefundCreated, Models::Components::WebhookDataRefundUpdated, Models::Components::WebhookDataRepresentativeCreated, Models::Components::WebhookDataRepresentativeUpdated, Models::Components::WebhookDataRepresentativeDisabled, Models::Components::WebhookDataSweepCreated, Models::Components::WebhookDataSweepUpdated, Models::Components::WebhookDataTerminalApplicationCreated, Models::Components::WebhookDataTerminalApplicationUpdated, Models::Components::WebhookDataTicketCreated, Models::Components::WebhookDataTicketUpdated, Models::Components::WebhookDataTicketMessageAdded, Models::Components::WebhookDataTransferCreated, Models::Components::WebhookDataTransferUpdated, Models::Components::WebhookDataWalletCreated, Models::Components::WebhookDataWalletUpdated, Models::Components::WebhookDataWalletTransactionUpdated, Models::Components::WebhookBillingStatementCreated), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('data'), required: true } }
22
22
 
23
23
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
24
24
 
25
- sig { params(event_id: ::String, type: Models::Components::WebhookEventType, data: T.any(Models::Components::WebhookDataAccountCreated, Models::Components::WebhookDataAccountUpdated, Models::Components::WebhookDataAccountDisconnected, Models::Components::WebhookDataBalanceUpdated, Models::Components::WebhookDataBankAccountCreated, Models::Components::WebhookDataBankAccountUpdated, Models::Components::WebhookDataBankAccountDeleted, Models::Components::WebhookDataCancellationCreated, Models::Components::WebhookDataCancellationUpdated, Models::Components::WebhookDataCardAutoUpdated, Models::Components::WebhookDataCapabilityRequested, Models::Components::WebhookDataCapabilityUpdated, Models::Components::WebhookDataDisputeCreated, Models::Components::WebhookDataDisputeUpdated, Models::Components::WebhookDataNetworkIDUpdated, Models::Components::WebhookDataPaymentMethodEnabled, Models::Components::WebhookDataPaymentMethodDisabled, Models::Components::WebhookDataRefundCreated, Models::Components::WebhookDataRefundUpdated, Models::Components::WebhookDataRepresentativeCreated, Models::Components::WebhookDataRepresentativeUpdated, Models::Components::WebhookDataRepresentativeDisabled, Models::Components::WebhookDataSweepCreated, Models::Components::WebhookDataSweepUpdated, Models::Components::WebhookDataTerminalApplicationCreated, Models::Components::WebhookDataTerminalApplicationUpdated, Models::Components::WebhookDataTicketCreated, Models::Components::WebhookDataTicketUpdated, Models::Components::WebhookDataTicketMessageAdded, Models::Components::WebhookDataTransferCreated, Models::Components::WebhookDataTransferUpdated, Models::Components::WebhookDataWalletCreated, Models::Components::WebhookDataWalletUpdated, Models::Components::WebhookDataWalletTransactionUpdated), created_on: ::DateTime).void }
25
+ sig { params(event_id: ::String, type: Models::Components::WebhookEventType, data: T.any(Models::Components::WebhookDataAccountCreated, Models::Components::WebhookDataAccountUpdated, Models::Components::WebhookDataAccountDisconnected, Models::Components::WebhookDataBalanceUpdated, Models::Components::WebhookDataBankAccountCreated, Models::Components::WebhookDataBankAccountUpdated, Models::Components::WebhookDataBankAccountDeleted, Models::Components::WebhookDataCancellationCreated, Models::Components::WebhookDataCancellationUpdated, Models::Components::WebhookDataCardAutoUpdated, Models::Components::WebhookDataCapabilityRequested, Models::Components::WebhookDataCapabilityUpdated, Models::Components::WebhookDataDisputeCreated, Models::Components::WebhookDataDisputeUpdated, Models::Components::WebhookDataNetworkIDUpdated, Models::Components::WebhookDataPaymentMethodEnabled, Models::Components::WebhookDataPaymentMethodDisabled, Models::Components::WebhookDataRefundCreated, Models::Components::WebhookDataRefundUpdated, Models::Components::WebhookDataRepresentativeCreated, Models::Components::WebhookDataRepresentativeUpdated, Models::Components::WebhookDataRepresentativeDisabled, Models::Components::WebhookDataSweepCreated, Models::Components::WebhookDataSweepUpdated, Models::Components::WebhookDataTerminalApplicationCreated, Models::Components::WebhookDataTerminalApplicationUpdated, Models::Components::WebhookDataTicketCreated, Models::Components::WebhookDataTicketUpdated, Models::Components::WebhookDataTicketMessageAdded, Models::Components::WebhookDataTransferCreated, Models::Components::WebhookDataTransferUpdated, Models::Components::WebhookDataWalletCreated, Models::Components::WebhookDataWalletUpdated, Models::Components::WebhookDataWalletTransactionUpdated, Models::Components::WebhookBillingStatementCreated), created_on: ::DateTime).void }
26
26
  def initialize(event_id:, type:, data:, created_on:)
27
27
  @event_id = event_id
28
28
  @type = type
@@ -48,6 +48,7 @@ module Moov
48
48
  WALLET_CREATED = new('wallet.created')
49
49
  WALLET_UPDATED = new('wallet.updated')
50
50
  WALLET_TRANSACTION_UPDATED = new('walletTransaction.updated')
51
+ BILLING_STATEMENT_CREATED = new('billingStatement.created')
51
52
  end
52
53
  end
53
54
  end
@@ -7,6 +7,7 @@ module Moov
7
7
  module Models
8
8
  module Components
9
9
  autoload :ACHException, 'moov/models/components/achexception.rb'
10
+ autoload :ACHFees, 'moov/models/components/achfees.rb'
10
11
  autoload :ACHInstitution, 'moov/models/components/achinstitution.rb'
11
12
  autoload :ACHPaymentDetails, 'moov/models/components/achpaymentdetails.rb'
12
13
  autoload :ACHPaymentDetailsError, 'moov/models/components/achpaymentdetailserror.rb'
@@ -68,6 +69,11 @@ module Moov
68
69
  autoload :BankAccountWaitFor, 'moov/models/components/bankaccountwaitfor.rb'
69
70
  autoload :BasicPaymentMethod, 'moov/models/components/basicpaymentmethod.rb'
70
71
  autoload :BillableFee, 'moov/models/components/billablefee.rb'
72
+ autoload :BillingCountAndAmount, 'moov/models/components/billingcountandamount.rb'
73
+ autoload :BillingInterchangeProgramFee, 'moov/models/components/billinginterchangeprogramfee.rb'
74
+ autoload :BillingSummary, 'moov/models/components/billingsummary.rb'
75
+ autoload :BillingSummaryDetails, 'moov/models/components/billingsummarydetails.rb'
76
+ autoload :BillingSummaryInterchange, 'moov/models/components/billingsummaryinterchange.rb'
71
77
  autoload :BirthDate, 'moov/models/components/birthdate.rb'
72
78
  autoload :BirthDateError, 'moov/models/components/birthdateerror.rb'
73
79
  autoload :BirthDateUpdate, 'moov/models/components/birthdateupdate.rb'
@@ -91,10 +97,12 @@ module Moov
91
97
  autoload :CardAcceptanceMethodsError, 'moov/models/components/cardacceptancemethodserror.rb'
92
98
  autoload :CardAccountUpdater, 'moov/models/components/cardaccountupdater.rb'
93
99
  autoload :CardAcquiringDispute, 'moov/models/components/cardacquiringdispute.rb'
100
+ autoload :CardAcquiringFees, 'moov/models/components/cardacquiringfees.rb'
94
101
  autoload :CardAcquiringModel, 'moov/models/components/cardacquiringmodel.rb'
95
102
  autoload :CardAcquiringRefund, 'moov/models/components/cardacquiringrefund.rb'
96
103
  autoload :CardAddress, 'moov/models/components/cardaddress.rb'
97
104
  autoload :CardBrand, 'moov/models/components/cardbrand.rb'
105
+ autoload :CardBrandFees, 'moov/models/components/cardbrandfees.rb'
98
106
  autoload :CardExpiration, 'moov/models/components/cardexpiration.rb'
99
107
  autoload :CardExpirationError, 'moov/models/components/cardexpirationerror.rb'
100
108
  autoload :CardIssuingNetwork, 'moov/models/components/cardissuingnetwork.rb'
@@ -240,6 +248,7 @@ module Moov
240
248
  autoload :IndividualProfile, 'moov/models/components/individualprofile.rb'
241
249
  autoload :IndustryCodes, 'moov/models/components/industrycodes.rb'
242
250
  autoload :IndustryTaxonomy, 'moov/models/components/industrytaxonomy.rb'
251
+ autoload :InstantPaymentFees, 'moov/models/components/instantpaymentfees.rb'
243
252
  autoload :InstitutionsSearchResponse, 'moov/models/components/institutionssearchresponse.rb'
244
253
  autoload :IssuedCard, 'moov/models/components/issuedcard.rb'
245
254
  autoload :IssuedCardAuthorization, 'moov/models/components/issuedcardauthorization.rb'
@@ -294,6 +303,7 @@ module Moov
294
303
  autoload :OnboardingInvite, 'moov/models/components/onboardinginvite.rb'
295
304
  autoload :OnboardingInviteRequest, 'moov/models/components/onboardinginviterequest.rb'
296
305
  autoload :OnboardingPartnerAccount, 'moov/models/components/onboardingpartneraccount.rb'
306
+ autoload :OtherCardFees, 'moov/models/components/othercardfees.rb'
297
307
  autoload :PartialScheduleAccount, 'moov/models/components/partialscheduleaccount.rb'
298
308
  autoload :PartnerPricing, 'moov/models/components/partnerpricing.rb'
299
309
  autoload :PartnerPricingAgreement, 'moov/models/components/partnerpricingagreement.rb'
@@ -331,6 +341,7 @@ module Moov
331
341
  autoload :PlaidLinkIntegration, 'moov/models/components/plaidlinkintegration.rb'
332
342
  autoload :PlaidLinkPayload, 'moov/models/components/plaidlinkpayload.rb'
333
343
  autoload :PlaidPayload, 'moov/models/components/plaidpayload.rb'
344
+ autoload :PlatformFees, 'moov/models/components/platformfees.rb'
334
345
  autoload :PrimaryRegulator, 'moov/models/components/primaryregulator.rb'
335
346
  autoload :Profile, 'moov/models/components/profile.rb'
336
347
  autoload :PullFromCardPaymentMethod, 'moov/models/components/pullfromcardpaymentmethod.rb'
@@ -385,6 +396,7 @@ module Moov
385
396
  autoload :SentReceipt, 'moov/models/components/sentreceipt.rb'
386
397
  autoload :Settings, 'moov/models/components/settings.rb'
387
398
  autoload :SourceDestinationOptions, 'moov/models/components/sourcedestinationoptions.rb'
399
+ autoload :Statement, 'moov/models/components/statement.rb'
388
400
  autoload :SubmissionIntent, 'moov/models/components/submissionintent.rb'
389
401
  autoload :Sweep, 'moov/models/components/sweep.rb'
390
402
  autoload :SweepConfig, 'moov/models/components/sweepconfig.rb'
@@ -460,6 +472,7 @@ module Moov
460
472
  autoload :WalletTransactionStatus, 'moov/models/components/wallettransactionstatus.rb'
461
473
  autoload :WalletTransactionType, 'moov/models/components/wallettransactiontype.rb'
462
474
  autoload :WalletType, 'moov/models/components/wallettype.rb'
475
+ autoload :WebhookBillingStatementCreated, 'moov/models/components/webhookbillingstatementcreated.rb'
463
476
  autoload :WebhookData, 'moov/models/components/webhookdata.rb'
464
477
  autoload :WebhookDataAccountCreated, 'moov/models/components/webhookdataaccountcreated.rb'
465
478
  autoload :WebhookDataAccountDisconnected, 'moov/models/components/webhookdataaccountdisconnected.rb'
@@ -503,6 +516,7 @@ module Moov
503
516
  autoload :WireServices, 'moov/models/components/wireservices.rb'
504
517
  autoload :AchDetails, 'moov/models/components/achdetails.rb'
505
518
  autoload :AchPayment, 'moov/models/components/achpayment.rb'
519
+ autoload :CardAcquiring, 'moov/models/components/cardacquiring.rb'
506
520
  autoload :CardDetails, 'moov/models/components/carddetails.rb'
507
521
  autoload :CardPayment, 'moov/models/components/cardpayment.rb'
508
522
  autoload :Email, 'moov/models/components/email.rb'