moov_ruby 26.4.0 → 26.4.2
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/fileuploadmetadata.rb +36 -0
- data/lib/moov/models/components/fileuploadmetadata.rbi +15 -0
- data/lib/moov/models/components/fileuploadrequestmultipart.rb +4 -6
- 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/webhookdatabankaccountcreated.rb +6 -2
- data/lib/moov/models/components/webhookdatabankaccountcreated.rbi +2 -0
- data/lib/moov/models/components.rb +20 -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 +57 -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
|
@@ -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
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
# Unencrypted card metadata from
|
|
11
|
+
# [CardInfo](https://developers.google.com/pay/api/web/reference/response-objects#CardInfo).
|
|
12
|
+
class GooglePayCardInfo
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
# The card network. One of AMEX, DISCOVER, INTERAC, JCB, MASTERCARD, VISA, or OTHER.
|
|
17
|
+
field :card_network, Models::Components::CardNetwork, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardNetwork'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardNetwork, false) } }
|
|
18
|
+
# The last four digits of the card number.
|
|
19
|
+
field :card_details, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails'), required: true } }
|
|
20
|
+
# The funding source of the card. One of CREDIT, DEBIT, PREPAID, or UNKNOWN.
|
|
21
|
+
field :card_funding_source, Crystalline::Nilable.new(Models::Components::CardFundingSource), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardFundingSource'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardFundingSource, true) } }
|
|
22
|
+
# Billing address as returned by Google Pay.
|
|
23
|
+
#
|
|
24
|
+
# Refer to [Google's documentation](https://developers.google.com/pay/api/web/reference/response-objects#Address)
|
|
25
|
+
# for more information.
|
|
26
|
+
field :billing_address, Crystalline::Nilable.new(Models::Components::GooglePayBillingAddress), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress') } }
|
|
27
|
+
# 3-D Secure assurance details from Google Pay.
|
|
28
|
+
field :assurance_details, Crystalline::Nilable.new(Models::Components::GooglePayAssuranceDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('assuranceDetails') } }
|
|
29
|
+
|
|
30
|
+
sig { params(card_network: Models::Components::CardNetwork, card_details: ::String, card_funding_source: T.nilable(Models::Components::CardFundingSource), billing_address: T.nilable(Models::Components::GooglePayBillingAddress), assurance_details: T.nilable(Models::Components::GooglePayAssuranceDetails)).void }
|
|
31
|
+
def initialize(card_network:, card_details:, card_funding_source: nil, billing_address: nil, assurance_details: nil)
|
|
32
|
+
@card_network = card_network
|
|
33
|
+
@card_details = card_details
|
|
34
|
+
@card_funding_source = card_funding_source
|
|
35
|
+
@billing_address = billing_address
|
|
36
|
+
@assurance_details = assurance_details
|
|
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 @card_network == other.card_network
|
|
43
|
+
return false unless @card_details == other.card_details
|
|
44
|
+
return false unless @card_funding_source == other.card_funding_source
|
|
45
|
+
return false unless @billing_address == other.billing_address
|
|
46
|
+
return false unless @assurance_details == other.assurance_details
|
|
47
|
+
true
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::GooglePayCardInfo
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::GooglePayCardInfo
|
|
11
|
+
def card_network(); end
|
|
12
|
+
def card_network=(str_); end
|
|
13
|
+
def card_details(); end
|
|
14
|
+
def card_details=(str_); end
|
|
15
|
+
def card_funding_source(); end
|
|
16
|
+
def card_funding_source=(str_); end
|
|
17
|
+
def billing_address(); end
|
|
18
|
+
def billing_address=(str_); end
|
|
19
|
+
def assurance_details(); end
|
|
20
|
+
def assurance_details=(str_); end
|
|
21
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
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
|
+
# The `paymentMethodData` object from Google Pay's
|
|
11
|
+
# [PaymentData](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) response.
|
|
12
|
+
class GooglePayPaymentMethodData
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
# Unencrypted card metadata from
|
|
17
|
+
# [CardInfo](https://developers.google.com/pay/api/web/reference/response-objects#CardInfo).
|
|
18
|
+
field :info, Models::Components::GooglePayCardInfo, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('info'), required: true } }
|
|
19
|
+
# Contains the encrypted payment token from Google Pay.
|
|
20
|
+
#
|
|
21
|
+
# The `token` field is a JSON-encoded string containing the ECv2 encrypted payment token.
|
|
22
|
+
field :tokenization_data, Models::Components::GooglePayTokenizationData, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tokenizationData'), required: true } }
|
|
23
|
+
# The type of payment method. Always `CARD`.
|
|
24
|
+
field :type, Crystalline::Nilable.new(Models::Components::GooglePayPaymentMethodDataType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('type'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::GooglePayPaymentMethodDataType, true) } }
|
|
25
|
+
# A user-facing description of the payment method.
|
|
26
|
+
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
|
|
27
|
+
|
|
28
|
+
sig { params(info: Models::Components::GooglePayCardInfo, tokenization_data: Models::Components::GooglePayTokenizationData, type: T.nilable(Models::Components::GooglePayPaymentMethodDataType), description: T.nilable(::String)).void }
|
|
29
|
+
def initialize(info:, tokenization_data:, type: nil, description: nil)
|
|
30
|
+
@info = info
|
|
31
|
+
@tokenization_data = tokenization_data
|
|
32
|
+
@type = type
|
|
33
|
+
@description = description
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
37
|
+
def ==(other)
|
|
38
|
+
return false unless other.is_a? self.class
|
|
39
|
+
return false unless @info == other.info
|
|
40
|
+
return false unless @tokenization_data == other.tokenization_data
|
|
41
|
+
return false unless @type == other.type
|
|
42
|
+
return false unless @description == other.description
|
|
43
|
+
true
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::GooglePayPaymentMethodData
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::GooglePayPaymentMethodData
|
|
11
|
+
def info(); end
|
|
12
|
+
def info=(str_); end
|
|
13
|
+
def tokenization_data(); end
|
|
14
|
+
def tokenization_data=(str_); end
|
|
15
|
+
def type(); end
|
|
16
|
+
def type=(str_); end
|
|
17
|
+
def description(); end
|
|
18
|
+
def description=(str_); end
|
|
19
|
+
end
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
module Moov
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
|
-
|
|
11
|
-
class
|
|
10
|
+
# GooglePayPaymentMethodDataType - The type of payment method. Always `CARD`.
|
|
11
|
+
class GooglePayPaymentMethodDataType < T::Enum
|
|
12
12
|
enums do
|
|
13
|
-
|
|
13
|
+
CARD = new('CARD')
|
|
14
14
|
end
|
|
15
15
|
end
|
|
16
16
|
end
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
# Contains the encrypted payment token from Google Pay.
|
|
11
|
+
#
|
|
12
|
+
# The `token` field is a JSON-encoded string containing the ECv2 encrypted payment token.
|
|
13
|
+
class GooglePayTokenizationData
|
|
14
|
+
extend T::Sig
|
|
15
|
+
include Crystalline::MetadataFields
|
|
16
|
+
|
|
17
|
+
# The tokenization type. Always `PAYMENT_GATEWAY`.
|
|
18
|
+
field :type, Models::Components::GooglePayTokenizationDataType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('type'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::GooglePayTokenizationDataType, false) } }
|
|
19
|
+
# The ECv2 encrypted payment token, as a JSON-encoded string.
|
|
20
|
+
field :token, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('token'), required: true } }
|
|
21
|
+
|
|
22
|
+
sig { params(type: Models::Components::GooglePayTokenizationDataType, token: ::String).void }
|
|
23
|
+
def initialize(type:, token:)
|
|
24
|
+
@type = type
|
|
25
|
+
@token = token
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
29
|
+
def ==(other)
|
|
30
|
+
return false unless other.is_a? self.class
|
|
31
|
+
return false unless @type == other.type
|
|
32
|
+
return false unless @token == other.token
|
|
33
|
+
true
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::GooglePayTokenizationData
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::GooglePayTokenizationData
|
|
11
|
+
def type(); end
|
|
12
|
+
def type=(str_); end
|
|
13
|
+
def token(); end
|
|
14
|
+
def token=(str_); end
|
|
15
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
# GooglePayTokenizationDataType - The tokenization type. Always `PAYMENT_GATEWAY`.
|
|
11
|
+
class GooglePayTokenizationDataType < T::Enum
|
|
12
|
+
enums do
|
|
13
|
+
PAYMENT_GATEWAY = new('PAYMENT_GATEWAY')
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -14,12 +14,12 @@ module Moov
|
|
|
14
14
|
|
|
15
15
|
# The new payment method's ID.
|
|
16
16
|
field :payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID'), required: true } }
|
|
17
|
-
|
|
18
|
-
field :payment_method_type, Models::Components::
|
|
17
|
+
# The payment method type that represents a payment rail and directionality
|
|
18
|
+
field :payment_method_type, Models::Components::PaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PaymentMethodType, false) } }
|
|
19
19
|
# Describes a Google Pay token on a Moov account.
|
|
20
20
|
field :google_pay, Models::Components::GooglePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay'), required: true } }
|
|
21
21
|
|
|
22
|
-
sig { params(payment_method_id: ::String, payment_method_type: Models::Components::
|
|
22
|
+
sig { params(payment_method_id: ::String, payment_method_type: Models::Components::PaymentMethodType, google_pay: Models::Components::GooglePayResponse).void }
|
|
23
23
|
def initialize(payment_method_id:, payment_method_type:, google_pay:)
|
|
24
24
|
@payment_method_id = payment_method_id
|
|
25
25
|
@payment_method_type = payment_method_type
|
|
@@ -7,29 +7,34 @@
|
|
|
7
7
|
module Moov
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
|
-
#
|
|
10
|
+
# Links a Google Pay token to a Moov account.
|
|
11
11
|
#
|
|
12
|
-
#
|
|
13
|
-
#
|
|
12
|
+
# The `paymentMethodData` field should contain the `paymentMethodData` property from the
|
|
13
|
+
# [PaymentData](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) response
|
|
14
|
+
# returned by Google Pay's client SDK. Pass it through unmodified.
|
|
14
15
|
class LinkGooglePay
|
|
15
16
|
extend T::Sig
|
|
16
17
|
include Crystalline::MetadataFields
|
|
17
18
|
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
# The merchant accountID this token was minted for. Must match the `gatewayMerchantId`
|
|
20
|
+
# value passed to Google Pay when constructing the PaymentDataRequest. card-gateway validates
|
|
21
|
+
# that the decrypted `gatewayMerchantId` matches this value.
|
|
22
|
+
field :merchant_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantAccountID'), required: true } }
|
|
23
|
+
# The `paymentMethodData` object from Google Pay's
|
|
24
|
+
# [PaymentData](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) response.
|
|
25
|
+
field :payment_method_data, Models::Components::GooglePayPaymentMethodData, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodData'), required: true } }
|
|
23
26
|
|
|
24
|
-
sig { params(
|
|
25
|
-
def initialize(
|
|
26
|
-
@
|
|
27
|
+
sig { params(merchant_account_id: ::String, payment_method_data: Models::Components::GooglePayPaymentMethodData).void }
|
|
28
|
+
def initialize(merchant_account_id:, payment_method_data:)
|
|
29
|
+
@merchant_account_id = merchant_account_id
|
|
30
|
+
@payment_method_data = payment_method_data
|
|
27
31
|
end
|
|
28
32
|
|
|
29
33
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
30
34
|
def ==(other)
|
|
31
35
|
return false unless other.is_a? self.class
|
|
32
|
-
return false unless @
|
|
36
|
+
return false unless @merchant_account_id == other.merchant_account_id
|
|
37
|
+
return false unless @payment_method_data == other.payment_method_data
|
|
33
38
|
true
|
|
34
39
|
end
|
|
35
40
|
end
|
|
@@ -30,7 +30,12 @@ module Moov
|
|
|
30
30
|
field :merchant_payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantPaymentMethodID'), required: true } }
|
|
31
31
|
# Link to the payment landing page for this payment link.
|
|
32
32
|
field :link, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('link'), required: true } }
|
|
33
|
-
|
|
33
|
+
# The fixed amount of the payment link.
|
|
34
|
+
#
|
|
35
|
+
# In API versions before `2026.07.00`, this was a required field.
|
|
36
|
+
#
|
|
37
|
+
# In API version `2026.07.00` and beyond, this field is required for `fixed` payment amount types and omitted
|
|
38
|
+
# for `open` payment amount types.
|
|
34
39
|
field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
|
|
35
40
|
# The number of times this payment link has been used.
|
|
36
41
|
field :uses, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('uses'), required: true } }
|
|
@@ -44,7 +49,7 @@ module Moov
|
|
|
44
49
|
field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
45
50
|
# Optional sales tax amount.
|
|
46
51
|
field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
|
|
47
|
-
# An optional limit on the number of times this payment link can be used.
|
|
52
|
+
# An optional limit on the number of times this payment link can be used.
|
|
48
53
|
#
|
|
49
54
|
# **For payouts, `maxUses` is always 1.**
|
|
50
55
|
field :max_uses, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('maxUses') } }
|
|
@@ -16,13 +16,16 @@ module Moov
|
|
|
16
16
|
field :require_address, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('requireAddress') } }
|
|
17
17
|
# If true, a phone number is required when completing the payment form.
|
|
18
18
|
field :require_phone, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('requirePhone') } }
|
|
19
|
+
# If true, tipping is enabled on the payment form. Defaults to false.
|
|
20
|
+
field :tipping_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tippingEnabled') } }
|
|
19
21
|
# Optional free-form metadata for the Moov account that will represent this customer.
|
|
20
22
|
field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
|
|
21
23
|
|
|
22
|
-
sig { params(require_address: T.nilable(T::Boolean), require_phone: T.nilable(T::Boolean), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
|
|
23
|
-
def initialize(require_address: nil, require_phone: nil, metadata: nil)
|
|
24
|
+
sig { params(require_address: T.nilable(T::Boolean), require_phone: T.nilable(T::Boolean), tipping_enabled: T.nilable(T::Boolean), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
|
|
25
|
+
def initialize(require_address: nil, require_phone: nil, tipping_enabled: nil, metadata: nil)
|
|
24
26
|
@require_address = require_address
|
|
25
27
|
@require_phone = require_phone
|
|
28
|
+
@tipping_enabled = tipping_enabled
|
|
26
29
|
@metadata = metadata
|
|
27
30
|
end
|
|
28
31
|
|
|
@@ -31,6 +34,7 @@ module Moov
|
|
|
31
34
|
return false unless other.is_a? self.class
|
|
32
35
|
return false unless @require_address == other.require_address
|
|
33
36
|
return false unless @require_phone == other.require_phone
|
|
37
|
+
return false unless @tipping_enabled == other.tipping_enabled
|
|
34
38
|
return false unless @metadata == other.metadata
|
|
35
39
|
true
|
|
36
40
|
end
|
|
@@ -12,6 +12,8 @@ class Moov::Models::Components::PaymentLinkCustomerOptions
|
|
|
12
12
|
def require_address=(str_); end
|
|
13
13
|
def require_phone(); end
|
|
14
14
|
def require_phone=(str_); end
|
|
15
|
+
def tipping_enabled(); end
|
|
16
|
+
def tipping_enabled=(str_); end
|
|
15
17
|
def metadata(); end
|
|
16
18
|
def metadata=(str_); end
|
|
17
19
|
end
|
|
@@ -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 PutTipPresets
|
|
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::PutTipPresets
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::PutTipPresets
|
|
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
|
|
@@ -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 PutTransferConfig
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :tip_presets, Models::Components::PutTipPresets, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tipPresets'), required: true } }
|
|
17
|
+
|
|
18
|
+
sig { params(tip_presets: Models::Components::PutTipPresets).void }
|
|
19
|
+
def initialize(tip_presets:)
|
|
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::PutTransferConfig
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::PutTransferConfig
|
|
11
|
+
def tip_presets(); end
|
|
12
|
+
def tip_presets=(str_); end
|
|
13
|
+
end
|
|
@@ -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
|
+
# TipCalculationBasis - Defines which amount should be used when calculating the final payment total. This calculation applies for percentage tip values.
|
|
11
|
+
# - `pre-tax`: Tip amounts are calculated using the subtotal amount before taxes
|
|
12
|
+
# - `post-tax`: Tip amounts are calculated using the subtotal amount + taxes
|
|
13
|
+
class TipCalculationBasis < T::Enum
|
|
14
|
+
enums do
|
|
15
|
+
PRE_TAX = new('pre-tax')
|
|
16
|
+
POST_TAX = new('post-tax')
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -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
|
+
# Tip presets when calculating tips for a transfer.
|
|
11
|
+
class TipPresets
|
|
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::TipPresets
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::TipPresets
|
|
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
|