moov_ruby 26.7.7 → 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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/invoices.rb +180 -0
  3. data/lib/moov/models/components/createinvoice.rb +10 -2
  4. data/lib/moov/models/components/createinvoice.rbi +4 -0
  5. data/lib/moov/models/components/createinvoicenotification.rb +32 -0
  6. data/lib/moov/models/components/createinvoicenotification.rbi +13 -0
  7. data/lib/moov/models/components/invoice.rb +6 -2
  8. data/lib/moov/models/components/invoice.rbi +2 -0
  9. data/lib/moov/models/components/invoicenotificationlimitedchannel.rb +36 -0
  10. data/lib/moov/models/components/invoicenotificationlimitedchannel.rbi +15 -0
  11. data/lib/moov/models/components/invoicepaymentoptions.rb +40 -0
  12. data/lib/moov/models/components/invoicepaymentoptions.rbi +17 -0
  13. data/lib/moov/models/components/invoicepaymentoptionserror.rb +40 -0
  14. data/lib/moov/models/components/invoicepaymentoptionserror.rbi +17 -0
  15. data/lib/moov/models/components/invoicepaymentoptionsupdate.rb +40 -0
  16. data/lib/moov/models/components/invoicepaymentoptionsupdate.rbi +17 -0
  17. data/lib/moov/models/components/notificationchannel.rb +18 -0
  18. data/lib/moov/models/components/notificationchannel.rbi +11 -0
  19. data/lib/moov/models/components/updateinvoice.rb +6 -2
  20. data/lib/moov/models/components/updateinvoice.rbi +2 -0
  21. data/lib/moov/models/components.rb +6 -0
  22. data/lib/moov/models/errors/createinvoiceerror.rb +10 -2
  23. data/lib/moov/models/errors/createinvoiceerror.rbi +4 -0
  24. data/lib/moov/models/errors/invoicenotificationerror.rb +36 -0
  25. data/lib/moov/models/errors/invoicenotificationerror.rbi +15 -0
  26. data/lib/moov/models/errors/invoicenotificationratelimitederror.rb +44 -0
  27. data/lib/moov/models/errors/invoicenotificationratelimitederror.rbi +19 -0
  28. data/lib/moov/models/errors/updateinvoiceerror.rb +6 -2
  29. data/lib/moov/models/errors/updateinvoiceerror.rbi +2 -0
  30. data/lib/moov/models/errors.rb +2 -0
  31. data/lib/moov/models/operations/createcancellation_request.rb +7 -2
  32. data/lib/moov/models/operations/createcancellation_request.rbi +2 -0
  33. data/lib/moov/models/operations/createinvoicenotification_request.rb +40 -0
  34. data/lib/moov/models/operations/createinvoicenotification_request.rbi +17 -0
  35. data/lib/moov/models/operations/createinvoicenotification_response.rb +44 -0
  36. data/lib/moov/models/operations/createinvoicenotification_response.rbi +19 -0
  37. data/lib/moov/models/operations/initiaterefund_request.rb +1 -1
  38. data/lib/moov/models/operations.rb +2 -0
  39. data/lib/moov/sdkconfiguration.rb +3 -3
  40. data/lib/moov/transfers.rb +6 -4
  41. metadata +22 -2
@@ -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
@@ -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'
@@ -17,6 +17,8 @@ module Moov
17
17
 
18
18
  field :customer_email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customerEmail') } }
19
19
 
20
+ field :invoice_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoiceNumber') } }
21
+
20
22
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
21
23
 
22
24
  field :line_items, Crystalline::Nilable.new(Models::Components::CreateInvoiceLineItemsValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
@@ -25,18 +27,22 @@ module Moov
25
27
 
26
28
  field :due_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('dueDate') } }
27
29
 
30
+ field :payment, Crystalline::Nilable.new(Models::Components::InvoicePaymentOptionsError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payment') } }
31
+
28
32
  field :amount_details, Crystalline::Nilable.new(Models::Components::AmountDetailsValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
29
33
  # Raw HTTP response; suitable for custom response parsing
30
34
  field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
31
35
 
32
- sig { params(customer_account_id: T.nilable(::String), customer_email: 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 }
33
- def initialize(customer_account_id: nil, customer_email: 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)
34
38
  @customer_account_id = customer_account_id
35
39
  @customer_email = customer_email
40
+ @invoice_number = invoice_number
36
41
  @description = description
37
42
  @line_items = line_items
38
43
  @invoice_date = invoice_date
39
44
  @due_date = due_date
45
+ @payment = payment
40
46
  @amount_details = amount_details
41
47
  @raw_response = raw_response
42
48
  end
@@ -46,10 +52,12 @@ module Moov
46
52
  return false unless other.is_a? self.class
47
53
  return false unless @customer_account_id == other.customer_account_id
48
54
  return false unless @customer_email == other.customer_email
55
+ return false unless @invoice_number == other.invoice_number
49
56
  return false unless @description == other.description
50
57
  return false unless @line_items == other.line_items
51
58
  return false unless @invoice_date == other.invoice_date
52
59
  return false unless @due_date == other.due_date
60
+ return false unless @payment == other.payment
53
61
  return false unless @amount_details == other.amount_details
54
62
  return false unless @raw_response == other.raw_response
55
63
  true
@@ -12,6 +12,8 @@ class Moov::Models::Errors::CreateInvoiceError
12
12
  def customer_account_id=(str_); end
13
13
  def customer_email(); end
14
14
  def customer_email=(str_); end
15
+ def invoice_number(); end
16
+ def invoice_number=(str_); end
15
17
  def description(); end
16
18
  def description=(str_); end
17
19
  def line_items(); end
@@ -20,6 +22,8 @@ class Moov::Models::Errors::CreateInvoiceError
20
22
  def invoice_date=(str_); end
21
23
  def due_date(); end
22
24
  def due_date=(str_); end
25
+ def payment(); end
26
+ def payment=(str_); end
23
27
  def amount_details(); end
24
28
  def amount_details=(str_); end
25
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
@@ -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
@@ -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
@@ -12,4 +12,6 @@ class Moov::Models::Operations::CreateCancellationRequest
12
12
  def account_id=(str_); end
13
13
  def transfer_id(); end
14
14
  def transfer_id=(str_); end
15
+ def x_idempotency_key(); end
16
+ def x_idempotency_key=(str_); end
15
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 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
- # The merchant's Moov account ID.
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 } }
@@ -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.7'
92
- @gen_version = '2.943.0'
93
- @user_agent = 'speakeasy-sdk/ruby 26.7.7 2.943.0 v2026.07.00 moov_ruby'
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]]) }
@@ -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.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moov_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 26.7.7
4
+ version: 26.7.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Speakeasy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-10-02 00:00:00.000000000 Z
11
+ date: 2026-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -665,6 +665,8 @@ files:
665
665
  - lib/moov/models/components/createinvoicelineitemsvalidationerror.rbi
