moov_ruby 26.10.0.pre.dev.6 → 26.10.0.pre.dev.8
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/files.rb +186 -0
- data/lib/moov/issuing_transactions.rb +123 -0
- data/lib/moov/models/components/applicationscope.rb +1 -0
- data/lib/moov/models/components/authtokenrequest.rb +6 -2
- data/lib/moov/models/components/authtokenrequest.rbi +2 -0
- data/lib/moov/models/components/bankaccount.rb +7 -2
- data/lib/moov/models/components/bankaccount.rbi +2 -0
- data/lib/moov/models/components/bankaccountpayload.rb +7 -2
- data/lib/moov/models/components/bankaccountpayload.rbi +2 -0
- data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rb +6 -2
- data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rbi +2 -0
- data/lib/moov/models/components/createdtransfer.rb +2 -1
- data/lib/moov/models/components/createinvoice.rb +6 -2
- data/lib/moov/models/components/createinvoice.rbi +2 -0
- data/lib/moov/models/components/createtransferdestination.rb +2 -6
- data/lib/moov/models/components/createtransferdestination.rbi +0 -2
- data/lib/moov/models/components/disbursementpaymentmethodtype.rb +1 -0
- data/lib/moov/models/components/incurredfee.rb +6 -2
- data/lib/moov/models/components/incurredfee.rbi +2 -0
- data/lib/moov/models/components/issuedcardactivity.rb +78 -0
- data/lib/moov/models/components/issuedcardactivity.rbi +33 -0
- data/lib/moov/models/components/issuedcardauthorization.rb +7 -2
- data/lib/moov/models/components/issuedcardauthorization.rbi +2 -0
- data/lib/moov/models/components/issuedcardauthorizationevent.rb +7 -2
- data/lib/moov/models/components/issuedcardauthorizationevent.rbi +2 -0
- data/lib/moov/models/components/issuingdeclinereason.rb +35 -0
- data/lib/moov/models/components/{wiretransactionstatus.rbi → issuingdeclinereason.rbi} +2 -2
- data/lib/moov/models/components/oauth2clienttype.rb +23 -0
- data/lib/moov/models/components/{wirefailurecode.rbi → oauth2clienttype.rbi} +2 -2
- data/lib/moov/models/components/paymentmethodsbankaccount.rb +7 -2
- data/lib/moov/models/components/paymentmethodsbankaccount.rbi +2 -0
- data/lib/moov/models/components/paymentmethodtype.rb +0 -1
- data/lib/moov/models/components/product.rb +6 -2
- data/lib/moov/models/components/product.rbi +2 -0
- data/lib/moov/models/components/productrequest.rb +6 -2
- data/lib/moov/models/components/productrequest.rbi +2 -0
- data/lib/moov/models/components/riskverificationoutcome.rb +23 -0
- data/lib/moov/models/components/riskverificationoutcome.rbi +11 -0
- data/lib/moov/models/components/transfer.rb +2 -1
- data/lib/moov/models/components/transferauthorization.rb +9 -2
- data/lib/moov/models/components/transferauthorization.rbi +2 -0
- data/lib/moov/models/components/transferoptions.rb +3 -3
- data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +7 -2
- data/lib/moov/models/components/transferpaymentmethodsbankaccount.rbi +2 -0
- data/lib/moov/models/components/transferpaymentmethodtype.rb +0 -1
- data/lib/moov/models/components/transferprocessingdetails.rb +2 -6
- data/lib/moov/models/components/transferprocessingdetails.rbi +0 -2
- data/lib/moov/models/components/transferrailoptions.rb +2 -6
- data/lib/moov/models/components/transferrailoptions.rbi +0 -2
- data/lib/moov/models/components/transfertype.rb +0 -1
- data/lib/moov/models/components/wallettransactiontype.rb +0 -1
- data/lib/moov/models/components/webhookdatatransferstatus.rb +1 -0
- data/lib/moov/models/components.rb +4 -9
- data/lib/moov/models/errors/createinvoiceerror.rb +6 -2
- data/lib/moov/models/errors/createinvoiceerror.rbi +2 -0
- data/lib/moov/models/errors/transfer_error.rb +2 -1
- data/lib/moov/models/operations/downloadfile_request.rb +36 -0
- data/lib/moov/models/operations/downloadfile_request.rbi +15 -0
- data/lib/moov/models/operations/downloadfile_response.rb +64 -0
- data/lib/moov/models/operations/downloadfile_response.rbi +29 -0
- data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
- data/lib/moov/models/operations/listissuedcardactivity_request.rb +60 -0
- data/lib/moov/models/operations/listissuedcardactivity_request.rbi +27 -0
- data/lib/moov/models/operations/listissuedcardactivity_response.rb +48 -0
- data/lib/moov/models/operations/listissuedcardactivity_response.rbi +21 -0
- data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
- data/lib/moov/models/operations/listtransfers_request.rb +6 -2
- data/lib/moov/models/operations/listtransfers_request.rbi +2 -0
- data/lib/moov/models/operations.rb +4 -0
- data/lib/moov/payment_methods.rb +2 -2
- data/lib/moov/sdkconfiguration.rb +3 -3
- metadata +18 -20
- data/lib/moov/models/components/createtransferdestinationwire.rb +0 -32
- data/lib/moov/models/components/createtransferdestinationwire.rbi +0 -13
- data/lib/moov/models/components/wirecreditpaymentmethod.rb +0 -40
- data/lib/moov/models/components/wirecreditpaymentmethod.rbi +0 -17
- data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rb +0 -18
- data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rbi +0 -11
- data/lib/moov/models/components/wirecredittransferpaymentmethod.rb +0 -40
- data/lib/moov/models/components/wirecredittransferpaymentmethod.rbi +0 -17
- data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rb +0 -18
- data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rbi +0 -11
- data/lib/moov/models/components/wirefailurecode.rb +0 -28
- data/lib/moov/models/components/wireoptions.rb +0 -32
- data/lib/moov/models/components/wireoptions.rbi +0 -13
- data/lib/moov/models/components/wiretransactionstatus.rb +0 -23
- data/lib/moov/models/components/wiretransferprocessingdetails.rb +0 -40
- data/lib/moov/models/components/wiretransferprocessingdetails.rbi +0 -17
|
@@ -0,0 +1,78 @@
|
|
|
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
|
+
# An issued card activity record. Each record represents the use of an issued card.
|
|
11
|
+
#
|
|
12
|
+
# Exactly one of `authorizationID` or `cardTransactionID` is present:
|
|
13
|
+
# - Activity that has an authorization request includes `authorizationID`. `cardTransactionID` is omitted.
|
|
14
|
+
# - Activity that does not have a corresponding authorization request includes `cardTransactionID` and omits `authorizationID` and
|
|
15
|
+
# `authorizedAmount`.
|
|
16
|
+
class IssuedCardActivity
|
|
17
|
+
extend T::Sig
|
|
18
|
+
include Crystalline::MetadataFields
|
|
19
|
+
|
|
20
|
+
# Status of a card issuing authorization.
|
|
21
|
+
field :status, Models::Components::IssuingAuthorizationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingAuthorizationStatus, false) } }
|
|
22
|
+
|
|
23
|
+
field :issued_card_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuedCardID'), required: true } }
|
|
24
|
+
|
|
25
|
+
field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
26
|
+
|
|
27
|
+
field :merchant_data, Models::Components::IssuingMerchantData, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantData'), required: true } }
|
|
28
|
+
# Identifier for the authorization. Present for all activity except cleared card transactions without a corresponding authorization.
|
|
29
|
+
field :authorization_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizationID') } }
|
|
30
|
+
# Identifier for the settlement card transaction. Present for cleared card transactions without a corresponding authorization.
|
|
31
|
+
field :card_transaction_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardTransactionID') } }
|
|
32
|
+
# Last four digits of the card number.
|
|
33
|
+
field :last_four_card_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber') } }
|
|
34
|
+
# Identifier for the account of the card's authorized user.
|
|
35
|
+
field :authorized_user_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedUserAccountID') } }
|
|
36
|
+
# Amount authorized on the card. Omitted for cleared card transactions without a corresponding authorization.
|
|
37
|
+
field :authorized_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedAmount') } }
|
|
38
|
+
# Amount cleared or settled for the activity.
|
|
39
|
+
field :cleared_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('clearedAmount') } }
|
|
40
|
+
# The reason an authorization or authorization event was declined. Only present if the
|
|
41
|
+
# authorization or event has been declined.
|
|
42
|
+
field :decline_reason, Crystalline::Nilable.new(Models::Components::IssuingDeclineReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('declineReason'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingDeclineReason, true) } }
|
|
43
|
+
|
|
44
|
+
sig { params(status: Models::Components::IssuingAuthorizationStatus, issued_card_id: ::String, created_on: ::DateTime, merchant_data: Models::Components::IssuingMerchantData, authorization_id: T.nilable(::String), card_transaction_id: T.nilable(::String), last_four_card_number: T.nilable(::String), authorized_user_account_id: T.nilable(::String), authorized_amount: T.nilable(::String), cleared_amount: T.nilable(::String), decline_reason: T.nilable(Models::Components::IssuingDeclineReason)).void }
|
|
45
|
+
def initialize(status:, issued_card_id:, created_on:, merchant_data:, authorization_id: nil, card_transaction_id: nil, last_four_card_number: nil, authorized_user_account_id: nil, authorized_amount: nil, cleared_amount: nil, decline_reason: nil)
|
|
46
|
+
@status = status
|
|
47
|
+
@issued_card_id = issued_card_id
|
|
48
|
+
@created_on = created_on
|
|
49
|
+
@merchant_data = merchant_data
|
|
50
|
+
@authorization_id = authorization_id
|
|
51
|
+
@card_transaction_id = card_transaction_id
|
|
52
|
+
@last_four_card_number = last_four_card_number
|
|
53
|
+
@authorized_user_account_id = authorized_user_account_id
|
|
54
|
+
@authorized_amount = authorized_amount
|
|
55
|
+
@cleared_amount = cleared_amount
|
|
56
|
+
@decline_reason = decline_reason
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
60
|
+
def ==(other)
|
|
61
|
+
return false unless other.is_a? self.class
|
|
62
|
+
return false unless @status == other.status
|
|
63
|
+
return false unless @issued_card_id == other.issued_card_id
|
|
64
|
+
return false unless @created_on == other.created_on
|
|
65
|
+
return false unless @merchant_data == other.merchant_data
|
|
66
|
+
return false unless @authorization_id == other.authorization_id
|
|
67
|
+
return false unless @card_transaction_id == other.card_transaction_id
|
|
68
|
+
return false unless @last_four_card_number == other.last_four_card_number
|
|
69
|
+
return false unless @authorized_user_account_id == other.authorized_user_account_id
|
|
70
|
+
return false unless @authorized_amount == other.authorized_amount
|
|
71
|
+
return false unless @cleared_amount == other.cleared_amount
|
|
72
|
+
return false unless @decline_reason == other.decline_reason
|
|
73
|
+
true
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::IssuedCardActivity
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::IssuedCardActivity
|
|
11
|
+
def status(); end
|
|
12
|
+
def status=(str_); end
|
|
13
|
+
def issued_card_id(); end
|
|
14
|
+
def issued_card_id=(str_); end
|
|
15
|
+
def created_on(); end
|
|
16
|
+
def created_on=(str_); end
|
|
17
|
+
def merchant_data(); end
|
|
18
|
+
def merchant_data=(str_); end
|
|
19
|
+
def authorization_id(); end
|
|
20
|
+
def authorization_id=(str_); end
|
|
21
|
+
def card_transaction_id(); end
|
|
22
|
+
def card_transaction_id=(str_); end
|
|
23
|
+
def last_four_card_number(); end
|
|
24
|
+
def last_four_card_number=(str_); end
|
|
25
|
+
def authorized_user_account_id(); end
|
|
26
|
+
def authorized_user_account_id=(str_); end
|
|
27
|
+
def authorized_amount(); end
|
|
28
|
+
def authorized_amount=(str_); end
|
|
29
|
+
def cleared_amount(); end
|
|
30
|
+
def cleared_amount=(str_); end
|
|
31
|
+
def decline_reason(); end
|
|
32
|
+
def decline_reason=(str_); end
|
|
33
|
+
end
|
|
@@ -32,9 +32,12 @@ module Moov
|
|
|
32
32
|
field :last_four_card_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber') } }
|
|
33
33
|
# List of card transaction IDs associated with this authorization.
|
|
34
34
|
field :card_transactions, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardTransactions') } }
|
|
35
|
+
# The reason an authorization or authorization event was declined. Only present if the
|
|
36
|
+
# authorization or event has been declined.
|
|
37
|
+
field :decline_reason, Crystalline::Nilable.new(Models::Components::IssuingDeclineReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('declineReason'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingDeclineReason, true) } }
|
|
35
38
|
|
|
36
|
-
sig { params(authorization_id: ::String, issued_card_id: ::String, funding_wallet_id: ::String, network: Models::Components::CardIssuingNetwork, authorized_amount: ::String, status: Models::Components::IssuingAuthorizationStatus, merchant_data: Models::Components::IssuingMerchantData, created_on: ::DateTime, last_four_card_number: T.nilable(::String), card_transactions: T.nilable(T::Array[::String])).void }
|
|
37
|
-
def initialize(authorization_id:, issued_card_id:, funding_wallet_id:, network:, authorized_amount:, status:, merchant_data:, created_on:, last_four_card_number: nil, card_transactions: nil)
|
|
39
|
+
sig { params(authorization_id: ::String, issued_card_id: ::String, funding_wallet_id: ::String, network: Models::Components::CardIssuingNetwork, authorized_amount: ::String, status: Models::Components::IssuingAuthorizationStatus, merchant_data: Models::Components::IssuingMerchantData, created_on: ::DateTime, last_four_card_number: T.nilable(::String), card_transactions: T.nilable(T::Array[::String]), decline_reason: T.nilable(Models::Components::IssuingDeclineReason)).void }
|
|
40
|
+
def initialize(authorization_id:, issued_card_id:, funding_wallet_id:, network:, authorized_amount:, status:, merchant_data:, created_on:, last_four_card_number: nil, card_transactions: nil, decline_reason: nil)
|
|
38
41
|
@authorization_id = authorization_id
|
|
39
42
|
@issued_card_id = issued_card_id
|
|
40
43
|
@funding_wallet_id = funding_wallet_id
|
|
@@ -45,6 +48,7 @@ module Moov
|
|
|
45
48
|
@created_on = created_on
|
|
46
49
|
@last_four_card_number = last_four_card_number
|
|
47
50
|
@card_transactions = card_transactions
|
|
51
|
+
@decline_reason = decline_reason
|
|
48
52
|
end
|
|
49
53
|
|
|
50
54
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -60,6 +64,7 @@ module Moov
|
|
|
60
64
|
return false unless @created_on == other.created_on
|
|
61
65
|
return false unless @last_four_card_number == other.last_four_card_number
|
|
62
66
|
return false unless @card_transactions == other.card_transactions
|
|
67
|
+
return false unless @decline_reason == other.decline_reason
|
|
63
68
|
true
|
|
64
69
|
end
|
|
65
70
|
end
|
|
@@ -22,14 +22,18 @@ module Moov
|
|
|
22
22
|
field :result, Models::Components::IssuedCardAuthorizationEventResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('result'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuedCardAuthorizationEventResult, false) } }
|
|
23
23
|
|
|
24
24
|
field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
25
|
+
# The reason an authorization or authorization event was declined. Only present if the
|
|
26
|
+
# authorization or event has been declined.
|
|
27
|
+
field :decline_reason, Crystalline::Nilable.new(Models::Components::IssuingDeclineReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('declineReason'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingDeclineReason, true) } }
|
|
25
28
|
|
|
26
|
-
sig { params(event_id: ::String, event_type: Models::Components::IssuedCardEventType, amount: ::String, result: Models::Components::IssuedCardAuthorizationEventResult, created_on: ::DateTime).void }
|
|
27
|
-
def initialize(event_id:, event_type:, amount:, result:, created_on:)
|
|
29
|
+
sig { params(event_id: ::String, event_type: Models::Components::IssuedCardEventType, amount: ::String, result: Models::Components::IssuedCardAuthorizationEventResult, created_on: ::DateTime, decline_reason: T.nilable(Models::Components::IssuingDeclineReason)).void }
|
|
30
|
+
def initialize(event_id:, event_type:, amount:, result:, created_on:, decline_reason: nil)
|
|
28
31
|
@event_id = event_id
|
|
29
32
|
@event_type = event_type
|
|
30
33
|
@amount = amount
|
|
31
34
|
@result = result
|
|
32
35
|
@created_on = created_on
|
|
36
|
+
@decline_reason = decline_reason
|
|
33
37
|
end
|
|
34
38
|
|
|
35
39
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -40,6 +44,7 @@ module Moov
|
|
|
40
44
|
return false unless @amount == other.amount
|
|
41
45
|
return false unless @result == other.result
|
|
42
46
|
return false unless @created_on == other.created_on
|
|
47
|
+
return false unless @decline_reason == other.decline_reason
|
|
43
48
|
true
|
|
44
49
|
end
|
|
45
50
|
end
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
# IssuingDeclineReason - The reason an authorization or authorization event was declined. Only present if the
|
|
11
|
+
# authorization or event has been declined.
|
|
12
|
+
class IssuingDeclineReason
|
|
13
|
+
include ::Crystalline::Enum
|
|
14
|
+
enums do
|
|
15
|
+
INSUFFICIENT_FUNDS = new('insufficient-funds')
|
|
16
|
+
CARD_NOT_ACTIVE = new('card-not-active')
|
|
17
|
+
CARD_EXPIRATION = new('card-expiration')
|
|
18
|
+
SPEND_CUTOFF_REACHED = new('spend-cutoff-reached')
|
|
19
|
+
OUTSIDE_ALLOWED_SCHEDULE = new('outside-allowed-schedule')
|
|
20
|
+
SPEND_LIMIT_EXCEEDED = new('spend-limit-exceeded')
|
|
21
|
+
MERCHANT_CATEGORY_NOT_SUPPORTED = new('merchant-category-not-supported')
|
|
22
|
+
MERCHANT_CATEGORY_RESTRICTED = new('merchant-category-restricted')
|
|
23
|
+
MERCHANT_RESTRICTED = new('merchant-restricted')
|
|
24
|
+
MERCHANT_COUNTRY_NOT_SUPPORTED = new('merchant-country-not-supported')
|
|
25
|
+
UNSUPPORTED_TRANSACTION = new('unsupported-transaction')
|
|
26
|
+
NETWORK_STAND_IN = new('network-stand-in')
|
|
27
|
+
DECLINED_BY_ISSUER = new('declined-by-issuer')
|
|
28
|
+
INVALID_REQUEST = new('invalid-request')
|
|
29
|
+
SYSTEM_ERROR = new('system-error')
|
|
30
|
+
end
|
|
31
|
+
open!
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
class Moov::Models::Components::
|
|
5
|
+
class Moov::Models::Components::IssuingDeclineReason
|
|
6
6
|
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
class Moov::Models::Components::
|
|
10
|
+
class Moov::Models::Components::IssuingDeclineReason
|
|
11
11
|
end
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
# OAuth2ClientType - The type of client requesting an OAuth2 token. Short codes are accepted as aliases for the corresponding client types.
|
|
11
|
+
class OAuth2ClientType < T::Enum
|
|
12
|
+
enums do
|
|
13
|
+
WEB = new('web')
|
|
14
|
+
DEVICE = new('device')
|
|
15
|
+
SERVICE = new('service')
|
|
16
|
+
W = new('w')
|
|
17
|
+
D = new('d')
|
|
18
|
+
S = new('s')
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
class Moov::Models::Components::
|
|
5
|
+
class Moov::Models::Components::OAuth2ClientType
|
|
6
6
|
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
class Moov::Models::Components::
|
|
10
|
+
class Moov::Models::Components::OAuth2ClientType
|
|
11
11
|
end
|
|
@@ -34,9 +34,12 @@ module Moov
|
|
|
34
34
|
field :last_four_account_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourAccountNumber'), required: true } }
|
|
35
35
|
|
|
36
36
|
field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
37
|
+
# The outcome of a requested risk-verification attempt. `notAttempted` when
|
|
38
|
+
# `requestRiskVerification` was not set, or the calling account was not allowlisted.
|
|
39
|
+
field :risk_verification_outcome, Crystalline::Nilable.new(Models::Components::RiskVerificationOutcome), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('riskVerificationOutcome'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RiskVerificationOutcome, true) } }
|
|
37
40
|
|
|
38
|
-
sig { params(bank_account_id: ::String, fingerprint: ::String, status: Models::Components::BankAccountStatus, holder_name: ::String, holder_type: Models::Components::BankAccountHolderType, bank_name: ::String, bank_account_type: Models::Components::BankAccountType, routing_number: ::String, last_four_account_number: ::String, updated_on: ::DateTime).void }
|
|
39
|
-
def initialize(bank_account_id:, fingerprint:, status:, holder_name:, holder_type:, bank_name:, bank_account_type:, routing_number:, last_four_account_number:, updated_on:)
|
|
41
|
+
sig { params(bank_account_id: ::String, fingerprint: ::String, status: Models::Components::BankAccountStatus, holder_name: ::String, holder_type: Models::Components::BankAccountHolderType, bank_name: ::String, bank_account_type: Models::Components::BankAccountType, routing_number: ::String, last_four_account_number: ::String, updated_on: ::DateTime, risk_verification_outcome: T.nilable(Models::Components::RiskVerificationOutcome)).void }
|
|
42
|
+
def initialize(bank_account_id:, fingerprint:, status:, holder_name:, holder_type:, bank_name:, bank_account_type:, routing_number:, last_four_account_number:, updated_on:, risk_verification_outcome: nil)
|
|
40
43
|
@bank_account_id = bank_account_id
|
|
41
44
|
@fingerprint = fingerprint
|
|
42
45
|
@status = status
|
|
@@ -47,6 +50,7 @@ module Moov
|
|
|
47
50
|
@routing_number = routing_number
|
|
48
51
|
@last_four_account_number = last_four_account_number
|
|
49
52
|
@updated_on = updated_on
|
|
53
|
+
@risk_verification_outcome = risk_verification_outcome
|
|
50
54
|
end
|
|
51
55
|
|
|
52
56
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -62,6 +66,7 @@ module Moov
|
|
|
62
66
|
return false unless @routing_number == other.routing_number
|
|
63
67
|
return false unless @last_four_account_number == other.last_four_account_number
|
|
64
68
|
return false unless @updated_on == other.updated_on
|
|
69
|
+
return false unless @risk_verification_outcome == other.risk_verification_outcome
|
|
65
70
|
true
|
|
66
71
|
end
|
|
67
72
|
end
|
|
@@ -18,6 +18,8 @@ module Moov
|
|
|
18
18
|
field :title, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('title'), required: true } }
|
|
19
19
|
# A product's starting price, before applying modifiers.
|
|
20
20
|
field :base_price, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('basePrice'), required: true } }
|
|
21
|
+
# Whether applicable tax rules may be applied to this product. The value can be used to determine how to populate the tax amount on a transfer (Moov does not compute or assess tax). true means a tax amount can be included; false means it should not. Omitted values default to true on creation and preserve the existing setting on update. This setting does not determine jurisdiction-specific taxability.
|
|
22
|
+
field :is_taxable, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('isTaxable'), required: true } }
|
|
21
23
|
# The date and time when the product was added.
|
|
22
24
|
field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
23
25
|
# The date and time when the product was last updated.
|
|
@@ -37,11 +39,12 @@ module Moov
|
|
|
37
39
|
# The date and time when the product was disabled.
|
|
38
40
|
field :disabled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disabledOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
39
41
|
|
|
40
|
-
sig { params(product_id: ::String, title: ::String, base_price: Models::Components::AmountDecimal, created_on: ::DateTime, updated_on: ::DateTime, description: T.nilable(::String), option_groups: T.nilable(T::Array[Models::Components::ProductOptionGroup]), images: T.nilable(T::Array[Models::Components::ProductImageMetadata]), category: T.nilable(Models::Components::ProductCategory), disabled_on: T.nilable(::DateTime)).void }
|
|
41
|
-
def initialize(product_id:, title:, base_price:, created_on:, updated_on:, description: nil, option_groups: nil, images: nil, category: nil, disabled_on: nil)
|
|
42
|
+
sig { params(product_id: ::String, title: ::String, base_price: Models::Components::AmountDecimal, is_taxable: T::Boolean, created_on: ::DateTime, updated_on: ::DateTime, description: T.nilable(::String), option_groups: T.nilable(T::Array[Models::Components::ProductOptionGroup]), images: T.nilable(T::Array[Models::Components::ProductImageMetadata]), category: T.nilable(Models::Components::ProductCategory), disabled_on: T.nilable(::DateTime)).void }
|
|
43
|
+
def initialize(product_id:, title:, base_price:, is_taxable:, created_on:, updated_on:, description: nil, option_groups: nil, images: nil, category: nil, disabled_on: nil)
|
|
42
44
|
@product_id = product_id
|
|
43
45
|
@title = title
|
|
44
46
|
@base_price = base_price
|
|
47
|
+
@is_taxable = is_taxable
|
|
45
48
|
@created_on = created_on
|
|
46
49
|
@updated_on = updated_on
|
|
47
50
|
@description = description
|
|
@@ -57,6 +60,7 @@ module Moov
|
|
|
57
60
|
return false unless @product_id == other.product_id
|
|
58
61
|
return false unless @title == other.title
|
|
59
62
|
return false unless @base_price == other.base_price
|
|
63
|
+
return false unless @is_taxable == other.is_taxable
|
|
60
64
|
return false unless @created_on == other.created_on
|
|
61
65
|
return false unless @updated_on == other.updated_on
|
|
62
66
|
return false unless @description == other.description
|
|
@@ -22,6 +22,8 @@ module Moov
|
|
|
22
22
|
# - Supports Markdown for formatting
|
|
23
23
|
# - HTML is not permitted and will be rejected
|
|
24
24
|
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
|
|
25
|
+
# Whether applicable tax rules may be applied to this product. The value can be used to determine how to populate the tax amount on a transfer (Moov does not compute or assess tax). true means a tax amount can be included; false means it should not. Omitted values default to true on creation and preserve the existing setting on update. This setting does not determine jurisdiction-specific taxability.
|
|
26
|
+
field :is_taxable, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('isTaxable') } }
|
|
25
27
|
# Assign previously uploaded images to a product or option.
|
|
26
28
|
field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AssignProductImage)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
|
|
27
29
|
# Optional configuration options for a product, such as size or color.
|
|
@@ -29,11 +31,12 @@ module Moov
|
|
|
29
31
|
# The ID of a product taxonomy category to associate with the product.
|
|
30
32
|
field :category_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('categoryID') } }
|
|
31
33
|
|
|
32
|
-
sig { params(title: ::String, base_price: Models::Components::AmountDecimal, description: T.nilable(::String), images: T.nilable(T::Array[Models::Components::AssignProductImage]), option_groups: T.nilable(T::Array[Models::Components::CreateProductOptionGroup]), category_id: T.nilable(::String)).void }
|
|
33
|
-
def initialize(title:, base_price:, description: nil, images: nil, option_groups: nil, category_id: nil)
|
|
34
|
+
sig { params(title: ::String, base_price: Models::Components::AmountDecimal, description: T.nilable(::String), is_taxable: T.nilable(T::Boolean), images: T.nilable(T::Array[Models::Components::AssignProductImage]), option_groups: T.nilable(T::Array[Models::Components::CreateProductOptionGroup]), category_id: T.nilable(::String)).void }
|
|
35
|
+
def initialize(title:, base_price:, description: nil, is_taxable: nil, images: nil, option_groups: nil, category_id: nil)
|
|
34
36
|
@title = title
|
|
35
37
|
@base_price = base_price
|
|
36
38
|
@description = description
|
|
39
|
+
@is_taxable = is_taxable
|
|
37
40
|
@images = images
|
|
38
41
|
@option_groups = option_groups
|
|
39
42
|
@category_id = category_id
|
|
@@ -45,6 +48,7 @@ module Moov
|
|
|
45
48
|
return false unless @title == other.title
|
|
46
49
|
return false unless @base_price == other.base_price
|
|
47
50
|
return false unless @description == other.description
|
|
51
|
+
return false unless @is_taxable == other.is_taxable
|
|
48
52
|
return false unless @images == other.images
|
|
49
53
|
return false unless @option_groups == other.option_groups
|
|
50
54
|
return false unless @category_id == other.category_id
|
|
@@ -14,6 +14,8 @@ class Moov::Models::Components::ProductRequest
|
|
|
14
14
|
def base_price=(str_); end
|
|
15
15
|
def description(); end
|
|
16
16
|
def description=(str_); end
|
|
17
|
+
def is_taxable(); end
|
|
18
|
+
def is_taxable=(str_); end
|
|
17
19
|
def images(); end
|
|
18
20
|
def images=(str_); end
|
|
19
21
|
def option_groups(); end
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
# RiskVerificationOutcome - The outcome of a bank account risk-verification attempt.
|
|
11
|
+
class RiskVerificationOutcome
|
|
12
|
+
include ::Crystalline::Enum
|
|
13
|
+
enums do
|
|
14
|
+
NOT_ATTEMPTED = new('notAttempted')
|
|
15
|
+
SUCCESS = new('success')
|
|
16
|
+
INCONCLUSIVE = new('inconclusive')
|
|
17
|
+
DECLINE = new('decline')
|
|
18
|
+
end
|
|
19
|
+
open!
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -70,7 +70,8 @@ module Moov
|
|
|
70
70
|
field :line_items, Crystalline::Nilable.new(Models::Components::TransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
|
|
71
71
|
# ID of the invoice that the transfer is associated with.
|
|
72
72
|
field :invoice_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoiceID') } }
|
|
73
|
-
|
|
73
|
+
# The tip, tax, and surcharge portion of the transfer amount.
|
|
74
|
+
# For an auth-capture `card-payment` transfer, this is the aggregate of all captures' `amountDetails`.
|
|
74
75
|
field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
75
76
|
# Authorization amounts.
|
|
76
77
|
# This field is present only for an auth-capture `card-payment` transfer.
|
|
@@ -22,16 +22,22 @@ module Moov
|
|
|
22
22
|
field :captured_amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capturedAmount'), required: true } }
|
|
23
23
|
# Amount of the authorization still available after captures and authorization cancellations.
|
|
24
24
|
field :capturable_amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capturableAmount'), required: true } }
|
|
25
|
+
# The tip, tax, and surcharge authorized by the card network.
|
|
26
|
+
#
|
|
27
|
+
# These describe the authorized amount and are fixed.
|
|
28
|
+
# They can differ from the transfer's `amountDetails`, which is the aggregate of all captures' `amountDetails`.
|
|
29
|
+
field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
25
30
|
# Expiration time for the approved authorization, when available.
|
|
26
31
|
field :expires_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiresOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
27
32
|
|
|
28
|
-
sig { params(authorization_id: ::String, requested_amount: Models::Components::AmountDecimal, authorized_amount: Models::Components::AmountDecimal, captured_amount: Models::Components::AmountDecimal, capturable_amount: Models::Components::AmountDecimal, expires_on: T.nilable(::DateTime)).void }
|
|
29
|
-
def initialize(authorization_id:, requested_amount:, authorized_amount:, captured_amount:, capturable_amount:, expires_on: nil)
|
|
33
|
+
sig { params(authorization_id: ::String, requested_amount: Models::Components::AmountDecimal, authorized_amount: Models::Components::AmountDecimal, captured_amount: Models::Components::AmountDecimal, capturable_amount: Models::Components::AmountDecimal, amount_details: T.nilable(Models::Components::TransferAmountDetails), expires_on: T.nilable(::DateTime)).void }
|
|
34
|
+
def initialize(authorization_id:, requested_amount:, authorized_amount:, captured_amount:, capturable_amount:, amount_details: nil, expires_on: nil)
|
|
30
35
|
@authorization_id = authorization_id
|
|
31
36
|
@requested_amount = requested_amount
|
|
32
37
|
@authorized_amount = authorized_amount
|
|
33
38
|
@captured_amount = captured_amount
|
|
34
39
|
@capturable_amount = capturable_amount
|
|
40
|
+
@amount_details = amount_details
|
|
35
41
|
@expires_on = expires_on
|
|
36
42
|
end
|
|
37
43
|
|
|
@@ -43,6 +49,7 @@ module Moov
|
|
|
43
49
|
return false unless @authorized_amount == other.authorized_amount
|
|
44
50
|
return false unless @captured_amount == other.captured_amount
|
|
45
51
|
return false unless @capturable_amount == other.capturable_amount
|
|
52
|
+
return false unless @amount_details == other.amount_details
|
|
46
53
|
return false unless @expires_on == other.expires_on
|
|
47
54
|
true
|
|
48
55
|
end
|
|
@@ -18,6 +18,8 @@ class Moov::Models::Components::TransferAuthorization
|
|
|
18
18
|
def captured_amount=(str_); end
|
|
19
19
|
def capturable_amount(); end
|
|
20
20
|
def capturable_amount=(str_); end
|
|
21
|
+
def amount_details(); end
|
|
22
|
+
def amount_details=(str_); end
|
|
21
23
|
def expires_on(); end
|
|
22
24
|
def expires_on=(str_); end
|
|
23
25
|
end
|
|
@@ -13,11 +13,11 @@ module Moov
|
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
field :source_options, Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Union.new(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod
|
|
16
|
+
field :source_options, Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Union.new(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod))), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceOptions') } }
|
|
17
17
|
|
|
18
|
-
field :destination_options, Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Union.new(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod
|
|
18
|
+
field :destination_options, Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Union.new(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod))), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destinationOptions') } }
|
|
19
19
|
|
|
20
|
-
sig { params(source_options: T.nilable(T::Array[T.any(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod
|
|
20
|
+
sig { params(source_options: T.nilable(T::Array[T.any(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod)]), destination_options: T.nilable(T::Array[T.any(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod)])).void }
|
|
21
21
|
def initialize(source_options: nil, destination_options: nil)
|
|
22
22
|
@source_options = source_options
|
|
23
23
|
@destination_options = destination_options
|
|
@@ -34,9 +34,12 @@ module Moov
|
|
|
34
34
|
field :last_four_account_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourAccountNumber'), required: true } }
|
|
35
35
|
|
|
36
36
|
field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
37
|
+
# The outcome of a requested risk-verification attempt. `notAttempted` when
|
|
38
|
+
# `requestRiskVerification` was not set, or the calling account was not allowlisted.
|
|
39
|
+
field :risk_verification_outcome, Crystalline::Nilable.new(Models::Components::RiskVerificationOutcome), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('riskVerificationOutcome'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RiskVerificationOutcome, true) } }
|
|
37
40
|
|
|
38
|
-
sig { params(bank_account_id: ::String, fingerprint: ::String, status: Models::Components::BankAccountStatus, holder_name: ::String, holder_type: Models::Components::BankAccountHolderType, bank_name: ::String, bank_account_type: Models::Components::BankAccountType, routing_number: ::String, last_four_account_number: ::String, updated_on: ::DateTime).void }
|
|
39
|
-
def initialize(bank_account_id:, fingerprint:, status:, holder_name:, holder_type:, bank_name:, bank_account_type:, routing_number:, last_four_account_number:, updated_on:)
|
|
41
|
+
sig { params(bank_account_id: ::String, fingerprint: ::String, status: Models::Components::BankAccountStatus, holder_name: ::String, holder_type: Models::Components::BankAccountHolderType, bank_name: ::String, bank_account_type: Models::Components::BankAccountType, routing_number: ::String, last_four_account_number: ::String, updated_on: ::DateTime, risk_verification_outcome: T.nilable(Models::Components::RiskVerificationOutcome)).void }
|
|
42
|
+
def initialize(bank_account_id:, fingerprint:, status:, holder_name:, holder_type:, bank_name:, bank_account_type:, routing_number:, last_four_account_number:, updated_on:, risk_verification_outcome: nil)
|
|
40
43
|
@bank_account_id = bank_account_id
|
|
41
44
|
@fingerprint = fingerprint
|
|
42
45
|
@status = status
|
|
@@ -47,6 +50,7 @@ module Moov
|
|
|
47
50
|
@routing_number = routing_number
|
|
48
51
|
@last_four_account_number = last_four_account_number
|
|
49
52
|
@updated_on = updated_on
|
|
53
|
+
@risk_verification_outcome = risk_verification_outcome
|
|
50
54
|
end
|
|
51
55
|
|
|
52
56
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -62,6 +66,7 @@ module Moov
|
|
|
62
66
|
return false unless @routing_number == other.routing_number
|
|
63
67
|
return false unless @last_four_account_number == other.last_four_account_number
|
|
64
68
|
return false unless @updated_on == other.updated_on
|
|
69
|
+
return false unless @risk_verification_outcome == other.risk_verification_outcome
|
|
65
70
|
true
|
|
66
71
|
end
|
|
67
72
|
end
|
|
@@ -24,18 +24,15 @@ module Moov
|
|
|
24
24
|
field :ach_credit, Crystalline::Nilable.new(Models::Components::ACHCreditTransferProcessingDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achCredit') } }
|
|
25
25
|
|
|
26
26
|
field :instant_bank_credit, Crystalline::Nilable.new(Models::Components::InstantBankCreditTransferProcessingDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('instantBankCredit') } }
|
|
27
|
-
# Wire-specific processing details returned on a transfer.
|
|
28
|
-
field :wire, Crystalline::Nilable.new(Models::Components::WireTransferProcessingDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('wire') } }
|
|
29
27
|
|
|
30
|
-
sig { params(card_payment: T.nilable(Models::Components::CardPaymentTransferProcessingDetails), push_to_card: T.nilable(Models::Components::PushToCardTransferProcessingDetails), pull_from_card: T.nilable(Models::Components::PullFromCardTransferProcessingDetails), ach_debit: T.nilable(Models::Components::ACHDebitTransferProcessingDetails), ach_credit: T.nilable(Models::Components::ACHCreditTransferProcessingDetails), instant_bank_credit: T.nilable(Models::Components::InstantBankCreditTransferProcessingDetails)
|
|
31
|
-
def initialize(card_payment: nil, push_to_card: nil, pull_from_card: nil, ach_debit: nil, ach_credit: nil, instant_bank_credit: nil
|
|
28
|
+
sig { params(card_payment: T.nilable(Models::Components::CardPaymentTransferProcessingDetails), push_to_card: T.nilable(Models::Components::PushToCardTransferProcessingDetails), pull_from_card: T.nilable(Models::Components::PullFromCardTransferProcessingDetails), ach_debit: T.nilable(Models::Components::ACHDebitTransferProcessingDetails), ach_credit: T.nilable(Models::Components::ACHCreditTransferProcessingDetails), instant_bank_credit: T.nilable(Models::Components::InstantBankCreditTransferProcessingDetails)).void }
|
|
29
|
+
def initialize(card_payment: nil, push_to_card: nil, pull_from_card: nil, ach_debit: nil, ach_credit: nil, instant_bank_credit: nil)
|
|
32
30
|
@card_payment = card_payment
|
|
33
31
|
@push_to_card = push_to_card
|
|
34
32
|
@pull_from_card = pull_from_card
|
|
35
33
|
@ach_debit = ach_debit
|
|
36
34
|
@ach_credit = ach_credit
|
|
37
35
|
@instant_bank_credit = instant_bank_credit
|
|
38
|
-
@wire = wire
|
|
39
36
|
end
|
|
40
37
|
|
|
41
38
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -47,7 +44,6 @@ module Moov
|
|
|
47
44
|
return false unless @ach_debit == other.ach_debit
|
|
48
45
|
return false unless @ach_credit == other.ach_credit
|
|
49
46
|
return false unless @instant_bank_credit == other.instant_bank_credit
|
|
50
|
-
return false unless @wire == other.wire
|
|
51
47
|
true
|
|
52
48
|
end
|
|
53
49
|
end
|