moov_ruby 0.0.0.pre.dev.29 → 0.0.0.pre.dev.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/card_issuing.rb +538 -0
  3. data/lib/moov/files.rb +186 -0
  4. data/lib/moov/issuing_transactions.rb +123 -0
  5. data/lib/moov/models/components/applicationscope.rb +1 -0
  6. data/lib/moov/models/components/authorizationsimulationasyncresponse.rb +32 -0
  7. data/lib/moov/models/components/authorizationsimulationasyncresponse.rbi +13 -0
  8. data/lib/moov/models/components/authtokenrequest.rb +6 -2
  9. data/lib/moov/models/components/authtokenrequest.rbi +2 -0
  10. data/lib/moov/models/components/bankaccount.rb +7 -2
  11. data/lib/moov/models/components/bankaccount.rbi +2 -0
  12. data/lib/moov/models/components/bankaccountpayload.rb +7 -2
  13. data/lib/moov/models/components/bankaccountpayload.rbi +2 -0
  14. data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rb +6 -2
  15. data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rbi +2 -0
  16. data/lib/moov/models/components/createauthorizationsimulation.rb +40 -0
  17. data/lib/moov/models/components/createauthorizationsimulation.rbi +17 -0
  18. data/lib/moov/models/components/createclearingsimulation.rb +32 -0
  19. data/lib/moov/models/components/createclearingsimulation.rbi +13 -0
  20. data/lib/moov/models/components/createdtransfer.rb +2 -1
  21. data/lib/moov/models/components/createinvoice.rb +6 -2
  22. data/lib/moov/models/components/createinvoice.rbi +2 -0
  23. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +1 -0
  24. data/lib/moov/models/components/incurredfee.rb +6 -2
  25. data/lib/moov/models/components/incurredfee.rbi +2 -0
  26. data/lib/moov/models/components/issuedcardactivity.rb +78 -0
  27. data/lib/moov/models/components/issuedcardactivity.rbi +33 -0
  28. data/lib/moov/models/components/issuedcardauthorization.rb +7 -2
  29. data/lib/moov/models/components/issuedcardauthorization.rbi +2 -0
  30. data/lib/moov/models/components/issuedcardauthorizationevent.rb +7 -2
  31. data/lib/moov/models/components/issuedcardauthorizationevent.rbi +2 -0
  32. data/lib/moov/models/components/issuingdeclinereason.rb +35 -0
  33. data/lib/moov/models/components/issuingdeclinereason.rbi +11 -0
  34. data/lib/moov/models/components/issuingmerchantdatavalidationerror.rb +56 -0
  35. data/lib/moov/models/components/issuingmerchantdatavalidationerror.rbi +25 -0
  36. data/lib/moov/models/components/oauth2clienttype.rb +23 -0
  37. data/lib/moov/models/components/oauth2clienttype.rbi +11 -0
  38. data/lib/moov/models/components/paymentmethodsbankaccount.rb +7 -2
  39. data/lib/moov/models/components/paymentmethodsbankaccount.rbi +2 -0
  40. data/lib/moov/models/components/product.rb +6 -2
  41. data/lib/moov/models/components/product.rbi +2 -0
  42. data/lib/moov/models/components/productrequest.rb +6 -2
  43. data/lib/moov/models/components/productrequest.rbi +2 -0
  44. data/lib/moov/models/components/riskverificationoutcome.rb +23 -0
  45. data/lib/moov/models/components/riskverificationoutcome.rbi +11 -0
  46. data/lib/moov/models/components/transfer.rb +2 -1
  47. data/lib/moov/models/components/transferauthorization.rb +9 -2
  48. data/lib/moov/models/components/transferauthorization.rbi +2 -0
  49. data/lib/moov/models/components/transferevent.rb +48 -0
  50. data/lib/moov/models/components/transferevent.rbi +21 -0
  51. data/lib/moov/models/components/transfereventachdetails.rb +40 -0
  52. data/lib/moov/models/components/transfereventachdetails.rbi +17 -0
  53. data/lib/moov/models/components/transfereventauthorizationdetails.rb +40 -0
  54. data/lib/moov/models/components/transfereventauthorizationdetails.rbi +17 -0
  55. data/lib/moov/models/components/transfereventauthorizationstatus.rb +22 -0
  56. data/lib/moov/models/components/transfereventauthorizationstatus.rbi +11 -0
  57. data/lib/moov/models/components/transfereventcancellationdetails.rb +36 -0
  58. data/lib/moov/models/components/transfereventcancellationdetails.rbi +15 -0
  59. data/lib/moov/models/components/transfereventcapturedetails.rb +40 -0
  60. data/lib/moov/models/components/transfereventcapturedetails.rbi +17 -0
  61. data/lib/moov/models/components/transfereventcardpaymentdetails.rb +36 -0
  62. data/lib/moov/models/components/transfereventcardpaymentdetails.rbi +15 -0
  63. data/lib/moov/models/components/transfereventdetails.rb +88 -0
  64. data/lib/moov/models/components/transfereventdetails.rbi +41 -0
  65. data/lib/moov/models/components/transfereventdisputedetails.rb +46 -0
  66. data/lib/moov/models/components/transfereventdisputedetails.rbi +19 -0
  67. data/lib/moov/models/components/transfereventinstantbankcreditdetails.rb +36 -0
  68. data/lib/moov/models/components/transfereventinstantbankcreditdetails.rbi +15 -0
  69. data/lib/moov/models/components/transfereventpullfromcarddetails.rb +36 -0
  70. data/lib/moov/models/components/transfereventpullfromcarddetails.rbi +15 -0
  71. data/lib/moov/models/components/transfereventpushtocarddetails.rb +36 -0
  72. data/lib/moov/models/components/transfereventpushtocarddetails.rbi +15 -0
  73. data/lib/moov/models/components/transfereventrefunddetails.rb +44 -0
  74. data/lib/moov/models/components/transfereventrefunddetails.rbi +19 -0
  75. data/lib/moov/models/components/transfereventtransferdetails.rb +32 -0
  76. data/lib/moov/models/components/transfereventtransferdetails.rbi +13 -0
  77. data/lib/moov/models/components/transfereventtype.rb +34 -0
  78. data/lib/moov/models/components/transfereventtype.rbi +11 -0
  79. data/lib/moov/models/components/transfereventwallettransactiondetails.rb +48 -0
  80. data/lib/moov/models/components/transfereventwallettransactiondetails.rbi +21 -0
  81. data/lib/moov/models/components/transfereventwirecreditdetails.rb +36 -0
  82. data/lib/moov/models/components/transfereventwirecreditdetails.rbi +15 -0
  83. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +7 -2
  84. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rbi +2 -0
  85. data/lib/moov/models/components/webhookdatatransferstatus.rb +1 -0
  86. data/lib/moov/models/components.rb +25 -0
  87. data/lib/moov/models/errors/authorizationsimulationvalidationerror.rb +44 -0
  88. data/lib/moov/models/errors/authorizationsimulationvalidationerror.rbi +19 -0
  89. data/lib/moov/models/errors/clearingsimulationvalidationerror.rb +36 -0
  90. data/lib/moov/models/errors/clearingsimulationvalidationerror.rbi +15 -0
  91. data/lib/moov/models/errors/createinvoiceerror.rb +6 -2
  92. data/lib/moov/models/errors/createinvoiceerror.rbi +2 -0
  93. data/lib/moov/models/errors/transfer_error.rb +2 -1
  94. data/lib/moov/models/errors.rb +2 -0
  95. data/lib/moov/models/operations/createauthorizationsimulation_request.rb +36 -0
  96. data/lib/moov/models/operations/createauthorizationsimulation_request.rbi +15 -0
  97. data/lib/moov/models/operations/createauthorizationsimulation_response.rb +52 -0
  98. data/lib/moov/models/operations/createauthorizationsimulation_response.rbi +23 -0
  99. data/lib/moov/models/operations/createclearingsimulation_request.rb +40 -0
  100. data/lib/moov/models/operations/createclearingsimulation_request.rbi +17 -0
  101. data/lib/moov/models/operations/createclearingsimulation_response.rb +52 -0
  102. data/lib/moov/models/operations/createclearingsimulation_response.rbi +23 -0
  103. data/lib/moov/models/operations/createreversalsimulation_request.rb +36 -0
  104. data/lib/moov/models/operations/createreversalsimulation_request.rbi +15 -0
  105. data/lib/moov/models/operations/createreversalsimulation_response.rb +52 -0
  106. data/lib/moov/models/operations/createreversalsimulation_response.rbi +23 -0
  107. data/lib/moov/models/operations/downloadfile_request.rb +36 -0
  108. data/lib/moov/models/operations/downloadfile_request.rbi +15 -0
  109. data/lib/moov/models/operations/downloadfile_response.rb +64 -0
  110. data/lib/moov/models/operations/downloadfile_response.rbi +29 -0
  111. data/lib/moov/models/operations/listissuedcardactivity_request.rb +60 -0
  112. data/lib/moov/models/operations/listissuedcardactivity_request.rbi +27 -0
  113. data/lib/moov/models/operations/listissuedcardactivity_response.rb +48 -0
  114. data/lib/moov/models/operations/listissuedcardactivity_response.rbi +21 -0
  115. data/lib/moov/models/operations/listtransferevents_request.rb +36 -0
  116. data/lib/moov/models/operations/listtransferevents_request.rbi +15 -0
  117. data/lib/moov/models/operations/listtransferevents_response.rb +48 -0
  118. data/lib/moov/models/operations/listtransferevents_response.rbi +21 -0
  119. data/lib/moov/models/operations/listtransfers_request.rb +6 -2
  120. data/lib/moov/models/operations/listtransfers_request.rbi +2 -0
  121. data/lib/moov/models/operations.rb +12 -0
  122. data/lib/moov/sdkconfiguration.rb +3 -3
  123. data/lib/moov/transfers.rb +125 -0
  124. metadata +80 -2
