moov_ruby 0.0.0.pre.dev.30 → 0.0.0.pre.dev.31
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/card_issuing.rb +538 -0
- 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/authorizationsimulationasyncresponse.rb +32 -0
- data/lib/moov/models/components/authorizationsimulationasyncresponse.rbi +13 -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/createauthorizationsimulation.rb +40 -0
- data/lib/moov/models/components/createauthorizationsimulation.rbi +17 -0
- data/lib/moov/models/components/createclearingsimulation.rb +32 -0
- data/lib/moov/models/components/createclearingsimulation.rbi +13 -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/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/issuingmerchantdatavalidationerror.rb +56 -0
- data/lib/moov/models/components/issuingmerchantdatavalidationerror.rbi +25 -0
- data/lib/moov/models/components/paymentmethodsbankaccount.rb +7 -2
- data/lib/moov/models/components/paymentmethodsbankaccount.rbi +2 -0
- data/lib/moov/models/components/product.rb +1 -1
- data/lib/moov/models/components/productrequest.rb +1 -1
- 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/transferevent.rb +48 -0
- data/lib/moov/models/components/transferevent.rbi +21 -0
- data/lib/moov/models/components/transfereventachdetails.rb +40 -0
- data/lib/moov/models/components/transfereventachdetails.rbi +17 -0
- data/lib/moov/models/components/transfereventauthorizationdetails.rb +40 -0
- data/lib/moov/models/components/transfereventauthorizationdetails.rbi +17 -0
- data/lib/moov/models/components/transfereventauthorizationstatus.rb +22 -0
- data/lib/moov/models/components/transfereventauthorizationstatus.rbi +11 -0
- data/lib/moov/models/components/transfereventcancellationdetails.rb +36 -0
- data/lib/moov/models/components/transfereventcancellationdetails.rbi +15 -0
- data/lib/moov/models/components/transfereventcapturedetails.rb +40 -0
- data/lib/moov/models/components/transfereventcapturedetails.rbi +17 -0
- data/lib/moov/models/components/transfereventcardpaymentdetails.rb +36 -0
- data/lib/moov/models/components/transfereventcardpaymentdetails.rbi +15 -0
- data/lib/moov/models/components/transfereventdetails.rb +88 -0
- data/lib/moov/models/components/transfereventdetails.rbi +41 -0
- data/lib/moov/models/components/transfereventdisputedetails.rb +46 -0
- data/lib/moov/models/components/transfereventdisputedetails.rbi +19 -0
- data/lib/moov/models/components/transfereventinstantbankcreditdetails.rb +36 -0
- data/lib/moov/models/components/transfereventinstantbankcreditdetails.rbi +15 -0
- data/lib/moov/models/components/transfereventpullfromcarddetails.rb +36 -0
- data/lib/moov/models/components/transfereventpullfromcarddetails.rbi +15 -0
- data/lib/moov/models/components/transfereventpushtocarddetails.rb +36 -0
- data/lib/moov/models/components/transfereventpushtocarddetails.rbi +15 -0
- data/lib/moov/models/components/transfereventrefunddetails.rb +44 -0
- data/lib/moov/models/components/transfereventrefunddetails.rbi +19 -0
- data/lib/moov/models/components/transfereventtransferdetails.rb +32 -0
- data/lib/moov/models/components/transfereventtransferdetails.rbi +13 -0
- data/lib/moov/models/components/transfereventtype.rb +34 -0
- data/lib/moov/models/components/transfereventtype.rbi +11 -0
- data/lib/moov/models/components/transfereventwallettransactiondetails.rb +48 -0
- data/lib/moov/models/components/transfereventwallettransactiondetails.rbi +21 -0
- data/lib/moov/models/components/transfereventwirecreditdetails.rb +36 -0
- data/lib/moov/models/components/transfereventwirecreditdetails.rbi +15 -0
- data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +7 -2
- data/lib/moov/models/components/transferpaymentmethodsbankaccount.rbi +2 -0
- data/lib/moov/models/components/webhookdatatransferstatus.rb +1 -0
- data/lib/moov/models/components.rb +23 -0
- data/lib/moov/models/errors/authorizationsimulationvalidationerror.rb +44 -0
- data/lib/moov/models/errors/authorizationsimulationvalidationerror.rbi +19 -0
- data/lib/moov/models/errors/clearingsimulationvalidationerror.rb +36 -0
- data/lib/moov/models/errors/clearingsimulationvalidationerror.rbi +15 -0
- 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/errors.rb +2 -0
- data/lib/moov/models/operations/createauthorizationsimulation_request.rb +36 -0
- data/lib/moov/models/operations/createauthorizationsimulation_request.rbi +15 -0
- data/lib/moov/models/operations/createauthorizationsimulation_response.rb +52 -0
- data/lib/moov/models/operations/createauthorizationsimulation_response.rbi +23 -0
- data/lib/moov/models/operations/createclearingsimulation_request.rb +40 -0
- data/lib/moov/models/operations/createclearingsimulation_request.rbi +17 -0
- data/lib/moov/models/operations/createclearingsimulation_response.rb +52 -0
- data/lib/moov/models/operations/createclearingsimulation_response.rbi +23 -0
- data/lib/moov/models/operations/createreversalsimulation_request.rb +36 -0
- data/lib/moov/models/operations/createreversalsimulation_request.rbi +15 -0
- data/lib/moov/models/operations/createreversalsimulation_response.rb +52 -0
- data/lib/moov/models/operations/createreversalsimulation_response.rbi +23 -0
- 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/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/listtransferevents_request.rb +36 -0
- data/lib/moov/models/operations/listtransferevents_request.rbi +15 -0
- data/lib/moov/models/operations/listtransferevents_response.rb +48 -0
- data/lib/moov/models/operations/listtransferevents_response.rbi +21 -0
- 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 +12 -0
- data/lib/moov/sdkconfiguration.rb +3 -3
- data/lib/moov/transfers.rb +125 -0
- metadata +76 -2
|
@@ -28,13 +28,15 @@ module Moov
|
|
|
28
28
|
field :generated_by, Crystalline::Nilable.new(Models::Components::GeneratedBy), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('generatedBy') } }
|
|
29
29
|
# Describes the source of the fee, such as a Moov-set processing fee, a network pass-through fee, or an interchange or discount fee.
|
|
30
30
|
field :fee_group, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feeGroup') } }
|
|
31
|
+
# The program assigned by the card network that determines the interchange rate for the fee. Present only for interchange or discount fees.
|
|
32
|
+
field :fee_program, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feeProgram') } }
|
|
31
33
|
# Unique identifier for this residual payment calculation.
|
|
32
34
|
field :residual_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('residualID') } }
|
|
33
35
|
# Indicates which party to the money movement bore this fee.
|
|
34
36
|
field :fee_paid_by, Crystalline::Nilable.new(Models::Components::FeePaidBy), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::FeePaidBy, true) } }
|
|
35
37
|
|
|
36
|
-
sig { params(fee_id: T.nilable(::String), account_id: T.nilable(::String), wallet_id: T.nilable(::String), created_on: T.nilable(::DateTime), fee_name: T.nilable(::String), amount: T.nilable(Models::Components::AmountDecimal), generated_by: T.nilable(Models::Components::GeneratedBy), fee_group: T.nilable(::String), residual_id: T.nilable(::String), fee_paid_by: T.nilable(Models::Components::FeePaidBy)).void }
|
|
37
|
-
def initialize(fee_id: nil, account_id: nil, wallet_id: nil, created_on: nil, fee_name: nil, amount: nil, generated_by: nil, fee_group: nil, residual_id: nil, fee_paid_by: nil)
|
|
38
|
+
sig { params(fee_id: T.nilable(::String), account_id: T.nilable(::String), wallet_id: T.nilable(::String), created_on: T.nilable(::DateTime), fee_name: T.nilable(::String), amount: T.nilable(Models::Components::AmountDecimal), generated_by: T.nilable(Models::Components::GeneratedBy), fee_group: T.nilable(::String), fee_program: T.nilable(::String), residual_id: T.nilable(::String), fee_paid_by: T.nilable(Models::Components::FeePaidBy)).void }
|
|
39
|
+
def initialize(fee_id: nil, account_id: nil, wallet_id: nil, created_on: nil, fee_name: nil, amount: nil, generated_by: nil, fee_group: nil, fee_program: nil, residual_id: nil, fee_paid_by: nil)
|
|
38
40
|
@fee_id = fee_id
|
|
39
41
|
@account_id = account_id
|
|
40
42
|
@wallet_id = wallet_id
|
|
@@ -43,6 +45,7 @@ module Moov
|
|
|
43
45
|
@amount = amount
|
|
44
46
|
@generated_by = generated_by
|
|
45
47
|
@fee_group = fee_group
|
|
48
|
+
@fee_program = fee_program
|
|
46
49
|
@residual_id = residual_id
|
|
47
50
|
@fee_paid_by = fee_paid_by
|
|
48
51
|
end
|
|
@@ -58,6 +61,7 @@ module Moov
|
|
|
58
61
|
return false unless @amount == other.amount
|
|
59
62
|
return false unless @generated_by == other.generated_by
|
|
60
63
|
return false unless @fee_group == other.fee_group
|
|
64
|
+
return false unless @fee_program == other.fee_program
|
|
61
65
|
return false unless @residual_id == other.residual_id
|
|
62
66
|
return false unless @fee_paid_by == other.fee_paid_by
|
|
63
67
|
true
|
|
@@ -24,6 +24,8 @@ class Moov::Models::Components::IncurredFee
|
|
|
24
24
|
def generated_by=(str_); end
|
|
25
25
|
def fee_group(); end
|
|
26
26
|
def fee_group=(str_); end
|
|
27
|
+
def fee_program(); end
|
|
28
|
+
def fee_program=(str_); end
|
|
27
29
|
def residual_id(); end
|
|
28
30
|
def residual_id=(str_); end
|
|
29
31
|
def fee_paid_by(); end
|
|
@@ -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
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
class IssuingMerchantDataValidationError
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :network_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkID') } }
|
|
17
|
+
|
|
18
|
+
field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name') } }
|
|
19
|
+
|
|
20
|
+
field :city, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('city') } }
|
|
21
|
+
|
|
22
|
+
field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('country') } }
|
|
23
|
+
|
|
24
|
+
field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('postalCode') } }
|
|
25
|
+
|
|
26
|
+
field :state, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('state') } }
|
|
27
|
+
|
|
28
|
+
field :mcc, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mcc') } }
|
|
29
|
+
|
|
30
|
+
sig { params(network_id: T.nilable(::String), name: T.nilable(::String), city: T.nilable(::String), country: T.nilable(::String), postal_code: T.nilable(::String), state: T.nilable(::String), mcc: T.nilable(::String)).void }
|
|
31
|
+
def initialize(network_id: nil, name: nil, city: nil, country: nil, postal_code: nil, state: nil, mcc: nil)
|
|
32
|
+
@network_id = network_id
|
|
33
|
+
@name = name
|
|
34
|
+
@city = city
|
|
35
|
+
@country = country
|
|
36
|
+
@postal_code = postal_code
|
|
37
|
+
@state = state
|
|
38
|
+
@mcc = mcc
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
42
|
+
def ==(other)
|
|
43
|
+
return false unless other.is_a? self.class
|
|
44
|
+
return false unless @network_id == other.network_id
|
|
45
|
+
return false unless @name == other.name
|
|
46
|
+
return false unless @city == other.city
|
|
47
|
+
return false unless @country == other.country
|
|
48
|
+
return false unless @postal_code == other.postal_code
|
|
49
|
+
return false unless @state == other.state
|
|
50
|
+
return false unless @mcc == other.mcc
|
|
51
|
+
true
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::IssuingMerchantDataValidationError
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::IssuingMerchantDataValidationError
|
|
11
|
+
def network_id(); end
|
|
12
|
+
def network_id=(str_); end
|
|
13
|
+
def name(); end
|
|
14
|
+
def name=(str_); end
|
|
15
|
+
def city(); end
|
|
16
|
+
def city=(str_); end
|
|
17
|
+
def country(); end
|
|
18
|
+
def country=(str_); end
|
|
19
|
+
def postal_code(); end
|
|
20
|
+
def postal_code=(str_); end
|
|
21
|
+
def state(); end
|
|
22
|
+
def state=(str_); end
|
|
23
|
+
def mcc(); end
|
|
24
|
+
def mcc=(str_); end
|
|
25
|
+
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,7 +18,7 @@ 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.
|
|
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
22
|
field :is_taxable, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('isTaxable'), required: true } }
|
|
23
23
|
# The date and time when the product was added.
|
|
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) } }
|
|
@@ -22,7 +22,7 @@ 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.
|
|
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
26
|
field :is_taxable, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('isTaxable') } }
|
|
27
27
|
# Assign previously uploaded images to a product or option.
|
|
28
28
|
field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AssignProductImage)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
|
|
@@ -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
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
# An event in a Transfer's ordered timeline. Amounts are positive display context and are not additive across events.
|
|
11
|
+
class TransferEvent
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer).
|
|
16
|
+
field :event_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventID'), required: true } }
|
|
17
|
+
# The event family.
|
|
18
|
+
field :event_type, Models::Components::TransferEventType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferEventType, false) } }
|
|
19
|
+
|
|
20
|
+
field :amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
|
|
21
|
+
# Details for a Transfer timeline event. A valid event contains exactly one detail object matching its event type.
|
|
22
|
+
field :details, Models::Components::TransferEventDetails, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('details'), required: true } }
|
|
23
|
+
|
|
24
|
+
field :occurred_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('occurredOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
25
|
+
|
|
26
|
+
sig { params(event_id: ::String, event_type: Models::Components::TransferEventType, amount: Models::Components::AmountDecimal, details: Models::Components::TransferEventDetails, occurred_on: ::DateTime).void }
|
|
27
|
+
def initialize(event_id:, event_type:, amount:, details:, occurred_on:)
|
|
28
|
+
@event_id = event_id
|
|
29
|
+
@event_type = event_type
|
|
30
|
+
@amount = amount
|
|
31
|
+
@details = details
|
|
32
|
+
@occurred_on = occurred_on
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
36
|
+
def ==(other)
|
|
37
|
+
return false unless other.is_a? self.class
|
|
38
|
+
return false unless @event_id == other.event_id
|
|
39
|
+
return false unless @event_type == other.event_type
|
|
40
|
+
return false unless @amount == other.amount
|
|
41
|
+
return false unless @details == other.details
|
|
42
|
+
return false unless @occurred_on == other.occurred_on
|
|
43
|
+
true
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::TransferEvent
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::TransferEvent
|
|
11
|
+
def event_id(); end
|
|
12
|
+
def event_id=(str_); end
|
|
13
|
+
def event_type(); end
|
|
14
|
+
def event_type=(str_); end
|
|
15
|
+
def amount(); end
|
|
16
|
+
def amount=(str_); end
|
|
17
|
+
def details(); end
|
|
18
|
+
def details=(str_); end
|
|
19
|
+
def occurred_on(); end
|
|
20
|
+
def occurred_on=(str_); end
|
|
21
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
class TransferEventACHDetails
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# Status of a transaction within the ACH lifecycle.
|
|
16
|
+
field :status, Models::Components::ACHTransactionStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::ACHTransactionStatus, false) } }
|
|
17
|
+
|
|
18
|
+
field :return_, Crystalline::Nilable.new(Models::Components::ACHException), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('return') } }
|
|
19
|
+
|
|
20
|
+
field :correction, Crystalline::Nilable.new(Models::Components::ACHException), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('correction') } }
|
|
21
|
+
|
|
22
|
+
sig { params(status: Models::Components::ACHTransactionStatus, return_: T.nilable(Models::Components::ACHException), correction: T.nilable(Models::Components::ACHException)).void }
|
|
23
|
+
def initialize(status:, return_: nil, correction: nil)
|
|
24
|
+
@status = status
|
|
25
|
+
@return_ = return_
|
|
26
|
+
@correction = correction
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
30
|
+
def ==(other)
|
|
31
|
+
return false unless other.is_a? self.class
|
|
32
|
+
return false unless @status == other.status
|
|
33
|
+
return false unless @return_ == other.return_
|
|
34
|
+
return false unless @correction == other.correction
|
|
35
|
+
true
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::TransferEventACHDetails
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::TransferEventACHDetails
|
|
11
|
+
def status(); end
|
|
12
|
+
def status=(str_); end
|
|
13
|
+
def return_(); end
|
|
14
|
+
def return_=(str_); end
|
|
15
|
+
def correction(); end
|
|
16
|
+
def correction=(str_); end
|
|
17
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
class TransferEventAuthorizationDetails
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer).
|
|
16
|
+
field :authorization_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizationID'), required: true } }
|
|
17
|
+
|
|
18
|
+
field :status, Models::Components::TransferEventAuthorizationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferEventAuthorizationStatus, false) } }
|
|
19
|
+
|
|
20
|
+
field :failure_code, Crystalline::Nilable.new(Models::Components::CardTransactionFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardTransactionFailureCode, true) } }
|
|
21
|
+
|
|
22
|
+
sig { params(authorization_id: ::String, status: Models::Components::TransferEventAuthorizationStatus, failure_code: T.nilable(Models::Components::CardTransactionFailureCode)).void }
|
|
23
|
+
def initialize(authorization_id:, status:, failure_code: nil)
|
|
24
|
+
@authorization_id = authorization_id
|
|
25
|
+
@status = status
|
|
26
|
+
@failure_code = failure_code
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
30
|
+
def ==(other)
|
|
31
|
+
return false unless other.is_a? self.class
|
|
32
|
+
return false unless @authorization_id == other.authorization_id
|
|
33
|
+
return false unless @status == other.status
|
|
34
|
+
return false unless @failure_code == other.failure_code
|
|
35
|
+
true
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::TransferEventAuthorizationDetails
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::TransferEventAuthorizationDetails
|
|
11
|
+
def authorization_id(); end
|
|
12
|
+
def authorization_id=(str_); end
|
|
13
|
+
def status(); end
|
|
14
|
+
def status=(str_); end
|
|
15
|
+
def failure_code(); end
|
|
16
|
+
def failure_code=(str_); end
|
|
17
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
class TransferEventAuthorizationStatus
|
|
12
|
+
include ::Crystalline::Enum
|
|
13
|
+
enums do
|
|
14
|
+
APPROVED = new('approved')
|
|
15
|
+
DECLINED = new('declined')
|
|
16
|
+
REVERSED = new('reversed')
|
|
17
|
+
end
|
|
18
|
+
open!
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|