moov_ruby 26.4.0.pre.dev.9 → 26.4.0.pre.dev.10

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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/types.rb +11 -3
  3. data/lib/moov/account_terminal_applications.rb +23 -9
  4. data/lib/moov/accounts.rb +58 -23
  5. data/lib/moov/adjustments.rb +13 -5
  6. data/lib/moov/apple_pay.rb +28 -11
  7. data/lib/moov/authentication.rb +13 -5
  8. data/lib/moov/avatars.rb +8 -3
  9. data/lib/moov/bank_accounts.rb +48 -19
  10. data/lib/moov/branding.rb +18 -7
  11. data/lib/moov/capabilities.rb +23 -9
  12. data/lib/moov/card_issuing.rb +28 -11
  13. data/lib/moov/cards.rb +28 -11
  14. data/lib/moov/client.rb +2 -1
  15. data/lib/moov/disputes.rb +58 -23
  16. data/lib/moov/end_to_end_encryption.rb +13 -5
  17. data/lib/moov/enriched_address.rb +8 -3
  18. data/lib/moov/enriched_profile.rb +8 -3
  19. data/lib/moov/fee_plans.rb +53 -21
  20. data/lib/moov/files.rb +18 -7
  21. data/lib/moov/images.rb +39 -19
  22. data/lib/moov/industries.rb +8 -3
  23. data/lib/moov/institutions.rb +13 -5
  24. data/lib/moov/invoices.rb +170 -13
  25. data/lib/moov/issuing_transactions.rb +28 -11
  26. data/lib/moov/models/components/createinvoicelineitem.rb +2 -1
  27. data/lib/moov/models/components/createpaymentlinklineitem.rb +2 -1
  28. data/lib/moov/models/components/feecategory.rb +1 -0
  29. data/lib/moov/models/components/{rtpfailurecode.rb → instantbankfailurecode.rb} +3 -2
  30. data/lib/moov/models/components/instantbankfailurecode.rbi +11 -0
  31. data/lib/moov/models/components/instantbanknetwork.rb +19 -0
  32. data/lib/moov/models/components/{rtpfailurecode.rbi → instantbanknetwork.rbi} +2 -2
  33. data/lib/moov/models/components/{rtptransactiondetails.rb → instantbanktransactiondetails.rb} +16 -8
  34. data/lib/moov/models/components/{rtptransactiondetails.rbi → instantbanktransactiondetails.rbi} +6 -2
  35. data/lib/moov/models/components/{rtptransactionstatus.rb → instantbanktransactionstatus.rb} +2 -2
  36. data/lib/moov/models/components/instantbanktransactionstatus.rbi +11 -0
  37. data/lib/moov/models/components/invoice.rb +14 -2
  38. data/lib/moov/models/components/invoice.rbi +6 -0
  39. data/lib/moov/models/components/invoicelineitem.rb +2 -1
  40. data/lib/moov/models/components/transferdestination.rb +6 -6
  41. data/lib/moov/models/components/transferdestination.rbi +2 -2
  42. data/lib/moov/models/components/updateinvoice.rb +4 -1
  43. data/lib/moov/models/components.rb +4 -3
  44. data/lib/moov/models/operations/deleteinvoice_request.rb +49 -0
  45. data/lib/moov/models/operations/deleteinvoice_request.rbi +17 -0
  46. data/lib/moov/models/operations/deleteinvoice_response.rb +44 -0
  47. data/lib/moov/models/operations/deleteinvoice_response.rbi +19 -0
  48. data/lib/moov/models/operations.rb +2 -0
  49. data/lib/moov/onboarding.rb +23 -9
  50. data/lib/moov/payment_links.rb +33 -13
  51. data/lib/moov/payment_methods.rb +13 -5
  52. data/lib/moov/ping.rb +8 -3
  53. data/lib/moov/products.rb +28 -11
  54. data/lib/moov/receipts.rb +13 -5
  55. data/lib/moov/representatives.rb +28 -11
  56. data/lib/moov/scheduling.rb +33 -13
  57. data/lib/moov/sdkconfiguration.rb +3 -3
  58. data/lib/moov/statements.rb +13 -5
  59. data/lib/moov/support.rb +28 -11
  60. data/lib/moov/sweeps.rb +33 -13
  61. data/lib/moov/terminal_applications.rb +28 -11
  62. data/lib/moov/transfers.rb +58 -23
  63. data/lib/moov/underwriting.rb +18 -7
  64. data/lib/moov/wallet_transactions.rb +13 -5
  65. data/lib/moov/wallets.rb +23 -9
  66. data/lib/moov/webhooks.rb +43 -17
  67. metadata +28 -8
  68. data/lib/moov/models/components/rtptransactionstatus.rbi +0 -11
