moov_ruby 26.7.0.pre.dev.2 → 26.7.0.pre.dev.3
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/account_terminal_applications.rb +16 -16
- data/lib/moov/accounts.rb +52 -54
- data/lib/moov/adjustments.rb +8 -8
- data/lib/moov/apple_pay.rb +20 -20
- data/lib/moov/authentication.rb +8 -8
- data/lib/moov/avatars.rb +4 -4
- data/lib/moov/bank_accounts.rb +36 -36
- data/lib/moov/branding.rb +12 -12
- data/lib/moov/capabilities.rb +20 -20
- data/lib/moov/card_issuing.rb +25 -25
- data/lib/moov/cards.rb +24 -24
- data/lib/moov/disputes.rb +44 -44
- data/lib/moov/end_to_end_encryption.rb +8 -8
- data/lib/moov/enriched_address.rb +4 -4
- data/lib/moov/enriched_profile.rb +4 -4
- data/lib/moov/fee_plans.rb +40 -40
- data/lib/moov/files.rb +12 -12
- data/lib/moov/google_pay.rb +4 -4
- data/lib/moov/images.rb +28 -28
- data/lib/moov/industries.rb +4 -4
- data/lib/moov/institutions.rb +8 -8
- data/lib/moov/invoices.rb +28 -28
- data/lib/moov/issuing_transactions.rb +20 -20
- data/lib/moov/models/components/addcapabilities.rb +5 -1
- data/lib/moov/models/components/amountdecimalrange.rb +11 -5
- data/lib/moov/models/components/amountdecimalrangeupdate.rb +7 -1
- data/lib/moov/models/components/billingaddress.rb +52 -0
- data/lib/moov/models/components/billingaddress.rbi +23 -0
- data/lib/moov/models/components/capability.rb +7 -1
- data/lib/moov/models/components/capabilityid.rb +7 -1
- data/lib/moov/models/components/createaccount.rb +5 -1
- data/lib/moov/models/components/createpaymentlink.rb +10 -6
- data/lib/moov/models/components/createpaymentlink.rbi +2 -0
- data/lib/moov/models/components/customamountpaymentdetailserror.rb +52 -0
- data/lib/moov/models/components/customamountpaymentdetailserror.rbi +23 -0
- data/lib/moov/models/components/fullissuedcard.rb +22 -10
- data/lib/moov/models/components/fullissuedcard.rbi +10 -4
- data/lib/moov/models/components/issuedcard.rb +22 -10
- data/lib/moov/models/components/issuedcard.rbi +10 -4
- data/lib/moov/models/components/onboardinginvite.rb +1 -1
- data/lib/moov/models/components/onboardinginviterequest.rb +1 -1
- data/lib/moov/models/components/paymentlink.rb +12 -5
- data/lib/moov/models/components/paymentlink.rbi +2 -0
- data/lib/moov/models/components/paymentlinkcustomamountpaymentdetails.rb +59 -0
- data/lib/moov/models/components/paymentlinkcustomamountpaymentdetails.rbi +23 -0
- data/lib/moov/models/components/paymentlinkcustomamountpaymentdetailsupdate.rb +59 -0
- data/lib/moov/models/components/paymentlinkcustomamountpaymentdetailsupdate.rbi +23 -0
- data/lib/moov/models/components/paymentlinkpaymentdetails.rb +2 -14
- data/lib/moov/models/components/paymentlinkpaymentdetails.rbi +0 -6
- data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rb +2 -14
- data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rbi +0 -6
- data/lib/moov/models/components/paymentlinktype.rb +1 -0
- data/lib/moov/models/components/requestcard.rb +17 -17
- data/lib/moov/models/components/requestcard.rbi +8 -8
- data/lib/moov/models/components/updateissuedcard.rb +13 -9
- data/lib/moov/models/components/updateissuedcard.rbi +6 -4
- data/lib/moov/models/components/updatepaymentlink.rb +6 -2
- data/lib/moov/models/components/updatepaymentlink.rbi +2 -0
- data/lib/moov/models/components/webhookdataauthorizationexpiring.rb +44 -0
- data/lib/moov/models/components/webhookdataauthorizationexpiring.rbi +19 -0
- data/lib/moov/models/components/webhookdatacapabilityrequested.rb +7 -1
- data/lib/moov/models/components/webhookdatacapabilityupdated.rb +7 -1
- data/lib/moov/models/components/webhookdatasweepcreated.rb +6 -2
- data/lib/moov/models/components/webhookdatasweepcreated.rbi +2 -0
- data/lib/moov/models/components/webhookdatasweepupdated.rb +6 -2
- data/lib/moov/models/components/webhookdatasweepupdated.rbi +2 -0
- data/lib/moov/models/components/webhookevent.rb +2 -2
- data/lib/moov/models/components/webhookeventtype.rb +1 -0
- data/lib/moov/models/components.rb +5 -6
- data/lib/moov/models/errors/createpaymentlinkerror.rb +6 -2
- data/lib/moov/models/errors/createpaymentlinkerror.rbi +2 -0
- data/lib/moov/models/errors/requestcarderror.rb +14 -14
- data/lib/moov/models/errors/requestcarderror.rbi +8 -8
- data/lib/moov/models/errors/updateissuedcarderror.rb +12 -8
- data/lib/moov/models/errors/updateissuedcarderror.rbi +6 -4
- data/lib/moov/models/errors/updatepaymentlinkerror.rb +6 -2
- data/lib/moov/models/errors/updatepaymentlinkerror.rbi +2 -0
- data/lib/moov/models/operations/disablecapability_request.rb +7 -1
- data/lib/moov/models/operations/getcapability_request.rb +7 -1
- data/lib/moov/models/operations/listcancellations_request.rb +36 -0
- data/lib/moov/models/operations/listcancellations_request.rbi +15 -0
- data/lib/moov/models/operations/listcancellations_response.rb +48 -0
- data/lib/moov/models/operations/listcancellations_response.rbi +21 -0
- data/lib/moov/models/operations.rb +2 -0
- data/lib/moov/onboarding.rb +16 -16
- data/lib/moov/payment_links.rb +24 -24
- data/lib/moov/payment_methods.rb +8 -8
- data/lib/moov/ping.rb +4 -4
- data/lib/moov/products.rb +20 -20
- data/lib/moov/receipts.rb +8 -8
- data/lib/moov/representatives.rb +20 -20
- data/lib/moov/resolution_links.rb +16 -16
- data/lib/moov/scheduling.rb +24 -24
- data/lib/moov/sdkconfiguration.rb +3 -3
- data/lib/moov/statements.rb +8 -8
- data/lib/moov/support.rb +20 -20
- data/lib/moov/sweeps.rb +24 -24
- data/lib/moov/terminal_applications.rb +20 -20
- data/lib/moov/transfer_config.rb +12 -12
- data/lib/moov/transfers.rb +171 -48
- data/lib/moov/underwriting.rb +12 -12
- data/lib/moov/utils/retries.rb +4 -1
- data/lib/moov/wallet_transactions.rb +8 -8
- data/lib/moov/wallets.rb +16 -16
- data/lib/moov/webhooks.rb +32 -32
- metadata +16 -14
- data/lib/moov/models/components/authorizeduser.rb +0 -36
- data/lib/moov/models/components/authorizeduser.rbi +0 -15
- data/lib/moov/models/components/createauthorizeduser.rb +0 -40
- data/lib/moov/models/components/createauthorizeduser.rbi +0 -17
- data/lib/moov/models/components/createauthorizedusererror.rb +0 -40
- data/lib/moov/models/components/createauthorizedusererror.rbi +0 -17
- data/lib/moov/models/components/createauthorizeduserupdate.rb +0 -40
- data/lib/moov/models/components/createauthorizeduserupdate.rbi +0 -17
- data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rb +0 -19
- data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rbi +0 -11
- data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rb +0 -19
- data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rbi +0 -11
|
@@ -9,7 +9,7 @@ module Moov
|
|
|
9
9
|
module Components
|
|
10
10
|
# Request to create a new payment link.
|
|
11
11
|
#
|
|
12
|
-
# A payment link must include
|
|
12
|
+
# A payment link must include exactly one of `payment`, `payout`, or `customAmountPayment` details. For payout payment links,
|
|
13
13
|
# `maxUses` will automatically be set to 1, as these are intended for a one-time disbursement
|
|
14
14
|
# to a specific recipient.
|
|
15
15
|
#
|
|
@@ -23,12 +23,12 @@ module Moov
|
|
|
23
23
|
field :merchant_payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantPaymentMethodID'), required: true } }
|
|
24
24
|
# Customizable display options for a payment link.
|
|
25
25
|
field :display, Models::Components::PaymentLinkDisplayOptions, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('display'), required: true } }
|
|
26
|
-
# The fixed amount of the payment link.
|
|
26
|
+
# The fixed amount of the payment link.
|
|
27
27
|
#
|
|
28
28
|
# In API versions before `2026.07.00`, this was a required field.
|
|
29
29
|
#
|
|
30
|
-
# In API version `2026.07.00` and beyond, this field is required for `
|
|
31
|
-
# for `
|
|
30
|
+
# In API version `2026.07.00` and beyond, this field is required for `payment` and `payout` links and must be
|
|
31
|
+
# omitted for `customAmountPayment` links, where the payor chooses the amount.
|
|
32
32
|
field :amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
|
|
33
33
|
# An optional limit on the number of times this payment link can be used.
|
|
34
34
|
#
|
|
@@ -42,14 +42,16 @@ module Moov
|
|
|
42
42
|
field :payment, Crystalline::Nilable.new(Models::Components::PaymentLinkPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payment') } }
|
|
43
43
|
|
|
44
44
|
field :payout, Crystalline::Nilable.new(Models::Components::PaymentLinkPayoutDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payout') } }
|
|
45
|
+
# Options for a custom amount payment link. Mutually exclusive with `payment` and `payout`.
|
|
46
|
+
field :custom_amount_payment, Crystalline::Nilable.new(Models::Components::PaymentLinkCustomAmountPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customAmountPayment') } }
|
|
45
47
|
# An optional collection of line items for a payment link.
|
|
46
48
|
# When line items are provided, their total plus tax must equal the payment link amount.
|
|
47
49
|
field :line_items, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
|
|
48
50
|
|
|
49
51
|
field :amount_details, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
50
52
|
|
|
51
|
-
sig { params(partner_account_id: ::String, merchant_payment_method_id: ::String, display: Models::Components::PaymentLinkDisplayOptions, amount: T.nilable(Models::Components::Amount), max_uses: T.nilable(::Integer), expires_on: T.nilable(::DateTime), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItems), amount_details: T.nilable(Models::Components::CreatePaymentLinkAmountDetails)).void }
|
|
52
|
-
def initialize(partner_account_id:, merchant_payment_method_id:, display:, amount: nil, max_uses: nil, expires_on: nil, customer: nil, payment: nil, payout: nil, line_items: nil, amount_details: nil)
|
|
53
|
+
sig { params(partner_account_id: ::String, merchant_payment_method_id: ::String, display: Models::Components::PaymentLinkDisplayOptions, amount: T.nilable(Models::Components::Amount), max_uses: T.nilable(::Integer), expires_on: T.nilable(::DateTime), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), custom_amount_payment: T.nilable(Models::Components::PaymentLinkCustomAmountPaymentDetails), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItems), amount_details: T.nilable(Models::Components::CreatePaymentLinkAmountDetails)).void }
|
|
54
|
+
def initialize(partner_account_id:, merchant_payment_method_id:, display:, amount: nil, max_uses: nil, expires_on: nil, customer: nil, payment: nil, payout: nil, custom_amount_payment: nil, line_items: nil, amount_details: nil)
|
|
53
55
|
@partner_account_id = partner_account_id
|
|
54
56
|
@merchant_payment_method_id = merchant_payment_method_id
|
|
55
57
|
@display = display
|
|
@@ -59,6 +61,7 @@ module Moov
|
|
|
59
61
|
@customer = customer
|
|
60
62
|
@payment = payment
|
|
61
63
|
@payout = payout
|
|
64
|
+
@custom_amount_payment = custom_amount_payment
|
|
62
65
|
@line_items = line_items
|
|
63
66
|
@amount_details = amount_details
|
|
64
67
|
end
|
|
@@ -75,6 +78,7 @@ module Moov
|
|
|
75
78
|
return false unless @customer == other.customer
|
|
76
79
|
return false unless @payment == other.payment
|
|
77
80
|
return false unless @payout == other.payout
|
|
81
|
+
return false unless @custom_amount_payment == other.custom_amount_payment
|
|
78
82
|
return false unless @line_items == other.line_items
|
|
79
83
|
return false unless @amount_details == other.amount_details
|
|
80
84
|
true
|
|
@@ -26,6 +26,8 @@ class Moov::Models::Components::CreatePaymentLink
|
|
|
26
26
|
def payment=(str_); end
|
|
27
27
|
def payout(); end
|
|
28
28
|
def payout=(str_); end
|
|
29
|
+
def custom_amount_payment(); end
|
|
30
|
+
def custom_amount_payment=(str_); end
|
|
29
31
|
def line_items(); end
|
|
30
32
|
def line_items=(str_); end
|
|
31
33
|
def amount_details(); 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
|
+
|
|
11
|
+
class CustomAmountPaymentDetailsError
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :allowed_methods, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedMethods') } }
|
|
17
|
+
|
|
18
|
+
field :card_details, Crystalline::Nilable.new(Models::Components::CardPaymentDetailsError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
|
|
19
|
+
|
|
20
|
+
field :ach_details, Crystalline::Nilable.new(Models::Components::ACHPaymentDetailsError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
|
|
21
|
+
|
|
22
|
+
field :metadata, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
|
|
23
|
+
|
|
24
|
+
field :amount_range, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountRange') } }
|
|
25
|
+
|
|
26
|
+
field :suggested_amounts, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('suggestedAmounts') } }
|
|
27
|
+
|
|
28
|
+
sig { params(allowed_methods: T.nilable(::String), card_details: T.nilable(Models::Components::CardPaymentDetailsError), ach_details: T.nilable(Models::Components::ACHPaymentDetailsError), metadata: T.nilable(::String), amount_range: T.nilable(::String), suggested_amounts: T.nilable(::String)).void }
|
|
29
|
+
def initialize(allowed_methods: nil, card_details: nil, ach_details: nil, metadata: nil, amount_range: nil, suggested_amounts: nil)
|
|
30
|
+
@allowed_methods = allowed_methods
|
|
31
|
+
@card_details = card_details
|
|
32
|
+
@ach_details = ach_details
|
|
33
|
+
@metadata = metadata
|
|
34
|
+
@amount_range = amount_range
|
|
35
|
+
@suggested_amounts = suggested_amounts
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
39
|
+
def ==(other)
|
|
40
|
+
return false unless other.is_a? self.class
|
|
41
|
+
return false unless @allowed_methods == other.allowed_methods
|
|
42
|
+
return false unless @card_details == other.card_details
|
|
43
|
+
return false unless @ach_details == other.ach_details
|
|
44
|
+
return false unless @metadata == other.metadata
|
|
45
|
+
return false unless @amount_range == other.amount_range
|
|
46
|
+
return false unless @suggested_amounts == other.suggested_amounts
|
|
47
|
+
true
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::CustomAmountPaymentDetailsError
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::CustomAmountPaymentDetailsError
|
|
11
|
+
def allowed_methods(); end
|
|
12
|
+
def allowed_methods=(str_); end
|
|
13
|
+
def card_details(); end
|
|
14
|
+
def card_details=(str_); end
|
|
15
|
+
def ach_details(); end
|
|
16
|
+
def ach_details=(str_); end
|
|
17
|
+
def metadata(); end
|
|
18
|
+
def metadata=(str_); end
|
|
19
|
+
def amount_range(); end
|
|
20
|
+
def amount_range=(str_); end
|
|
21
|
+
def suggested_amounts(); end
|
|
22
|
+
def suggested_amounts=(str_); end
|
|
23
|
+
end
|
|
@@ -20,8 +20,6 @@ module Moov
|
|
|
20
20
|
field :last_four_card_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber'), required: true } }
|
|
21
21
|
# The expiration date of the card or token.
|
|
22
22
|
field :expiration, Models::Components::CardExpiration, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration'), required: true } }
|
|
23
|
-
# Fields for identifying an authorized individual.
|
|
24
|
-
field :authorized_user, Models::Components::AuthorizedUser, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedUser'), required: true } }
|
|
25
23
|
# Unique identifier for the wallet funding the card.
|
|
26
24
|
field :funding_wallet_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fundingWalletID'), required: true } }
|
|
27
25
|
# The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.
|
|
@@ -35,29 +33,40 @@ module Moov
|
|
|
35
33
|
field :form_factor, Models::Components::IssuedCardFormFactor, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('formFactor'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardFormFactor, false) } }
|
|
36
34
|
|
|
37
35
|
field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
36
|
+
|
|
37
|
+
field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
38
38
|
# The issued card's Primary Account Number (PAN)
|
|
39
39
|
field :pan, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pan'), required: true } }
|
|
40
40
|
# The issued card's 3- or 4-digit Card Verification Value (CVV).
|
|
41
41
|
field :cvv, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cvv'), required: true } }
|
|
42
|
-
#
|
|
43
|
-
field :
|
|
42
|
+
# Identifier for the account of the card's authorized user.
|
|
43
|
+
field :authorized_user_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedUserAccountID') } }
|
|
44
|
+
# An optional descriptive name for the card.
|
|
45
|
+
field :nickname, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('nickname') } }
|
|
46
|
+
# Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
|
|
47
|
+
field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
|
|
48
|
+
# Billing address associated with the card.
|
|
49
|
+
field :billing_address, Crystalline::Nilable.new(Models::Components::Address), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress') } }
|
|
44
50
|
|
|
45
51
|
field :controls, Crystalline::Nilable.new(Models::Components::IssuingControls), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('controls') } }
|
|
46
52
|
|
|
47
|
-
sig { params(issued_card_id: ::String, brand: Models::Components::CardBrand, last_four_card_number: ::String, expiration: Models::Components::CardExpiration,
|
|
48
|
-
def initialize(issued_card_id:, brand:, last_four_card_number:, expiration:,
|
|
53
|
+
sig { params(issued_card_id: ::String, brand: Models::Components::CardBrand, last_four_card_number: ::String, expiration: Models::Components::CardExpiration, funding_wallet_id: ::String, state: Models::Components::IssuedCardState, form_factor: Models::Components::IssuedCardFormFactor, created_on: ::DateTime, updated_on: ::DateTime, pan: ::String, cvv: ::String, authorized_user_account_id: T.nilable(::String), nickname: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), billing_address: T.nilable(Models::Components::Address), controls: T.nilable(Models::Components::IssuingControls)).void }
|
|
54
|
+
def initialize(issued_card_id:, brand:, last_four_card_number:, expiration:, funding_wallet_id:, state:, form_factor:, created_on:, updated_on:, pan:, cvv:, authorized_user_account_id: nil, nickname: nil, metadata: nil, billing_address: nil, controls: nil)
|
|
49
55
|
@issued_card_id = issued_card_id
|
|
50
56
|
@brand = brand
|
|
51
57
|
@last_four_card_number = last_four_card_number
|
|
52
58
|
@expiration = expiration
|
|
53
|
-
@authorized_user = authorized_user
|
|
54
59
|
@funding_wallet_id = funding_wallet_id
|
|
55
60
|
@state = state
|
|
56
61
|
@form_factor = form_factor
|
|
57
62
|
@created_on = created_on
|
|
63
|
+
@updated_on = updated_on
|
|
58
64
|
@pan = pan
|
|
59
65
|
@cvv = cvv
|
|
60
|
-
@
|
|
66
|
+
@authorized_user_account_id = authorized_user_account_id
|
|
67
|
+
@nickname = nickname
|
|
68
|
+
@metadata = metadata
|
|
69
|
+
@billing_address = billing_address
|
|
61
70
|
@controls = controls
|
|
62
71
|
end
|
|
63
72
|
|
|
@@ -68,14 +77,17 @@ module Moov
|
|
|
68
77
|
return false unless @brand == other.brand
|
|
69
78
|
return false unless @last_four_card_number == other.last_four_card_number
|
|
70
79
|
return false unless @expiration == other.expiration
|
|
71
|
-
return false unless @authorized_user == other.authorized_user
|
|
72
80
|
return false unless @funding_wallet_id == other.funding_wallet_id
|
|
73
81
|
return false unless @state == other.state
|
|
74
82
|
return false unless @form_factor == other.form_factor
|
|
75
83
|
return false unless @created_on == other.created_on
|
|
84
|
+
return false unless @updated_on == other.updated_on
|
|
76
85
|
return false unless @pan == other.pan
|
|
77
86
|
return false unless @cvv == other.cvv
|
|
78
|
-
return false unless @
|
|
87
|
+
return false unless @authorized_user_account_id == other.authorized_user_account_id
|
|
88
|
+
return false unless @nickname == other.nickname
|
|
89
|
+
return false unless @metadata == other.metadata
|
|
90
|
+
return false unless @billing_address == other.billing_address
|
|
79
91
|
return false unless @controls == other.controls
|
|
80
92
|
true
|
|
81
93
|
end
|
|
@@ -16,8 +16,6 @@ class Moov::Models::Components::FullIssuedCard
|
|
|
16
16
|
def last_four_card_number=(str_); end
|
|
17
17
|
def expiration(); end
|
|
18
18
|
def expiration=(str_); end
|
|
19
|
-
def authorized_user(); end
|
|
20
|
-
def authorized_user=(str_); end
|
|
21
19
|
def funding_wallet_id(); end
|
|
22
20
|
def funding_wallet_id=(str_); end
|
|
23
21
|
def state(); end
|
|
@@ -26,12 +24,20 @@ class Moov::Models::Components::FullIssuedCard
|
|
|
26
24
|
def form_factor=(str_); end
|
|
27
25
|
def created_on(); end
|
|
28
26
|
def created_on=(str_); end
|
|
27
|
+
def updated_on(); end
|
|
28
|
+
def updated_on=(str_); end
|
|
29
29
|
def pan(); end
|
|
30
30
|
def pan=(str_); end
|
|
31
31
|
def cvv(); end
|
|
32
32
|
def cvv=(str_); end
|
|
33
|
-
def
|
|
34
|
-
def
|
|
33
|
+
def authorized_user_account_id(); end
|
|
34
|
+
def authorized_user_account_id=(str_); end
|
|
35
|
+
def nickname(); end
|
|
36
|
+
def nickname=(str_); end
|
|
37
|
+
def metadata(); end
|
|
38
|
+
def metadata=(str_); end
|
|
39
|
+
def billing_address(); end
|
|
40
|
+
def billing_address=(str_); end
|
|
35
41
|
def controls(); end
|
|
36
42
|
def controls=(str_); end
|
|
37
43
|
end
|
|
@@ -20,8 +20,6 @@ module Moov
|
|
|
20
20
|
field :last_four_card_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber'), required: true } }
|
|
21
21
|
# The expiration date of the card or token.
|
|
22
22
|
field :expiration, Models::Components::CardExpiration, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration'), required: true } }
|
|
23
|
-
# Fields for identifying an authorized individual.
|
|
24
|
-
field :authorized_user, Models::Components::AuthorizedUser, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedUser'), required: true } }
|
|
25
23
|
# Unique identifier for the wallet funding the card.
|
|
26
24
|
field :funding_wallet_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fundingWalletID'), required: true } }
|
|
27
25
|
# The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.
|
|
@@ -35,23 +33,34 @@ module Moov
|
|
|
35
33
|
field :form_factor, Models::Components::IssuedCardFormFactor, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('formFactor'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardFormFactor, false) } }
|
|
36
34
|
|
|
37
35
|
field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
38
|
-
|
|
39
|
-
field :
|
|
36
|
+
|
|
37
|
+
field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
38
|
+
# Identifier for the account of the card's authorized user.
|
|
39
|
+
field :authorized_user_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedUserAccountID') } }
|
|
40
|
+
# An optional descriptive name for the card.
|
|
41
|
+
field :nickname, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('nickname') } }
|
|
42
|
+
# Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
|
|
43
|
+
field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
|
|
44
|
+
# Billing address associated with the card.
|
|
45
|
+
field :billing_address, Crystalline::Nilable.new(Models::Components::Address), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress') } }
|
|
40
46
|
|
|
41
47
|
field :controls, Crystalline::Nilable.new(Models::Components::IssuingControls), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('controls') } }
|
|
42
48
|
|
|
43
|
-
sig { params(issued_card_id: ::String, brand: Models::Components::CardBrand, last_four_card_number: ::String, expiration: Models::Components::CardExpiration,
|
|
44
|
-
def initialize(issued_card_id:, brand:, last_four_card_number:, expiration:,
|
|
49
|
+
sig { params(issued_card_id: ::String, brand: Models::Components::CardBrand, last_four_card_number: ::String, expiration: Models::Components::CardExpiration, funding_wallet_id: ::String, state: Models::Components::IssuedCardState, form_factor: Models::Components::IssuedCardFormFactor, created_on: ::DateTime, updated_on: ::DateTime, authorized_user_account_id: T.nilable(::String), nickname: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), billing_address: T.nilable(Models::Components::Address), controls: T.nilable(Models::Components::IssuingControls)).void }
|
|
50
|
+
def initialize(issued_card_id:, brand:, last_four_card_number:, expiration:, funding_wallet_id:, state:, form_factor:, created_on:, updated_on:, authorized_user_account_id: nil, nickname: nil, metadata: nil, billing_address: nil, controls: nil)
|
|
45
51
|
@issued_card_id = issued_card_id
|
|
46
52
|
@brand = brand
|
|
47
53
|
@last_four_card_number = last_four_card_number
|
|
48
54
|
@expiration = expiration
|
|
49
|
-
@authorized_user = authorized_user
|
|
50
55
|
@funding_wallet_id = funding_wallet_id
|
|
51
56
|
@state = state
|
|
52
57
|
@form_factor = form_factor
|
|
53
58
|
@created_on = created_on
|
|
54
|
-
@
|
|
59
|
+
@updated_on = updated_on
|
|
60
|
+
@authorized_user_account_id = authorized_user_account_id
|
|
61
|
+
@nickname = nickname
|
|
62
|
+
@metadata = metadata
|
|
63
|
+
@billing_address = billing_address
|
|
55
64
|
@controls = controls
|
|
56
65
|
end
|
|
57
66
|
|
|
@@ -62,12 +71,15 @@ module Moov
|
|
|
62
71
|
return false unless @brand == other.brand
|
|
63
72
|
return false unless @last_four_card_number == other.last_four_card_number
|
|
64
73
|
return false unless @expiration == other.expiration
|
|
65
|
-
return false unless @authorized_user == other.authorized_user
|
|
66
74
|
return false unless @funding_wallet_id == other.funding_wallet_id
|
|
67
75
|
return false unless @state == other.state
|
|
68
76
|
return false unless @form_factor == other.form_factor
|
|
69
77
|
return false unless @created_on == other.created_on
|
|
70
|
-
return false unless @
|
|
78
|
+
return false unless @updated_on == other.updated_on
|
|
79
|
+
return false unless @authorized_user_account_id == other.authorized_user_account_id
|
|
80
|
+
return false unless @nickname == other.nickname
|
|
81
|
+
return false unless @metadata == other.metadata
|
|
82
|
+
return false unless @billing_address == other.billing_address
|
|
71
83
|
return false unless @controls == other.controls
|
|
72
84
|
true
|
|
73
85
|
end
|
|
@@ -16,8 +16,6 @@ class Moov::Models::Components::IssuedCard
|
|
|
16
16
|
def last_four_card_number=(str_); end
|
|
17
17
|
def expiration(); end
|
|
18
18
|
def expiration=(str_); end
|
|
19
|
-
def authorized_user(); end
|
|
20
|
-
def authorized_user=(str_); end
|
|
21
19
|
def funding_wallet_id(); end
|
|
22
20
|
def funding_wallet_id=(str_); end
|
|
23
21
|
def state(); end
|
|
@@ -26,8 +24,16 @@ class Moov::Models::Components::IssuedCard
|
|
|
26
24
|
def form_factor=(str_); end
|
|
27
25
|
def created_on(); end
|
|
28
26
|
def created_on=(str_); end
|
|
29
|
-
def
|
|
30
|
-
def
|
|
27
|
+
def updated_on(); end
|
|
28
|
+
def updated_on=(str_); end
|
|
29
|
+
def authorized_user_account_id(); end
|
|
30
|
+
def authorized_user_account_id=(str_); end
|
|
31
|
+
def nickname(); end
|
|
32
|
+
def nickname=(str_); end
|
|
33
|
+
def metadata(); end
|
|
34
|
+
def metadata=(str_); end
|
|
35
|
+
def billing_address(); end
|
|
36
|
+
def billing_address=(str_); end
|
|
31
37
|
def controls(); end
|
|
32
38
|
def controls=(str_); end
|
|
33
39
|
end
|
|
@@ -19,7 +19,7 @@ module Moov
|
|
|
19
19
|
# List of [scopes](https://docs.moov.io/api/authentication/scopes/) you request to use on this
|
|
20
20
|
# account. These values are used to determine what can be done with the account onboarded.
|
|
21
21
|
field :scopes, Crystalline::Array.new(Models::Components::ApplicationScope), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('scopes'), required: true } }
|
|
22
|
-
# List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/) you intend to request for this
|
|
22
|
+
# List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/reference/) you intend to request for this
|
|
23
23
|
# account. These values are used to determine what information to collect from the user during onboarding.
|
|
24
24
|
field :capabilities, Crystalline::Array.new(Models::Components::CapabilityID), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capabilities'), required: true } }
|
|
25
25
|
# List of fee plan codes to assign the account created by the invitee.
|
|
@@ -15,7 +15,7 @@ module Moov
|
|
|
15
15
|
# List of [scopes](https://docs.moov.io/api/authentication/scopes/) you request to use on this
|
|
16
16
|
# account. These values are used to determine what can be done with the account onboarded.
|
|
17
17
|
field :scopes, Crystalline::Array.new(Models::Components::ApplicationScope), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('scopes'), required: true } }
|
|
18
|
-
# List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/) you intend to request for this
|
|
18
|
+
# List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/reference/) you intend to request for this
|
|
19
19
|
# account. These values are used to determine what information to collect from the user during onboarding.
|
|
20
20
|
field :capabilities, Crystalline::Array.new(Models::Components::CapabilityID), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capabilities'), required: true } }
|
|
21
21
|
# List of fee plan codes to assign the account created by the invitee.
|
|
@@ -40,12 +40,12 @@ module Moov
|
|
|
40
40
|
field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
41
41
|
|
|
42
42
|
field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
43
|
-
# The fixed amount of the payment link.
|
|
43
|
+
# The fixed amount of the payment link.
|
|
44
44
|
#
|
|
45
45
|
# In API versions before `2026.07.00`, this was a required field.
|
|
46
46
|
#
|
|
47
|
-
# In API version `2026.07.00` and beyond, this field is
|
|
48
|
-
# for `
|
|
47
|
+
# In API version `2026.07.00` and beyond, this field is present for `payment` and `payout` links and omitted
|
|
48
|
+
# for `customAmountPayment` links, where the payor chooses the amount.
|
|
49
49
|
field :amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
|
|
50
50
|
# An optional limit on the number of times this payment link can be used.
|
|
51
51
|
#
|
|
@@ -59,6 +59,11 @@ module Moov
|
|
|
59
59
|
field :payment, Crystalline::Nilable.new(Models::Components::PaymentLinkPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payment') } }
|
|
60
60
|
|
|
61
61
|
field :payout, Crystalline::Nilable.new(Models::Components::PaymentLinkPayoutDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payout') } }
|
|
62
|
+
# Options for custom amount payment links.
|
|
63
|
+
#
|
|
64
|
+
# A custom amount payment link shares all the options of a `payment` link, but the payor chooses how much to
|
|
65
|
+
# pay rather than the merchant fixing the amount. The amount may optionally be constrained to a range.
|
|
66
|
+
field :custom_amount_payment, Crystalline::Nilable.new(Models::Components::PaymentLinkCustomAmountPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customAmountPayment') } }
|
|
62
67
|
# An optional collection of line items for a payment link.
|
|
63
68
|
# When line items are provided, their total plus tax must equal the payment link amount.
|
|
64
69
|
field :line_items, Crystalline::Nilable.new(Models::Components::PaymentLinkLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
|
|
@@ -67,8 +72,8 @@ module Moov
|
|
|
67
72
|
|
|
68
73
|
field :amount_details, Crystalline::Nilable.new(Models::Components::PaymentLinkAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
69
74
|
|
|
70
|
-
sig { params(code: ::String, payment_link_type: Models::Components::PaymentLinkType, mode: Models::Components::Mode, status: Models::Components::PaymentLinkStatus, partner_account_id: ::String, merchant_account_id: ::String, owner_account_id: ::String, merchant_payment_method_id: ::String, link: ::String, uses: ::Integer, display: Models::Components::PaymentLinkDisplayOptions, customer: Models::Components::PaymentLinkCustomerOptions, created_on: ::DateTime, updated_on: ::DateTime, amount: T.nilable(Models::Components::Amount), max_uses: T.nilable(::Integer), last_used_on: T.nilable(::DateTime), expires_on: T.nilable(::DateTime), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::PaymentLinkLineItems), disabled_on: T.nilable(::DateTime), amount_details: T.nilable(Models::Components::PaymentLinkAmountDetails)).void }
|
|
71
|
-
def initialize(code:, payment_link_type:, mode:, status:, partner_account_id:, merchant_account_id:, owner_account_id:, merchant_payment_method_id:, link:, uses:, display:, customer:, created_on:, updated_on:, amount: nil, max_uses: nil, last_used_on: nil, expires_on: nil, payment: nil, payout: nil, line_items: nil, disabled_on: nil, amount_details: nil)
|
|
75
|
+
sig { params(code: ::String, payment_link_type: Models::Components::PaymentLinkType, mode: Models::Components::Mode, status: Models::Components::PaymentLinkStatus, partner_account_id: ::String, merchant_account_id: ::String, owner_account_id: ::String, merchant_payment_method_id: ::String, link: ::String, uses: ::Integer, display: Models::Components::PaymentLinkDisplayOptions, customer: Models::Components::PaymentLinkCustomerOptions, created_on: ::DateTime, updated_on: ::DateTime, amount: T.nilable(Models::Components::Amount), max_uses: T.nilable(::Integer), last_used_on: T.nilable(::DateTime), expires_on: T.nilable(::DateTime), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), custom_amount_payment: T.nilable(Models::Components::PaymentLinkCustomAmountPaymentDetails), line_items: T.nilable(Models::Components::PaymentLinkLineItems), disabled_on: T.nilable(::DateTime), amount_details: T.nilable(Models::Components::PaymentLinkAmountDetails)).void }
|
|
76
|
+
def initialize(code:, payment_link_type:, mode:, status:, partner_account_id:, merchant_account_id:, owner_account_id:, merchant_payment_method_id:, link:, uses:, display:, customer:, created_on:, updated_on:, amount: nil, max_uses: nil, last_used_on: nil, expires_on: nil, payment: nil, payout: nil, custom_amount_payment: nil, line_items: nil, disabled_on: nil, amount_details: nil)
|
|
72
77
|
@code = code
|
|
73
78
|
@payment_link_type = payment_link_type
|
|
74
79
|
@mode = mode
|
|
@@ -89,6 +94,7 @@ module Moov
|
|
|
89
94
|
@expires_on = expires_on
|
|
90
95
|
@payment = payment
|
|
91
96
|
@payout = payout
|
|
97
|
+
@custom_amount_payment = custom_amount_payment
|
|
92
98
|
@line_items = line_items
|
|
93
99
|
@disabled_on = disabled_on
|
|
94
100
|
@amount_details = amount_details
|
|
@@ -117,6 +123,7 @@ module Moov
|
|
|
117
123
|
return false unless @expires_on == other.expires_on
|
|
118
124
|
return false unless @payment == other.payment
|
|
119
125
|
return false unless @payout == other.payout
|
|
126
|
+
return false unless @custom_amount_payment == other.custom_amount_payment
|
|
120
127
|
return false unless @line_items == other.line_items
|
|
121
128
|
return false unless @disabled_on == other.disabled_on
|
|
122
129
|
return false unless @amount_details == other.amount_details
|
|
@@ -48,6 +48,8 @@ class Moov::Models::Components::PaymentLink
|
|
|
48
48
|
def payment=(str_); end
|
|
49
49
|
def payout(); end
|
|
50
50
|
def payout=(str_); end
|
|
51
|
+
def custom_amount_payment(); end
|
|
52
|
+
def custom_amount_payment=(str_); end
|
|
51
53
|
def line_items(); end
|
|
52
54
|
def line_items=(str_); end
|
|
53
55
|
def disabled_on(); end
|
|
@@ -0,0 +1,59 @@
|
|
|
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
|
+
# Options for custom amount payment links.
|
|
11
|
+
#
|
|
12
|
+
# A custom amount payment link shares all the options of a `payment` link, but the payor chooses how much to
|
|
13
|
+
# pay rather than the merchant fixing the amount. The amount may optionally be constrained to a range.
|
|
14
|
+
class PaymentLinkCustomAmountPaymentDetails
|
|
15
|
+
extend T::Sig
|
|
16
|
+
include Crystalline::MetadataFields
|
|
17
|
+
|
|
18
|
+
# A list of payment methods that should be supported for this payment link.
|
|
19
|
+
field :allowed_methods, Crystalline::Array.new(Models::Components::CollectionPaymentMethodType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedMethods'), required: true } }
|
|
20
|
+
# Options for payment links used to collect a card payment.
|
|
21
|
+
field :card_details, Crystalline::Nilable.new(Models::Components::CardPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
|
|
22
|
+
# Options for payment links used to collect an ACH payment.
|
|
23
|
+
field :ach_details, Crystalline::Nilable.new(Models::Components::ACHPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
|
|
24
|
+
# Optional free-form metadata for the transfer.
|
|
25
|
+
field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
|
|
26
|
+
# The minimum and maximum amounts the payor can specify.
|
|
27
|
+
#
|
|
28
|
+
# When omitted, the payor may enter any amount. Both bounds must use USD.
|
|
29
|
+
field :amount_range, Crystalline::Nilable.new(Models::Components::AmountDecimalRange), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountRange') } }
|
|
30
|
+
# Optional preset amounts displayed to the payor.
|
|
31
|
+
#
|
|
32
|
+
# Each suggested amount must use USD and, when an `amountRange` is set, fall within it.
|
|
33
|
+
field :suggested_amounts, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AmountDecimal)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('suggestedAmounts') } }
|
|
34
|
+
|
|
35
|
+
sig { params(allowed_methods: T::Array[Models::Components::CollectionPaymentMethodType], card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails), metadata: T.nilable(T::Hash[Symbol, ::String]), amount_range: T.nilable(Models::Components::AmountDecimalRange), suggested_amounts: T.nilable(T::Array[Models::Components::AmountDecimal])).void }
|
|
36
|
+
def initialize(allowed_methods:, card_details: nil, ach_details: nil, metadata: nil, amount_range: nil, suggested_amounts: nil)
|
|
37
|
+
@allowed_methods = allowed_methods
|
|
38
|
+
@card_details = card_details
|
|
39
|
+
@ach_details = ach_details
|
|
40
|
+
@metadata = metadata
|
|
41
|
+
@amount_range = amount_range
|
|
42
|
+
@suggested_amounts = suggested_amounts
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
46
|
+
def ==(other)
|
|
47
|
+
return false unless other.is_a? self.class
|
|
48
|
+
return false unless @allowed_methods == other.allowed_methods
|
|
49
|
+
return false unless @card_details == other.card_details
|
|
50
|
+
return false unless @ach_details == other.ach_details
|
|
51
|
+
return false unless @metadata == other.metadata
|
|
52
|
+
return false unless @amount_range == other.amount_range
|
|
53
|
+
return false unless @suggested_amounts == other.suggested_amounts
|
|
54
|
+
true
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::PaymentLinkCustomAmountPaymentDetails
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::PaymentLinkCustomAmountPaymentDetails
|
|
11
|
+
def allowed_methods(); end
|
|
12
|
+
def allowed_methods=(str_); end
|
|
13
|
+
def card_details(); end
|
|
14
|
+
def card_details=(str_); end
|
|
15
|
+
def ach_details(); end
|
|
16
|
+
def ach_details=(str_); end
|
|
17
|
+
def metadata(); end
|
|
18
|
+
def metadata=(str_); end
|
|
19
|
+
def amount_range(); end
|
|
20
|
+
def amount_range=(str_); end
|
|
21
|
+
def suggested_amounts(); end
|
|
22
|
+
def suggested_amounts=(str_); end
|
|
23
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
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
|
+
# Options for custom amount payment links.
|
|
11
|
+
#
|
|
12
|
+
# A custom amount payment link shares all the options of a `payment` link, but the payor chooses how much to
|
|
13
|
+
# pay rather than the merchant fixing the amount. The amount may optionally be constrained to a range.
|
|
14
|
+
class PaymentLinkCustomAmountPaymentDetailsUpdate
|
|
15
|
+
extend T::Sig
|
|
16
|
+
include Crystalline::MetadataFields
|
|
17
|
+
|
|
18
|
+
# A list of payment methods that should be supported for this payment link.
|
|
19
|
+
field :allowed_methods, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::CollectionPaymentMethodType)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedMethods') } }
|
|
20
|
+
# Options for payment links used to collect a card payment.
|
|
21
|
+
field :card_details, Crystalline::Nilable.new(Models::Components::CardPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
|
|
22
|
+
# Options for payment links used to collect an ACH payment.
|
|
23
|
+
field :ach_details, Crystalline::Nilable.new(Models::Components::ACHPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
|
|
24
|
+
# Optional free-form metadata for the transfer.
|
|
25
|
+
field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
|
|
26
|
+
# The minimum and maximum amounts the payor can specify.
|
|
27
|
+
#
|
|
28
|
+
# When omitted, the payor may enter any amount. Both bounds must use USD.
|
|
29
|
+
field :amount_range, Crystalline::Nilable.new(Models::Components::AmountDecimalRangeUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountRange') } }
|
|
30
|
+
# Optional preset amounts displayed to the payor.
|
|
31
|
+
#
|
|
32
|
+
# Each suggested amount must use USD and, when an `amountRange` is set, fall within it.
|
|
33
|
+
field :suggested_amounts, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AmountDecimal)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('suggestedAmounts') } }
|
|
34
|
+
|
|
35
|
+
sig { params(allowed_methods: T.nilable(T::Array[Models::Components::CollectionPaymentMethodType]), card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails), metadata: T.nilable(T::Hash[Symbol, ::String]), amount_range: T.nilable(Models::Components::AmountDecimalRangeUpdate), suggested_amounts: T.nilable(T::Array[Models::Components::AmountDecimal])).void }
|
|
36
|
+
def initialize(allowed_methods: nil, card_details: nil, ach_details: nil, metadata: nil, amount_range: nil, suggested_amounts: nil)
|
|
37
|
+
@allowed_methods = allowed_methods
|
|
38
|
+
@card_details = card_details
|
|
39
|
+
@ach_details = ach_details
|
|
40
|
+
@metadata = metadata
|
|
41
|
+
@amount_range = amount_range
|
|
42
|
+
@suggested_amounts = suggested_amounts
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
46
|
+
def ==(other)
|
|
47
|
+
return false unless other.is_a? self.class
|
|
48
|
+
return false unless @allowed_methods == other.allowed_methods
|
|
49
|
+
return false unless @card_details == other.card_details
|
|
50
|
+
return false unless @ach_details == other.ach_details
|
|
51
|
+
return false unless @metadata == other.metadata
|
|
52
|
+
return false unless @amount_range == other.amount_range
|
|
53
|
+
return false unless @suggested_amounts == other.suggested_amounts
|
|
54
|
+
true
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::PaymentLinkCustomAmountPaymentDetailsUpdate
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::PaymentLinkCustomAmountPaymentDetailsUpdate
|
|
11
|
+
def allowed_methods(); end
|
|
12
|
+
def allowed_methods=(str_); end
|
|
13
|
+
def card_details(); end
|
|
14
|
+
def card_details=(str_); end
|
|
15
|
+
def ach_details(); end
|
|
16
|
+
def ach_details=(str_); end
|
|
17
|
+
def metadata(); end
|
|
18
|
+
def metadata=(str_); end
|
|
19
|
+
def amount_range(); end
|
|
20
|
+
def amount_range=(str_); end
|
|
21
|
+
def suggested_amounts(); end
|
|
22
|
+
def suggested_amounts=(str_); end
|
|
23
|
+
end
|