@@ -22,16 +22,22 @@ module Moov
22
22
  field :captured_amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capturedAmount'), required: true } }
23
23
  # Amount of the authorization still available after captures and authorization cancellations.
24
24
  field :capturable_amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capturableAmount'), required: true } }
25
+ # The tip, tax, and surcharge authorized by the card network.
26
+ #
27
+ # These describe the authorized amount and are fixed.
28
+ # They can differ from the transfer's `amountDetails`, which is the aggregate of all captures' `amountDetails`.
29
+ field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
25
30
  # Expiration time for the approved authorization, when available.
26
31
  field :expires_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiresOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
27
32
 
28
- sig { params(authorization_id: ::String, requested_amount: Models::Components::AmountDecimal, authorized_amount: Models::Components::AmountDecimal, captured_amount: Models::Components::AmountDecimal, capturable_amount: Models::Components::AmountDecimal, expires_on: T.nilable(::DateTime)).void }
29
- def initialize(authorization_id:, requested_amount:, authorized_amount:, captured_amount:, capturable_amount:, expires_on: nil)
33
+ sig { params(authorization_id: ::String, requested_amount: Models::Components::AmountDecimal, authorized_amount: Models::Components::AmountDecimal, captured_amount: Models::Components::AmountDecimal, capturable_amount: Models::Components::AmountDecimal, amount_details: T.nilable(Models::Components::TransferAmountDetails), expires_on: T.nilable(::DateTime)).void }
34
+ def initialize(authorization_id:, requested_amount:, authorized_amount:, captured_amount:, capturable_amount:, amount_details: nil, expires_on: nil)
30
35
  @authorization_id = authorization_id