@@ -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
- # RTPFailureCode - Status codes for RTP failures.
11
- class RTPFailureCode < T::Enum
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,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::InstantBankFailureCode
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::InstantBankFailureCode
11
+ 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::RTPFailureCode
5
+ class Moov::Models::Components::InstantBankNetwork
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::RTPFailureCode
10
+ class Moov::Models::Components::InstantBankNetwork
11
11
  end
@@ -7,17 +7,21 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # RTP specific details about the transaction.
11
- class RTPTransactionDetails
10
+ # Instant-bank specific details about the transaction.
11
+ class InstantBankTransactionDetails
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # Status of a transaction within the RTP lifecycle.
16
- field :status, Crystalline::Nilable.new(Models::Components::RTPTransactionStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::RTPTransactionStatus, true) } }
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 RTP failures.
20
- field :failure_code, Crystalline::Nilable.new(Models::Components::RTPFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::RTPFailureCode, true) } }
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: T.nilable(Models::Components::RTPTransactionStatus), network_response_code: T.nilable(::String), failure_code: T.nilable(Models::Components::RTPFailureCode), initiated_on: T.nilable(::DateTime), completed_on: T.nilable(::DateTime), failed_on: T.nilable(::DateTime), accepted_without_posting_on: T.nilable(::DateTime)).void }
31
- def initialize(status: nil, network_response_code: nil, failure_code: nil, initiated_on: nil, completed_on: nil, failed_on: nil, accepted_without_posting_on: 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
@@ -2,18 +2,22 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Moov::Models::Components::RTPTransactionDetails
5
+ class Moov::Models::Components::InstantBankTransactionDetails
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::RTPTransactionDetails
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
- # RTPTransactionStatus - Status of a transaction within the RTP lifecycle.
11
- class RTPTransactionStatus < T::Enum
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')
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::InstantBankTransactionStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::InstantBankTransactionStatus
11
+ end
@@ -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
- sig { params(invoice_id: ::String, invoice_number: ::String, customer_account_id: ::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)).void }
61
- def initialize(invoice_id:, invoice_number:, customer_account_id:, 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)
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
- # This is for reporting or tracking purposes, and does not populate other details of the line item.
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') } }
@@ -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
- # RTP specific details about the transaction.
34
- field :rtp_details, Crystalline::Nilable.new(Models::Components::RTPTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('rtpDetails') } }
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), rtp_details: T.nilable(Models::Components::RTPTransactionDetails)).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, rtp_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
- @rtp_details = rtp_details
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 @rtp_details == other.rtp_details
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 rtp_details(); end
30
- def rtp_details=(str_); end
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
 
@@ -305,6 +305,10 @@ module Moov
305
305
  autoload :InstantBankCreditPaymentMethodPaymentMethodType, 'moov/models/components/instantbankcreditpaymentmethod_paymentmethodtype.rb'
306
306
  autoload :InstantBankCreditTransferPaymentMethod, 'moov/models/components/instantbankcredittransferpaymentmethod.rb'
307
307
  autoload :InstantBankCreditTransferPaymentMethodPaymentMethodType, 'moov/models/components/instantbankcredittransferpaymentmethod_paymentmethodtype.rb'
308
+ autoload :InstantBankFailureCode, 'moov/models/components/instantbankfailurecode.rb'
309
+ autoload :InstantBankNetwork, 'moov/models/components/instantbanknetwork.rb'
310
+ autoload :InstantBankTransactionDetails, 'moov/models/components/instantbanktransactiondetails.rb'
311
+ autoload :InstantBankTransactionStatus, 'moov/models/components/instantbanktransactionstatus.rb'
308
312
  autoload :InstantPaymentFees, 'moov/models/components/instantpaymentfees.rb'
309
313
  autoload :InstitutionsSearchResponse, 'moov/models/components/institutionssearchresponse.rb'
