moov_ruby 26.7.0.pre.dev.2 → 26.7.0.pre.dev.4
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 +37 -37
- 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/client.rb +2 -1
- data/lib/moov/deposit_view.rb +213 -0
- 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 +8 -1
- data/lib/moov/models/components/cardtransactiondetails.rb +10 -2
- data/lib/moov/models/components/cardtransactiondetails.rbi +4 -0
- data/lib/moov/models/components/cardtransactionstatus.rb +1 -0
- 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/createtransferdestinationcard.rb +6 -2
- data/lib/moov/models/components/createtransferdestinationcard.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/depositaccountingestedresponse.rb +44 -0
- data/lib/moov/models/components/depositaccountingestedresponse.rbi +19 -0
- data/lib/moov/models/components/fullissuedcard.rb +23 -13
- data/lib/moov/models/components/fullissuedcard.rbi +10 -4
- data/lib/moov/models/components/invoice.rb +6 -2
- data/lib/moov/models/components/invoice.rbi +2 -0
- data/lib/moov/models/components/issuedcard.rb +23 -13
- data/lib/moov/models/components/issuedcard.rbi +10 -4
- data/lib/moov/models/components/issuedcardstate.rb +1 -5
- data/lib/moov/models/components/manualtermsofservice.rb +1 -1
- data/lib/moov/models/components/manualtermsofserviceupdate.rb +1 -1
- data/lib/moov/models/components/onboardinginvite.rb +1 -1
- data/lib/moov/models/components/onboardinginviterequest.rb +1 -1
- data/lib/moov/models/components/patchtransfer.rb +6 -6
- data/lib/moov/models/components/patchtransfer.rbi +2 -2
- data/lib/moov/models/components/patchwallet.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/paymentlinkpayoutdetails.rb +9 -2
- data/lib/moov/models/components/paymentlinkpayoutdetails.rbi +2 -0
- data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +9 -2
- data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rbi +2 -0
- data/lib/moov/models/components/paymentlinktype.rb +1 -0
- data/lib/moov/models/components/paymentmethodscard.rb +7 -2
- data/lib/moov/models/components/paymentmethodscard.rbi +2 -0
- data/lib/moov/models/components/payoutdetailserror.rb +6 -2
- data/lib/moov/models/components/payoutdetailserror.rbi +2 -0
- data/lib/moov/models/components/pushdeliveryspeed.rb +19 -0
- data/lib/moov/models/components/pushdeliveryspeed.rbi +11 -0
- data/lib/moov/models/components/pushoptions.rb +38 -0
- data/lib/moov/models/components/pushoptions.rbi +15 -0
- data/lib/moov/models/components/pushoptionserror.rb +36 -0
- data/lib/moov/models/components/pushoptionserror.rbi +15 -0
- data/lib/moov/models/components/pushoptionsupdate.rb +38 -0
- data/lib/moov/models/components/pushoptionsupdate.rbi +15 -0
- data/lib/moov/models/components/requestcard.rb +17 -17
- data/lib/moov/models/components/requestcard.rbi +8 -8
- data/lib/moov/models/components/sourcesystem.rb +23 -0
- data/lib/moov/models/components/sourcesystem.rbi +11 -0
- data/lib/moov/models/components/surcharge.rb +38 -0
- data/lib/moov/models/components/surcharge.rbi +15 -0
- data/lib/moov/models/components/tax.rb +38 -0
- data/lib/moov/models/components/tax.rbi +15 -0
- data/lib/moov/models/components/termsofservice.rb +1 -1
- 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/updatepaymentlinkamountdetails.rb +3 -3
- 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 +13 -6
- data/lib/moov/models/errors/createpaymentlinkerror.rb +6 -2
- data/lib/moov/models/errors/createpaymentlinkerror.rbi +2 -0
- data/lib/moov/models/errors/depositaccountvalidationerror.rb +40 -0
- data/lib/moov/models/errors/depositaccountvalidationerror.rbi +17 -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/errors.rb +1 -0
- data/lib/moov/models/operations/createdepositaccount_request.rb +40 -0
- data/lib/moov/models/operations/createdepositaccount_request.rbi +17 -0
- data/lib/moov/models/operations/createdepositaccount_response.rb +48 -0
- data/lib/moov/models/operations/createdepositaccount_response.rbi +21 -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/linkbankaccount_request.rb +1 -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/listissuedcards_request.rb +1 -1
- data/lib/moov/models/operations.rb +4 -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
- data/lib/moov_ruby.rb +1 -0
- metadata +41 -16
- 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
|
@@ -0,0 +1,44 @@
|
|
|
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 result of ingesting a deposit account into the deposit view.
|
|
11
|
+
class DepositAccountIngestedResponse
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# The Moov account that owns the deposit view the account was ingested into.
|
|
16
|
+
field :moov_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('moovAccountID'), required: true } }
|
|
17
|
+
# The core banking source system that produced the ingested payload.
|
|
18
|
+
field :source_system, Models::Components::SourceSystem, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceSystem'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::SourceSystem, false) } }
|
|
19
|
+
# The identifier of the deposit account within the source system.
|
|
20
|
+
field :source_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceAccountID'), required: true } }
|
|
21
|
+
# The date and time the deposit account was ingested.
|
|
22
|
+
field :ingested_at, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('ingestedAt'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
23
|
+
|
|
24
|
+
sig { params(moov_account_id: ::String, source_system: Models::Components::SourceSystem, source_account_id: ::String, ingested_at: ::DateTime).void }
|
|
25
|
+
def initialize(moov_account_id:, source_system:, source_account_id:, ingested_at:)
|
|
26
|
+
@moov_account_id = moov_account_id
|
|
27
|
+
@source_system = source_system
|
|
28
|
+
@source_account_id = source_account_id
|
|
29
|
+
@ingested_at = ingested_at
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
33
|
+
def ==(other)
|
|
34
|
+
return false unless other.is_a? self.class
|
|
35
|
+
return false unless @moov_account_id == other.moov_account_id
|
|
36
|
+
return false unless @source_system == other.source_system
|
|
37
|
+
return false unless @source_account_id == other.source_account_id
|
|
38
|
+
return false unless @ingested_at == other.ingested_at
|
|
39
|
+
true
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::DepositAccountIngestedResponse
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::DepositAccountIngestedResponse
|
|
11
|
+
def moov_account_id(); end
|
|
12
|
+
def moov_account_id=(str_); end
|
|
13
|
+
def source_system(); end
|
|
14
|
+
def source_system=(str_); end
|
|
15
|
+
def source_account_id(); end
|
|
16
|
+
def source_account_id=(str_); end
|
|
17
|
+
def ingested_at(); end
|
|
18
|
+
def ingested_at=(str_); end
|
|
19
|
+
end
|
|
@@ -20,44 +20,51 @@ 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.
|
|
28
26
|
#
|
|
29
|
-
# - `active`: The card is operational and
|
|
30
|
-
# - `inactive`: The card cannot approve authorizations. This is currently a temporary state assigned post-creation during the activation process.
|
|
27
|
+
# - `active`: The card is operational and can approve authorizations.
|
|
31
28
|
# - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
|
|
32
|
-
# - `pending-verification`: Awaiting additional authorized user verification before the card can be activated.
|
|
33
29
|
field :state, Models::Components::IssuedCardState, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('state'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardState, false) } }
|
|
34
30
|
# Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
|
|
35
31
|
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
32
|
|
|
37
33
|
field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
34
|
+
|
|
35
|
+
field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
38
36
|
# The issued card's Primary Account Number (PAN)
|
|
39
37
|
field :pan, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pan'), required: true } }
|
|
40
38
|
# The issued card's 3- or 4-digit Card Verification Value (CVV).
|
|
41
39
|
field :cvv, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cvv'), required: true } }
|
|
42
|
-
#
|
|
43
|
-
field :
|
|
40
|
+
# Identifier for the account of the card's authorized user.
|
|
41
|
+
field :authorized_user_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedUserAccountID') } }
|
|
42
|
+
# An optional descriptive name for the card.
|
|
43
|
+
field :nickname, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('nickname') } }
|
|
44
|
+
# Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
|
|
45
|
+
field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
|
|
46
|
+
# Billing address associated with the card.
|
|
47
|
+
field :billing_address, Crystalline::Nilable.new(Models::Components::Address), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress') } }
|
|
44
48
|
|
|
45
49
|
field :controls, Crystalline::Nilable.new(Models::Components::IssuingControls), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('controls') } }
|
|
46
50
|
|
|
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:,
|
|
51
|
+
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 }
|
|
52
|
+
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
53
|
@issued_card_id = issued_card_id
|
|
50
54
|
@brand = brand
|
|
51
55
|
@last_four_card_number = last_four_card_number
|
|
52
56
|
@expiration = expiration
|
|
53
|
-
@authorized_user = authorized_user
|
|
54
57
|
@funding_wallet_id = funding_wallet_id
|
|
55
58
|
@state = state
|
|
56
59
|
@form_factor = form_factor
|
|
57
60
|
@created_on = created_on
|
|
61
|
+
@updated_on = updated_on
|
|
58
62
|
@pan = pan
|
|
59
63
|
@cvv = cvv
|
|
60
|
-
@
|
|
64
|
+
@authorized_user_account_id = authorized_user_account_id
|
|
65
|
+
@nickname = nickname
|
|
66
|
+
@metadata = metadata
|
|
67
|
+
@billing_address = billing_address
|
|
61
68
|
@controls = controls
|
|
62
69
|
end
|
|
63
70
|
|
|
@@ -68,14 +75,17 @@ module Moov
|
|
|
68
75
|
return false unless @brand == other.brand
|
|
69
76
|
return false unless @last_four_card_number == other.last_four_card_number
|
|
70
77
|
return false unless @expiration == other.expiration
|
|
71
|
-
return false unless @authorized_user == other.authorized_user
|
|
72
78
|
return false unless @funding_wallet_id == other.funding_wallet_id
|
|
73
79
|
return false unless @state == other.state
|
|
74
80
|
return false unless @form_factor == other.form_factor
|
|
75
81
|
return false unless @created_on == other.created_on
|
|
82
|
+
return false unless @updated_on == other.updated_on
|
|
76
83
|
return false unless @pan == other.pan
|
|
77
84
|
return false unless @cvv == other.cvv
|
|
78
|
-
return false unless @
|
|
85
|
+
return false unless @authorized_user_account_id == other.authorized_user_account_id
|
|
86
|
+
return false unless @nickname == other.nickname
|
|
87
|
+
return false unless @metadata == other.metadata
|
|
88
|
+
return false unless @billing_address == other.billing_address
|
|
79
89
|
return false unless @controls == other.controls
|
|
80
90
|
true
|
|
81
91
|
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
|
|
@@ -48,6 +48,8 @@ module Moov
|
|
|
48
48
|
field :amount_details, Crystalline::Nilable.new(Models::Components::AmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
49
49
|
|
|
50
50
|
field :payment_link_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentLinkCode') } }
|
|
51
|
+
# URL to the hosted payment link for the invoice.
|
|
52
|
+
field :payment_link_url, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentLinkURL') } }
|
|
51
53
|
# Payment made towards an invoice, will be either a transfer or an external payment.
|
|
52
54
|
field :invoice_payments, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::InvoicePayment)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoicePayments') } }
|
|
53
55
|
|
|
@@ -63,8 +65,8 @@ module Moov
|
|
|
63
65
|
|
|
64
66
|
field :disabled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disabledOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
65
67
|
|
|
66
|
-
sig { params(invoice_id: ::String, invoice_number: ::String, customer_account_id: ::String, customer_display_name: ::String, customer_email: ::String, partner_account_id: ::String, status: Models::Components::InvoiceStatus, line_items: Models::Components::InvoiceLineItems, subtotal_amount: Models::Components::AmountDecimal, total_amount: Models::Components::AmountDecimal, pending_amount: Models::Components::AmountDecimal, paid_amount: Models::Components::AmountDecimal, refunded_amount: Models::Components::AmountDecimal, disputed_amount: Models::Components::AmountDecimal, created_on: ::DateTime, description: T.nilable(::String), amount_details: T.nilable(Models::Components::AmountDetails), payment_link_code: T.nilable(::String), invoice_payments: T.nilable(T::Array[Models::Components::InvoicePayment]), invoice_date: T.nilable(::DateTime), due_date: T.nilable(::DateTime), sent_on: T.nilable(::DateTime), paid_on: T.nilable(::DateTime), canceled_on: T.nilable(::DateTime), disabled_on: T.nilable(::DateTime)).void }
|
|
67
|
-
def initialize(invoice_id:, invoice_number:, customer_account_id:, customer_display_name:, customer_email:, partner_account_id:, status:, line_items:, subtotal_amount:, total_amount:, pending_amount:, paid_amount:, refunded_amount:, disputed_amount:, created_on:, description: nil, amount_details: nil, payment_link_code: nil, invoice_payments: nil, invoice_date: nil, due_date: nil, sent_on: nil, paid_on: nil, canceled_on: nil, disabled_on: nil)
|
|
68
|
+
sig { params(invoice_id: ::String, invoice_number: ::String, customer_account_id: ::String, customer_display_name: ::String, customer_email: ::String, partner_account_id: ::String, status: Models::Components::InvoiceStatus, line_items: Models::Components::InvoiceLineItems, subtotal_amount: Models::Components::AmountDecimal, total_amount: Models::Components::AmountDecimal, pending_amount: Models::Components::AmountDecimal, paid_amount: Models::Components::AmountDecimal, refunded_amount: Models::Components::AmountDecimal, disputed_amount: Models::Components::AmountDecimal, created_on: ::DateTime, description: T.nilable(::String), amount_details: T.nilable(Models::Components::AmountDetails), payment_link_code: T.nilable(::String), payment_link_url: T.nilable(::String), invoice_payments: T.nilable(T::Array[Models::Components::InvoicePayment]), invoice_date: T.nilable(::DateTime), due_date: T.nilable(::DateTime), sent_on: T.nilable(::DateTime), paid_on: T.nilable(::DateTime), canceled_on: T.nilable(::DateTime), disabled_on: T.nilable(::DateTime)).void }
|
|
69
|
+
def initialize(invoice_id:, invoice_number:, customer_account_id:, customer_display_name:, customer_email:, partner_account_id:, status:, line_items:, subtotal_amount:, total_amount:, pending_amount:, paid_amount:, refunded_amount:, disputed_amount:, created_on:, description: nil, amount_details: nil, payment_link_code: nil, payment_link_url: nil, invoice_payments: nil, invoice_date: nil, due_date: nil, sent_on: nil, paid_on: nil, canceled_on: nil, disabled_on: nil)
|
|
68
70
|
@invoice_id = invoice_id
|
|
69
71
|
@invoice_number = invoice_number
|
|
70
72
|
@customer_account_id = customer_account_id
|
|
@@ -83,6 +85,7 @@ module Moov
|
|
|
83
85
|
@description = description
|
|
84
86
|
@amount_details = amount_details
|
|
85
87
|
@payment_link_code = payment_link_code
|
|
88
|
+
@payment_link_url = payment_link_url
|
|
86
89
|
@invoice_payments = invoice_payments
|
|
87
90
|
@invoice_date = invoice_date
|
|
88
91
|
@due_date = due_date
|
|
@@ -113,6 +116,7 @@ module Moov
|
|
|
113
116
|
return false unless @description == other.description
|
|
114
117
|
return false unless @amount_details == other.amount_details
|
|
115
118
|
return false unless @payment_link_code == other.payment_link_code
|
|
119
|
+
return false unless @payment_link_url == other.payment_link_url
|
|
116
120
|
return false unless @invoice_payments == other.invoice_payments
|
|
117
121
|
return false unless @invoice_date == other.invoice_date
|
|
118
122
|
return false unless @due_date == other.due_date
|
|
@@ -44,6 +44,8 @@ class Moov::Models::Components::Invoice
|
|
|
44
44
|
def amount_details=(str_); end
|
|
45
45
|
def payment_link_code(); end
|
|
46
46
|
def payment_link_code=(str_); end
|
|
47
|
+
def payment_link_url(); end
|
|
48
|
+
def payment_link_url=(str_); end
|
|
47
49
|
def invoice_payments(); end
|
|
48
50
|
def invoice_payments=(str_); end
|
|
49
51
|
def invoice_date(); end
|
|
@@ -20,38 +20,45 @@ 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.
|
|
28
26
|
#
|
|
29
|
-
# - `active`: The card is operational and
|
|
30
|
-
# - `inactive`: The card cannot approve authorizations. This is currently a temporary state assigned post-creation during the activation process.
|
|
27
|
+
# - `active`: The card is operational and can approve authorizations.
|
|
31
28
|
# - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
|
|
32
|
-
# - `pending-verification`: Awaiting additional authorized user verification before the card can be activated.
|
|
33
29
|
field :state, Models::Components::IssuedCardState, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('state'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardState, false) } }
|
|
34
30
|
# Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
|
|
35
31
|
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
32
|
|
|
37
33
|
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 :
|
|
34
|
+
|
|
35
|
+
field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
36
|
+
# Identifier for the account of the card's authorized user.
|
|
37
|
+
field :authorized_user_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedUserAccountID') } }
|
|
38
|
+
# An optional descriptive name for the card.
|
|
39
|
+
field :nickname, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('nickname') } }
|
|
40
|
+
# Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
|
|
41
|
+
field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
|
|
42
|
+
# Billing address associated with the card.
|
|
43
|
+
field :billing_address, Crystalline::Nilable.new(Models::Components::Address), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress') } }
|
|
40
44
|
|
|
41
45
|
field :controls, Crystalline::Nilable.new(Models::Components::IssuingControls), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('controls') } }
|
|
42
46
|
|
|
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:,
|
|
47
|
+
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 }
|
|
48
|
+
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
49
|
@issued_card_id = issued_card_id
|
|
46
50
|
@brand = brand
|
|
47
51
|
@last_four_card_number = last_four_card_number
|
|
48
52
|
@expiration = expiration
|
|
49
|
-
@authorized_user = authorized_user
|
|
50
53
|
@funding_wallet_id = funding_wallet_id
|
|
51
54
|
@state = state
|
|
52
55
|
@form_factor = form_factor
|
|
53
56
|
@created_on = created_on
|
|
54
|
-
@
|
|
57
|
+
@updated_on = updated_on
|
|
58
|
+
@authorized_user_account_id = authorized_user_account_id
|
|
59
|
+
@nickname = nickname
|
|
60
|
+
@metadata = metadata
|
|
61
|
+
@billing_address = billing_address
|
|
55
62
|
@controls = controls
|
|
56
63
|
end
|
|
57
64
|
|
|
@@ -62,12 +69,15 @@ module Moov
|
|
|
62
69
|
return false unless @brand == other.brand
|
|
63
70
|
return false unless @last_four_card_number == other.last_four_card_number
|
|
64
71
|
return false unless @expiration == other.expiration
|
|
65
|
-
return false unless @authorized_user == other.authorized_user
|
|
66
72
|
return false unless @funding_wallet_id == other.funding_wallet_id
|
|
67
73
|
return false unless @state == other.state
|
|
68
74
|
return false unless @form_factor == other.form_factor
|
|
69
75
|
return false unless @created_on == other.created_on
|
|
70
|
-
return false unless @
|
|
76
|
+
return false unless @updated_on == other.updated_on
|
|
77
|
+
return false unless @authorized_user_account_id == other.authorized_user_account_id
|
|
78
|
+
return false unless @nickname == other.nickname
|
|
79
|
+
return false unless @metadata == other.metadata
|
|
80
|
+
return false unless @billing_address == other.billing_address
|
|
71
81
|
return false unless @controls == other.controls
|
|
72
82
|
true
|
|
73
83
|
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
|
|
@@ -9,15 +9,11 @@ module Moov
|
|
|
9
9
|
module Components
|
|
10
10
|
# IssuedCardState - The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.
|
|
11
11
|
#
|
|
12
|
-
# - `active`: The card is operational and
|
|
13
|
-
# - `inactive`: The card cannot approve authorizations. This is currently a temporary state assigned post-creation during the activation process.
|
|
12
|
+
# - `active`: The card is operational and can approve authorizations.
|
|
14
13
|
# - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
|
|
15
|
-
# - `pending-verification`: Awaiting additional authorized user verification before the card can be activated.
|
|
16
14
|
class IssuedCardState < T::Enum
|
|
17
15
|
enums do
|
|
18
16
|
ACTIVE = new('active')
|
|
19
|
-
INACTIVE = new('inactive')
|
|
20
|
-
PENDING_VERIFICATION = new('pending-verification')
|
|
21
17
|
CLOSED = new('closed')
|
|
22
18
|
end
|
|
23
19
|
end
|
|
@@ -14,7 +14,7 @@ module Moov
|
|
|
14
14
|
|
|
15
15
|
# The date and time the terms of service were accepted.
|
|
16
16
|
field :accepted_date, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedDate'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
17
|
-
# The IP address from which the terms of service were accepted.
|
|
17
|
+
# The IP address (IPv4 or IPv6) from which the terms of service were accepted.
|
|
18
18
|
field :accepted_ip, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedIP'), required: true } }
|
|
19
19
|
# The user-agent of the user making the request.
|
|
20
20
|
field :accepted_user_agent, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedUserAgent'), required: true } }
|
|
@@ -14,7 +14,7 @@ module Moov
|
|
|
14
14
|
|
|
15
15
|
# The date and time the terms of service were accepted.
|
|
16
16
|
field :accepted_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedDate'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
17
|
-
# The IP address from which the terms of service were accepted.
|
|
17
|
+
# The IP address (IPv4 or IPv6) from which the terms of service were accepted.
|
|
18
18
|
field :accepted_ip, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedIP') } }
|
|
19
19
|
# The user-agent of the user making the request.
|
|
20
20
|
field :accepted_user_agent, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedUserAgent') } }
|
|
@@ -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.
|
|
@@ -12,22 +12,22 @@ module Moov
|
|
|
12
12
|
extend T::Sig
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
|
+
# Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
|
|
16
|
+
field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
|
|
15
17
|
# Optional alias from a foreign/external system which can be used to reference this resource.
|
|
16
18
|
field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
|
|
17
19
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
sig { params(foreign_id: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
|
|
21
|
-
def initialize(foreign_id: nil, metadata: nil)
|
|
22
|
-
@foreign_id = foreign_id
|
|
20
|
+
sig { params(metadata: T.nilable(T::Hash[Symbol, ::String]), foreign_id: T.nilable(::String)).void }
|
|
21
|
+
def initialize(metadata: nil, foreign_id: nil)
|
|
23
22
|
@metadata = metadata
|
|
23
|
+
@foreign_id = foreign_id
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
27
27
|
def ==(other)
|
|
28
28
|
return false unless other.is_a? self.class
|
|
29
|
-
return false unless @foreign_id == other.foreign_id
|
|
30
29
|
return false unless @metadata == other.metadata
|
|
30
|
+
return false unless @foreign_id == other.foreign_id
|
|
31
31
|
true
|
|
32
32
|
end
|
|
33
33
|
end
|
|
@@ -20,7 +20,7 @@ module Moov
|
|
|
20
20
|
field :status, Crystalline::Nilable.new(Models::Components::WalletStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletStatus, true) } }
|
|
21
21
|
|
|
22
22
|
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
|
|
23
|
-
|
|
23
|
+
|
|
24
24
|
field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
|
|
25
25
|
|
|
26
26
|
sig { params(name: T.nilable(::String), status: T.nilable(Models::Components::WalletStatus), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
|
|
@@ -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
|