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.
- checksums.yaml +4 -4
- data/lib/moov/accounts.rb +1 -1
- data/lib/moov/client.rb +2 -1
- data/lib/moov/models/components/account.rb +1 -1
- data/lib/moov/models/components/achfees.rb +57 -0
- data/lib/moov/models/components/achfees.rbi +25 -0
- data/lib/moov/models/components/billingcountandamount.rb +37 -0
- data/lib/moov/models/components/billingcountandamount.rbi +15 -0
- data/lib/moov/models/components/billinginterchangeprogramfee.rb +53 -0
- data/lib/moov/models/components/billinginterchangeprogramfee.rbi +23 -0
- data/lib/moov/models/components/billingsummary.rb +57 -0
- data/lib/moov/models/components/billingsummary.rbi +25 -0
- data/lib/moov/models/components/billingsummarydetails.rb +41 -0
- data/lib/moov/models/components/billingsummarydetails.rbi +17 -0
- data/lib/moov/models/components/billingsummaryinterchange.rb +45 -0
- data/lib/moov/models/components/billingsummaryinterchange.rbi +19 -0
- data/lib/moov/models/components/cardacquiring.rb +45 -0
- data/lib/moov/models/components/cardacquiring.rbi +19 -0
- data/lib/moov/models/components/cardacquiringfees.rb +45 -0
- data/lib/moov/models/components/cardacquiringfees.rbi +19 -0
- data/lib/moov/models/components/cardbrandfees.rb +69 -0
- data/lib/moov/models/components/cardbrandfees.rbi +31 -0
- data/lib/moov/models/components/instantpaymentfees.rb +61 -0
- data/lib/moov/models/components/instantpaymentfees.rbi +27 -0
- data/lib/moov/models/components/othercardfees.rb +49 -0
- data/lib/moov/models/components/othercardfees.rbi +21 -0
- data/lib/moov/models/components/platformfees.rb +41 -0
- data/lib/moov/models/components/platformfees.rbi +17 -0
- data/lib/moov/models/components/profile.rb +1 -1
- data/lib/moov/models/components/statement.rb +89 -0
- data/lib/moov/models/components/statement.rbi +41 -0
- data/lib/moov/models/components/webhookbillingstatementcreated.rb +33 -0
- data/lib/moov/models/components/webhookbillingstatementcreated.rbi +13 -0
- data/lib/moov/models/components/webhookevent.rb +2 -2
- data/lib/moov/models/components/webhookeventtype.rb +1 -0
- data/lib/moov/models/components.rb +14 -0
- data/lib/moov/models/operations/getstatement_request.rb +49 -0
- data/lib/moov/models/operations/getstatement_request.rbi +17 -0
- data/lib/moov/models/operations/getstatement_response.rb +53 -0
- data/lib/moov/models/operations/getstatement_response.rbi +23 -0
- data/lib/moov/models/operations/listaccounts_request.rb +2 -0
- data/lib/moov/models/operations/liststatements_request.rb +61 -0
- data/lib/moov/models/operations/liststatements_request.rbi +23 -0
- data/lib/moov/models/operations/liststatements_response.rb +49 -0
- data/lib/moov/models/operations/liststatements_response.rbi +21 -0
- data/lib/moov/models/operations.rb +4 -0
- data/lib/moov/sdkconfiguration.rb +3 -3
- data/lib/moov/statements.rb +315 -0
- data/lib/moov_ruby.rb +1 -0
- metadata +39 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e06171c0441893cc9f3813ff75239122b07c3ae6281292c7c7fde41a8228658
|
4
|
+
data.tar.gz: fb33742c32faeb553d17341d531150f3718dbe10b36de26e65b5c3aee32c59bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c33c2240821f594d33ac5fdea6f3c9ecddf97f6f627b4bcd175dfe463880da077879e9720368cea6c602a4b638e6451e13ce5eec82adb7c8bee4d5277cf9a8ad
|
7
|
+
data.tar.gz: 7e9384ef36c47260ac269e2c1160a6bb91fd34d40f8e48e6cc15e69ab227f2ef945988f95924e0aa0f320906a3d35e14df9b7cf7bb39ccf90a3e220fad886a91
|
data/lib/moov/accounts.rb
CHANGED
@@ -213,7 +213,7 @@ module Moov
|
|
213
213
|
#
|
214
214
|
# All supported query parameters are optional. If none are provided the response will include all connected accounts.
|
215
215
|
# Pagination is supported via the `skip` and `count` query parameters. Searching by name and email will overlap and
|
216
|
-
# return results based on relevance.
|
216
|
+
# return results based on relevance. Accounts with AccountType `guest` will not be included in the response.
|
217
217
|
#
|
218
218
|
# To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need
|
219
219
|
# to specify the `/accounts.read` scope.
|
data/lib/moov/client.rb
CHANGED
@@ -16,7 +16,7 @@ module Moov
|
|
16
16
|
class Client
|
17
17
|
extend T::Sig
|
18
18
|
|
19
|
-
attr_accessor :accounts, :adjustments, :apple_pay, :bank_accounts, :branding, :capabilities, :cards, :disputes, :fee_plans, :files, :payment_links, :payment_methods, :representatives, :scheduling, :sweeps, :account_terminal_applications, :support, :transfers, :underwriting, :wallets, :wallet_transactions, :avatars, :end_to_end_encryption, :enriched_address, :enriched_profile, :industries, :institutions, :issuing_transactions, :card_issuing, :authentication, :onboarding, :ping, :receipts, :terminal_applications
|
19
|
+
attr_accessor :accounts, :adjustments, :apple_pay, :bank_accounts, :branding, :capabilities, :cards, :disputes, :fee_plans, :files, :payment_links, :payment_methods, :representatives, :scheduling, :statements, :sweeps, :account_terminal_applications, :support, :transfers, :underwriting, :wallets, :wallet_transactions, :avatars, :end_to_end_encryption, :enriched_address, :enriched_profile, :industries, :institutions, :issuing_transactions, :card_issuing, :authentication, :onboarding, :ping, :receipts, :terminal_applications
|
20
20
|
|
21
21
|
sig do
|
22
22
|
params(
|
@@ -106,6 +106,7 @@ module Moov
|
|
106
106
|
@payment_methods = PaymentMethods.new(@sdk_configuration)
|
107
107
|
@representatives = Representatives.new(@sdk_configuration)
|
108
108
|
@scheduling = Scheduling.new(@sdk_configuration)
|
109
|
+
@statements = Statements.new(@sdk_configuration)
|
109
110
|
@sweeps = Sweeps.new(@sdk_configuration)
|
110
111
|
@account_terminal_applications = AccountTerminalApplications.new(@sdk_configuration)
|
111
112
|
@support = Support.new(@sdk_configuration)
|
@@ -21,7 +21,7 @@ module Moov
|
|
21
21
|
field :account_type, Models::Components::AccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountType'), required: true, 'decoder': Utils.enum_from_string(Models::Components::AccountType, false) } }
|
22
22
|
|
23
23
|
field :display_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('displayName'), required: true } }
|
24
|
-
# Describes a Moov account profile. A profile will have a business or
|
24
|
+
# Describes a Moov account profile. A profile will have a business, individual, or guest depending on the account's type.
|
25
25
|
field :profile, Models::Components::Profile, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('profile'), required: true } }
|
26
26
|
# Describes identity verification status and relevant identity verification documents.
|
27
27
|
field :verification, Models::Components::Verification, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('verification'), required: true } }
|
@@ -0,0 +1,57 @@
|
|
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 ACH fees.
|
12
|
+
class ACHFees
|
13
|
+
extend T::Sig
|
14
|
+
include Crystalline::MetadataFields
|
15
|
+
|
16
|
+
# Fees for standard credit transfers.
|
17
|
+
field :standard_credit, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('standardCredit'), required: true } }
|
18
|
+
# Fees for same-day credit transfers.
|
19
|
+
field :same_day_credit, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sameDayCredit'), required: true } }
|
20
|
+
# Fees for debit transfers.
|
21
|
+
field :debits, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('debits'), required: true } }
|
22
|
+
# Fees for authorized returns.
|
23
|
+
field :return_, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('return'), required: true } }
|
24
|
+
# Fees for unauthorized returns.
|
25
|
+
field :unauthorized_return, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('unauthorizedReturn'), required: true } }
|
26
|
+
# Fees for notices of change.
|
27
|
+
field :notice_of_change, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('noticeOfChange'), required: true } }
|
28
|
+
# Total ACH fees.
|
29
|
+
field :total, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('total'), required: true } }
|
30
|
+
|
31
|
+
sig { params(standard_credit: Models::Components::BillingCountAndAmount, same_day_credit: Models::Components::BillingCountAndAmount, debits: Models::Components::BillingCountAndAmount, return_: Models::Components::BillingCountAndAmount, unauthorized_return: Models::Components::BillingCountAndAmount, notice_of_change: Models::Components::BillingCountAndAmount, total: Models::Components::BillingCountAndAmount).void }
|
32
|
+
def initialize(standard_credit:, same_day_credit:, debits:, return_:, unauthorized_return:, notice_of_change:, total:)
|
33
|
+
@standard_credit = standard_credit
|
34
|
+
@same_day_credit = same_day_credit
|
35
|
+
@debits = debits
|
36
|
+
@return_ = return_
|
37
|
+
@unauthorized_return = unauthorized_return
|
38
|
+
@notice_of_change = notice_of_change
|
39
|
+
@total = total
|
40
|
+
end
|
41
|
+
|
42
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
43
|
+
def ==(other)
|
44
|
+
return false unless other.is_a? self.class
|
45
|
+
return false unless @standard_credit == other.standard_credit
|
46
|
+
return false unless @same_day_credit == other.same_day_credit
|
47
|
+
return false unless @debits == other.debits
|
48
|
+
return false unless @return_ == other.return_
|
49
|
+
return false unless @unauthorized_return == other.unauthorized_return
|
50
|
+
return false unless @notice_of_change == other.notice_of_change
|
51
|
+
return false unless @total == other.total
|
52
|
+
true
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# typed: true
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
|
5
|
+
class Moov::Models::Components::ACHFees
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
class Moov::Models::Components::ACHFees
|
11
|
+
def standard_credit(); end
|
12
|
+
def standard_credit=(str_); end
|
13
|
+
def same_day_credit(); end
|
14
|
+
def same_day_credit=(str_); end
|
15
|
+
def debits(); end
|
16
|
+
def debits=(str_); end
|
17
|
+
def return_(); end
|
18
|
+
def return_=(str_); end
|
19
|
+
def unauthorized_return(); end
|
20
|
+
def unauthorized_return=(str_); end
|
21
|
+
def notice_of_change(); end
|
22
|
+
def notice_of_change=(str_); end
|
23
|
+
def total(); end
|
24
|
+
def total=(str_); end
|
25
|
+
end
|
@@ -0,0 +1,37 @@
|
|
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 count of items and their total amount.
|
12
|
+
class BillingCountAndAmount
|
13
|
+
extend T::Sig
|
14
|
+
include Crystalline::MetadataFields
|
15
|
+
|
16
|
+
# The number of items.
|
17
|
+
field :count, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('count'), required: true } }
|
18
|
+
# The total amount.
|
19
|
+
field :amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
|
20
|
+
|
21
|
+
sig { params(count: ::Integer, amount: Models::Components::AmountDecimal).void }
|
22
|
+
def initialize(count:, amount:)
|
23
|
+
@count = count
|
24
|
+
@amount = amount
|
25
|
+
end
|
26
|
+
|
27
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
28
|
+
def ==(other)
|
29
|
+
return false unless other.is_a? self.class
|
30
|
+
return false unless @count == other.count
|
31
|
+
return false unless @amount == other.amount
|
32
|
+
true
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# typed: true
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
|
5
|
+
class Moov::Models::Components::BillingCountAndAmount
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
class Moov::Models::Components::BillingCountAndAmount
|
11
|
+
def count(); end
|
12
|
+
def count=(str_); end
|
13
|
+
def amount(); end
|
14
|
+
def amount=(str_); end
|
15
|
+
end
|
@@ -0,0 +1,53 @@
|
|
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
|
+
# Details of a specific interchange program fee.
|
12
|
+
class BillingInterchangeProgramFee
|
13
|
+
extend T::Sig
|
14
|
+
include Crystalline::MetadataFields
|
15
|
+
|
16
|
+
# The name of the interchange program.
|
17
|
+
field :program_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('programName'), required: true } }
|
18
|
+
# The number of transactions for this program.
|
19
|
+
field :count, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('count'), required: true } }
|
20
|
+
# The percentage rate for this program.
|
21
|
+
field :percentage_rate, ::Float, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('percentageRate'), required: true } }
|
22
|
+
# The per-item rate for this program.
|
23
|
+
field :per_item_rate, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('perItemRate'), required: true } }
|
24
|
+
# The total fee amount for this program.
|
25
|
+
field :total, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('total'), required: true } }
|
26
|
+
# The total transfer volume for this program.
|
27
|
+
field :transfer_volume, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferVolume'), required: true } }
|
28
|
+
|
29
|
+
sig { params(program_name: ::String, count: ::Integer, percentage_rate: ::Float, per_item_rate: Models::Components::AmountDecimal, total: Models::Components::AmountDecimal, transfer_volume: Models::Components::AmountDecimal).void }
|
30
|
+
def initialize(program_name:, count:, percentage_rate:, per_item_rate:, total:, transfer_volume:)
|
31
|
+
@program_name = program_name
|
32
|
+
@count = count
|
33
|
+
@percentage_rate = percentage_rate
|
34
|
+
@per_item_rate = per_item_rate
|
35
|
+
@total = total
|
36
|
+
@transfer_volume = transfer_volume
|
37
|
+
end
|
38
|
+
|
39
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
40
|
+
def ==(other)
|
41
|
+
return false unless other.is_a? self.class
|
42
|
+
return false unless @program_name == other.program_name
|
43
|
+
return false unless @count == other.count
|
44
|
+
return false unless @percentage_rate == other.percentage_rate
|
45
|
+
return false unless @per_item_rate == other.per_item_rate
|
46
|
+
return false unless @total == other.total
|
47
|
+
return false unless @transfer_volume == other.transfer_volume
|
48
|
+
true
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# typed: true
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
|
5
|
+
class Moov::Models::Components::BillingInterchangeProgramFee
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
class Moov::Models::Components::BillingInterchangeProgramFee
|
11
|
+
def program_name(); end
|
12
|
+
def program_name=(str_); end
|
13
|
+
def count(); end
|
14
|
+
def count=(str_); end
|
15
|
+
def percentage_rate(); end
|
16
|
+
def percentage_rate=(str_); end
|
17
|
+
def per_item_rate(); end
|
18
|
+
def per_item_rate=(str_); end
|
19
|
+
def total(); end
|
20
|
+
def total=(str_); end
|
21
|
+
def transfer_volume(); end
|
22
|
+
def transfer_volume=(str_); end
|
23
|
+
end
|
@@ -0,0 +1,57 @@
|
|
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 summary of all fees included in a statement.
|
12
|
+
class BillingSummary
|
13
|
+
extend T::Sig
|
14
|
+
include Crystalline::MetadataFields
|
15
|
+
|
16
|
+
# A summary of card acquiring volume and fees.
|
17
|
+
field :card_acquiring, Crystalline::Nilable.new(Models::Components::CardAcquiring), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAcquiring') } }
|
18
|
+
# A summary of ACH volume and fees.
|
19
|
+
field :ach, Crystalline::Nilable.new(Models::Components::BillingSummaryDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('ach') } }
|
20
|
+
# A summary of instant payment volume and fees.
|
21
|
+
field :instant_payments, Crystalline::Nilable.new(Models::Components::BillingSummaryDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('instantPayments') } }
|
22
|
+
# The total amount of platform fees.
|
23
|
+
field :platform_fees, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('platformFees') } }
|
24
|
+
# The total amount of adjustment fees.
|
25
|
+
field :adjustment_fees, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('adjustmentFees') } }
|
26
|
+
# The total amount of other fees.
|
27
|
+
field :other_fees, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('otherFees') } }
|
28
|
+
# The total amount of all fees.
|
29
|
+
field :total, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('total') } }
|
30
|
+
|
31
|
+
sig { params(card_acquiring: T.nilable(Models::Components::CardAcquiring), ach: T.nilable(Models::Components::BillingSummaryDetails), instant_payments: T.nilable(Models::Components::BillingSummaryDetails), platform_fees: T.nilable(Models::Components::AmountDecimal), adjustment_fees: T.nilable(Models::Components::AmountDecimal), other_fees: T.nilable(Models::Components::AmountDecimal), total: T.nilable(Models::Components::AmountDecimal)).void }
|
32
|
+
def initialize(card_acquiring: nil, ach: nil, instant_payments: nil, platform_fees: nil, adjustment_fees: nil, other_fees: nil, total: nil)
|
33
|
+
@card_acquiring = card_acquiring
|
34
|
+
@ach = ach
|
35
|
+
@instant_payments = instant_payments
|
36
|
+
@platform_fees = platform_fees
|
37
|
+
@adjustment_fees = adjustment_fees
|
38
|
+
@other_fees = other_fees
|
39
|
+
@total = total
|
40
|
+
end
|
41
|
+
|
42
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
43
|
+
def ==(other)
|
44
|
+
return false unless other.is_a? self.class
|
45
|
+
return false unless @card_acquiring == other.card_acquiring
|
46
|
+
return false unless @ach == other.ach
|
47
|
+
return false unless @instant_payments == other.instant_payments
|
48
|
+
return false unless @platform_fees == other.platform_fees
|
49
|
+
return false unless @adjustment_fees == other.adjustment_fees
|
50
|
+
return false unless @other_fees == other.other_fees
|
51
|
+
return false unless @total == other.total
|
52
|
+
true
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# typed: true
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
|
5
|
+
class Moov::Models::Components::BillingSummary
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
class Moov::Models::Components::BillingSummary
|
11
|
+
def card_acquiring(); end
|
12
|
+
def card_acquiring=(str_); end
|
13
|
+
def ach(); end
|
14
|
+
def ach=(str_); end
|
15
|
+
def instant_payments(); end
|
16
|
+
def instant_payments=(str_); end
|
17
|
+
def platform_fees(); end
|
18
|
+
def platform_fees=(str_); end
|
19
|
+
def adjustment_fees(); end
|
20
|
+
def adjustment_fees=(str_); end
|
21
|
+
def other_fees(); end
|
22
|
+
def other_fees=(str_); end
|
23
|
+
def total(); end
|
24
|
+
def total=(str_); end
|
25
|
+
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
|
+
# Details of volume and fees for a specific payment method.
|
12
|
+
class BillingSummaryDetails
|
13
|
+
extend T::Sig
|
14
|
+
include Crystalline::MetadataFields
|
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.
|
19
|
+
field :volume_count, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('volumeCount') } }
|
20
|
+
# The total fee amount.
|
21
|
+
field :fee_amount, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feeAmount') } }
|
22
|
+
|
23
|
+
sig { params(volume_amount: T.nilable(Models::Components::AmountDecimal), volume_count: T.nilable(::Integer), fee_amount: T.nilable(Models::Components::AmountDecimal)).void }
|
24
|
+
def initialize(volume_amount: nil, volume_count: nil, fee_amount: nil)
|
25
|
+
@volume_amount = volume_amount
|
26
|
+
@volume_count = volume_count
|
27
|
+
@fee_amount = fee_amount
|
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 @volume_amount == other.volume_amount
|
34
|
+
return false unless @volume_count == other.volume_count
|
35
|
+
return false unless @fee_amount == other.fee_amount
|
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::BillingSummaryDetails
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
class Moov::Models::Components::BillingSummaryDetails
|
11
|
+
def volume_amount(); end
|
12
|
+
def volume_amount=(str_); end
|
13
|
+
def volume_count(); end
|
14
|
+
def volume_count=(str_); end
|
15
|
+
def fee_amount(); end
|
16
|
+
def fee_amount=(str_); end
|
17
|
+
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
|
+
# A summary of interchange fees by card brand.
|
12
|
+
class BillingSummaryInterchange
|
13
|
+
extend T::Sig
|
14
|
+
include Crystalline::MetadataFields
|
15
|
+
|
16
|
+
# Total interchange fees for Visa.
|
17
|
+
field :visa, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('visa'), required: true } }
|
18
|
+
# Total interchange fees for Mastercard.
|
19
|
+
field :mastercard, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mastercard'), required: true } }
|
20
|
+
# Total interchange fees for Discover.
|
21
|
+
field :discover, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('discover'), required: true } }
|
22
|
+
# Total interchange fees for American Express.
|
23
|
+
field :american_express, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('americanExpress'), required: true } }
|
24
|
+
|
25
|
+
sig { params(visa: Models::Components::AmountDecimal, mastercard: Models::Components::AmountDecimal, discover: Models::Components::AmountDecimal, american_express: Models::Components::AmountDecimal).void }
|
26
|
+
def initialize(visa:, mastercard:, discover:, american_express:)
|
27
|
+
@visa = visa
|
28
|
+
@mastercard = mastercard
|
29
|
+
@discover = discover
|
30
|
+
@american_express = american_express
|
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 @visa == other.visa
|
37
|
+
return false unless @mastercard == other.mastercard
|
38
|
+
return false unless @discover == other.discover
|
39
|
+
return false unless @american_express == other.american_express
|
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::BillingSummaryInterchange
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
class Moov::Models::Components::BillingSummaryInterchange
|
11
|
+
def visa(); end
|
12
|
+
def visa=(str_); end
|
13
|
+
def mastercard(); end
|
14
|
+
def mastercard=(str_); end
|
15
|
+
def discover(); end
|
16
|
+
def discover=(str_); end
|
17
|
+
def american_express(); end
|
18
|
+
def american_express=(str_); end
|
19
|
+
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
|
+
# A summary of card acquiring volume and fees.
|
12
|
+
class CardAcquiring
|
13
|
+
extend T::Sig
|
14
|
+
include Crystalline::MetadataFields
|
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.
|
19
|
+
field :volume_count, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('volumeCount') } }
|
20
|
+
# The total fee amount.
|
21
|
+
field :fee_amount, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feeAmount') } }
|
22
|
+
# A summary of interchange fees by card brand.
|
23
|
+
field :interchange_fees, Crystalline::Nilable.new(Models::Components::BillingSummaryInterchange), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('interchangeFees') } }
|
24
|
+
|
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)
|
27
|
+
@volume_amount = volume_amount
|
28
|
+
@volume_count = volume_count
|
29
|
+
@fee_amount = fee_amount
|
30
|
+
@interchange_fees = interchange_fees
|
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 @volume_amount == other.volume_amount
|
37
|
+
return false unless @volume_count == other.volume_count
|
38
|
+
return false unless @fee_amount == other.fee_amount
|
39
|
+
return false unless @interchange_fees == other.interchange_fees
|
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::CardAcquiring
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
class Moov::Models::Components::CardAcquiring
|
11
|
+
def volume_amount(); end
|
12
|
+
def volume_amount=(str_); end
|
13
|
+
def volume_count(); end
|
14
|
+
def volume_count=(str_); end
|
15
|
+
def fee_amount(); end
|
16
|
+
def fee_amount=(str_); end
|
17
|
+
def interchange_fees(); end
|
18
|
+
def interchange_fees=(str_); end
|
19
|
+
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
|
+
# A detailed breakdown of card acquiring fees by card brand.
|
12
|
+
class CardAcquiringFees
|
13
|
+
extend T::Sig
|
14
|
+
include Crystalline::MetadataFields
|
15
|
+
|
16
|
+
# Fees associated with Visa transactions.
|
17
|
+
field :visa, Models::Components::CardBrandFees, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('visa'), required: true } }
|
18
|
+
# Fees associated with Mastercard transactions.
|
19
|
+
field :mastercard, Models::Components::CardBrandFees, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mastercard'), required: true } }
|
20
|
+
# Fees associated with Discover transactions.
|
21
|
+
field :discover, Models::Components::CardBrandFees, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('discover'), required: true } }
|
22
|
+
# Fees associated with American Express transactions.
|
23
|
+
field :american_express, Models::Components::CardBrandFees, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('americanExpress'), required: true } }
|
24
|
+
|
25
|
+
sig { params(visa: Models::Components::CardBrandFees, mastercard: Models::Components::CardBrandFees, discover: Models::Components::CardBrandFees, american_express: Models::Components::CardBrandFees).void }
|
26
|
+
def initialize(visa:, mastercard:, discover:, american_express:)
|
27
|
+
@visa = visa
|
28
|
+
@mastercard = mastercard
|
29
|
+
@discover = discover
|
30
|
+
@american_express = american_express
|
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 @visa == other.visa
|
37
|
+
return false unless @mastercard == other.mastercard
|
38
|
+
return false unless @discover == other.discover
|
39
|
+
return false unless @american_express == other.american_express
|
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::CardAcquiringFees
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
class Moov::Models::Components::CardAcquiringFees
|
11
|
+
def visa(); end
|
12
|
+
def visa=(str_); end
|
13
|
+
def mastercard(); end
|
14
|
+
def mastercard=(str_); end
|
15
|
+
def discover(); end
|
16
|
+
def discover=(str_); end
|
17
|
+
def american_express(); end
|
18
|
+
def american_express=(str_); end
|
19
|
+
end
|