31
36
  @requested_amount = requested_amount
32
37
  @authorized_amount = authorized_amount
33
38
  @captured_amount = captured_amount
34
39
  @capturable_amount = capturable_amount
40
+ @amount_details = amount_details
35
41
  @expires_on = expires_on
36
42
  end
37
43
 
@@ -43,6 +49,7 @@ module Moov
43
49
  return false unless @authorized_amount == other.authorized_amount
44
50
  return false unless @captured_amount == other.captured_amount
45
51
  return false unless @capturable_amount == other.capturable_amount
52
+ return false unless @amount_details == other.amount_details
46
53
  return false unless @expires_on == other.expires_on
47
54
  true
48
55
  end
@@ -18,6 +18,8 @@ class Moov::Models::Components::TransferAuthorization
18
18
  def captured_amount=(str_); end
19
19
  def capturable_amount(); end
20
20
  def capturable_amount=(str_); end
21
+ def amount_details(); end
22
+ def amount_details=(str_); end
21
23
  def expires_on(); end
22
24
  def expires_on=(str_); end
23
25
  end
@@ -0,0 +1,48 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # An event in a Transfer's ordered timeline. Amounts are positive display context and are not additive across events.
11
+ class TransferEvent
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer).
16
+ field :event_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventID'), required: true } }
17
+ # The event family.
18
+ field :event_type, Models::Components::TransferEventType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferEventType, false) } }
19
+
20
+ field :amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
21
+ # Details for a Transfer timeline event. A valid event contains exactly one detail object matching its event type.
22
+ field :details, Models::Components::TransferEventDetails, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('details'), required: true } }
23
+
24
+ field :occurred_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('occurredOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
25
+
26
+ sig { params(event_id: ::String, event_type: Models::Components::TransferEventType, amount: Models::Components::AmountDecimal, details: Models::Components::TransferEventDetails, occurred_on: ::DateTime).void }
27
+ def initialize(event_id:, event_type:, amount:, details:, occurred_on:)
28
+ @event_id = event_id
29
+ @event_type = event_type
30
+ @amount = amount
31
+ @details = details
32
+ @occurred_on = occurred_on
33
+ end
34
+
35
+ sig { params(other: T.untyped).returns(T::Boolean) }
36
+ def ==(other)
37
+ return false unless other.is_a? self.class
38
+ return false unless @event_id == other.event_id
39
+ return false unless @event_type == other.event_type
40
+ return false unless @amount == other.amount
41
+ return false unless @details == other.details
42
+ return false unless @occurred_on == other.occurred_on
43
+ true
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferEvent
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferEvent
11
+ def event_id(); end
12
+ def event_id=(str_); end
13
+ def event_type(); end
14
+ def event_type=(str_); end
15
+ def amount(); end
16
+ def amount=(str_); end
17
+ def details(); end
18
+ def details=(str_); end
19
+ def occurred_on(); end
20
+ def occurred_on=(str_); end
21
+ end
@@ -0,0 +1,40 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class TransferEventACHDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Status of a transaction within the ACH lifecycle.
16
+ field :status, Models::Components::ACHTransactionStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::ACHTransactionStatus, false) } }
17
+
18
+ field :return_, Crystalline::Nilable.new(Models::Components::ACHException), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('return') } }
19
+
20
+ field :correction, Crystalline::Nilable.new(Models::Components::ACHException), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('correction') } }
21
+
22
+ sig { params(status: Models::Components::ACHTransactionStatus, return_: T.nilable(Models::Components::ACHException), correction: T.nilable(Models::Components::ACHException)).void }
23
+ def initialize(status:, return_: nil, correction: nil)
24
+ @status = status
25
+ @return_ = return_
26
+ @correction = correction
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @status == other.status
33
+ return false unless @return_ == other.return_
34
+ return false unless @correction == other.correction
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferEventACHDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferEventACHDetails
11
+ def status(); end
12
+ def status=(str_); end
13
+ def return_(); end
14
+ def return_=(str_); end
15
+ def correction(); end
16
+ def correction=(str_); end
17
+ end
@@ -0,0 +1,40 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class TransferEventAuthorizationDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer).
16
+ field :authorization_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizationID'), required: true } }
17
+
18
+ field :status, Models::Components::TransferEventAuthorizationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::TransferEventAuthorizationStatus, false) } }
19
+
20
+ field :failure_code, Crystalline::Nilable.new(Models::Components::CardTransactionFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardTransactionFailureCode, true) } }
21
+
22
+ sig { params(authorization_id: ::String, status: Models::Components::TransferEventAuthorizationStatus, failure_code: T.nilable(Models::Components::CardTransactionFailureCode)).void }
23
+ def initialize(authorization_id:, status:, failure_code: nil)
24
+ @authorization_id = authorization_id
25
+ @status = status
26
+ @failure_code = failure_code
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @authorization_id == other.authorization_id
33
+ return false unless @status == other.status
34
+ return false unless @failure_code == other.failure_code
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferEventAuthorizationDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferEventAuthorizationDetails
11
+ def authorization_id(); end
12
+ def authorization_id=(str_); end
13
+ def status(); end
14
+ def status=(str_); end
15
+ def failure_code(); end
16
+ def failure_code=(str_); end
17
+ end
@@ -0,0 +1,22 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class TransferEventAuthorizationStatus
12
+ include ::Crystalline::Enum
13
+ enums do
14
+ APPROVED = new('approved')
15
+ DECLINED = new('declined')
16
+ REVERSED = new('reversed')
17
+ end
18
+ open!
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferEventAuthorizationStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferEventAuthorizationStatus
11
+ end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class TransferEventCancellationDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer).
16
+ field :cancellation_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cancellationID'), required: true } }
17
+
18
+ field :status, Models::Components::CancellationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CancellationStatus, false) } }
19
+
20
+ sig { params(cancellation_id: ::String, status: Models::Components::CancellationStatus).void }
21
+ def initialize(cancellation_id:, status:)
22
+ @cancellation_id = cancellation_id
23
+ @status = status
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 @cancellation_id == other.cancellation_id
30
+ return false unless @status == other.status
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferEventCancellationDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferEventCancellationDetails
11
+ def cancellation_id(); end
12
+ def cancellation_id=(str_); end
13
+ def status(); end
14
+ def status=(str_); end
15
+ end
@@ -0,0 +1,40 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class TransferEventCaptureDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer).
16
+ field :capture_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('captureID'), required: true } }
17
+
18
+ field :status, Models::Components::CaptureStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CaptureStatus, false) } }
19
+
20
+ field :failure_code, Crystalline::Nilable.new(Models::Components::CardTransactionFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardTransactionFailureCode, true) } }
21
+
22
+ sig { params(capture_id: ::String, status: Models::Components::CaptureStatus, failure_code: T.nilable(Models::Components::CardTransactionFailureCode)).void }
23
+ def initialize(capture_id:, status:, failure_code: nil)
24
+ @capture_id = capture_id
25
+ @status = status
26
+ @failure_code = failure_code
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @capture_id == other.capture_id
33
+ return false unless @status == other.status
34
+ return false unless @failure_code == other.failure_code
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferEventCaptureDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferEventCaptureDetails
11
+ def capture_id(); end
12
+ def capture_id=(str_); end
13
+ def status(); end
14
+ def status=(str_); end
15
+ def failure_code(); end
16
+ def failure_code=(str_); end
17
+ end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class TransferEventCardPaymentDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Status of a card payment transaction.
16
+ field :status, Models::Components::CardPaymentTransactionStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardPaymentTransactionStatus, false) } }
17
+
18
+ field :failure_code, Crystalline::Nilable.new(Models::Components::CardTransactionFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardTransactionFailureCode, true) } }
19
+
20
+ sig { params(status: Models::Components::CardPaymentTransactionStatus, failure_code: T.nilable(Models::Components::CardTransactionFailureCode)).void }
21
+ def initialize(status:, failure_code: nil)
22
+ @status = status
23
+ @failure_code = failure_code
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 @status == other.status
30
+ return false unless @failure_code == other.failure_code
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferEventCardPaymentDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferEventCardPaymentDetails
11
+ def status(); end
12
+ def status=(str_); end
13
+ def failure_code(); end
14
+ def failure_code=(str_); end
15
+ end
@@ -0,0 +1,88 @@
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
+ # Details for a Transfer timeline event. A valid event contains exactly one detail object matching its event type.
11
+ class TransferEventDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :transfer, Crystalline::Nilable.new(Models::Components::TransferEventTransferDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transfer') } }
17
+
18
+ field :authorization, Crystalline::Nilable.new(Models::Components::TransferEventAuthorizationDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorization') } }
19
+
20
+ field :capture, Crystalline::Nilable.new(Models::Components::TransferEventCaptureDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capture') } }
21
+
22
+ field :refund, Crystalline::Nilable.new(Models::Components::TransferEventRefundDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('refund') } }
23
+
24
+ field :cancellation, Crystalline::Nilable.new(Models::Components::TransferEventCancellationDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cancellation') } }
25
+
26
+ field :dispute, Crystalline::Nilable.new(Models::Components::TransferEventDisputeDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('dispute') } }
27
+
28
+ field :ach_credit, Crystalline::Nilable.new(Models::Components::TransferEventACHDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achCredit') } }
29
+
30
+ field :ach_debit, Crystalline::Nilable.new(Models::Components::TransferEventACHDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDebit') } }
31
+
32
+ field :instant_bank_credit, Crystalline::Nilable.new(Models::Components::TransferEventInstantBankCreditDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('instantBankCredit') } }
33
+
34
+ field :wire_credit, Crystalline::Nilable.new(Models::Components::TransferEventWireCreditDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('wireCredit') } }
35
+
36
+ field :card_payment, Crystalline::Nilable.new(Models::Components::TransferEventCardPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardPayment') } }
37
+
38
+ field :push_to_card, Crystalline::Nilable.new(Models::Components::TransferEventPushToCardDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushToCard') } }
39
+
40
+ field :pull_from_card, Crystalline::Nilable.new(Models::Components::TransferEventPullFromCardDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pullFromCard') } }
41
+
42
+ field :wallet_credit, Crystalline::Nilable.new(Models::Components::TransferEventWalletTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletCredit') } }
43
+
44
+ field :wallet_debit, Crystalline::Nilable.new(Models::Components::TransferEventWalletTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletDebit') } }
45
+
46
+ sig { params(transfer: T.nilable(Models::Components::TransferEventTransferDetails), authorization: T.nilable(Models::Components::TransferEventAuthorizationDetails), capture: T.nilable(Models::Components::TransferEventCaptureDetails), refund: T.nilable(Models::Components::TransferEventRefundDetails), cancellation: T.nilable(Models::Components::TransferEventCancellationDetails), dispute: T.nilable(Models::Components::TransferEventDisputeDetails), ach_credit: T.nilable(Models::Components::TransferEventACHDetails), ach_debit: T.nilable(Models::Components::TransferEventACHDetails), instant_bank_credit: T.nilable(Models::Components::TransferEventInstantBankCreditDetails), wire_credit: T.nilable(Models::Components::TransferEventWireCreditDetails), card_payment: T.nilable(Models::Components::TransferEventCardPaymentDetails), push_to_card: T.nilable(Models::Components::TransferEventPushToCardDetails), pull_from_card: T.nilable(Models::Components::TransferEventPullFromCardDetails), wallet_credit: T.nilable(Models::Components::TransferEventWalletTransactionDetails), wallet_debit: T.nilable(Models::Components::TransferEventWalletTransactionDetails)).void }
47
+ def initialize(transfer: nil, authorization: nil, capture: nil, refund: nil, cancellation: nil, dispute: nil, ach_credit: nil, ach_debit: nil, instant_bank_credit: nil, wire_credit: nil, card_payment: nil, push_to_card: nil, pull_from_card: nil, wallet_credit: nil, wallet_debit: nil)
48
+ @transfer = transfer
49
+ @authorization = authorization
50
+ @capture = capture
51
+ @refund = refund
52
+ @cancellation = cancellation
53
+ @dispute = dispute
54
+ @ach_credit = ach_credit
55
+ @ach_debit = ach_debit
56
+ @instant_bank_credit = instant_bank_credit
57
+ @wire_credit = wire_credit
58
+ @card_payment = card_payment
59
+ @push_to_card = push_to_card
60
+ @pull_from_card = pull_from_card
61
+ @wallet_credit = wallet_credit
62
+ @wallet_debit = wallet_debit
63
+ end
64
+
65
+ sig { params(other: T.untyped).returns(T::Boolean) }
66
+ def ==(other)
67
+ return false unless other.is_a? self.class
68
+ return false unless @transfer == other.transfer
69
+ return false unless @authorization == other.authorization
70
+ return false unless @capture == other.capture
71
+ return false unless @refund == other.refund
72
+ return false unless @cancellation == other.cancellation
73
+ return false unless @dispute == other.dispute
74
+ return false unless @ach_credit == other.ach_credit
75
+ return false unless @ach_debit == other.ach_debit
76
+ return false unless @instant_bank_credit == other.instant_bank_credit
77
+ return false unless @wire_credit == other.wire_credit
78
+ return false unless @card_payment == other.card_payment
79
+ return false unless @push_to_card == other.push_to_card
80
+ return false unless @pull_from_card == other.pull_from_card
81
+ return false unless @wallet_credit == other.wallet_credit
82
+ return false unless @wallet_debit == other.wallet_debit
83
+ true
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,41 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferEventDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferEventDetails
11
+ def transfer(); end
12
+ def transfer=(str_); end
13
+ def authorization(); end
14
+ def authorization=(str_); end
15
+ def capture(); end
16
+ def capture=(str_); end
17
+ def refund(); end
18
+ def refund=(str_); end
19
+ def cancellation(); end
20
+ def cancellation=(str_); end
21
+ def dispute(); end
22
+ def dispute=(str_); end
23
+ def ach_credit(); end
24
+ def ach_credit=(str_); end
25
+ def ach_debit(); end
26
+ def ach_debit=(str_); end
27
+ def instant_bank_credit(); end
28
+ def instant_bank_credit=(str_); end
29
+ def wire_credit(); end
30
+ def wire_credit=(str_); end
31
+ def card_payment(); end
32
+ def card_payment=(str_); end
33
+ def push_to_card(); end
34
+ def push_to_card=(str_); end
35
+ def pull_from_card(); end
36
+ def pull_from_card=(str_); end
37
+ def wallet_credit(); end
38
+ def wallet_credit=(str_); end
39
+ def wallet_debit(); end
40
+ def wallet_debit=(str_); end
41
+ end
@@ -0,0 +1,46 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class TransferEventDisputeDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer).
16
+ field :dispute_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disputeID'), required: true } }
17
+ # The phase of a dispute within the dispute lifecycle.
18
+ field :phase, Models::Components::DisputePhase, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('phase'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DisputePhase, false) } }
19
+ # The status of a particular dispute.
20
+ #
21
+ # Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
22
+ field :status, Models::Components::DisputeStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DisputeStatus, false) } }
23
+ # 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).
24
+ field :capture_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('captureID') } }
25
+
26
+ sig { params(dispute_id: ::String, phase: Models::Components::DisputePhase, status: Models::Components::DisputeStatus, capture_id: T.nilable(::String)).void }
27
+ def initialize(dispute_id:, phase:, status:, capture_id: nil)
28
+ @dispute_id = dispute_id
29
+ @phase = phase
30
+ @status = status
31
+ @capture_id = capture_id
32
+ end
33
+
34
+ sig { params(other: T.untyped).returns(T::Boolean) }
35
+ def ==(other)
36
+ return false unless other.is_a? self.class
37
+ return false unless @dispute_id == other.dispute_id
38
+ return false unless @phase == other.phase
39
+ return false unless @status == other.status
40
+ return false unless @capture_id == other.capture_id
41
+ true
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferEventDisputeDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferEventDisputeDetails
11
+ def dispute_id(); end
12
+ def dispute_id=(str_); end
13
+ def phase(); end
14
+ def phase=(str_); end
15
+ def status(); end
16
+ def status=(str_); end
17
+ def capture_id(); end
18
+ def capture_id=(str_); end
19
+ end