310
314
  autoload :Invoice, 'moov/models/components/invoice.rb'
@@ -437,12 +441,9 @@ module Moov
437
441
  autoload :PushToCardTransferPaymentMethod, 'moov/models/components/pushtocardtransferpaymentmethod.rb'
438
442
  autoload :PushToCardTransferPaymentMethodPaymentMethodType, 'moov/models/components/pushtocardtransferpaymentmethod_paymentmethodtype.rb'
439
443
  autoload :QRCode, 'moov/models/components/qrcode.rb'
440
- autoload :RTPFailureCode, 'moov/models/components/rtpfailurecode.rb'
441
444
  autoload :RTPInstitution, 'moov/models/components/rtpinstitution.rb'
442
445
  autoload :RTPRejectionCode, 'moov/models/components/rtprejectioncode.rb'
443
446
  autoload :RTPServices, 'moov/models/components/rtpservices.rb'
444
- autoload :RTPTransactionDetails, 'moov/models/components/rtptransactiondetails.rb'
445
- autoload :RTPTransactionStatus, 'moov/models/components/rtptransactionstatus.rb'
446
447
  autoload :ReceiptKind, 'moov/models/components/receiptkind.rb'
447
448
  autoload :ReceiptRequest, 'moov/models/components/receiptrequest.rb'
448
449
  autoload :ReceiptResponse, 'moov/models/components/receiptresponse.rb'
