moov_ruby 26.4.0.pre.dev.9 → 26.4.0.pre.dev.11
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/crystalline/types.rb +11 -3
- data/lib/moov/account_terminal_applications.rb +23 -9
- data/lib/moov/accounts.rb +58 -23
- data/lib/moov/adjustments.rb +13 -5
- data/lib/moov/apple_pay.rb +28 -11
- data/lib/moov/authentication.rb +13 -5
- data/lib/moov/avatars.rb +8 -3
- data/lib/moov/bank_accounts.rb +48 -19
- data/lib/moov/branding.rb +18 -7
- data/lib/moov/capabilities.rb +23 -9
- data/lib/moov/card_issuing.rb +28 -11
- data/lib/moov/cards.rb +28 -11
- data/lib/moov/client.rb +4 -2
- data/lib/moov/disputes.rb +58 -23
- data/lib/moov/end_to_end_encryption.rb +13 -5
- data/lib/moov/enriched_address.rb +8 -3
- data/lib/moov/enriched_profile.rb +8 -3
- data/lib/moov/fee_plans.rb +53 -21
- data/lib/moov/files.rb +18 -7
- data/lib/moov/images.rb +39 -19
- data/lib/moov/industries.rb +8 -3
- data/lib/moov/institutions.rb +13 -5
- data/lib/moov/invoices.rb +170 -13
- data/lib/moov/issuing_transactions.rb +28 -11
- data/lib/moov/models/components/createinvoicelineitem.rb +2 -1
- data/lib/moov/models/components/createpaymentlinklineitem.rb +2 -1
- data/lib/moov/models/components/createresolutionlink.rb +32 -0
- data/lib/moov/models/components/createresolutionlink.rbi +13 -0
- data/lib/moov/models/components/feecategory.rb +1 -0
- data/lib/moov/models/components/{rtpfailurecode.rb → instantbankfailurecode.rb} +3 -2
- data/lib/moov/models/components/instantbankfailurecode.rbi +11 -0
- data/lib/moov/models/components/instantbanknetwork.rb +19 -0
- data/lib/moov/models/components/{rtpfailurecode.rbi → instantbanknetwork.rbi} +2 -2
- data/lib/moov/models/components/{rtptransactiondetails.rb → instantbanktransactiondetails.rb} +16 -8
- data/lib/moov/models/components/{rtptransactiondetails.rbi → instantbanktransactiondetails.rbi} +6 -2
- data/lib/moov/models/components/{rtptransactionstatus.rb → instantbanktransactionstatus.rb} +2 -2
- data/lib/moov/models/components/instantbanktransactionstatus.rbi +11 -0
- data/lib/moov/models/components/invoice.rb +14 -2
- data/lib/moov/models/components/invoice.rbi +6 -0
- data/lib/moov/models/components/invoicelineitem.rb +2 -1
- data/lib/moov/models/components/resolutionlink.rb +64 -0
- data/lib/moov/models/components/resolutionlink.rbi +29 -0
- data/lib/moov/models/components/resolutionlinkrecipient.rb +36 -0
- data/lib/moov/models/components/resolutionlinkrecipient.rbi +15 -0
- data/lib/moov/models/components/transferdestination.rb +6 -6
- data/lib/moov/models/components/transferdestination.rbi +2 -2
- data/lib/moov/models/components/updateinvoice.rb +4 -1
- data/lib/moov/models/components.rb +7 -3
- data/lib/moov/models/errors/createresolutionlinkerror.rb +40 -0
- data/lib/moov/models/errors/createresolutionlinkerror.rbi +17 -0
- data/lib/moov/models/errors.rb +1 -0
- data/lib/moov/models/operations/createresolutionlink_request.rb +49 -0
- data/lib/moov/models/operations/createresolutionlink_request.rbi +17 -0
- data/lib/moov/models/operations/createresolutionlink_response.rb +48 -0
- data/lib/moov/models/operations/createresolutionlink_response.rbi +21 -0
- data/lib/moov/models/operations/deleteinvoice_request.rb +49 -0
- data/lib/moov/models/operations/deleteinvoice_request.rbi +17 -0
- data/lib/moov/models/operations/deleteinvoice_response.rb +44 -0
- data/lib/moov/models/operations/deleteinvoice_response.rbi +19 -0
- data/lib/moov/models/operations/disableresolutionlink_request.rb +49 -0
- data/lib/moov/models/operations/disableresolutionlink_request.rbi +17 -0
- data/lib/moov/models/operations/disableresolutionlink_response.rb +44 -0
- data/lib/moov/models/operations/disableresolutionlink_response.rbi +19 -0
- data/lib/moov/models/operations/getresolutionlink_request.rb +49 -0
- data/lib/moov/models/operations/getresolutionlink_request.rbi +17 -0
- data/lib/moov/models/operations/getresolutionlink_response.rb +48 -0
- data/lib/moov/models/operations/getresolutionlink_response.rbi +21 -0
- data/lib/moov/models/operations/listresolutionlinks_request.rb +45 -0
- data/lib/moov/models/operations/listresolutionlinks_request.rbi +15 -0
- data/lib/moov/models/operations/listresolutionlinks_response.rb +48 -0
- data/lib/moov/models/operations/listresolutionlinks_response.rbi +21 -0
- data/lib/moov/models/operations.rb +10 -0
- data/lib/moov/onboarding.rb +23 -9
- data/lib/moov/payment_links.rb +33 -13
- data/lib/moov/payment_methods.rb +13 -5
- data/lib/moov/ping.rb +8 -3
- data/lib/moov/products.rb +28 -11
- data/lib/moov/receipts.rb +13 -5
- data/lib/moov/representatives.rb +28 -11
- data/lib/moov/resolution_links.rb +592 -0
- data/lib/moov/scheduling.rb +33 -13
- data/lib/moov/sdk_hooks/moov_version.rb +6 -7
- data/lib/moov/sdk_hooks/registration.rb +1 -1
- data/lib/moov/sdkconfiguration.rb +3 -3
- data/lib/moov/statements.rb +13 -5
- data/lib/moov/support.rb +28 -11
- data/lib/moov/sweeps.rb +33 -13
- data/lib/moov/terminal_applications.rb +28 -11
- data/lib/moov/transfers.rb +58 -23
- data/lib/moov/underwriting.rb +18 -7
- data/lib/moov/wallet_transactions.rb +13 -5
- data/lib/moov/wallets.rb +23 -9
- data/lib/moov/webhooks.rb +43 -17
- data/lib/moov_ruby.rb +1 -0
- metadata +53 -8
- data/lib/moov/models/components/rtptransactionstatus.rbi +0 -11
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
# Request body for creating a resolution link.
|
|
11
|
+
class CreateResolutionLink
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# The recipient contact information for the resolution link.
|
|
16
|
+
field :recipient, Models::Components::ResolutionLinkRecipient, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recipient'), required: true } }
|
|
17
|
+
|
|
18
|
+
sig { params(recipient: Models::Components::ResolutionLinkRecipient).void }
|
|
19
|
+
def initialize(recipient:)
|
|
20
|
+
@recipient = recipient
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
24
|
+
def ==(other)
|
|
25
|
+
return false unless other.is_a? self.class
|
|
26
|
+
return false unless @recipient == other.recipient
|
|
27
|
+
true
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::CreateResolutionLink
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::CreateResolutionLink
|
|
11
|
+
def recipient(); end
|
|
12
|
+
def recipient=(str_); end
|
|
13
|
+
end
|
|
@@ -15,6 +15,7 @@ module Moov
|
|
|
15
15
|
CARD_OTHER = new('card-other')
|
|
16
16
|
CARD_PULL = new('card-pull')
|
|
17
17
|
CARD_PUSH = new('card-push')
|
|
18
|
+
INSTANT_BANK = new('instant-bank')
|
|
18
19
|
MONTHLY_PLATFORM = new('monthly-platform')
|
|
19
20
|
NETWORK_PASSTHROUGH = new('network-passthrough')
|
|
20
21
|
OTHER = new('other')
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
module Moov
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
|
-
#
|
|
11
|
-
class
|
|
10
|
+
# InstantBankFailureCode - Status codes for instant-bank failures.
|
|
11
|
+
class InstantBankFailureCode < T::Enum
|
|
12
12
|
enums do
|
|
13
13
|
PROCESSING_ERROR = new('processing-error')
|
|
14
14
|
INVALID_ACCOUNT = new('invalid-account')
|
|
@@ -19,6 +19,7 @@ module Moov
|
|
|
19
19
|
LIMIT_EXCEEDED = new('limit-exceeded')
|
|
20
20
|
INVALID_AMOUNT = new('invalid-amount')
|
|
21
21
|
CUSTOMER_DECEASED = new('customer-deceased')
|
|
22
|
+
PARTICIPANT_NOT_AVAILABLE = new('participant-not-available')
|
|
22
23
|
OTHER = new('other')
|
|
23
24
|
end
|
|
24
25
|
end
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
# InstantBankNetwork - The network that the transaction was processed on.
|
|
11
|
+
class InstantBankNetwork < T::Enum
|
|
12
|
+
enums do
|
|
13
|
+
FEDNOW = new('fednow')
|
|
14
|
+
RTP = new('rtp')
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
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::InstantBankNetwork
|
|
6
6
|
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
class Moov::Models::Components::
|
|
10
|
+
class Moov::Models::Components::InstantBankNetwork
|
|
11
11
|
end
|
data/lib/moov/models/components/{rtptransactiondetails.rb → instantbanktransactiondetails.rb}
RENAMED
|
@@ -7,17 +7,21 @@
|
|
|
7
7
|
module Moov
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
|
-
#
|
|
11
|
-
class
|
|
10
|
+
# Instant-bank specific details about the transaction.
|
|
11
|
+
class InstantBankTransactionDetails
|
|
12
12
|
extend T::Sig
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
|
-
#
|
|
16
|
-
field :
|
|
15
|
+
# The network that the transaction was processed on.
|
|
16
|
+
field :network, Models::Components::InstantBankNetwork, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('network'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::InstantBankNetwork, false) } }
|
|
17
|
+
# Status of a transaction within the instant-bank lifecycle.
|
|
18
|
+
field :status, Models::Components::InstantBankTransactionStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::InstantBankTransactionStatus, false) } }
|
|
17
19
|
# Response code returned by network on failure.
|
|
18
20
|
field :network_response_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkResponseCode') } }
|
|
19
|
-
# Status codes for
|
|
20
|
-
field :failure_code, Crystalline::Nilable.new(Models::Components::
|
|
21
|
+
# Status codes for instant-bank failures.
|
|
22
|
+
field :failure_code, Crystalline::Nilable.new(Models::Components::InstantBankFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::InstantBankFailureCode, true) } }
|
|
23
|
+
|
|
24
|
+
field :end_to_end_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('endToEndID') } }
|
|
21
25
|
|
|
22
26
|
field :initiated_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('initiatedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
23
27
|
|
|
@@ -27,11 +31,13 @@ module Moov
|
|
|
27
31
|
|
|
28
32
|
field :accepted_without_posting_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedWithoutPostingOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
29
33
|
|
|
30
|
-
sig { params(status:
|
|
31
|
-
def initialize(status: nil,
|
|
34
|
+
sig { params(network: Models::Components::InstantBankNetwork, status: Models::Components::InstantBankTransactionStatus, network_response_code: T.nilable(::String), failure_code: T.nilable(Models::Components::InstantBankFailureCode), end_to_end_id: T.nilable(::String), initiated_on: T.nilable(::DateTime), completed_on: T.nilable(::DateTime), failed_on: T.nilable(::DateTime), accepted_without_posting_on: T.nilable(::DateTime)).void }
|
|
35
|
+
def initialize(network:, status:, network_response_code: nil, failure_code: nil, end_to_end_id: nil, initiated_on: nil, completed_on: nil, failed_on: nil, accepted_without_posting_on: nil)
|
|
36
|
+
@network = network
|
|
32
37
|
@status = status
|
|
33
38
|
@network_response_code = network_response_code
|
|
34
39
|
@failure_code = failure_code
|
|
40
|
+
@end_to_end_id = end_to_end_id
|
|
35
41
|
@initiated_on = initiated_on
|
|
36
42
|
@completed_on = completed_on
|
|
37
43
|
@failed_on = failed_on
|
|
@@ -41,9 +47,11 @@ module Moov
|
|
|
41
47
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
42
48
|
def ==(other)
|
|
43
49
|
return false unless other.is_a? self.class
|
|
50
|
+
return false unless @network == other.network
|
|
44
51
|
return false unless @status == other.status
|
|
45
52
|
return false unless @network_response_code == other.network_response_code
|
|
46
53
|
return false unless @failure_code == other.failure_code
|
|
54
|
+
return false unless @end_to_end_id == other.end_to_end_id
|
|
47
55
|
return false unless @initiated_on == other.initiated_on
|
|
48
56
|
return false unless @completed_on == other.completed_on
|
|
49
57
|
return false unless @failed_on == other.failed_on
|
data/lib/moov/models/components/{rtptransactiondetails.rbi → instantbanktransactiondetails.rbi}
RENAMED
|
@@ -2,18 +2,22 @@
|
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
class Moov::Models::Components::
|
|
5
|
+
class Moov::Models::Components::InstantBankTransactionDetails
|
|
6
6
|
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
class Moov::Models::Components::
|
|
10
|
+
class Moov::Models::Components::InstantBankTransactionDetails
|
|
11
|
+
def network(); end
|
|
12
|
+
def network=(str_); end
|
|
11
13
|
def status(); end
|
|
12
14
|
def status=(str_); end
|
|
13
15
|
def network_response_code(); end
|
|
14
16
|
def network_response_code=(str_); end
|
|
15
17
|
def failure_code(); end
|
|
16
18
|
def failure_code=(str_); end
|
|
19
|
+
def end_to_end_id(); end
|
|
20
|
+
def end_to_end_id=(str_); end
|
|
17
21
|
def initiated_on(); end
|
|
18
22
|
def initiated_on=(str_); end
|
|
19
23
|
def completed_on(); end
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
module Moov
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
|
-
#
|
|
11
|
-
class
|
|
10
|
+
# InstantBankTransactionStatus - Status of a transaction within the instant-bank lifecycle.
|
|
11
|
+
class InstantBankTransactionStatus < T::Enum
|
|
12
12
|
enums do
|
|
13
13
|
INITIATED = new('initiated')
|
|
14
14
|
COMPLETED = new('completed')
|
|
@@ -18,6 +18,10 @@ module Moov
|
|
|
18
18
|
field :invoice_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoiceNumber'), required: true } }
|
|
19
19
|
# 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).
|
|
20
20
|
field :customer_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customerAccountID'), required: true } }
|
|
21
|
+
# Display name of the customer account.
|
|
22
|
+
field :customer_display_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customerDisplayName'), required: true } }
|
|
23
|
+
# Email address of the customer account.
|
|
24
|
+
field :customer_email, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customerEmail'), required: true } }
|
|
21
25
|
# 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).
|
|
22
26
|
field :partner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerAccountID'), required: true } }
|
|
23
27
|
|
|
@@ -57,11 +61,15 @@ module Moov
|
|
|
57
61
|
|
|
58
62
|
field :canceled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('canceledOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
59
63
|
|
|
60
|
-
|
|
61
|
-
|
|
64
|
+
field :disabled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disabledOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
65
|
+
|
|
66
|
+
sig { params(invoice_id: ::String, invoice_number: ::String, customer_account_id: ::String, customer_display_name: ::String, customer_email: ::String, partner_account_id: ::String, status: Models::Components::InvoiceStatus, line_items: Models::Components::InvoiceLineItems, subtotal_amount: Models::Components::AmountDecimal, tax_amount: Models::Components::AmountDecimal, total_amount: Models::Components::AmountDecimal, pending_amount: Models::Components::AmountDecimal, paid_amount: Models::Components::AmountDecimal, refunded_amount: Models::Components::AmountDecimal, disputed_amount: Models::Components::AmountDecimal, created_on: ::DateTime, description: T.nilable(::String), payment_link_code: T.nilable(::String), invoice_payments: T.nilable(T::Array[Models::Components::InvoicePayment]), invoice_date: T.nilable(::DateTime), due_date: T.nilable(::DateTime), sent_on: T.nilable(::DateTime), paid_on: T.nilable(::DateTime), canceled_on: T.nilable(::DateTime), disabled_on: T.nilable(::DateTime)).void }
|
|
67
|
+
def initialize(invoice_id:, invoice_number:, customer_account_id:, customer_display_name:, customer_email:, partner_account_id:, status:, line_items:, subtotal_amount:, tax_amount:, total_amount:, pending_amount:, paid_amount:, refunded_amount:, disputed_amount:, created_on:, description: nil, payment_link_code: nil, invoice_payments: nil, invoice_date: nil, due_date: nil, sent_on: nil, paid_on: nil, canceled_on: nil, disabled_on: nil)
|
|
62
68
|
@invoice_id = invoice_id
|
|
63
69
|
@invoice_number = invoice_number
|
|
64
70
|
@customer_account_id = customer_account_id
|
|
71
|
+
@customer_display_name = customer_display_name
|
|
72
|
+
@customer_email = customer_email
|
|
65
73
|
@partner_account_id = partner_account_id
|
|
66
74
|
@status = status
|
|
67
75
|
@line_items = line_items
|
|
@@ -81,6 +89,7 @@ module Moov
|
|
|
81
89
|
@sent_on = sent_on
|
|
82
90
|
@paid_on = paid_on
|
|
83
91
|
@canceled_on = canceled_on
|
|
92
|
+
@disabled_on = disabled_on
|
|
84
93
|
end
|
|
85
94
|
|
|
86
95
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -89,6 +98,8 @@ module Moov
|
|
|
89
98
|
return false unless @invoice_id == other.invoice_id
|
|
90
99
|
return false unless @invoice_number == other.invoice_number
|
|
91
100
|
return false unless @customer_account_id == other.customer_account_id
|
|
101
|
+
return false unless @customer_display_name == other.customer_display_name
|
|
102
|
+
return false unless @customer_email == other.customer_email
|
|
92
103
|
return false unless @partner_account_id == other.partner_account_id
|
|
93
104
|
return false unless @status == other.status
|
|
94
105
|
return false unless @line_items == other.line_items
|
|
@@ -108,6 +119,7 @@ module Moov
|
|
|
108
119
|
return false unless @sent_on == other.sent_on
|
|
109
120
|
return false unless @paid_on == other.paid_on
|
|
110
121
|
return false unless @canceled_on == other.canceled_on
|
|
122
|
+
return false unless @disabled_on == other.disabled_on
|
|
111
123
|
true
|
|
112
124
|
end
|
|
113
125
|
end
|
|
@@ -14,6 +14,10 @@ class Moov::Models::Components::Invoice
|
|
|
14
14
|
def invoice_number=(str_); end
|
|
15
15
|
def customer_account_id(); end
|
|
16
16
|
def customer_account_id=(str_); end
|
|
17
|
+
def customer_display_name(); end
|
|
18
|
+
def customer_display_name=(str_); end
|
|
19
|
+
def customer_email(); end
|
|
20
|
+
def customer_email=(str_); end
|
|
17
21
|
def partner_account_id(); end
|
|
18
22
|
def partner_account_id=(str_); end
|
|
19
23
|
def status(); end
|
|
@@ -52,4 +56,6 @@ class Moov::Models::Components::Invoice
|
|
|
52
56
|
def paid_on=(str_); end
|
|
53
57
|
def canceled_on(); end
|
|
54
58
|
def canceled_on=(str_); end
|
|
59
|
+
def disabled_on(); end
|
|
60
|
+
def disabled_on=(str_); end
|
|
55
61
|
end
|
|
@@ -19,7 +19,8 @@ module Moov
|
|
|
19
19
|
# The quantity of this item.
|
|
20
20
|
field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
|
|
21
21
|
# Optional unique identifier associating the line item with a product.
|
|
22
|
-
#
|
|
22
|
+
# When provided, images associated with the product will be included on the line item.
|
|
23
|
+
# This does not populate other details of the line item.
|
|
23
24
|
field :product_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('productID') } }
|
|
24
25
|
# Optional list of modifiers applied to this item (e.g., toppings, upgrades, customizations).
|
|
25
26
|
field :options, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::InvoiceLineItemOption)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
|
|
@@ -0,0 +1,64 @@
|
|
|
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
|
+
# A temporary, secure link sent to a merchant to resolve account requirements such as KYC verification or document uploads.
|
|
11
|
+
class ResolutionLink
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# A unique nanoid identifier for the resolution link.
|
|
16
|
+
field :code, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('code'), required: true } }
|
|
17
|
+
# The ID of the merchant account this resolution link is associated with.
|
|
18
|
+
field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
|
|
19
|
+
# The ID of the partner account this resolution link is associated with.
|
|
20
|
+
field :partner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerAccountID'), required: true } }
|
|
21
|
+
# The recipient contact information for the resolution link.
|
|
22
|
+
field :recipient, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recipient'), required: true } }
|
|
23
|
+
# The URL of the resolution link.
|
|
24
|
+
field :url, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('url'), required: true } }
|
|
25
|
+
# The date and time the resolution link was created.
|
|
26
|
+
field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
27
|
+
# The date and time the resolution link was last updated.
|
|
28
|
+
field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
29
|
+
# The date and time the resolution link expires.
|
|
30
|
+
field :expires_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiresOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
31
|
+
# The date and time the resolution link was disabled, if applicable.
|
|
32
|
+
field :disabled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disabledOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
33
|
+
|
|
34
|
+
sig { params(code: ::String, account_id: ::String, partner_account_id: ::String, recipient: ::String, url: ::String, created_on: ::DateTime, updated_on: ::DateTime, expires_on: ::DateTime, disabled_on: T.nilable(::DateTime)).void }
|
|
35
|
+
def initialize(code:, account_id:, partner_account_id:, recipient:, url:, created_on:, updated_on:, expires_on:, disabled_on: nil)
|
|
36
|
+
@code = code
|
|
37
|
+
@account_id = account_id
|
|
38
|
+
@partner_account_id = partner_account_id
|
|
39
|
+
@recipient = recipient
|
|
40
|
+
@url = url
|
|
41
|
+
@created_on = created_on
|
|
42
|
+
@updated_on = updated_on
|
|
43
|
+
@expires_on = expires_on
|
|
44
|
+
@disabled_on = disabled_on
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
48
|
+
def ==(other)
|
|
49
|
+
return false unless other.is_a? self.class
|
|
50
|
+
return false unless @code == other.code
|
|
51
|
+
return false unless @account_id == other.account_id
|
|
52
|
+
return false unless @partner_account_id == other.partner_account_id
|
|
53
|
+
return false unless @recipient == other.recipient
|
|
54
|
+
return false unless @url == other.url
|
|
55
|
+
return false unless @created_on == other.created_on
|
|
56
|
+
return false unless @updated_on == other.updated_on
|
|
57
|
+
return false unless @expires_on == other.expires_on
|
|
58
|
+
return false unless @disabled_on == other.disabled_on
|
|
59
|
+
true
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::ResolutionLink
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::ResolutionLink
|
|
11
|
+
def code(); end
|
|
12
|
+
def code=(str_); end
|
|
13
|
+
def account_id(); end
|
|
14
|
+
def account_id=(str_); end
|
|
15
|
+
def partner_account_id(); end
|
|
16
|
+
def partner_account_id=(str_); end
|
|
17
|
+
def recipient(); end
|
|
18
|
+
def recipient=(str_); end
|
|
19
|
+
def url(); end
|
|
20
|
+
def url=(str_); end
|
|
21
|
+
def created_on(); end
|
|
22
|
+
def created_on=(str_); end
|
|
23
|
+
def updated_on(); end
|
|
24
|
+
def updated_on=(str_); end
|
|
25
|
+
def expires_on(); end
|
|
26
|
+
def expires_on=(str_); end
|
|
27
|
+
def disabled_on(); end
|
|
28
|
+
def disabled_on=(str_); end
|
|
29
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
# Contact information for the recipient of a resolution link. Provide either `email` or `phone`, but not both.
|
|
11
|
+
class ResolutionLinkRecipient
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# The email address of the recipient.
|
|
16
|
+
field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('email') } }
|
|
17
|
+
# The phone number of the recipient.
|
|
18
|
+
field :phone, Crystalline::Nilable.new(Models::Components::PhoneNumber), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('phone') } }
|
|
19
|
+
|
|
20
|
+
sig { params(email: T.nilable(::String), phone: T.nilable(Models::Components::PhoneNumber)).void }
|
|
21
|
+
def initialize(email: nil, phone: nil)
|
|
22
|
+
@email = email
|
|
23
|
+
@phone = phone
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
27
|
+
def ==(other)
|
|
28
|
+
return false unless other.is_a? self.class
|
|
29
|
+
return false unless @email == other.email
|
|
30
|
+
return false unless @phone == other.phone
|
|
31
|
+
true
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::ResolutionLinkRecipient
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::ResolutionLinkRecipient
|
|
11
|
+
def email(); end
|
|
12
|
+
def email=(str_); end
|
|
13
|
+
def phone(); end
|
|
14
|
+
def phone=(str_); end
|
|
15
|
+
end
|
|
@@ -30,11 +30,11 @@ module Moov
|
|
|
30
30
|
field :apple_pay, Crystalline::Nilable.new(Models::Components::ApplePayResponse), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('applePay') } }
|
|
31
31
|
# Card-specific details about the transaction.
|
|
32
32
|
field :card_details, Crystalline::Nilable.new(Models::Components::CardTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
|
|
33
|
-
#
|
|
34
|
-
field :
|
|
33
|
+
# Instant-bank specific details about the transaction.
|
|
34
|
+
field :instant_bank_details, Crystalline::Nilable.new(Models::Components::InstantBankTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('instantBankDetails') } }
|
|
35
35
|
|
|
36
|
-
sig { params(payment_method_id: ::String, payment_method_type: Models::Components::TransferPaymentMethodType, account: Models::Components::TransferAccount, bank_account: T.nilable(Models::Components::TransferPaymentMethodsBankAccount), wallet: T.nilable(Models::Components::TransferPaymentMethodsWallet), card: T.nilable(Models::Components::TransferPaymentMethodsCard), ach_details: T.nilable(Models::Components::ACHTransactionDetails), apple_pay: T.nilable(Models::Components::ApplePayResponse), card_details: T.nilable(Models::Components::CardTransactionDetails),
|
|
37
|
-
def initialize(payment_method_id:, payment_method_type:, account:, bank_account: nil, wallet: nil, card: nil, ach_details: nil, apple_pay: nil, card_details: nil,
|
|
36
|
+
sig { params(payment_method_id: ::String, payment_method_type: Models::Components::TransferPaymentMethodType, account: Models::Components::TransferAccount, bank_account: T.nilable(Models::Components::TransferPaymentMethodsBankAccount), wallet: T.nilable(Models::Components::TransferPaymentMethodsWallet), card: T.nilable(Models::Components::TransferPaymentMethodsCard), ach_details: T.nilable(Models::Components::ACHTransactionDetails), apple_pay: T.nilable(Models::Components::ApplePayResponse), card_details: T.nilable(Models::Components::CardTransactionDetails), instant_bank_details: T.nilable(Models::Components::InstantBankTransactionDetails)).void }
|
|
37
|
+
def initialize(payment_method_id:, payment_method_type:, account:, bank_account: nil, wallet: nil, card: nil, ach_details: nil, apple_pay: nil, card_details: nil, instant_bank_details: nil)
|
|
38
38
|
@payment_method_id = payment_method_id
|
|
39
39
|
@payment_method_type = payment_method_type
|
|
40
40
|
@account = account
|
|
@@ -44,7 +44,7 @@ module Moov
|
|
|
44
44
|
@ach_details = ach_details
|
|
45
45
|
@apple_pay = apple_pay
|
|
46
46
|
@card_details = card_details
|
|
47
|
-
@
|
|
47
|
+
@instant_bank_details = instant_bank_details
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -59,7 +59,7 @@ module Moov
|
|
|
59
59
|
return false unless @ach_details == other.ach_details
|
|
60
60
|
return false unless @apple_pay == other.apple_pay
|
|
61
61
|
return false unless @card_details == other.card_details
|
|
62
|
-
return false unless @
|
|
62
|
+
return false unless @instant_bank_details == other.instant_bank_details
|
|
63
63
|
true
|
|
64
64
|
end
|
|
65
65
|
end
|
|
@@ -26,6 +26,6 @@ class Moov::Models::Components::TransferDestination
|
|
|
26
26
|
def apple_pay=(str_); end
|
|
27
27
|
def card_details(); end
|
|
28
28
|
def card_details=(str_); end
|
|
29
|
-
def
|
|
30
|
-
def
|
|
29
|
+
def instant_bank_details(); end
|
|
30
|
+
def instant_bank_details=(str_); end
|
|
31
31
|
end
|
|
@@ -17,7 +17,10 @@ module Moov
|
|
|
17
17
|
# A collection of line items for an invoice.
|
|
18
18
|
field :line_items, Crystalline::Nilable.new(Models::Components::CreateInvoiceLineItemsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
|
|
19
19
|
# The status can be updated to one of the following values under specific conditions:
|
|
20
|
-
# - `canceled`: Can only be set if the current status is `draft`, `unpaid`, or `overdue`.
|
|
20
|
+
# - `canceled`: Can only be set if the current status is `draft`, `unpaid`, or `overdue`. Canceling an invoice
|
|
21
|
+
# indicates the invoice is no longer expected to be paid (e.g., the charge was waived or terms changed).
|
|
22
|
+
# Canceled invoices still appear in list results by default and remain part of the invoice history.
|
|
23
|
+
# To completely discard an invoice created by mistake, use the delete endpoint instead.
|
|
21
24
|
# - `unpaid`: Can only be set if the current status is `draft`. Setting the status to `unpaid` finalizes the invoice and sends an email with a payment link to the customer.
|
|
22
25
|
field :status, Crystalline::Nilable.new(Models::Components::InvoiceStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::InvoiceStatus, true) } }
|
|
23
26
|
|
|
@@ -201,6 +201,7 @@ module Moov
|
|
|
201
201
|
autoload :CreateRefund, 'moov/models/components/createrefund.rb'
|
|
202
202
|
autoload :CreateRefundResponse, 'moov/models/components/createrefundresponse.rb'
|
|
203
203
|
autoload :CreateRepresentative, 'moov/models/components/createrepresentative.rb'
|
|
204
|
+
autoload :CreateResolutionLink, 'moov/models/components/createresolutionlink.rb'
|
|
204
205
|
autoload :CreateReversal, 'moov/models/components/createreversal.rb'
|
|
205
206
|
autoload :CreateRunTransfer, 'moov/models/components/createruntransfer.rb'
|
|
206
207
|
autoload :CreateScheduledTransferLineItem, 'moov/models/components/createscheduledtransferlineitem.rb'
|
|
@@ -305,6 +306,10 @@ module Moov
|
|
|
305
306
|
autoload :InstantBankCreditPaymentMethodPaymentMethodType, 'moov/models/components/instantbankcreditpaymentmethod_paymentmethodtype.rb'
|
|
306
307
|
autoload :InstantBankCreditTransferPaymentMethod, 'moov/models/components/instantbankcredittransferpaymentmethod.rb'
|
|
307
308
|
autoload :InstantBankCreditTransferPaymentMethodPaymentMethodType, 'moov/models/components/instantbankcredittransferpaymentmethod_paymentmethodtype.rb'
|
|
309
|
+
autoload :InstantBankFailureCode, 'moov/models/components/instantbankfailurecode.rb'
|
|
310
|
+
autoload :InstantBankNetwork, 'moov/models/components/instantbanknetwork.rb'
|
|
311
|
+
autoload :InstantBankTransactionDetails, 'moov/models/components/instantbanktransactiondetails.rb'
|
|
312
|
+
autoload :InstantBankTransactionStatus, 'moov/models/components/instantbanktransactionstatus.rb'
|
|
308
313
|
autoload :InstantPaymentFees, 'moov/models/components/instantpaymentfees.rb'
|
|
309
314
|
autoload :InstitutionsSearchResponse, 'moov/models/components/institutionssearchresponse.rb'
|
|
310
315
|
autoload :Invoice, 'moov/models/components/invoice.rb'
|
|
@@ -437,12 +442,9 @@ module Moov
|
|
|
437
442
|
autoload :PushToCardTransferPaymentMethod, 'moov/models/components/pushtocardtransferpaymentmethod.rb'
|
|
438
443
|
autoload :PushToCardTransferPaymentMethodPaymentMethodType, 'moov/models/components/pushtocardtransferpaymentmethod_paymentmethodtype.rb'
|
|
439
444
|
autoload :QRCode, 'moov/models/components/qrcode.rb'
|
|
440
|
-
autoload :RTPFailureCode, 'moov/models/components/rtpfailurecode.rb'
|
|
441
445
|
autoload :RTPInstitution, 'moov/models/components/rtpinstitution.rb'
|
|
442
446
|
autoload :RTPRejectionCode, 'moov/models/components/rtprejectioncode.rb'
|
|
443
447
|
autoload :RTPServices, 'moov/models/components/rtpservices.rb'
|
|
444
|
-
autoload :RTPTransactionDetails, 'moov/models/components/rtptransactiondetails.rb'
|
|
445
|
-
autoload :RTPTransactionStatus, 'moov/models/components/rtptransactionstatus.rb'
|
|
446
448
|
autoload :ReceiptKind, 'moov/models/components/receiptkind.rb'
|
|
447
449
|
autoload :ReceiptRequest, 'moov/models/components/receiptrequest.rb'
|
|
448
450
|
autoload :ReceiptResponse, 'moov/models/components/receiptresponse.rb'
|
|
@@ -462,6 +464,8 @@ module Moov
|
|
|
462
464
|
autoload :RequirementErrorCode, 'moov/models/components/requirementerrorcode.rb'
|
|
463
465
|
autoload :RequirementID, 'moov/models/components/requirementid.rb'
|
|
464
466
|
autoload :Residual, 'moov/models/components/residual.rb'
|
|
467
|
+
autoload :ResolutionLink, 'moov/models/components/resolutionlink.rb'
|
|
468
|
+
autoload :ResolutionLinkRecipient, 'moov/models/components/resolutionlinkrecipient.rb'
|
|
465
469
|
autoload :ReturnPolicyType, 'moov/models/components/returnpolicytype.rb'
|
|
466
470
|
autoload :Reversal, 'moov/models/components/reversal.rb'
|
|
467
471
|
autoload :ReversedWithCancellation, 'moov/models/components/reversedwithcancellation.rb'
|
|
@@ -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 Errors
|
|
10
|
+
# Describes validation errors for the create resolution link request.
|
|
11
|
+
class CreateResolutionLinkError < StandardError
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# An error with the recipient email address.
|
|
16
|
+
field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('email') } }
|
|
17
|
+
# An error with the recipient phone number.
|
|
18
|
+
field :phone, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('phone') } }
|
|
19
|
+
# Raw HTTP response; suitable for custom response parsing
|
|
20
|
+
field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
|
|
21
|
+
|
|
22
|
+
sig { params(email: T.nilable(::String), phone: T.nilable(::String), raw_response: T.nilable(::Faraday::Response)).void }
|
|
23
|
+
def initialize(email: nil, phone: nil, raw_response: nil)
|
|
24
|
+
@email = email
|
|
25
|
+
@phone = phone
|
|
26
|
+
@raw_response = raw_response
|
|
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 @email == other.email
|
|
33
|
+
return false unless @phone == other.phone
|
|
34
|
+
return false unless @raw_response == other.raw_response
|
|
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::Errors::CreateResolutionLinkError
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Errors::CreateResolutionLinkError
|
|
11
|
+
def email(); end
|
|
12
|
+
def email=(str_); end
|
|
13
|
+
def phone(); end
|
|
14
|
+
def phone=(str_); end
|
|
15
|
+
def raw_response(); end
|
|
16
|
+
def raw_response=(str_); end
|
|
17
|
+
end
|
data/lib/moov/models/errors.rb
CHANGED
|
@@ -19,6 +19,7 @@ module Moov
|
|
|
19
19
|
autoload :CreateInvoiceError, 'moov/models/errors/createinvoiceerror.rb'
|
|
20
20
|
autoload :CreateInvoicePaymentError, 'moov/models/errors/createinvoicepaymenterror.rb'
|
|
21
21
|
autoload :CreatePaymentLinkError, 'moov/models/errors/createpaymentlinkerror.rb'
|
|
22
|
+
autoload :CreateResolutionLinkError, 'moov/models/errors/createresolutionlinkerror.rb'
|
|
22
23
|
autoload :CreateSweepConfigError, 'moov/models/errors/createsweepconfigerror.rb'
|
|
23
24
|
autoload :CreateTicketError, 'moov/models/errors/createticketerror.rb'
|
|
24
25
|
autoload :CreateWalletValidationError, 'moov/models/errors/createwalletvalidationerror.rb'
|