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.
- checksums.yaml +4 -4
- data/lib/moov/bank_accounts.rb +3 -3
- data/lib/moov/models/components/accountfees.rb +53 -0
- data/lib/moov/models/components/accountfees.rbi +23 -0
- data/lib/moov/models/components/adjustmentfees.rb +41 -0
- data/lib/moov/models/components/adjustmentfees.rbi +15 -0
- data/lib/moov/models/components/bankaccountexception.rb +25 -2
- data/lib/moov/models/components/bankaccountexception.rbi +2 -0
- data/lib/moov/models/components/bankaccountstatusreason.rb +1 -0
- data/lib/moov/models/components/billingcountandamount.rb +1 -1
- data/lib/moov/models/components/billingsummary.rb +45 -11
- data/lib/moov/models/components/billingsummary.rbi +14 -0
- data/lib/moov/models/components/billingsummary_platformfees.rb +41 -0
- data/lib/moov/models/components/billingsummary_platformfees.rbi +15 -0
- data/lib/moov/models/components/billingsummary_volumeamount.rb +41 -0
- data/lib/moov/models/components/billingsummary_volumeamount.rbi +15 -0
- data/lib/moov/models/components/billingsummarydetails.rb +22 -6
- data/lib/moov/models/components/billingsummarydetails.rbi +6 -0
- data/lib/moov/models/components/billingsummarydetails_volumeamount.rb +41 -0
- data/lib/moov/models/components/billingsummarydetails_volumeamount.rbi +15 -0
- data/lib/moov/models/components/cardacquiring.rb +22 -6
- data/lib/moov/models/components/cardacquiring.rbi +6 -0
- data/lib/moov/models/components/cardbrandfees.rb +1 -1
- data/lib/moov/models/components/otherfees.rb +41 -0
- data/lib/moov/models/components/otherfees.rbi +15 -0
- data/lib/moov/models/components/partnerfees.rb +41 -0
- data/lib/moov/models/components/partnerfees.rbi +17 -0
- data/lib/moov/models/components/platformfees.rb +3 -1
- data/lib/moov/models/components/runtransfer.rb +7 -2
- data/lib/moov/models/components/runtransfer.rbi +2 -0
- data/lib/moov/models/components/scheduledtransferlineitem.rb +49 -0
- data/lib/moov/models/components/scheduledtransferlineitem.rbi +21 -0
- data/lib/moov/models/components/scheduledtransferlineitemoption.rb +45 -0
- data/lib/moov/models/components/scheduledtransferlineitemoption.rbi +19 -0
- data/lib/moov/models/components/scheduledtransferlineitems.rb +34 -0
- data/lib/moov/models/components/scheduledtransferlineitems.rbi +13 -0
- data/lib/moov/models/components/statement.rb +15 -5
- data/lib/moov/models/components/statement.rbi +4 -0
- data/lib/moov/models/components.rb +10 -0
- data/lib/moov/sdkconfiguration.rb +3 -3
- metadata +22 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 91c583ee1ffc982a3b37616561addc58bf9b35c5f77014682ca6baef6fc61613
|
|
4
|
+
data.tar.gz: bf1a511dd7739c8dc31d8efb7c29a1ccd7525830698839e36605e085986197ae
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c03f2058f50d91abe4e602a499bb22ec4bbf33619fbd5a5146f633e32ced87e6a21f6a6c3148a7b42c7230680d2d4bfe622756a08d43e637c0a032e8fc5f79f1
|
|
7
|
+
data.tar.gz: 2835f0a1df85b19f00b98635cb9bc80d18104e22ebf3cee0f79412ec5885564727c240c1abe7867c480b6b9d944ebe16ac769afcaf440ba3091fc9831c12bbee
|
data/lib/moov/bank_accounts.rb
CHANGED
|
@@ -890,7 +890,7 @@ module Moov
|
|
|
890
890
|
|
|
891
891
|
sig { params(account_id: ::String, bank_account_id: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetBankAccountVerificationResponse) }
|
|
892
892
|
def get_verification(account_id:, bank_account_id:, x_moov_version: nil, timeout_ms: nil)
|
|
893
|
-
# get_verification - Retrieve the current status and details of an instant verification, including whether the verification method was instant or same-day
|
|
893
|
+
# get_verification - Retrieve the current status and details of an instant verification, including whether the verification method was instant (RTP or FedNow) or same-day
|
|
894
894
|
# ACH. This helps track the verification process in real-time and provides details in case of exceptions.
|
|
895
895
|
#
|
|
896
896
|
# The status will indicate the following:
|
|
@@ -1023,14 +1023,14 @@ module Moov
|
|
|
1023
1023
|
def initiate_verification(account_id:, bank_account_id:, x_moov_version: nil, x_wait_for: nil, timeout_ms: nil)
|
|
1024
1024
|
# initiate_verification - Instant micro-deposit verification offers a quick and efficient way to verify bank account ownership.
|
|
1025
1025
|
#
|
|
1026
|
-
# Send a $0.01 credit with a unique verification code via RTP or same-day ACH, depending on the receiving bank's capabilities. This
|
|
1026
|
+
# Send a $0.01 credit with a unique verification code via RTP, FedNow, or same-day ACH, depending on the receiving bank's capabilities. This
|
|
1027
1027
|
# feature provides a faster alternative to traditional methods, allowing verification in a single session.
|
|
1028
1028
|
#
|
|
1029
1029
|
# It is recommended to use the `X-Wait-For: rail-response` header to synchronously receive the outcome of the instant credit in the
|
|
1030
1030
|
# response payload.
|
|
1031
1031
|
#
|
|
1032
1032
|
# Possible verification methods:
|
|
1033
|
-
# - `instant`: Real-time verification credit sent via RTP
|
|
1033
|
+
# - `instant`: Real-time verification credit sent via RTP or FedNow
|
|
1034
1034
|
# - `ach`: Verification credit sent via same-day ACH
|
|
1035
1035
|
#
|
|
1036
1036
|
# Possible statuses:
|
|
@@ -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
|
+
# A detailed breakdown of account fees.
|
|
12
|
+
class AccountFees
|
|
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
|
+
# Fees for business verification.
|
|
23
|
+
field :kyb_fee, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('kybFee') } }
|
|
24
|
+
# Fees for customer verification.
|
|
25
|
+
field :kyc_fee, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('kycFee') } }
|
|
26
|
+
# Fees for transaction risk monitoring.
|
|
27
|
+
field :transaction_monitoring_fee, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transactionMonitoringFee') } }
|
|
28
|
+
|
|
29
|
+
sig { params(wallet_fee: Models::Components::AmountDecimal, merchant_pci_fee: Models::Components::AmountDecimal, total: Models::Components::AmountDecimal, kyb_fee: T.nilable(Models::Components::AmountDecimal), kyc_fee: T.nilable(Models::Components::AmountDecimal), transaction_monitoring_fee: T.nilable(Models::Components::AmountDecimal)).void }
|
|
30
|
+
def initialize(wallet_fee:, merchant_pci_fee:, total:, kyb_fee: nil, kyc_fee: nil, transaction_monitoring_fee: nil)
|
|
31
|
+
@wallet_fee = wallet_fee
|
|
32
|
+
@merchant_pci_fee = merchant_pci_fee
|
|
33
|
+
@total = total
|
|
34
|
+
@kyb_fee = kyb_fee
|
|
35
|
+
@kyc_fee = kyc_fee
|
|
36
|
+
@transaction_monitoring_fee = transaction_monitoring_fee
|
|
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 @wallet_fee == other.wallet_fee
|
|
43
|
+
return false unless @merchant_pci_fee == other.merchant_pci_fee
|
|
44
|
+
return false unless @total == other.total
|
|
45
|
+
return false unless @kyb_fee == other.kyb_fee
|
|
46
|
+
return false unless @kyc_fee == other.kyc_fee
|
|
47
|
+
return false unless @transaction_monitoring_fee == other.transaction_monitoring_fee
|
|
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::AccountFees
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::AccountFees
|
|
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
|
+
def kyb_fee(); end
|
|
18
|
+
def kyb_fee=(str_); end
|
|
19
|
+
def kyc_fee(); end
|
|
20
|
+
def kyc_fee=(str_); end
|
|
21
|
+
def transaction_monitoring_fee(); end
|
|
22
|
+
def transaction_monitoring_fee=(str_); end
|
|
23
|
+
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
|
+
# The total amount of adjustment fees. This field is deprecated and will be removed in a future release.
|
|
12
|
+
#
|
|
13
|
+
# @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
14
|
+
class AdjustmentFees
|
|
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::AdjustmentFees
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::AdjustmentFees
|
|
11
|
+
def currency(); end
|
|
12
|
+
def currency=(str_); end
|
|
13
|
+
def value_decimal(); end
|
|
14
|
+
def value_decimal=(str_); end
|
|
15
|
+
end
|
|
@@ -48,12 +48,34 @@ module Moov
|
|
|
48
48
|
# - AG03: Transaction Type Not Supported
|
|
49
49
|
# - MD07: Customer Deceased
|
|
50
50
|
field :rtp_rejection_code, Crystalline::Nilable.new(Models::Components::RTPRejectionCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('rtpRejectionCode'), 'decoder': Utils.enum_from_string(Models::Components::RTPRejectionCode, true) } }
|
|
51
|
+
# The rejection code of a FedNow transaction that caused the bank account status to change.
|
|
52
|
+
#
|
|
53
|
+
# - AC02: Debtor account is invalid
|
|
54
|
+
# - AC03: Creditor account is invalid
|
|
55
|
+
# - AC04: Account closed
|
|
56
|
+
# - AC06: Account is blocked
|
|
57
|
+
# - AC07: Creditor account closed
|
|
58
|
+
# - AC10: Debtor account currency is invalid or missing
|
|
59
|
+
# - AC11: Creditor account currency is invalid or missing
|
|
60
|
+
# - AC13: Debtor account type missing or invalid
|
|
61
|
+
# - AC14: Creditor account type missing or invalid
|
|
62
|
+
# - AG01: Transaction is forbidden on this type of account
|
|
63
|
+
# - AG03: Transaction type is not supported/authorized on this account
|
|
64
|
+
# - BE06: End customer specified is not known at associated Sort/National Bank Code or no longer exists in the books
|
|
65
|
+
# - DUPL: Payment is a duplicate of another payment
|
|
66
|
+
# - MD07: End customer is deceased
|
|
67
|
+
# - NOAT: Receiving customer account does not support/accept this message type
|
|
68
|
+
# - RC02: Bank identifier is invalid or missing
|
|
69
|
+
# - RC03: Debtor FI identifier is invalid or missing
|
|
70
|
+
# - RC04: Creditor FI identifier is invalid or missing
|
|
71
|
+
field :fednow_rejection_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fednowRejectionCode') } }
|
|
51
72
|
|
|
52
|
-
sig { params(description: ::String, ach_return_code: T.nilable(Models::Components::ACHReturnCode), rtp_rejection_code: T.nilable(Models::Components::RTPRejectionCode)).void }
|
|
53
|
-
def initialize(description:, ach_return_code: nil, rtp_rejection_code: nil)
|
|
73
|
+
sig { params(description: ::String, ach_return_code: T.nilable(Models::Components::ACHReturnCode), rtp_rejection_code: T.nilable(Models::Components::RTPRejectionCode), fednow_rejection_code: T.nilable(::String)).void }
|
|
74
|
+
def initialize(description:, ach_return_code: nil, rtp_rejection_code: nil, fednow_rejection_code: nil)
|
|
54
75
|
@description = description
|
|
55
76
|
@ach_return_code = ach_return_code
|
|
56
77
|
@rtp_rejection_code = rtp_rejection_code
|
|
78
|
+
@fednow_rejection_code = fednow_rejection_code
|
|
57
79
|
end
|
|
58
80
|
|
|
59
81
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -62,6 +84,7 @@ module Moov
|
|
|
62
84
|
return false unless @description == other.description
|
|
63
85
|
return false unless @ach_return_code == other.ach_return_code
|
|
64
86
|
return false unless @rtp_rejection_code == other.rtp_rejection_code
|
|
87
|
+
return false unless @fednow_rejection_code == other.fednow_rejection_code
|
|
65
88
|
true
|
|
66
89
|
end
|
|
67
90
|
end
|
|
@@ -24,6 +24,7 @@ module Moov
|
|
|
24
24
|
ACH_DEBIT_RETURN = new('ach-debit-return')
|
|
25
25
|
ACH_CREDIT_RETURN = new('ach-credit-return')
|
|
26
26
|
RTP_CREDIT_FAILURE = new('rtp-credit-failure')
|
|
27
|
+
FEDNOW_CREDIT_FAILURE = new('fednow-credit-failure')
|
|
27
28
|
MICRO_DEPOSIT_RETURN = new('micro-deposit-return')
|
|
28
29
|
ADMIN_ACTION = new('admin-action')
|
|
29
30
|
OTHER = new('other')
|
|
@@ -13,30 +13,57 @@ module Moov
|
|
|
13
13
|
extend T::Sig
|
|
14
14
|
include Crystalline::MetadataFields
|
|
15
15
|
|
|
16
|
-
# A summary of card acquiring
|
|
16
|
+
# A summary of card acquiring fees.
|
|
17
17
|
field :card_acquiring, Crystalline::Nilable.new(Models::Components::CardAcquiring), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAcquiring') } }
|
|
18
|
-
# A summary of ACH
|
|
18
|
+
# A summary of ACH fees.
|
|
19
19
|
field :ach, Crystalline::Nilable.new(Models::Components::BillingSummaryDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('ach') } }
|
|
20
|
-
# A summary of instant payment
|
|
20
|
+
# A summary of instant payment fees.
|
|
21
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
|
-
|
|
24
|
-
#
|
|
25
|
-
field :
|
|
26
|
-
#
|
|
27
|
-
field :
|
|
22
|
+
# The total amount of platform fees. This field is deprecated and will be removed in a future release. Use summary.accountFees.
|
|
23
|
+
#
|
|
24
|
+
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
25
|
+
field :platform_fees, Crystalline::Nilable.new(Models::Components::BillingSummaryPlatformFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('platformFees') } }
|
|
26
|
+
# A summary of account fees.
|
|
27
|
+
field :account_fees, Crystalline::Nilable.new(Models::Components::BillingSummaryDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountFees') } }
|
|
28
|
+
# The total amount of adjustment fees. This field is deprecated and will be removed in a future release.
|
|
29
|
+
#
|
|
30
|
+
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
31
|
+
field :adjustment_fees, Crystalline::Nilable.new(Models::Components::AdjustmentFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('adjustmentFees') } }
|
|
32
|
+
# The total amount of other card fees. This field is deprecated and will be removed in a future release. Use summary.otherCardFees.
|
|
33
|
+
#
|
|
34
|
+
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
35
|
+
field :other_fees, Crystalline::Nilable.new(Models::Components::OtherFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('otherFees') } }
|
|
36
|
+
# A summary of other card fees.
|
|
37
|
+
field :other_card_fees, Crystalline::Nilable.new(Models::Components::BillingSummaryDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('otherCardFees') } }
|
|
28
38
|
# The total amount of all fees.
|
|
29
39
|
field :total, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('total') } }
|
|
40
|
+
# Total net revenue after deducting total partner fees.
|
|
41
|
+
field :net_income_subtotal, Crystalline::Nilable.new(Models::Components::BillingSummaryDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('netIncomeSubtotal') } }
|
|
42
|
+
# Partner’s share of the net income, expressed as a percentage.
|
|
43
|
+
field :revenue_share, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('revenueShare') } }
|
|
44
|
+
# The portion of net income allocated to the partner before monthly partner costs.
|
|
45
|
+
field :residual_subtotal, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('residualSubtotal') } }
|
|
46
|
+
# Monthly partner costs that are charged separately and not included in residual subtotal (e.g. platform fees, minimums).
|
|
47
|
+
field :monthly_partner_costs, Crystalline::Nilable.new(Models::Components::PartnerFees), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('monthlyPartnerCosts') } }
|
|
48
|
+
# Final partner payment after deducting monthlyPartnerCosts.
|
|
49
|
+
field :net_partner_payment, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('netPartnerPayment') } }
|
|
30
50
|
|
|
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::
|
|
32
|
-
def initialize(card_acquiring: nil, ach: nil, instant_payments: nil, platform_fees: nil, adjustment_fees: nil, other_fees: nil, total: nil)
|
|
51
|
+
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::BillingSummaryPlatformFees), account_fees: T.nilable(Models::Components::BillingSummaryDetails), adjustment_fees: T.nilable(Models::Components::AdjustmentFees), other_fees: T.nilable(Models::Components::OtherFees), other_card_fees: T.nilable(Models::Components::BillingSummaryDetails), total: T.nilable(Models::Components::AmountDecimal), net_income_subtotal: T.nilable(Models::Components::BillingSummaryDetails), revenue_share: T.nilable(::String), residual_subtotal: T.nilable(Models::Components::AmountDecimal), monthly_partner_costs: T.nilable(Models::Components::PartnerFees), net_partner_payment: T.nilable(Models::Components::AmountDecimal)).void }
|
|
52
|
+
def initialize(card_acquiring: nil, ach: nil, instant_payments: nil, platform_fees: nil, account_fees: nil, adjustment_fees: nil, other_fees: nil, other_card_fees: nil, total: nil, net_income_subtotal: nil, revenue_share: nil, residual_subtotal: nil, monthly_partner_costs: nil, net_partner_payment: nil)
|
|
33
53
|
@card_acquiring = card_acquiring
|
|
34
54
|
@ach = ach
|
|
35
55
|
@instant_payments = instant_payments
|
|
36
56
|
@platform_fees = platform_fees
|
|
57
|
+
@account_fees = account_fees
|
|
37
58
|
@adjustment_fees = adjustment_fees
|
|
38
59
|
@other_fees = other_fees
|
|
60
|
+
@other_card_fees = other_card_fees
|
|
39
61
|
@total = total
|
|
62
|
+
@net_income_subtotal = net_income_subtotal
|
|
63
|
+
@revenue_share = revenue_share
|
|
64
|
+
@residual_subtotal = residual_subtotal
|
|
65
|
+
@monthly_partner_costs = monthly_partner_costs
|
|
66
|
+
@net_partner_payment = net_partner_payment
|
|
40
67
|
end
|
|
41
68
|
|
|
42
69
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -46,9 +73,16 @@ module Moov
|
|
|
46
73
|
return false unless @ach == other.ach
|
|
47
74
|
return false unless @instant_payments == other.instant_payments
|
|
48
75
|
return false unless @platform_fees == other.platform_fees
|
|
76
|
+
return false unless @account_fees == other.account_fees
|
|
49
77
|
return false unless @adjustment_fees == other.adjustment_fees
|
|
50
78
|
return false unless @other_fees == other.other_fees
|
|
79
|
+
return false unless @other_card_fees == other.other_card_fees
|
|
51
80
|
return false unless @total == other.total
|
|
81
|
+
return false unless @net_income_subtotal == other.net_income_subtotal
|
|
82
|
+
return false unless @revenue_share == other.revenue_share
|
|
83
|
+
return false unless @residual_subtotal == other.residual_subtotal
|
|
84
|
+
return false unless @monthly_partner_costs == other.monthly_partner_costs
|
|
85
|
+
return false unless @net_partner_payment == other.net_partner_payment
|
|
52
86
|
true
|
|
53
87
|
end
|
|
54
88
|
end
|
|
@@ -16,10 +16,24 @@ class Moov::Models::Components::BillingSummary
|
|
|
16
16
|
def instant_payments=(str_); end
|
|
17
17
|
def platform_fees(); end
|
|
18
18
|
def platform_fees=(str_); end
|
|
19
|
+
def account_fees(); end
|
|
20
|
+
def account_fees=(str_); end
|
|
19
21
|
def adjustment_fees(); end
|
|
20
22
|
def adjustment_fees=(str_); end
|
|
21
23
|
def other_fees(); end
|
|
22
24
|
def other_fees=(str_); end
|
|
25
|
+
def other_card_fees(); end
|
|
26
|
+
def other_card_fees=(str_); end
|
|
23
27
|
def total(); end
|
|
24
28
|
def total=(str_); end
|
|
29
|
+
def net_income_subtotal(); end
|
|
30
|
+
def net_income_subtotal=(str_); end
|
|
31
|
+
def revenue_share(); end
|
|
32
|
+
def revenue_share=(str_); end
|
|
33
|
+
def residual_subtotal(); end
|
|
34
|
+
def residual_subtotal=(str_); end
|
|
35
|
+
def monthly_partner_costs(); end
|
|
36
|
+
def monthly_partner_costs=(str_); end
|
|
37
|
+
def net_partner_payment(); end
|
|
38
|
+
def net_partner_payment=(str_); end
|
|
25
39
|
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
|
+
# The total amount of platform fees. This field is deprecated and will be removed in a future release. Use summary.accountFees.
|
|
12
|
+
#
|
|
13
|
+
# @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
14
|
+
class BillingSummaryPlatformFees
|
|
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::BillingSummaryPlatformFees
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::BillingSummaryPlatformFees
|
|
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
|
+
# The total transaction volume amount. This field is deprecated and will be removed in a future release.
|
|
12
|
+
#
|
|
13
|
+
# @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
14
|
+
class BillingSummaryVolumeAmount
|
|
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::BillingSummaryVolumeAmount
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::BillingSummaryVolumeAmount
|
|
11
|
+
def currency(); end
|
|
12
|
+
def currency=(str_); end
|
|
13
|
+
def value_decimal(); end
|
|
14
|
+
def value_decimal=(str_); end
|
|
15
|
+
end
|
|
@@ -8,23 +8,36 @@ module Moov
|
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
|
|
12
12
|
class BillingSummaryDetails
|
|
13
13
|
extend T::Sig
|
|
14
14
|
include Crystalline::MetadataFields
|
|
15
15
|
|
|
16
|
-
# The total transaction volume amount.
|
|
17
|
-
|
|
18
|
-
#
|
|
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::BillingSummaryDetailsVolumeAmount), { '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
|
|
|
23
|
-
sig { params(volume_amount: T.nilable(Models::Components::
|
|
24
|
-
def initialize(volume_amount: nil, volume_count: nil, fee_amount: nil)
|
|
33
|
+
sig { params(volume_amount: T.nilable(Models::Components::BillingSummaryDetailsVolumeAmount), 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)).void }
|
|
34
|
+
def initialize(volume_amount: nil, volume_count: nil, fee_amount: nil, merchant_fees_collected: nil, partner_fees_assessed: nil, net_income: nil)
|
|
25
35
|
@volume_amount = volume_amount
|
|
26
36
|
@volume_count = volume_count
|
|
27
37
|
@fee_amount = fee_amount
|
|
38
|
+
@merchant_fees_collected = merchant_fees_collected
|
|
39
|
+
@partner_fees_assessed = partner_fees_assessed
|
|
40
|
+
@net_income = net_income
|
|
28
41
|
end
|
|
29
42
|
|
|
30
43
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -33,6 +46,9 @@ module Moov
|
|
|
33
46
|
return false unless @volume_amount == other.volume_amount
|
|
34
47
|
return false unless @volume_count == other.volume_count
|
|
35
48
|
return false unless @fee_amount == other.fee_amount
|
|
49
|
+
return false unless @merchant_fees_collected == other.merchant_fees_collected
|
|
50
|
+
return false unless @partner_fees_assessed == other.partner_fees_assessed
|
|
51
|
+
return false unless @net_income == other.net_income
|
|
36
52
|
true
|
|
37
53
|
end
|
|
38
54
|
end
|
|
@@ -14,4 +14,10 @@ class Moov::Models::Components::BillingSummaryDetails
|
|
|
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
|
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
|
+
# The total transaction volume amount. This field is deprecated and will be removed in a future release.
|
|
12
|
+
#
|
|
13
|
+
# @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
14
|
+
class BillingSummaryDetailsVolumeAmount
|
|
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::BillingSummaryDetailsVolumeAmount
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::BillingSummaryDetailsVolumeAmount
|
|
11
|
+
def currency(); end
|
|
12
|
+
def currency=(str_); end
|
|
13
|
+
def value_decimal(); end
|
|
14
|
+
def value_decimal=(str_); end
|
|
15
|
+
end
|