@@ -0,0 +1,49 @@
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 DeleteInvoiceRequest
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
+ # Specify an API version.
20
+ #
21
+ # API versioning follows the format `vYYYY.QQ.BB`, where
22
+ # - `YYYY` is the year
23
+ # - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
24
+ # - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter.
25
+ # - For example, `v2024.01.00` is the initial release of the first quarter of 2024.
26
+ #
27
+ # The `dev` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
28
+ # When no version is specified, the API defaults to `v2024.01.00`.
29
+ field :x_moov_version, Crystalline::Nilable.new(::String), { 'header': { 'field_name': 'X-Moov-Version', 'style': 'simple', 'explode': false } }
30
+
31
+ sig { params(account_id: ::String, invoice_id: ::String, x_moov_version: T.nilable(::String)).void }
32
+ def initialize(account_id:, invoice_id:, x_moov_version: nil)
33
+ @account_id = account_id
34
+ @invoice_id = invoice_id
35
+ @x_moov_version = x_moov_version
36
+ end
37
+
38
+ sig { params(other: T.untyped).returns(T::Boolean) }
39
+ def ==(other)
40
+ return false unless other.is_a? self.class
41
+ return false unless @account_id == other.account_id
42
+ return false unless @invoice_id == other.invoice_id
43
+ return false unless @x_moov_version == other.x_moov_version
44
+ true
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::DeleteInvoiceRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::DeleteInvoiceRequest
11
+ def account_id(); end
12
+ def account_id=(str_); end
13
+ def invoice_id(); end
14
+ def invoice_id=(str_); end
15
+ def x_moov_version(); end
16
+ def x_moov_version=(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 DeleteInvoiceResponse
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::DeleteInvoiceResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::DeleteInvoiceResponse
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
@@ -68,6 +68,8 @@ module Moov
68
68
  autoload :DeleteDisputeEvidenceFileResponse, 'moov/models/operations/deletedisputeevidencefile_response.rb'
69
69
  autoload :DeleteImageRequest, 'moov/models/operations/deleteimage_request.rb'
70
70
  autoload :DeleteImageResponse, 'moov/models/operations/deleteimage_response.rb'
71
+ autoload :DeleteInvoiceRequest, 'moov/models/operations/deleteinvoice_request.rb'
72
+ autoload :DeleteInvoiceResponse, 'moov/models/operations/deleteinvoice_response.rb'
71
73
  autoload :DeleteRepresentativeRequest, 'moov/models/operations/deleterepresentative_request.rb'
72
74
  autoload :DeleteRepresentativeResponse, 'moov/models/operations/deleterepresentative_response.rb'
73
75
  autoload :DeleteTerminalApplicationRequest, 'moov/models/operations/deleteterminalapplication_request.rb'
@@ -39,8 +39,10 @@ module Moov
39
39
  end
40
40
 
41
41
 
42
- sig { params(onboarding_invite_request: Models::Components::OnboardingInviteRequest, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::CreateOnboardingInviteResponse) }
43
- def create_invite(onboarding_invite_request:, x_moov_version: nil, timeout_ms: nil)
42
+
43
+
44
+ sig { params(onboarding_invite_request: Models::Components::OnboardingInviteRequest, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::CreateOnboardingInviteResponse) }
45
+ def create_invite(onboarding_invite_request:, x_moov_version: nil, timeout_ms: nil, http_headers: nil)
44
46
  # create_invite - Create an invitation containing a unique link that allows the recipient to onboard their organization with Moov.
45
47
  #
46
48
  # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
@@ -94,6 +96,9 @@ module Moov
94
96
  req.headers.merge!(headers)
95
97
  req.options.timeout = timeout unless timeout.nil?
96
98
  Utils.configure_request_security(req, security)
99
+ http_headers&.each do |key, value|
100
+ req.headers[key.to_s] = value
101
+ end
97
102
 
98
103
  @sdk_configuration.hooks.before_request(
99
104
  hook_ctx: SDKHooks::BeforeRequestHookContext.new(
@@ -196,8 +201,8 @@ module Moov
196
201
  end
197
202
 
198
203
 
199
- sig { params(x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::ListOnboardingInvitesResponse) }
200
- def list_invites(x_moov_version: nil, timeout_ms: nil)
204
+ sig { params(x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::ListOnboardingInvitesResponse) }
205
+ def list_invites(x_moov_version: nil, timeout_ms: nil, http_headers: nil)
201
206
  # list_invites - List all the onboarding invites created by the caller's account.
202
207
  #
203
208
  # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
@@ -238,6 +243,9 @@ module Moov
238
243
  req.headers.merge!(headers)
239
244
  req.options.timeout = timeout unless timeout.nil?
240
245
  Utils.configure_request_security(req, security)
246
+ http_headers&.each do |key, value|
247
+ req.headers[key.to_s] = value
248
+ end
241
249
 
242
250
  @sdk_configuration.hooks.before_request(
243
251
  hook_ctx: SDKHooks::BeforeRequestHookContext.new(
@@ -310,8 +318,8 @@ module Moov
310
318
  end
311
319
 
312
320
 
313
- sig { params(code: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetOnboardingInviteResponse) }
314
- def get_invite(code:, x_moov_version: nil, timeout_ms: nil)
321
+ sig { params(code: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetOnboardingInviteResponse) }
322
+ def get_invite(code:, x_moov_version: nil, timeout_ms: nil, http_headers: nil)
315
323
  # get_invite - Retrieve details about an onboarding invite.
316
324
  #
317
325
  # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
@@ -359,6 +367,9 @@ module Moov
359
367
  req.headers.merge!(headers)
360
368
  req.options.timeout = timeout unless timeout.nil?
361
369
  Utils.configure_request_security(req, security)
370
+ http_headers&.each do |key, value|
371
+ req.headers[key.to_s] = value
372
+ end
362
373
 
363
374
  @sdk_configuration.hooks.before_request(
364
375
  hook_ctx: SDKHooks::BeforeRequestHookContext.new(
@@ -431,8 +442,8 @@ module Moov
431
442
  end
432
443
 
433
444
 
434
- sig { params(code: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::RevokeOnboardingInviteResponse) }
435
- def revoke_invite(code:, x_moov_version: nil, timeout_ms: nil)
445
+ sig { params(code: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::RevokeOnboardingInviteResponse) }
446
+ def revoke_invite(code:, x_moov_version: nil, timeout_ms: nil, http_headers: nil)
436
447
  # revoke_invite - Revoke an onboarding invite, rendering the invitation link unusable.
437
448
  #
438
449
  # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
@@ -480,6 +491,9 @@ module Moov
480
491
  req.headers.merge!(headers)
481
492
  req.options.timeout = timeout unless timeout.nil?
482
493
  Utils.configure_request_security(req, security)
494
+ http_headers&.each do |key, value|
495
+ req.headers[key.to_s] = value
496
+ end
483
497
 
484
498
  @sdk_configuration.hooks.before_request(
485
499
  hook_ctx: SDKHooks::BeforeRequestHookContext.new(
@@ -537,5 +551,5 @@ module Moov
537
551
 
538
552
  end
539
553
  end
540
- end
554
+ end
541
555
  end