moov_ruby 26.4.0 → 26.4.1
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/client.rb +2 -1
- data/lib/moov/google_pay.rb +3 -1
- data/lib/moov/models/components/cardfundingsource.rb +21 -0
- data/lib/moov/models/components/cardfundingsource.rbi +11 -0
- data/lib/moov/models/components/cardnetwork.rb +24 -0
- data/lib/moov/models/components/cardnetwork.rbi +11 -0
- data/lib/moov/models/components/createdtransfer.rb +7 -3
- data/lib/moov/models/components/createdtransfer.rbi +2 -0
- data/lib/moov/models/components/createpaymentlink.rb +8 -3
- data/lib/moov/models/components/createtippresets.rb +42 -0
- data/lib/moov/models/components/createtippresets.rbi +17 -0
- data/lib/moov/models/components/createtransfer.rb +7 -3
- data/lib/moov/models/components/createtransfer.rbi +2 -0
- data/lib/moov/models/components/createtransferamountdetails.rb +32 -0
- data/lib/moov/models/components/createtransferamountdetails.rbi +13 -0
- data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rb +32 -0
- data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rbi +13 -0
- data/lib/moov/models/components/createtransferconfig.rb +32 -0
- data/lib/moov/models/components/createtransferconfig.rbi +13 -0
- data/lib/moov/models/components/googlepayassurancedetails.rb +36 -0
- data/lib/moov/models/components/googlepayassurancedetails.rbi +15 -0
- data/lib/moov/models/components/googlepaybillingaddress.rb +71 -0
- data/lib/moov/models/components/googlepaybillingaddress.rbi +31 -0
- data/lib/moov/models/components/googlepaycardinfo.rb +52 -0
- data/lib/moov/models/components/googlepaycardinfo.rbi +21 -0
- data/lib/moov/models/components/googlepaypaymentmethoddata.rb +48 -0
- data/lib/moov/models/components/googlepaypaymentmethoddata.rbi +19 -0
- data/lib/moov/models/components/{linkedgooglepaypaymentmethod_paymentmethodtype.rb → googlepaypaymentmethoddata_type.rb} +3 -3
- data/lib/moov/models/components/googlepaypaymentmethoddata_type.rbi +11 -0
- data/lib/moov/models/components/googlepaytokenizationdata.rb +38 -0
- data/lib/moov/models/components/googlepaytokenizationdata.rbi +15 -0
- data/lib/moov/models/components/googlepaytokenizationdata_type.rb +18 -0
- data/lib/moov/models/components/googlepaytokenizationdata_type.rbi +11 -0
- data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +3 -3
- data/lib/moov/models/components/linkgooglepay.rb +17 -12
- data/lib/moov/models/components/linkgooglepay.rbi +4 -2
- data/lib/moov/models/components/paymentlink.rb +7 -2
- data/lib/moov/models/components/paymentlinkcustomeroptions.rb +6 -2
- data/lib/moov/models/components/paymentlinkcustomeroptions.rbi +2 -0
- data/lib/moov/models/components/puttippresets.rb +42 -0
- data/lib/moov/models/components/puttippresets.rbi +17 -0
- data/lib/moov/models/components/puttransferconfig.rb +32 -0
- data/lib/moov/models/components/puttransferconfig.rbi +13 -0
- data/lib/moov/models/components/tipcalculationbasis.rb +21 -0
- data/lib/moov/models/components/tipcalculationbasis.rbi +11 -0
- data/lib/moov/models/components/tippresets.rb +42 -0
- data/lib/moov/models/components/tippresets.rbi +17 -0
- data/lib/moov/models/components/transfer.rb +7 -3
- data/lib/moov/models/components/transfer.rbi +2 -0
- data/lib/moov/models/components/transferamountdetails.rb +32 -0
- data/lib/moov/models/components/transferamountdetails.rbi +13 -0
- data/lib/moov/models/components/transferconfig.rb +32 -0
- data/lib/moov/models/components/transferconfig.rbi +13 -0
- data/lib/moov/models/components/transferdestination.rb +6 -2
- data/lib/moov/models/components/transferdestination.rbi +2 -0
- data/lib/moov/models/components/transfersource.rb +6 -2
- data/lib/moov/models/components/transfersource.rbi +2 -0
- data/lib/moov/models/components.rb +19 -3
- data/lib/moov/models/errors/linkgooglepayerror.rb +10 -6
- data/lib/moov/models/errors/linkgooglepayerror.rbi +4 -2
- data/lib/moov/models/errors/transfer_error.rb +7 -3
- data/lib/moov/models/errors/transfer_error.rbi +2 -0
- data/lib/moov/models/errors/transferconfigvalidationerror.rb +44 -0
- data/lib/moov/models/errors/transferconfigvalidationerror.rbi +19 -0
- data/lib/moov/models/errors/transfervalidationerror.rb +6 -2
- data/lib/moov/models/errors/transfervalidationerror.rbi +2 -0
- data/lib/moov/models/errors.rb +1 -0
- data/lib/moov/models/operations/createtransferconfig_request.rb +36 -0
- data/lib/moov/models/operations/createtransferconfig_request.rbi +15 -0
- data/lib/moov/models/operations/createtransferconfig_response.rb +48 -0
- data/lib/moov/models/operations/createtransferconfig_response.rbi +21 -0
- data/lib/moov/models/operations/gettransferconfig_request.rb +32 -0
- data/lib/moov/models/operations/gettransferconfig_request.rbi +13 -0
- data/lib/moov/models/operations/gettransferconfig_response.rb +48 -0
- data/lib/moov/models/operations/gettransferconfig_response.rbi +21 -0
- data/lib/moov/models/operations/updatetransferconfig_request.rb +36 -0
- data/lib/moov/models/operations/updatetransferconfig_request.rbi +15 -0
- data/lib/moov/models/operations/updatetransferconfig_response.rb +48 -0
- data/lib/moov/models/operations/updatetransferconfig_response.rbi +21 -0
- data/lib/moov/models/operations.rb +6 -0
- data/lib/moov/sdkconfiguration.rb +3 -3
- data/lib/moov/transfer_config.rb +486 -0
- data/lib/moov_ruby.rb +1 -0
- metadata +55 -8
- data/lib/moov/models/components/googlepayintermediatesigningkey.rb +0 -36
- data/lib/moov/models/components/googlepayintermediatesigningkey.rbi +0 -15
- data/lib/moov/models/components/googlepaytoken.rb +0 -47
- data/lib/moov/models/components/googlepaytoken.rbi +0 -19
- data/lib/moov/models/components/linkedgooglepaypaymentmethod_paymentmethodtype.rbi +0 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0730013675eb0919f88c6903f2c428af6746259c5f38f2b55de32dc7fd7834ca
|
|
4
|
+
data.tar.gz: b85bacf05317fdf10abee22ad5bfbedaa78a2c0519ad7330ff4b27156aeb7fa9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8eb75292b6868f0eb6bb37a59db441827229139f6dd99364084d4a32382cb9ff46b0a8844c3c130d572850b74b9221f121dee0a406aa3ca2a8f9bc590f3567e1
|
|
7
|
+
data.tar.gz: 94e8c5a96dc65b72221f5c1176d9f9951158490b8b6e5afbb7a232bc61521fe8c1ae2de20a474144bcf0aeef221f89a5974f3c245b25fd3ed4c24277122109a7
|
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, :google_pay, :images, :invoices, :payment_links, :payment_methods, :products, :representatives, :resolution_links, :scheduling, :statements, :sweeps, :account_terminal_applications, :support, :transfers, :underwriting, :wallets, :wallet_transactions, :avatars, :end_to_end_encryption, :enriched_address, :enriched_profile, :webhooks, :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, :google_pay, :images, :invoices, :payment_links, :payment_methods, :products, :representatives, :resolution_links, :scheduling, :statements, :sweeps, :account_terminal_applications, :support, :transfer_config, :transfers, :underwriting, :wallets, :wallet_transactions, :avatars, :end_to_end_encryption, :enriched_address, :enriched_profile, :webhooks, :industries, :institutions, :issuing_transactions, :card_issuing, :authentication, :onboarding, :ping, :receipts, :terminal_applications
|
|
20
20
|
|
|
21
21
|
# Instantiates the SDK, configuring it with the provided parameters.
|
|
22
22
|
#
|
|
@@ -101,6 +101,7 @@ module Moov
|
|
|
101
101
|
@sweeps = Sweeps.new(@sdk_configuration)
|
|
102
102
|
@account_terminal_applications = AccountTerminalApplications.new(@sdk_configuration)
|
|
103
103
|
@support = Support.new(@sdk_configuration)
|
|
104
|
+
@transfer_config = TransferConfig.new(@sdk_configuration)
|
|
104
105
|
@transfers = Transfers.new(@sdk_configuration)
|
|
105
106
|
@underwriting = Underwriting.new(@sdk_configuration)
|
|
106
107
|
@wallets = Wallets.new(@sdk_configuration)
|
data/lib/moov/google_pay.rb
CHANGED
|
@@ -45,7 +45,9 @@ module Moov
|
|
|
45
45
|
def link_token(link_google_pay:, account_id:, timeout_ms: nil, http_headers: nil)
|
|
46
46
|
# link_token - Connect a Google Pay token to the specified account.
|
|
47
47
|
#
|
|
48
|
-
# The `
|
|
48
|
+
# The `paymentMethodData` field should contain the `paymentMethodData` property from Google Pay's
|
|
49
|
+
# [PaymentData](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) response,
|
|
50
|
+
# passed through unmodified.
|
|
49
51
|
#
|
|
50
52
|
# To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
|
|
51
53
|
# you'll need to specify the `/accounts/{accountID}/cards.write` scope.
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
# CardFundingSource - The funding source of the card. One of CREDIT, DEBIT, PREPAID, or UNKNOWN.
|
|
11
|
+
class CardFundingSource < T::Enum
|
|
12
|
+
enums do
|
|
13
|
+
CREDIT = new('CREDIT')
|
|
14
|
+
DEBIT = new('DEBIT')
|
|
15
|
+
PREPAID = new('PREPAID')
|
|
16
|
+
UNKNOWN = new('UNKNOWN')
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
# CardNetwork - The card network. One of AMEX, DISCOVER, INTERAC, JCB, MASTERCARD, VISA, or OTHER.
|
|
11
|
+
class CardNetwork < T::Enum
|
|
12
|
+
enums do
|
|
13
|
+
AMEX = new('AMEX')
|
|
14
|
+
DISCOVER = new('DISCOVER')
|
|
15
|
+
INTERAC = new('INTERAC')
|
|
16
|
+
JCB = new('JCB')
|
|
17
|
+
MASTERCARD = new('MASTERCARD')
|
|
18
|
+
VISA = new('VISA')
|
|
19
|
+
OTHER = new('OTHER')
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -60,7 +60,7 @@ module Moov
|
|
|
60
60
|
field :occurrence_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('occurrenceID') } }
|
|
61
61
|
|
|
62
62
|
field :payment_link_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentLinkCode') } }
|
|
63
|
-
# Optional sales tax amount.
|
|
63
|
+
# Optional sales tax amount.
|
|
64
64
|
field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
|
|
65
65
|
# Optional alias from a foreign/external system which can be used to reference this resource.
|
|
66
66
|
field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
|
|
@@ -68,8 +68,10 @@ module Moov
|
|
|
68
68
|
# When line items are provided, their total plus sales tax must equal the transfer amount.
|
|
69
69
|
field :line_items, Crystalline::Nilable.new(Models::Components::TransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
|
|
70
70
|
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
72
|
+
|
|
73
|
+
sig { params(transfer_id: ::String, created_on: ::DateTime, source: T.nilable(Models::Components::TransferSource), destination: T.nilable(Models::Components::TransferDestination), completed_on: T.nilable(::DateTime), status: T.nilable(Models::Components::TransferStatus), failure_reason: T.nilable(Models::Components::TransferFailureReason), amount: T.nilable(Models::Components::Amount), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), facilitator_fee: T.nilable(Models::Components::FacilitatorFee), moov_fee: T.nilable(::Integer), moov_fee_decimal: T.nilable(::String), moov_fee_details: T.nilable(Models::Components::MoovFeeDetails), group_id: T.nilable(::String), cancellations: T.nilable(T::Array[Models::Components::Cancellation]), refunded_amount: T.nilable(Models::Components::Amount), refunds: T.nilable(T::Array[Models::Components::CardAcquiringRefund]), disputed_amount: T.nilable(Models::Components::Amount), disputes: T.nilable(T::Array[Models::Components::CardAcquiringDispute]), sweep_id: T.nilable(::String), schedule_id: T.nilable(::String), occurrence_id: T.nilable(::String), payment_link_code: T.nilable(::String), sales_tax_amount: T.nilable(Models::Components::Amount), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItems), amount_details: T.nilable(Models::Components::TransferAmountDetails)).void }
|
|
74
|
+
def initialize(transfer_id:, created_on:, source: nil, destination: nil, completed_on: nil, status: nil, failure_reason: nil, amount: nil, description: nil, metadata: nil, facilitator_fee: nil, moov_fee: nil, moov_fee_decimal: nil, moov_fee_details: nil, group_id: nil, cancellations: nil, refunded_amount: nil, refunds: nil, disputed_amount: nil, disputes: nil, sweep_id: nil, schedule_id: nil, occurrence_id: nil, payment_link_code: nil, sales_tax_amount: nil, foreign_id: nil, line_items: nil, amount_details: nil)
|
|
73
75
|
@transfer_id = transfer_id
|
|
74
76
|
@created_on = created_on
|
|
75
77
|
@source = source
|
|
@@ -97,6 +99,7 @@ module Moov
|
|
|
97
99
|
@sales_tax_amount = sales_tax_amount
|
|
98
100
|
@foreign_id = foreign_id
|
|
99
101
|
@line_items = line_items
|
|
102
|
+
@amount_details = amount_details
|
|
100
103
|
end
|
|
101
104
|
|
|
102
105
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -129,6 +132,7 @@ module Moov
|
|
|
129
132
|
return false unless @sales_tax_amount == other.sales_tax_amount
|
|
130
133
|
return false unless @foreign_id == other.foreign_id
|
|
131
134
|
return false unless @line_items == other.line_items
|
|
135
|
+
return false unless @amount_details == other.amount_details
|
|
132
136
|
true
|
|
133
137
|
end
|
|
134
138
|
end
|
|
@@ -21,13 +21,18 @@ module Moov
|
|
|
21
21
|
field :partner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerAccountID'), required: true } }
|
|
22
22
|
# The merchant's preferred payment method ID. Must be a wallet payment method.
|
|
23
23
|
field :merchant_payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantPaymentMethodID'), required: true } }
|
|
24
|
-
|
|
24
|
+
# The fixed amount of the payment link.
|
|
25
|
+
#
|
|
26
|
+
# In API versions before `2026.07.00`, this was a required field.
|
|
27
|
+
#
|
|
28
|
+
# In API version `2026.07.00` and beyond, this field is required for `fixed` payment amount types and omitted
|
|
29
|
+
# for `open` payment amount types.
|
|
25
30
|
field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
|
|
26
31
|
# Customizable display options for a payment link.
|
|
27
32
|
field :display, Models::Components::PaymentLinkDisplayOptions, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('display'), required: true } }
|
|
28
|
-
|
|
33
|
+
# Optional sales tax amount.
|
|
29
34
|
field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
|
|
30
|
-
# An optional limit on the number of times this payment link can be used.
|
|
35
|
+
# An optional limit on the number of times this payment link can be used.
|
|
31
36
|
#
|
|
32
37
|
# **For payouts, `maxUses` is always 1.**
|
|
33
38
|
field :max_uses, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('maxUses') } }
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
class CreateTipPresets
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# Defines which amount should be used when calculating the final payment total. This calculation applies for percentage tip values.
|
|
16
|
+
# - `pre-tax`: Tip amounts are calculated using the subtotal amount before taxes
|
|
17
|
+
# - `post-tax`: Tip amounts are calculated using the subtotal amount + taxes
|
|
18
|
+
field :calculation_basis, Crystalline::Nilable.new(Models::Components::TipCalculationBasis), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('calculationBasis'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TipCalculationBasis, true) } }
|
|
19
|
+
# Defines the set of suggested tip preset values presented to customers. Percentages must be between 0 and 100 (exclusive) and must be unique. A maximum of 3 values are allowed.
|
|
20
|
+
field :percentage_options, Crystalline::Nilable.new(Crystalline::Array.new(::Integer)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('percentageOptions') } }
|
|
21
|
+
# Defines the set of suggested tip preset values presented to customers. Fixed amounts must be positive and unique. A maximum of 3 values are allowed.
|
|
22
|
+
field :fixed_amount_options, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AmountDecimal)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fixedAmountOptions') } }
|
|
23
|
+
|
|
24
|
+
sig { params(calculation_basis: T.nilable(Models::Components::TipCalculationBasis), percentage_options: T.nilable(T::Array[::Integer]), fixed_amount_options: T.nilable(T::Array[Models::Components::AmountDecimal])).void }
|
|
25
|
+
def initialize(calculation_basis: nil, percentage_options: nil, fixed_amount_options: nil)
|
|
26
|
+
@calculation_basis = calculation_basis
|
|
27
|
+
@percentage_options = percentage_options
|
|
28
|
+
@fixed_amount_options = fixed_amount_options
|
|
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 @calculation_basis == other.calculation_basis
|
|
35
|
+
return false unless @percentage_options == other.percentage_options
|
|
36
|
+
return false unless @fixed_amount_options == other.fixed_amount_options
|
|
37
|
+
true
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::CreateTipPresets
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::CreateTipPresets
|
|
11
|
+
def calculation_basis(); end
|
|
12
|
+
def calculation_basis=(str_); end
|
|
13
|
+
def percentage_options(); end
|
|
14
|
+
def percentage_options=(str_); end
|
|
15
|
+
def fixed_amount_options(); end
|
|
16
|
+
def fixed_amount_options=(str_); end
|
|
17
|
+
end
|
|
@@ -24,7 +24,7 @@ module Moov
|
|
|
24
24
|
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
|
|
25
25
|
# Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
|
|
26
26
|
field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
|
|
27
|
-
|
|
27
|
+
|
|
28
28
|
field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
|
|
29
29
|
# Optional alias from a foreign/external system which can be used to reference this resource.
|
|
30
30
|
field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
|
|
@@ -32,8 +32,10 @@ module Moov
|
|
|
32
32
|
# When line items are provided, their total plus sales tax must equal the transfer amount.
|
|
33
33
|
field :line_items, Crystalline::Nilable.new(Models::Components::CreateTransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
field :amount_details, Crystalline::Nilable.new(Models::Components::CreateTransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
36
|
+
|
|
37
|
+
sig { params(source: Models::Components::CreateTransferSource, destination: Models::Components::CreateTransferDestination, amount: Models::Components::Amount, facilitator_fee: T.nilable(Models::Components::FacilitatorFee), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), sales_tax_amount: T.nilable(Models::Components::Amount), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::CreateTransferLineItems), amount_details: T.nilable(Models::Components::CreateTransferAmountDetails)).void }
|
|
38
|
+
def initialize(source:, destination:, amount:, facilitator_fee: nil, description: nil, metadata: nil, sales_tax_amount: nil, foreign_id: nil, line_items: nil, amount_details: nil)
|
|
37
39
|
@source = source
|
|
38
40
|
@destination = destination
|
|
39
41
|
@amount = amount
|
|
@@ -43,6 +45,7 @@ module Moov
|
|
|
43
45
|
@sales_tax_amount = sales_tax_amount
|
|
44
46
|
@foreign_id = foreign_id
|
|
45
47
|
@line_items = line_items
|
|
48
|
+
@amount_details = amount_details
|
|
46
49
|
end
|
|
47
50
|
|
|
48
51
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -57,6 +60,7 @@ module Moov
|
|
|
57
60
|
return false unless @sales_tax_amount == other.sales_tax_amount
|
|
58
61
|
return false unless @foreign_id == other.foreign_id
|
|
59
62
|
return false unless @line_items == other.line_items
|
|
63
|
+
return false unless @amount_details == other.amount_details
|
|
60
64
|
true
|
|
61
65
|
end
|
|
62
66
|
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
class CreateTransferAmountDetails
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# The amount of tip applied to the transfer.
|
|
16
|
+
field :tip, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tip') } }
|
|
17
|
+
|
|
18
|
+
sig { params(tip: T.nilable(Models::Components::AmountDecimal)).void }
|
|
19
|
+
def initialize(tip: nil)
|
|
20
|
+
@tip = tip
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
24
|
+
def ==(other)
|
|
25
|
+
return false unless other.is_a? self.class
|
|
26
|
+
return false unless @tip == other.tip
|
|
27
|
+
true
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::CreateTransferAmountDetails
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::CreateTransferAmountDetails
|
|
11
|
+
def tip(); end
|
|
12
|
+
def tip=(str_); end
|
|
13
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
class CreateTransferAmountDetailsValidationError
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :tip, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tip') } }
|
|
17
|
+
|
|
18
|
+
sig { params(tip: T.nilable(::String)).void }
|
|
19
|
+
def initialize(tip: nil)
|
|
20
|
+
@tip = tip
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
24
|
+
def ==(other)
|
|
25
|
+
return false unless other.is_a? self.class
|
|
26
|
+
return false unless @tip == other.tip
|
|
27
|
+
true
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::CreateTransferAmountDetailsValidationError
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::CreateTransferAmountDetailsValidationError
|
|
11
|
+
def tip(); end
|
|
12
|
+
def tip=(str_); end
|
|
13
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
class CreateTransferConfig
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :tip_presets, Crystalline::Nilable.new(Models::Components::CreateTipPresets), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tipPresets') } }
|
|
17
|
+
|
|
18
|
+
sig { params(tip_presets: T.nilable(Models::Components::CreateTipPresets)).void }
|
|
19
|
+
def initialize(tip_presets: nil)
|
|
20
|
+
@tip_presets = tip_presets
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
24
|
+
def ==(other)
|
|
25
|
+
return false unless other.is_a? self.class
|
|
26
|
+
return false unless @tip_presets == other.tip_presets
|
|
27
|
+
true
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::CreateTransferConfig
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::CreateTransferConfig
|
|
11
|
+
def tip_presets(); end
|
|
12
|
+
def tip_presets=(str_); end
|
|
13
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
# 3-D Secure assurance details from Google Pay.
|
|
11
|
+
class GooglePayAssuranceDetails
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# Whether the card is verified via 3-D Secure authentication.
|
|
16
|
+
field :card_holder_authenticated, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardHolderAuthenticated') } }
|
|
17
|
+
# Whether the returned payment credential can be used for a transaction.
|
|
18
|
+
field :account_verified, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountVerified') } }
|
|
19
|
+
|
|
20
|
+
sig { params(card_holder_authenticated: T.nilable(T::Boolean), account_verified: T.nilable(T::Boolean)).void }
|
|
21
|
+
def initialize(card_holder_authenticated: nil, account_verified: nil)
|
|
22
|
+
@card_holder_authenticated = card_holder_authenticated
|
|
23
|
+
@account_verified = account_verified
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
27
|
+
def ==(other)
|
|
28
|
+
return false unless other.is_a? self.class
|
|
29
|
+
return false unless @card_holder_authenticated == other.card_holder_authenticated
|
|
30
|
+
return false unless @account_verified == other.account_verified
|
|
31
|
+
true
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::GooglePayAssuranceDetails
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::GooglePayAssuranceDetails
|
|
11
|
+
def card_holder_authenticated(); end
|
|
12
|
+
def card_holder_authenticated=(str_); end
|
|
13
|
+
def account_verified(); end
|
|
14
|
+
def account_verified=(str_); end
|
|
15
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
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
|
+
# Billing address as returned by Google Pay.
|
|
11
|
+
#
|
|
12
|
+
# Refer to [Google's documentation](https://developers.google.com/pay/api/web/reference/response-objects#Address)
|
|
13
|
+
# for more information.
|
|
14
|
+
class GooglePayBillingAddress
|
|
15
|
+
extend T::Sig
|
|
16
|
+
include Crystalline::MetadataFields
|
|
17
|
+
|
|
18
|
+
# First line of the street address.
|
|
19
|
+
field :address1, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('address1') } }
|
|
20
|
+
# Second line of the street address.
|
|
21
|
+
field :address2, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('address2') } }
|
|
22
|
+
# Third line of the street address.
|
|
23
|
+
field :address3, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('address3') } }
|
|
24
|
+
# City, town, neighborhood, or suburb.
|
|
25
|
+
field :locality, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('locality') } }
|
|
26
|
+
# State, province, or region.
|
|
27
|
+
field :administrative_area, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('administrativeArea') } }
|
|
28
|
+
# Postal or ZIP code.
|
|
29
|
+
field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('postalCode') } }
|
|
30
|
+
# ISO 3166-1 alpha-2 country code.
|
|
31
|
+
field :country_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('countryCode') } }
|
|
32
|
+
# Name of the cardholder.
|
|
33
|
+
field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name') } }
|
|
34
|
+
# Phone number.
|
|
35
|
+
field :phone_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('phoneNumber') } }
|
|
36
|
+
# Sorting code (used in some countries).
|
|
37
|
+
field :sorting_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sortingCode') } }
|
|
38
|
+
|
|
39
|
+
sig { params(address1: T.nilable(::String), address2: T.nilable(::String), address3: T.nilable(::String), locality: T.nilable(::String), administrative_area: T.nilable(::String), postal_code: T.nilable(::String), country_code: T.nilable(::String), name: T.nilable(::String), phone_number: T.nilable(::String), sorting_code: T.nilable(::String)).void }
|
|
40
|
+
def initialize(address1: nil, address2: nil, address3: nil, locality: nil, administrative_area: nil, postal_code: nil, country_code: nil, name: nil, phone_number: nil, sorting_code: nil)
|
|
41
|
+
@address1 = address1
|
|
42
|
+
@address2 = address2
|
|
43
|
+
@address3 = address3
|
|
44
|
+
@locality = locality
|
|
45
|
+
@administrative_area = administrative_area
|
|
46
|
+
@postal_code = postal_code
|
|
47
|
+
@country_code = country_code
|
|
48
|
+
@name = name
|
|
49
|
+
@phone_number = phone_number
|
|
50
|
+
@sorting_code = sorting_code
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
54
|
+
def ==(other)
|
|
55
|
+
return false unless other.is_a? self.class
|
|
56
|
+
return false unless @address1 == other.address1
|
|
57
|
+
return false unless @address2 == other.address2
|
|
58
|
+
return false unless @address3 == other.address3
|
|
59
|
+
return false unless @locality == other.locality
|
|
60
|
+
return false unless @administrative_area == other.administrative_area
|
|
61
|
+
return false unless @postal_code == other.postal_code
|
|
62
|
+
return false unless @country_code == other.country_code
|
|
63
|
+
return false unless @name == other.name
|
|
64
|
+
return false unless @phone_number == other.phone_number
|
|
65
|
+
return false unless @sorting_code == other.sorting_code
|
|
66
|
+
true
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::GooglePayBillingAddress
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::GooglePayBillingAddress
|
|
11
|
+
def address1(); end
|
|
12
|
+
def address1=(str_); end
|
|
13
|
+
def address2(); end
|
|
14
|
+
def address2=(str_); end
|
|
15
|
+
def address3(); end
|
|
16
|
+
def address3=(str_); end
|
|
17
|
+
def locality(); end
|
|
18
|
+
def locality=(str_); end
|
|
19
|
+
def administrative_area(); end
|
|
20
|
+
def administrative_area=(str_); end
|
|
21
|
+
def postal_code(); end
|
|
22
|
+
def postal_code=(str_); end
|
|
23
|
+
def country_code(); end
|
|
24
|
+
def country_code=(str_); end
|
|
25
|
+
def name(); end
|
|
26
|
+
def name=(str_); end
|
|
27
|
+
def phone_number(); end
|
|
28
|
+
def phone_number=(str_); end
|
|
29
|
+
def sorting_code(); end
|
|
30
|
+
def sorting_code=(str_); end
|
|
31
|
+
end
|