moov_ruby 26.7.6 → 26.7.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/invoices.rb +180 -0
- data/lib/moov/models/components/createdtransfer.rb +2 -1
- data/lib/moov/models/components/createinvoice.rb +14 -2
- data/lib/moov/models/components/createinvoice.rbi +6 -0
- data/lib/moov/models/components/createinvoicenotification.rb +32 -0
- data/lib/moov/models/components/createinvoicenotification.rbi +13 -0
- data/lib/moov/models/components/invoice.rb +6 -2
- data/lib/moov/models/components/invoice.rbi +2 -0
- data/lib/moov/models/components/invoicenotificationlimitedchannel.rb +36 -0
- data/lib/moov/models/components/invoicenotificationlimitedchannel.rbi +15 -0
- data/lib/moov/models/components/invoicepaymentoptions.rb +40 -0
- data/lib/moov/models/components/invoicepaymentoptions.rbi +17 -0
- data/lib/moov/models/components/invoicepaymentoptionserror.rb +40 -0
- data/lib/moov/models/components/invoicepaymentoptionserror.rbi +17 -0
- data/lib/moov/models/components/invoicepaymentoptionsupdate.rb +40 -0
- data/lib/moov/models/components/invoicepaymentoptionsupdate.rbi +17 -0
- data/lib/moov/models/components/notificationchannel.rb +18 -0
- data/lib/moov/models/components/notificationchannel.rbi +11 -0
- data/lib/moov/models/components/transfer.rb +2 -1
- data/lib/moov/models/components/updateinvoice.rb +6 -2
- data/lib/moov/models/components/updateinvoice.rbi +2 -0
- data/lib/moov/models/components/webhookdatatransferstatus.rb +1 -0
- data/lib/moov/models/components.rb +6 -0
- data/lib/moov/models/errors/createinvoiceerror.rb +14 -2
- data/lib/moov/models/errors/createinvoiceerror.rbi +6 -0
- data/lib/moov/models/errors/invoicenotificationerror.rb +36 -0
- data/lib/moov/models/errors/invoicenotificationerror.rbi +15 -0
- data/lib/moov/models/errors/invoicenotificationratelimitederror.rb +44 -0
- data/lib/moov/models/errors/invoicenotificationratelimitederror.rbi +19 -0
- data/lib/moov/models/errors/transfer_error.rb +2 -1
- data/lib/moov/models/errors/updateinvoiceerror.rb +6 -2
- data/lib/moov/models/errors/updateinvoiceerror.rbi +2 -0
- data/lib/moov/models/errors.rb +2 -0
- data/lib/moov/models/operations/createcancellation_request.rb +7 -2
- data/lib/moov/models/operations/createcancellation_request.rbi +2 -0
- data/lib/moov/models/operations/createinvoicenotification_request.rb +40 -0
- data/lib/moov/models/operations/createinvoicenotification_request.rbi +17 -0
- data/lib/moov/models/operations/createinvoicenotification_response.rb +44 -0
- data/lib/moov/models/operations/createinvoicenotification_response.rbi +19 -0
- data/lib/moov/models/operations/initiaterefund_request.rb +1 -1
- 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 +2 -0
- data/lib/moov/sdkconfiguration.rb +3 -3
- data/lib/moov/transfers.rb +6 -4
- metadata +22 -2
|
@@ -23,6 +23,8 @@ module Moov
|
|
|
23
23
|
# To completely discard an invoice created by mistake, use the delete endpoint instead.
|
|
24
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.
|
|
25
25
|
field :status, Crystalline::Nilable.new(Models::Components::InvoiceStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::InvoiceStatus, true) } }
|
|
26
|
+
# Payment options to update on the invoice.
|
|
27
|
+
field :payment, Crystalline::Nilable.new(Models::Components::InvoicePaymentOptionsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payment') } }
|
|
26
28
|
|
|
27
29
|
field :amount_details, Crystalline::Nilable.new(Models::Components::AmountDetailsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
28
30
|
|
|
@@ -30,11 +32,12 @@ module Moov
|
|
|
30
32
|
|
|
31
33
|
field :due_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('dueDate'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
32
34
|
|
|
33
|
-
sig { params(description: T.nilable(::String), line_items: T.nilable(Models::Components::CreateInvoiceLineItemsUpdate), status: T.nilable(Models::Components::InvoiceStatus), amount_details: T.nilable(Models::Components::AmountDetailsUpdate), invoice_date: T.nilable(::DateTime), due_date: T.nilable(::DateTime)).void }
|
|
34
|
-
def initialize(description: nil, line_items: nil, status: nil, amount_details: nil, invoice_date: nil, due_date: nil)
|
|
35
|
+
sig { params(description: T.nilable(::String), line_items: T.nilable(Models::Components::CreateInvoiceLineItemsUpdate), status: T.nilable(Models::Components::InvoiceStatus), payment: T.nilable(Models::Components::InvoicePaymentOptionsUpdate), amount_details: T.nilable(Models::Components::AmountDetailsUpdate), invoice_date: T.nilable(::DateTime), due_date: T.nilable(::DateTime)).void }
|
|
36
|
+
def initialize(description: nil, line_items: nil, status: nil, payment: nil, amount_details: nil, invoice_date: nil, due_date: nil)
|
|
35
37
|
@description = description
|
|
36
38
|
@line_items = line_items
|
|
37
39
|
@status = status
|
|
40
|
+
@payment = payment
|
|
38
41
|
@amount_details = amount_details
|
|
39
42
|
@invoice_date = invoice_date
|
|
40
43
|
@due_date = due_date
|
|
@@ -46,6 +49,7 @@ module Moov
|
|
|
46
49
|
return false unless @description == other.description
|
|
47
50
|
return false unless @line_items == other.line_items
|
|
48
51
|
return false unless @status == other.status
|
|
52
|
+
return false unless @payment == other.payment
|
|
49
53
|
return false unless @amount_details == other.amount_details
|
|
50
54
|
return false unless @invoice_date == other.invoice_date
|
|
51
55
|
return false unless @due_date == other.due_date
|
|
@@ -14,6 +14,8 @@ class Moov::Models::Components::UpdateInvoice
|
|
|
14
14
|
def line_items=(str_); end
|
|
15
15
|
def status(); end
|
|
16
16
|
def status=(str_); end
|
|
17
|
+
def payment(); end
|
|
18
|
+
def payment=(str_); end
|
|
17
19
|
def amount_details(); end
|
|
18
20
|
def amount_details=(str_); end
|
|
19
21
|
def invoice_date(); end
|
|
@@ -26,6 +26,7 @@ module Moov
|
|
|
26
26
|
SOURCE_SETTLED = new('source.settled')
|
|
27
27
|
SOURCE_FAILED = new('source.failed')
|
|
28
28
|
SOURCE_CANCELED = new('source.canceled')
|
|
29
|
+
SOURCE_CLEARED_EXTERNALLY = new('source.cleared-externally')
|
|
29
30
|
DESTINATION_COMPLETED = new('destination.completed')
|
|
30
31
|
DESTINATION_CORRECTED = new('destination.corrected')
|
|
31
32
|
DESTINATION_INITIATED = new('destination.initiated')
|
|
@@ -196,6 +196,7 @@ module Moov
|
|
|
196
196
|
autoload :CreateInvoiceLineItems, 'moov/models/components/createinvoicelineitems.rb'
|
|
197
197
|
autoload :CreateInvoiceLineItemsUpdate, 'moov/models/components/createinvoicelineitemsupdate.rb'
|
|
198
198
|
autoload :CreateInvoiceLineItemsValidationError, 'moov/models/components/createinvoicelineitemsvalidationerror.rb'
|
|
199
|
+
autoload :CreateInvoiceNotification, 'moov/models/components/createinvoicenotification.rb'
|
|
199
200
|
autoload :CreateInvoicePayment, 'moov/models/components/createinvoicepayment.rb'
|
|
200
201
|
autoload :CreatePaymentLink, 'moov/models/components/createpaymentlink.rb'
|
|
201
202
|
autoload :CreatePaymentLinkAmountDetails, 'moov/models/components/createpaymentlinkamountdetails.rb'
|
|
@@ -354,7 +355,11 @@ module Moov
|
|
|
354
355
|
autoload :InvoiceLineItemValidationError, 'moov/models/components/invoicelineitemvalidationerror.rb'
|
|
355
356
|
autoload :InvoiceLineItems, 'moov/models/components/invoicelineitems.rb'
|
|
356
357
|
autoload :InvoiceLineItemsValidationError, 'moov/models/components/invoicelineitemsvalidationerror.rb'
|
|
358
|
+
autoload :InvoiceNotificationLimitedChannel, 'moov/models/components/invoicenotificationlimitedchannel.rb'
|
|
357
359
|
autoload :InvoicePayment, 'moov/models/components/invoicepayment.rb'
|
|
360
|
+
autoload :InvoicePaymentOptions, 'moov/models/components/invoicepaymentoptions.rb'
|
|
361
|
+
autoload :InvoicePaymentOptionsError, 'moov/models/components/invoicepaymentoptionserror.rb'
|
|
362
|
+
autoload :InvoicePaymentOptionsUpdate, 'moov/models/components/invoicepaymentoptionsupdate.rb'
|
|
358
363
|
autoload :InvoicePaymentType, 'moov/models/components/invoicepaymenttype.rb'
|
|
359
364
|
autoload :InvoiceStatus, 'moov/models/components/invoicestatus.rb'
|
|
360
365
|
autoload :InvoiceTransferPayment, 'moov/models/components/invoicetransferpayment.rb'
|
|
@@ -424,6 +429,7 @@ module Moov
|
|
|
424
429
|
autoload :MoovWalletTransferPaymentMethod, 'moov/models/components/moovwallettransferpaymentmethod.rb'
|
|
425
430
|
autoload :MoovWalletTransferPaymentMethodPaymentMethodType, 'moov/models/components/moovwallettransferpaymentmethod_paymentmethodtype.rb'
|
|
426
431
|
autoload :MxPayload, 'moov/models/components/mxpayload.rb'
|
|
432
|
+
autoload :NotificationChannel, 'moov/models/components/notificationchannel.rb'
|
|
427
433
|
autoload :OAuth2ClientType, 'moov/models/components/oauth2clienttype.rb'
|
|
428
434
|
autoload :Occurrence, 'moov/models/components/occurrence.rb'
|
|
429
435
|
autoload :OccurrenceStatus, 'moov/models/components/occurrencestatus.rb'
|
|
@@ -15,6 +15,10 @@ module Moov
|
|
|
15
15
|
|
|
16
16
|
field :customer_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customerAccountID') } }
|
|
17
17
|
|
|
18
|
+
field :customer_email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customerEmail') } }
|
|
19
|
+
|
|
20
|
+
field :invoice_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoiceNumber') } }
|
|
21
|
+
|
|
18
22
|
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
|
|
19
23
|
|
|
20
24
|
field :line_items, Crystalline::Nilable.new(Models::Components::CreateInvoiceLineItemsValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
|
|
@@ -23,17 +27,22 @@ module Moov
|
|
|
23
27
|
|
|
24
28
|
field :due_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('dueDate') } }
|
|
25
29
|
|
|
30
|
+
field :payment, Crystalline::Nilable.new(Models::Components::InvoicePaymentOptionsError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payment') } }
|
|
31
|
+
|
|
26
32
|
field :amount_details, Crystalline::Nilable.new(Models::Components::AmountDetailsValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
27
33
|
# Raw HTTP response; suitable for custom response parsing
|
|
28
34
|
field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
|
|
29
35
|
|
|
30
|
-
sig { params(customer_account_id: T.nilable(::String), description: T.nilable(::String), line_items: T.nilable(Models::Components::CreateInvoiceLineItemsValidationError), invoice_date: T.nilable(::String), due_date: T.nilable(::String), amount_details: T.nilable(Models::Components::AmountDetailsValidationError), raw_response: T.nilable(::Faraday::Response)).void }
|
|
31
|
-
def initialize(customer_account_id: nil, description: nil, line_items: nil, invoice_date: nil, due_date: nil, amount_details: nil, raw_response: nil)
|
|
36
|
+
sig { params(customer_account_id: T.nilable(::String), customer_email: T.nilable(::String), invoice_number: T.nilable(::String), description: T.nilable(::String), line_items: T.nilable(Models::Components::CreateInvoiceLineItemsValidationError), invoice_date: T.nilable(::String), due_date: T.nilable(::String), payment: T.nilable(Models::Components::InvoicePaymentOptionsError), amount_details: T.nilable(Models::Components::AmountDetailsValidationError), raw_response: T.nilable(::Faraday::Response)).void }
|
|
37
|
+
def initialize(customer_account_id: nil, customer_email: nil, invoice_number: nil, description: nil, line_items: nil, invoice_date: nil, due_date: nil, payment: nil, amount_details: nil, raw_response: nil)
|
|
32
38
|
@customer_account_id = customer_account_id
|
|
39
|
+
@customer_email = customer_email
|
|
40
|
+
@invoice_number = invoice_number
|
|
33
41
|
@description = description
|
|
34
42
|
@line_items = line_items
|
|
35
43
|
@invoice_date = invoice_date
|
|
36
44
|
@due_date = due_date
|
|
45
|
+
@payment = payment
|
|
37
46
|
@amount_details = amount_details
|
|
38
47
|
@raw_response = raw_response
|
|
39
48
|
end
|
|
@@ -42,10 +51,13 @@ module Moov
|
|
|
42
51
|
def ==(other)
|
|
43
52
|
return false unless other.is_a? self.class
|
|
44
53
|
return false unless @customer_account_id == other.customer_account_id
|
|
54
|
+
return false unless @customer_email == other.customer_email
|
|
55
|
+
return false unless @invoice_number == other.invoice_number
|
|
45
56
|
return false unless @description == other.description
|
|
46
57
|
return false unless @line_items == other.line_items
|
|
47
58
|
return false unless @invoice_date == other.invoice_date
|
|
48
59
|
return false unless @due_date == other.due_date
|
|
60
|
+
return false unless @payment == other.payment
|
|
49
61
|
return false unless @amount_details == other.amount_details
|
|
50
62
|
return false unless @raw_response == other.raw_response
|
|
51
63
|
true
|
|
@@ -10,6 +10,10 @@ end
|
|
|
10
10
|
class Moov::Models::Errors::CreateInvoiceError
|
|
11
11
|
def customer_account_id(); end
|
|
12
12
|
def customer_account_id=(str_); end
|
|
13
|
+
def customer_email(); end
|
|
14
|
+
def customer_email=(str_); end
|
|
15
|
+
def invoice_number(); end
|
|
16
|
+
def invoice_number=(str_); end
|
|
13
17
|
def description(); end
|
|
14
18
|
def description=(str_); end
|
|
15
19
|
def line_items(); end
|
|
@@ -18,6 +22,8 @@ class Moov::Models::Errors::CreateInvoiceError
|
|
|
18
22
|
def invoice_date=(str_); end
|
|
19
23
|
def due_date(); end
|
|
20
24
|
def due_date=(str_); end
|
|
25
|
+
def payment(); end
|
|
26
|
+
def payment=(str_); end
|
|
21
27
|
def amount_details(); end
|
|
22
28
|
def amount_details=(str_); end
|
|
23
29
|
def raw_response(); 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 Errors
|
|
10
|
+
|
|
11
|
+
class InvoiceNotificationError < StandardError
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :channels, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('channels') } }
|
|
17
|
+
# Raw HTTP response; suitable for custom response parsing
|
|
18
|
+
field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
|
|
19
|
+
|
|
20
|
+
sig { params(channels: T.nilable(::String), raw_response: T.nilable(::Faraday::Response)).void }
|
|
21
|
+
def initialize(channels: nil, raw_response: nil)
|
|
22
|
+
@channels = channels
|
|
23
|
+
@raw_response = raw_response
|
|
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 @channels == other.channels
|
|
30
|
+
return false unless @raw_response == other.raw_response
|
|
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::Errors::InvoiceNotificationError
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Errors::InvoiceNotificationError
|
|
11
|
+
def channels(); end
|
|
12
|
+
def channels=(str_); end
|
|
13
|
+
def raw_response(); end
|
|
14
|
+
def raw_response=(str_); end
|
|
15
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Errors
|
|
10
|
+
|
|
11
|
+
class InvoiceNotificationRateLimitedError < StandardError
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# A description of the rate limit error.
|
|
16
|
+
field :error, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('error'), required: true } }
|
|
17
|
+
# The requested channels that are rate limited.
|
|
18
|
+
field :limited_channels, Crystalline::Array.new(Models::Components::InvoiceNotificationLimitedChannel), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('limitedChannels'), required: true } }
|
|
19
|
+
# The requested channels that are not rate limited and can be sent in a new request.
|
|
20
|
+
field :available_channels, Crystalline::Array.new(Models::Components::NotificationChannel), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('availableChannels'), required: true } }
|
|
21
|
+
# Raw HTTP response; suitable for custom response parsing
|
|
22
|
+
field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
|
|
23
|
+
|
|
24
|
+
sig { params(error: ::String, limited_channels: T::Array[Models::Components::InvoiceNotificationLimitedChannel], available_channels: T::Array[Models::Components::NotificationChannel], raw_response: T.nilable(::Faraday::Response)).void }
|
|
25
|
+
def initialize(error:, limited_channels:, available_channels:, raw_response: nil)
|
|
26
|
+
@error = error
|
|
27
|
+
@limited_channels = limited_channels
|
|
28
|
+
@available_channels = available_channels
|
|
29
|
+
@raw_response = raw_response
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
33
|
+
def ==(other)
|
|
34
|
+
return false unless other.is_a? self.class
|
|
35
|
+
return false unless @error == other.error
|
|
36
|
+
return false unless @limited_channels == other.limited_channels
|
|
37
|
+
return false unless @available_channels == other.available_channels
|
|
38
|
+
return false unless @raw_response == other.raw_response
|
|
39
|
+
true
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Errors::InvoiceNotificationRateLimitedError
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Errors::InvoiceNotificationRateLimitedError
|
|
11
|
+
def error(); end
|
|
12
|
+
def error=(str_); end
|
|
13
|
+
def limited_channels(); end
|
|
14
|
+
def limited_channels=(str_); end
|
|
15
|
+
def available_channels(); end
|
|
16
|
+
def available_channels=(str_); end
|
|
17
|
+
def raw_response(); end
|
|
18
|
+
def raw_response=(str_); end
|
|
19
|
+
end
|
|
@@ -72,7 +72,8 @@ module Moov
|
|
|
72
72
|
field :line_items, Crystalline::Nilable.new(Models::Components::TransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
|
|
73
73
|
# ID of the invoice that the transfer is associated with.
|
|
74
74
|
field :invoice_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoiceID') } }
|
|
75
|
-
|
|
75
|
+
# The tip, tax, and surcharge portion of the transfer amount.
|
|
76
|
+
# For an auth-capture `card-payment` transfer, this is the aggregate of all captures' `amountDetails`.
|
|
76
77
|
field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
77
78
|
# The card authorization and capture IDs associated with a transfer.
|
|
78
79
|
field :capture, Crystalline::Nilable.new(Models::Components::TransferCapture), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capture') } }
|
|
@@ -23,17 +23,20 @@ module Moov
|
|
|
23
23
|
|
|
24
24
|
field :status, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status') } }
|
|
25
25
|
|
|
26
|
+
field :payment, Crystalline::Nilable.new(Models::Components::InvoicePaymentOptionsError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payment') } }
|
|
27
|
+
|
|
26
28
|
field :amount_details, Crystalline::Nilable.new(Models::Components::AmountDetailsValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
27
29
|
# Raw HTTP response; suitable for custom response parsing
|
|
28
30
|
field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
|
|
29
31
|
|
|
30
|
-
sig { params(description: T.nilable(::String), line_items: T.nilable(Models::Components::InvoiceLineItemsValidationError), invoice_date: T.nilable(::String), due_date: T.nilable(::String), status: T.nilable(::String), amount_details: T.nilable(Models::Components::AmountDetailsValidationError), raw_response: T.nilable(::Faraday::Response)).void }
|
|
31
|
-
def initialize(description: nil, line_items: nil, invoice_date: nil, due_date: nil, status: nil, amount_details: nil, raw_response: nil)
|
|
32
|
+
sig { params(description: T.nilable(::String), line_items: T.nilable(Models::Components::InvoiceLineItemsValidationError), invoice_date: T.nilable(::String), due_date: T.nilable(::String), status: T.nilable(::String), payment: T.nilable(Models::Components::InvoicePaymentOptionsError), amount_details: T.nilable(Models::Components::AmountDetailsValidationError), raw_response: T.nilable(::Faraday::Response)).void }
|
|
33
|
+
def initialize(description: nil, line_items: nil, invoice_date: nil, due_date: nil, status: nil, payment: nil, amount_details: nil, raw_response: nil)
|
|
32
34
|
@description = description
|
|
33
35
|
@line_items = line_items
|
|
34
36
|
@invoice_date = invoice_date
|
|
35
37
|
@due_date = due_date
|
|
36
38
|
@status = status
|
|
39
|
+
@payment = payment
|
|
37
40
|
@amount_details = amount_details
|
|
38
41
|
@raw_response = raw_response
|
|
39
42
|
end
|
|
@@ -46,6 +49,7 @@ module Moov
|
|
|
46
49
|
return false unless @invoice_date == other.invoice_date
|
|
47
50
|
return false unless @due_date == other.due_date
|
|
48
51
|
return false unless @status == other.status
|
|
52
|
+
return false unless @payment == other.payment
|
|
49
53
|
return false unless @amount_details == other.amount_details
|
|
50
54
|
return false unless @raw_response == other.raw_response
|
|
51
55
|
true
|
|
@@ -18,6 +18,8 @@ class Moov::Models::Errors::UpdateInvoiceError
|
|
|
18
18
|
def due_date=(str_); end
|
|
19
19
|
def status(); end
|
|
20
20
|
def status=(str_); end
|
|
21
|
+
def payment(); end
|
|
22
|
+
def payment=(str_); end
|
|
21
23
|
def amount_details(); end
|
|
22
24
|
def amount_details=(str_); end
|
|
23
25
|
def raw_response(); end
|
data/lib/moov/models/errors.rb
CHANGED
|
@@ -33,6 +33,8 @@ module Moov
|
|
|
33
33
|
autoload :GenericError, 'moov/models/errors/genericerror.rb'
|
|
34
34
|
autoload :ImageMetadataValidationError, 'moov/models/errors/imagemetadatavalidationerror.rb'
|
|
35
35
|
autoload :ImageRequestValidationError, 'moov/models/errors/imagerequestvalidationerror.rb'
|
|
36
|
+
autoload :InvoiceNotificationError, 'moov/models/errors/invoicenotificationerror.rb'
|
|
37
|
+
autoload :InvoiceNotificationRateLimitedError, 'moov/models/errors/invoicenotificationratelimitederror.rb'
|
|
36
38
|
autoload :LinkApplePayError, 'moov/models/errors/linkapplepayerror.rb'
|
|
37
39
|
autoload :LinkCardError, 'moov/models/errors/linkcarderror.rb'
|
|
38
40
|
autoload :LinkGooglePayError, 'moov/models/errors/linkgooglepayerror.rb'
|
|
@@ -16,11 +16,15 @@ module Moov
|
|
|
16
16
|
field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
|
|
17
17
|
# The transfer ID to cancel.
|
|
18
18
|
field :transfer_id, ::String, { 'path_param': { 'field_name': 'transferID', 'style': 'simple', 'explode': false } }
|
|
19
|
+
# Prevents duplicate cancellations from being created.
|
|
20
|
+
# In v2026.10 and later, this header is required, and reusing a key returns a `409` response with the original cancellation.
|
|
21
|
+
field :x_idempotency_key, Crystalline::Nilable.new(::String), { 'header': { 'field_name': 'x-idempotency-key', 'style': 'simple', 'explode': false } }
|
|
19
22
|
|
|
20
|
-
sig { params(account_id: ::String, transfer_id: ::String).void }
|
|
21
|
-
def initialize(account_id:, transfer_id:)
|
|
23
|
+
sig { params(account_id: ::String, transfer_id: ::String, x_idempotency_key: T.nilable(::String)).void }
|
|
24
|
+
def initialize(account_id:, transfer_id:, x_idempotency_key: nil)
|
|
22
25
|
@account_id = account_id
|
|
23
26
|
@transfer_id = transfer_id
|
|
27
|
+
@x_idempotency_key = x_idempotency_key
|
|
24
28
|
end
|
|
25
29
|
|
|
26
30
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -28,6 +32,7 @@ module Moov
|
|
|
28
32
|
return false unless other.is_a? self.class
|
|
29
33
|
return false unless @account_id == other.account_id
|
|
30
34
|
return false unless @transfer_id == other.transfer_id
|
|
35
|
+
return false unless @x_idempotency_key == other.x_idempotency_key
|
|
31
36
|
true
|
|
32
37
|
end
|
|
33
38
|
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 Operations
|
|
10
|
+
|
|
11
|
+
class CreateInvoiceNotificationRequest
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
|
|
17
|
+
|
|
18
|
+
field :invoice_id, ::String, { 'path_param': { 'field_name': 'invoiceID', 'style': 'simple', 'explode': false } }
|
|
19
|
+
|
|
20
|
+
field :create_invoice_notification, Models::Components::CreateInvoiceNotification, { 'request': { 'media_type': 'application/json' } }
|
|
21
|
+
|
|
22
|
+
sig { params(account_id: ::String, invoice_id: ::String, create_invoice_notification: Models::Components::CreateInvoiceNotification).void }
|
|
23
|
+
def initialize(account_id:, invoice_id:, create_invoice_notification:)
|
|
24
|
+
@account_id = account_id
|
|
25
|
+
@invoice_id = invoice_id
|
|
26
|
+
@create_invoice_notification = create_invoice_notification
|
|
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 @account_id == other.account_id
|
|
33
|
+
return false unless @invoice_id == other.invoice_id
|
|
34
|
+
return false unless @create_invoice_notification == other.create_invoice_notification
|
|
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::Operations::CreateInvoiceNotificationRequest
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Operations::CreateInvoiceNotificationRequest
|
|
11
|
+
def account_id(); end
|
|
12
|
+
def account_id=(str_); end
|
|
13
|
+
def invoice_id(); end
|
|
14
|
+
def invoice_id=(str_); end
|
|
15
|
+
def create_invoice_notification(); end
|
|
16
|
+
def create_invoice_notification=(str_); end
|
|
17
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Operations
|
|
10
|
+
|
|
11
|
+
class CreateInvoiceNotificationResponse
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# HTTP response content type for this operation
|
|
16
|
+
field :content_type, ::String
|
|
17
|
+
# HTTP response status code for this operation
|
|
18
|
+
field :status_code, ::Integer
|
|
19
|
+
# Raw HTTP response; suitable for custom response parsing
|
|
20
|
+
field :raw_response, ::Faraday::Response
|
|
21
|
+
|
|
22
|
+
field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
|
|
23
|
+
|
|
24
|
+
sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]]).void }
|
|
25
|
+
def initialize(content_type:, status_code:, raw_response:, headers:)
|
|
26
|
+
@content_type = content_type
|
|
27
|
+
@status_code = status_code
|
|
28
|
+
@raw_response = raw_response
|
|
29
|
+
@headers = headers
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
33
|
+
def ==(other)
|
|
34
|
+
return false unless other.is_a? self.class
|
|
35
|
+
return false unless @content_type == other.content_type
|
|
36
|
+
return false unless @status_code == other.status_code
|
|
37
|
+
return false unless @raw_response == other.raw_response
|
|
38
|
+
return false unless @headers == other.headers
|
|
39
|
+
true
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Operations::CreateInvoiceNotificationResponse
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Operations::CreateInvoiceNotificationResponse
|
|
11
|
+
def content_type(); end
|
|
12
|
+
def content_type=(str_); end
|
|
13
|
+
def status_code(); end
|
|
14
|
+
def status_code=(str_); end
|
|
15
|
+
def raw_response(); end
|
|
16
|
+
def raw_response=(str_); end
|
|
17
|
+
def headers(); end
|
|
18
|
+
def headers=(str_); end
|
|
19
|
+
end
|
|
@@ -14,7 +14,7 @@ module Moov
|
|
|
14
14
|
|
|
15
15
|
# Prevents duplicate refunds from being created.
|
|
16
16
|
field :x_idempotency_key, ::String, { 'header': { 'field_name': 'x-idempotency-key', 'style': 'simple', 'explode': false } }
|
|
17
|
-
#
|
|
17
|
+
# Moov account ID of the partner for the transfer.
|
|
18
18
|
field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
|
|
19
19
|
# Identifier for the transfer.
|
|
20
20
|
field :transfer_id, ::String, { 'path_param': { 'field_name': 'transferID', 'style': 'simple', 'explode': false } }
|
|
@@ -36,6 +36,8 @@ module Moov
|
|
|
36
36
|
field :foreign_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'foreignID', 'style': 'form', 'explode': false } }
|
|
37
37
|
# Optional comma-separated authorization IDs.
|
|
38
38
|
field :authorization_i_ds, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'authorizationIDs', 'style': 'form', 'explode': false } }
|
|
39
|
+
# Optional comma-separated invoice IDs.
|
|
40
|
+
field :invoice_i_ds, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'invoiceIDs', 'style': 'form', 'explode': false } }
|
|
39
41
|
# Optional comma-separated IDs to filter for transfers associated with specific card captures.
|
|
40
42
|
field :capture_i_ds, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'captureIDs', 'style': 'form', 'explode': false } }
|
|
41
43
|
|
|
@@ -43,8 +45,8 @@ module Moov
|
|
|
43
45
|
# Page size. When omitted, the server defaults to `200`.
|
|
44
46
|
field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
|
|
45
47
|
|
|
46
|
-
sig { params(account_id: ::String, account_i_ds: T.nilable(T::Array[::String]), status: T.nilable(Models::Components::TransferStatus), start_date_time: T.nilable(::DateTime), end_date_time: T.nilable(::DateTime), group_id: T.nilable(::String), schedule_id: T.nilable(::String), payment_link_code: T.nilable(::String), refunded: T.nilable(T::Boolean), disputed: T.nilable(T::Boolean), foreign_id: T.nilable(::String), authorization_i_ds: T.nilable(T::Array[::String]), capture_i_ds: T.nilable(T::Array[::String]), skip: T.nilable(::Integer), count: T.nilable(::Integer)).void }
|
|
47
|
-
def initialize(account_id:, account_i_ds: nil, status: nil, start_date_time: nil, end_date_time: nil, group_id: nil, schedule_id: nil, payment_link_code: nil, refunded: nil, disputed: nil, foreign_id: nil, authorization_i_ds: nil, capture_i_ds: nil, skip: nil, count: nil)
|
|
48
|
+
sig { params(account_id: ::String, account_i_ds: T.nilable(T::Array[::String]), status: T.nilable(Models::Components::TransferStatus), start_date_time: T.nilable(::DateTime), end_date_time: T.nilable(::DateTime), group_id: T.nilable(::String), schedule_id: T.nilable(::String), payment_link_code: T.nilable(::String), refunded: T.nilable(T::Boolean), disputed: T.nilable(T::Boolean), foreign_id: T.nilable(::String), authorization_i_ds: T.nilable(T::Array[::String]), invoice_i_ds: T.nilable(T::Array[::String]), capture_i_ds: T.nilable(T::Array[::String]), skip: T.nilable(::Integer), count: T.nilable(::Integer)).void }
|
|
49
|
+
def initialize(account_id:, account_i_ds: nil, status: nil, start_date_time: nil, end_date_time: nil, group_id: nil, schedule_id: nil, payment_link_code: nil, refunded: nil, disputed: nil, foreign_id: nil, authorization_i_ds: nil, invoice_i_ds: nil, capture_i_ds: nil, skip: nil, count: nil)
|
|
48
50
|
@account_id = account_id
|
|
49
51
|
@account_i_ds = account_i_ds
|
|
50
52
|
@status = status
|
|
@@ -57,6 +59,7 @@ module Moov
|
|
|
57
59
|
@disputed = disputed
|
|
58
60
|
@foreign_id = foreign_id
|
|
59
61
|
@authorization_i_ds = authorization_i_ds
|
|
62
|
+
@invoice_i_ds = invoice_i_ds
|
|
60
63
|
@capture_i_ds = capture_i_ds
|
|
61
64
|
@skip = skip
|
|
62
65
|
@count = count
|
|
@@ -77,6 +80,7 @@ module Moov
|
|
|
77
80
|
return false unless @disputed == other.disputed
|
|
78
81
|
return false unless @foreign_id == other.foreign_id
|
|
79
82
|
return false unless @authorization_i_ds == other.authorization_i_ds
|
|
83
|
+
return false unless @invoice_i_ds == other.invoice_i_ds
|
|
80
84
|
return false unless @capture_i_ds == other.capture_i_ds
|
|
81
85
|
return false unless @skip == other.skip
|
|
82
86
|
return false unless @count == other.count
|
|
@@ -32,6 +32,8 @@ class Moov::Models::Operations::ListTransfersRequest
|
|
|
32
32
|
def foreign_id=(str_); end
|
|
33
33
|
def authorization_i_ds(); end
|
|
34
34
|
def authorization_i_ds=(str_); end
|
|
35
|
+
def invoice_i_ds(); end
|
|
36
|
+
def invoice_i_ds=(str_); end
|
|
35
37
|
def capture_i_ds(); end
|
|
36
38
|
def capture_i_ds=(str_); end
|
|
37
39
|
def skip(); end
|
|
@@ -32,6 +32,8 @@ module Moov
|
|
|
32
32
|
autoload :CreateDepositAccountResponse, 'moov/models/operations/createdepositaccount_response.rb'
|
|
33
33
|
autoload :CreateFeePlanAgreementsRequest, 'moov/models/operations/createfeeplanagreements_request.rb'
|
|
34
34
|
autoload :CreateFeePlanAgreementsResponse, 'moov/models/operations/createfeeplanagreements_response.rb'
|
|
35
|
+
autoload :CreateInvoiceNotificationRequest, 'moov/models/operations/createinvoicenotification_request.rb'
|
|
36
|
+
autoload :CreateInvoiceNotificationResponse, 'moov/models/operations/createinvoicenotification_response.rb'
|
|
35
37
|
autoload :CreateInvoicePaymentRequest, 'moov/models/operations/createinvoicepayment_request.rb'
|
|
36
38
|
autoload :CreateInvoicePaymentResponse, 'moov/models/operations/createinvoicepayment_response.rb'
|
|
37
39
|
autoload :CreateInvoiceRequest, 'moov/models/operations/createinvoice_request.rb'
|
|
@@ -88,9 +88,9 @@ module Moov
|
|
|
88
88
|
end
|
|
89
89
|
@language = 'ruby'
|
|
90
90
|
@openapi_doc_version = 'v2026.07.00'
|
|
91
|
-
@sdk_version = '26.7.
|
|
92
|
-
@gen_version = '2.
|
|
93
|
-
@user_agent = 'speakeasy-sdk/ruby 26.7.
|
|
91
|
+
@sdk_version = '26.7.8'
|
|
92
|
+
@gen_version = '2.950.2'
|
|
93
|
+
@user_agent = 'speakeasy-sdk/ruby 26.7.8 2.950.2 v2026.07.00 moov_ruby'
|
|
94
94
|
end
|
|
95
95
|
|
|
96
96
|
sig { returns([String, T::Hash[Symbol, String]]) }
|
data/lib/moov/transfers.rb
CHANGED
|
@@ -1000,8 +1000,8 @@ module Moov
|
|
|
1000
1000
|
end
|
|
1001
1001
|
|
|
1002
1002
|
|
|
1003
|
-
sig { params(account_id: ::String, transfer_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::CreateCancellationResponse) }
|
|
1004
|
-
def create_cancellation(account_id:, transfer_id:, timeout_ms: nil, http_headers: nil)
|
|
1003
|
+
sig { params(account_id: ::String, transfer_id: ::String, x_idempotency_key: T.nilable(::String), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::CreateCancellationResponse) }
|
|
1004
|
+
def create_cancellation(account_id:, transfer_id:, x_idempotency_key: nil, timeout_ms: nil, http_headers: nil)
|
|
1005
1005
|
# create_cancellation - Initiate a cancellation for a card, ACH, or queued transfer.
|
|
1006
1006
|
#
|
|
1007
1007
|
# In v2026.10 and later, an auth-capture `card-payment` transfer can be canceled before any captures exist.
|
|
@@ -1011,7 +1011,8 @@ module Moov
|
|
|
1011
1011
|
# to specify the `/accounts/{accountID}/transfers.write` scope.
|
|
1012
1012
|
request = Models::Operations::CreateCancellationRequest.new(
|
|
1013
1013
|
account_id: account_id,
|
|
1014
|
-
transfer_id: transfer_id
|
|
1014
|
+
transfer_id: transfer_id,
|
|
1015
|
+
x_idempotency_key: x_idempotency_key
|
|
1015
1016
|
)
|
|
1016
1017
|
url, params = @sdk_configuration.get_server_details
|
|
1017
1018
|
base_url = Utils.template_url(url, params)
|
|
@@ -1021,7 +1022,7 @@ module Moov
|
|
|
1021
1022
|
'/accounts/{accountID}/transfers/{transferID}/cancellations',
|
|
1022
1023
|
request
|
|
1023
1024
|
)
|
|
1024
|
-
headers =
|
|
1025
|
+
headers = Utils.get_headers(request)
|
|
1025
1026
|
headers = T.cast(headers, T::Hash[String, String])
|
|
1026
1027
|
headers['Accept'] = 'application/json'
|
|
1027
1028
|
headers['user-agent'] = @sdk_configuration.user_agent
|
|
@@ -1391,6 +1392,7 @@ module Moov
|
|
|
1391
1392
|
sig { params(request: Models::Operations::InitiateRefundRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::InitiateRefundResponse) }
|
|
1392
1393
|
def initiate_refund(request:, timeout_ms: nil, http_headers: nil)
|
|
1393
1394
|
# initiate_refund - Initiate a refund for a card transfer.
|
|
1395
|
+
# The `accountID` must identify the partner account for the transfer.
|
|
1394
1396
|
#
|
|
1395
1397
|
# **Use the [Cancel or refund a card transfer](https://docs.moov.io/api/money-movement/refunds/cancel/) endpoint for more comprehensive cancel and refund options.**
|
|
1396
1398
|
# See the [reversals](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/reversals/) guide for more information.
|