666
666
  - lib/moov/models/components/createinvoicelineitemvalidationerror.rb
667
667
  - lib/moov/models/components/createinvoicelineitemvalidationerror.rbi
668
+ - lib/moov/models/components/createinvoicenotification.rb
669
+ - lib/moov/models/components/createinvoicenotification.rbi
668
670
  - lib/moov/models/components/createinvoicepayment.rb
669
671
  - lib/moov/models/components/createinvoicepayment.rbi
670
672
  - lib/moov/models/components/createpaymentlink.rb
@@ -981,8 +983,16 @@ files:
981
983
  - lib/moov/models/components/invoicelineitemsvalidationerror.rbi
982
984
  - lib/moov/models/components/invoicelineitemvalidationerror.rb
983
985
  - lib/moov/models/components/invoicelineitemvalidationerror.rbi
986
+ - lib/moov/models/components/invoicenotificationlimitedchannel.rb
987
+ - lib/moov/models/components/invoicenotificationlimitedchannel.rbi
984
988
  - lib/moov/models/components/invoicepayment.rb
985
989
  - lib/moov/models/components/invoicepayment.rbi
990
+ - lib/moov/models/components/invoicepaymentoptions.rb
991
+ - lib/moov/models/components/invoicepaymentoptions.rbi
992
+ - lib/moov/models/components/invoicepaymentoptionserror.rb
993
+ - lib/moov/models/components/invoicepaymentoptionserror.rbi
994
+ - lib/moov/models/components/invoicepaymentoptionsupdate.rb
995
+ - lib/moov/models/components/invoicepaymentoptionsupdate.rbi
986
996
  - lib/moov/models/components/invoicepaymenttype.rb
987
997
  - lib/moov/models/components/invoicepaymenttype.rbi
988
998
  - lib/moov/models/components/invoicestatus.rb
@@ -1127,6 +1137,8 @@ files:
1127
1137
  - lib/moov/models/components/mxauthorizationcode.rbi
1128
1138
  - lib/moov/models/components/mxpayload.rb
1129
1139
  - lib/moov/models/components/mxpayload.rbi
1140
+ - lib/moov/models/components/notificationchannel.rb
1141
+ - lib/moov/models/components/notificationchannel.rbi
1130
1142
  - lib/moov/models/components/oauth2clienttype.rb
1131
1143
  - lib/moov/models/components/oauth2clienttype.rbi
1132
1144
  - lib/moov/models/components/occurrence.rb
@@ -1836,6 +1848,10 @@ files:
1836
1848
  - lib/moov/models/errors/imagemetadatavalidationerror.rbi
1837
1849
  - lib/moov/models/errors/imagerequestvalidationerror.rb
1838
1850
  - lib/moov/models/errors/imagerequestvalidationerror.rbi
1851
+ - lib/moov/models/errors/invoicenotificationerror.rb
1852
+ - lib/moov/models/errors/invoicenotificationerror.rbi
1853
+ - lib/moov/models/errors/invoicenotificationratelimitederror.rb
1854
+ - lib/moov/models/errors/invoicenotificationratelimitederror.rbi
1839
1855
  - lib/moov/models/errors/linkapplepayerror.rb
1840
1856
  - lib/moov/models/errors/linkapplepayerror.rbi
1841
1857
  - lib/moov/models/errors/linkcarderror.rb
@@ -1959,6 +1975,10 @@ files:
1959
1975
  - lib/moov/models/operations/createinvoice_request.rbi
1960
1976
  - lib/moov/models/operations/createinvoice_response.rb
1961
1977
  - lib/moov/models/operations/createinvoice_response.rbi
1978
+ - lib/moov/models/operations/createinvoicenotification_request.rb
1979
+ - lib/moov/models/operations/createinvoicenotification_request.rbi
1980
+ - lib/moov/models/operations/createinvoicenotification_response.rb
1981
+ - lib/moov/models/operations/createinvoicenotification_response.rbi
1962
1982
  - lib/moov/models/operations/createinvoicepayment_request.rb
1963
1983
  - lib/moov/models/operations/createinvoicepayment_request.rbi
1964
1984
  - lib/moov/models/operations/createinvoicepayment_response.rb