moov_ruby 0.0.0.pre.dev.24 → 0.0.0.pre.dev.25

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 (138) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/avatars.rb +4 -4
  3. data/lib/moov/card_issuing.rb +116 -0
  4. data/lib/moov/client.rb +2 -2
  5. data/lib/moov/enriched_address.rb +1 -1
  6. data/lib/moov/enriched_profile.rb +1 -1
  7. data/lib/moov/institutions.rb +1 -1
  8. data/lib/moov/models/components/achcreditoptions.rb +40 -0
  9. data/lib/moov/models/components/achcreditoptions.rbi +17 -0
  10. data/lib/moov/models/components/achcredittransferprocessingdetails.rb +40 -0
  11. data/lib/moov/models/components/achcredittransferprocessingdetails.rbi +17 -0
  12. data/lib/moov/models/components/achdebitoptions.rb +48 -0
  13. data/lib/moov/models/components/achdebitoptions.rbi +21 -0
  14. data/lib/moov/models/components/achdebittransferprocessingdetails.rb +40 -0
  15. data/lib/moov/models/components/achdebittransferprocessingdetails.rbi +17 -0
  16. data/lib/moov/models/components/asynccreatedrefund.rb +7 -3
  17. data/lib/moov/models/components/asynccreatedrefund.rbi +2 -0
  18. data/lib/moov/models/components/capture.rb +77 -0
  19. data/lib/moov/models/components/capture.rbi +35 -0
  20. data/lib/moov/models/components/{refundcardstatus.rb → capturestatus.rb} +5 -4
  21. data/lib/moov/models/components/{refundcardstatus.rbi → capturestatus.rbi} +2 -2
  22. data/lib/moov/models/components/cardacquiringrefund.rb +11 -7
  23. data/lib/moov/models/components/cardacquiringrefund.rbi +4 -2
  24. data/lib/moov/models/components/cardpaymentoptions.rb +39 -0
  25. data/lib/moov/models/components/cardpaymentoptions.rbi +15 -0
  26. data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rb +32 -0
  27. data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rbi +13 -0
  28. data/lib/moov/models/components/cardpaymenttransferprocessingdetails.rb +44 -0
  29. data/lib/moov/models/components/cardpaymenttransferprocessingdetails.rbi +19 -0
  30. data/lib/moov/models/components/createcancellation.rb +32 -0
  31. data/lib/moov/models/components/createcancellation.rbi +13 -0
  32. data/lib/moov/models/components/createcapture.rb +65 -0
  33. data/lib/moov/models/components/createcapture.rbi +29 -0
  34. data/lib/moov/models/components/createdtransfer.rb +22 -26
  35. data/lib/moov/models/components/createdtransfer.rbi +8 -10
  36. data/lib/moov/models/components/createrefund.rb +9 -5
  37. data/lib/moov/models/components/createrefund.rbi +2 -0
  38. data/lib/moov/models/components/createreversal.rb +3 -3
  39. data/lib/moov/models/components/createtransfer.rb +4 -4
  40. data/lib/moov/models/components/createtransferfacilitatorfee.rb +36 -0
  41. data/lib/moov/models/components/createtransferfacilitatorfee.rbi +15 -0
  42. data/lib/moov/models/components/createtransferoptions.rb +2 -2
  43. data/lib/moov/models/components/instantbankcredittransferprocessingdetails.rb +44 -0
  44. data/lib/moov/models/components/instantbankcredittransferprocessingdetails.rbi +19 -0
  45. data/lib/moov/models/components/merchantcategories.rb +32 -0
  46. data/lib/moov/models/components/merchantcategories.rbi +13 -0
  47. data/lib/moov/models/components/merchantcategory.rb +37 -0
  48. data/lib/moov/models/components/merchantcategory.rbi +15 -0
  49. data/lib/moov/models/components/moovfeedetails.rb +5 -5
  50. data/lib/moov/models/components/paymentmethodswallet.rb +1 -0
  51. data/lib/moov/models/components/pullfromcardoptions.rb +39 -0
  52. data/lib/moov/models/components/pullfromcardoptions.rbi +15 -0
  53. data/lib/moov/models/components/pullfromcardtransferprocessingdetails.rb +44 -0
  54. data/lib/moov/models/components/pullfromcardtransferprocessingdetails.rbi +19 -0
  55. data/lib/moov/models/components/pushtocardoptions.rb +32 -0
  56. data/lib/moov/models/components/pushtocardoptions.rbi +13 -0
  57. data/lib/moov/models/components/pushtocardtransferprocessingdetails.rb +44 -0
  58. data/lib/moov/models/components/pushtocardtransferprocessingdetails.rbi +19 -0
  59. data/lib/moov/models/components/refundprocessingdetails.rb +32 -0
  60. data/lib/moov/models/components/refundprocessingdetails.rbi +13 -0
  61. data/lib/moov/models/components/sendfunds.rb +6 -2
  62. data/lib/moov/models/components/sendfunds.rbi +2 -0
  63. data/lib/moov/models/components/sendfundserror.rb +6 -2
  64. data/lib/moov/models/components/sendfundserror.rbi +2 -0
  65. data/lib/moov/models/components/sendfundswire.rb +32 -0
  66. data/lib/moov/models/components/sendfundswire.rbi +13 -0
  67. data/lib/moov/models/components/sendfundswireerror.rb +32 -0
  68. data/lib/moov/models/components/sendfundswireerror.rbi +13 -0
  69. data/lib/moov/models/components/transfer.rb +22 -26
  70. data/lib/moov/models/components/transfer.rbi +8 -10
  71. data/lib/moov/models/components/transferauthorization.rb +52 -0
  72. data/lib/moov/models/components/transferauthorization.rbi +23 -0
  73. data/lib/moov/models/components/transferdestination.rb +5 -17
  74. data/lib/moov/models/components/transferdestination.rbi +0 -6
  75. data/lib/moov/models/components/transferpaymentmethodswallet.rb +1 -0
  76. data/lib/moov/models/components/transferprocessingdetails.rb +52 -0
  77. data/lib/moov/models/components/transferprocessingdetails.rbi +23 -0
  78. data/lib/moov/models/components/transferrailoptions.rb +48 -0
  79. data/lib/moov/models/components/transferrailoptions.rbi +21 -0
  80. data/lib/moov/models/components/transfersource.rb +9 -17
  81. data/lib/moov/models/components/transfersource.rbi +2 -6
  82. data/lib/moov/models/components/transferstatus.rb +1 -0
  83. data/lib/moov/models/components/transfertype.rb +25 -0
  84. data/lib/moov/models/components/{achtransactionstatus.rbi → transfertype.rbi} +2 -2
  85. data/lib/moov/models/components/wallet.rb +1 -0
  86. data/lib/moov/models/components/wallettype.rb +2 -0
  87. data/lib/moov/models/components/webhookdatatransferstatus.rb +3 -0
  88. data/lib/moov/models/components.rb +26 -10
  89. data/lib/moov/models/errors/capturevalidationerror.rb +68 -0
  90. data/lib/moov/models/errors/capturevalidationerror.rbi +31 -0
  91. data/lib/moov/models/errors/cardacquiringrefund_error.rb +11 -7
  92. data/lib/moov/models/errors/cardacquiringrefund_error.rbi +4 -2
  93. data/lib/moov/models/errors/transfer_error.rb +22 -26
  94. data/lib/moov/models/errors/transfer_error.rbi +8 -10
  95. data/lib/moov/models/errors.rb +1 -0
  96. data/lib/moov/models/operations/createcancellation_request.rb +6 -2
  97. data/lib/moov/models/operations/createcancellation_request.rbi +2 -0
  98. data/lib/moov/models/operations/createcapture_request.rb +44 -0
  99. data/lib/moov/models/operations/createcapture_request.rbi +19 -0
  100. data/lib/moov/models/operations/createcapture_response.rb +48 -0
  101. data/lib/moov/models/operations/createcapture_response.rbi +21 -0
  102. data/lib/moov/models/operations/createreversal_request.rb +3 -3
  103. data/lib/moov/models/operations/getcapture_request.rb +40 -0
  104. data/lib/moov/models/operations/getcapture_request.rbi +17 -0
  105. data/lib/moov/models/operations/getcapture_response.rb +48 -0
  106. data/lib/moov/models/operations/getcapture_response.rbi +21 -0
  107. data/lib/moov/models/operations/initiaterefund_request.rb +6 -6
  108. data/lib/moov/models/operations/initiaterefund_request.rbi +2 -2
  109. data/lib/moov/models/operations/listcaptures_request.rb +36 -0
  110. data/lib/moov/models/operations/listcaptures_request.rbi +15 -0
  111. data/lib/moov/models/operations/listcaptures_response.rb +48 -0
  112. data/lib/moov/models/operations/listcaptures_response.rbi +21 -0
  113. data/lib/moov/models/operations/listissuingmerchantcategories_response.rb +48 -0
  114. data/lib/moov/models/operations/listissuingmerchantcategories_response.rbi +21 -0
  115. data/lib/moov/models/operations/listtransfers_request.rb +6 -2
  116. data/lib/moov/models/operations/listtransfers_request.rbi +2 -0
  117. data/lib/moov/models/operations.rb +7 -0
  118. data/lib/moov/sdkconfiguration.rb +2 -2
  119. data/lib/moov/transfers.rb +434 -5
  120. data/lib/moov_ruby.rb +1 -1
  121. metadata +70 -22
  122. data/lib/moov/models/components/achtransactiondetails.rb +0 -92
  123. data/lib/moov/models/components/achtransactiondetails.rbi +0 -43
  124. data/lib/moov/models/components/achtransactionstatus.rb +0 -24
  125. data/lib/moov/models/components/cardacquiringdispute.rb +0 -40
  126. data/lib/moov/models/components/cardacquiringdispute.rbi +0 -17
  127. data/lib/moov/models/components/cardtransactiondetails.rb +0 -93
  128. data/lib/moov/models/components/cardtransactiondetails.rbi +0 -41
  129. data/lib/moov/models/components/cardtransactionstatus.rb +0 -24
  130. data/lib/moov/models/components/cardtransactionstatus.rbi +0 -11
  131. data/lib/moov/models/components/instantbanktransactiondetails.rb +0 -64
  132. data/lib/moov/models/components/instantbanktransactiondetails.rbi +0 -29
  133. data/lib/moov/models/components/instantbanktransactionstatus.rb +0 -21
  134. data/lib/moov/models/components/instantbanktransactionstatus.rbi +0 -11
  135. data/lib/moov/models/components/refundcarddetails.rb +0 -56
  136. data/lib/moov/models/components/refundcarddetails.rbi +0 -25
  137. data/lib/moov/models/components/transfercapture.rb +0 -36
  138. data/lib/moov/models/components/transfercapture.rbi +0 -15
@@ -17,9 +17,9 @@ module Moov
17
17
  # The final stage of a transfer and the ultimate recipient of the funds.
18
18
  field :destination, Models::Components::CreateTransferDestination, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destination'), required: true } }
19
19
 
20
- field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
21
- # Total or markup fee.
22
- field :facilitator_fee, Crystalline::Nilable.new(Models::Components::FacilitatorFee), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('facilitatorFee') } }
20
+ field :amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
21
+ # Total or markup fee to apply when creating a transfer.
22
+ field :facilitator_fee, Crystalline::Nilable.new(Models::Components::CreateTransferFacilitatorFee), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('facilitatorFee') } }
23
23
  # An optional description of the transfer that is used on receipts and for your own internal use.
24
24
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
25
25
  # Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
@@ -34,7 +34,7 @@ module Moov
34
34
  # Indicates which party bears fees for the transfer, keyed by fee type.
35
35
  field :fee_paid_by, Crystalline::Nilable.new(Models::Components::TransferFeePaidBy), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy') } }
36
36
 
37
- sig { params(source: Models::Components::CreateTransferSource, destination: Models::Components::CreateTransferDestination, amount: Models::Components::Amount, facilitator_fee: T.nilable(Models::Components::FacilitatorFee), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::CreateTransferLineItems), amount_details: T.nilable(Models::Components::CreateTransferAmountDetails), fee_paid_by: T.nilable(Models::Components::TransferFeePaidBy)).void }
37
+ sig { params(source: Models::Components::CreateTransferSource, destination: Models::Components::CreateTransferDestination, amount: Models::Components::AmountDecimal, facilitator_fee: T.nilable(Models::Components::CreateTransferFacilitatorFee), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::CreateTransferLineItems), amount_details: T.nilable(Models::Components::CreateTransferAmountDetails), fee_paid_by: T.nilable(Models::Components::TransferFeePaidBy)).void }
38
38
  def initialize(source:, destination:, amount:, facilitator_fee: nil, description: nil, metadata: nil, foreign_id: nil, line_items: nil, amount_details: nil, fee_paid_by: nil)
39
39
  @source = source
40
40
  @destination = destination
@@ -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
+ # Total or markup fee to apply when creating a transfer.
11
+ class CreateTransferFacilitatorFee
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Total facilitator fee. Only either `total` or `markup` can be set.
16
+ field :total, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('total') } }
17
+ # Markup facilitator fee. Only either `total` or `markup` can be set.
18
+ field :markup, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('markup') } }
19
+
20
+ sig { params(total: T.nilable(Models::Components::AmountDecimal), markup: T.nilable(Models::Components::AmountDecimal)).void }
21
+ def initialize(total: nil, markup: nil)
22
+ @total = total
23
+ @markup = markup
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 @total == other.total
30
+ return false unless @markup == other.markup
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::CreateTransferFacilitatorFee
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateTransferFacilitatorFee
11
+ def total(); end
12
+ def total=(str_); end
13
+ def markup(); end
14
+ def markup=(str_); end
15
+ end
@@ -17,9 +17,9 @@ module Moov
17
17
 
18
18
  field :destination, Models::Components::SourceDestinationOptions, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destination'), required: true } }
19
19
 
20
- field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
20
+ field :amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
21
21
 
22
- sig { params(source: Models::Components::SourceDestinationOptions, destination: Models::Components::SourceDestinationOptions, amount: Models::Components::Amount).void }
22
+ sig { params(source: Models::Components::SourceDestinationOptions, destination: Models::Components::SourceDestinationOptions, amount: Models::Components::AmountDecimal).void }
23
23
  def initialize(source:, destination:, amount:)
24
24
  @source = source
25
25
  @destination = destination
@@ -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 Components
10
+
11
+ class InstantBankCreditTransferProcessingDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
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
+
18
+ field :network_response_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkResponseCode') } }
19
+ # Status codes for instant-bank failures.
20
+ 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) } }
21
+
22
+ field :end_to_end_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('endToEndID') } }
23
+
24
+ sig { params(network: Models::Components::InstantBankNetwork, network_response_code: T.nilable(::String), failure_code: T.nilable(Models::Components::InstantBankFailureCode), end_to_end_id: T.nilable(::String)).void }
25
+ def initialize(network:, network_response_code: nil, failure_code: nil, end_to_end_id: nil)
26
+ @network = network
27
+ @network_response_code = network_response_code
28
+ @failure_code = failure_code
29
+ @end_to_end_id = end_to_end_id
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 @network == other.network
36
+ return false unless @network_response_code == other.network_response_code
37
+ return false unless @failure_code == other.failure_code
38
+ return false unless @end_to_end_id == other.end_to_end_id
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::Components::InstantBankCreditTransferProcessingDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::InstantBankCreditTransferProcessingDetails
11
+ def network(); end
12
+ def network=(str_); end
13
+ def network_response_code(); end
14
+ def network_response_code=(str_); end
15
+ def failure_code(); end
16
+ def failure_code=(str_); end
17
+ def end_to_end_id(); end
18
+ def end_to_end_id=(str_); end
19
+ end
@@ -0,0 +1,32 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # The predefined merchant category groups available for issued card spend controls.
11
+ class MerchantCategories
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :merchant_categories, Crystalline::Array.new(Models::Components::MerchantCategory), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantCategories'), required: true } }
17
+
18
+ sig { params(merchant_categories: T::Array[Models::Components::MerchantCategory]).void }
19
+ def initialize(merchant_categories:)
20
+ @merchant_categories = merchant_categories
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @merchant_categories == other.merchant_categories
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::MerchantCategories
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::MerchantCategories
11
+ def merchant_categories(); end
12
+ def merchant_categories=(str_); end
13
+ end
@@ -0,0 +1,37 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # A predefined merchant category group and the merchant category codes (MCCs) it covers.
11
+ class MerchantCategory
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The predefined category group.
16
+ field :category, Models::Components::IssuingMerchantCategory, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('category'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuingMerchantCategory, false) } }
17
+ # The merchant category codes (MCCs) covered by this category. Each entry is either a single
18
+ # 4-digit MCC, such as `4511`, or an inclusive range of MCCs, such as `3000-3299`.
19
+ field :mccs, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mccs'), required: true } }
20
+
21
+ sig { params(category: Models::Components::IssuingMerchantCategory, mccs: T::Array[::String]).void }
22
+ def initialize(category:, mccs:)
23
+ @category = category
24
+ @mccs = mccs
25
+ end
26
+
27
+ sig { params(other: T.untyped).returns(T::Boolean) }
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @category == other.category
31
+ return false unless @mccs == other.mccs
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::MerchantCategory
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::MerchantCategory
11
+ def category(); end
12
+ def category=(str_); end
13
+ def mccs(); end
14
+ def mccs=(str_); end
15
+ end
@@ -13,15 +13,15 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # Moov processing fee. String type represents dollars with up to 9 decimal place precision.
16
- field :moov_processing, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('moovProcessing'), required: true } }
16
+ field :moov_processing, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('moovProcessing'), required: true } }
17
17
  # Card scheme fees accrued during authorization and settlement. String type represents dollars with up to 9 decimal place precision.
18
- field :card_scheme, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardScheme') } }
18
+ field :card_scheme, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardScheme') } }
19
19
  # Network interchange fee for Visa, Mastercard, or Discover. String type represents dollars with up to 9 decimal place precision.
20
- field :interchange, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('interchange') } }
20
+ field :interchange, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('interchange') } }
21
21
  # Network discount fee for American Express. String type represents dollars with up to 9 decimal place precision.
22
- field :discount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('discount') } }
22
+ field :discount, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('discount') } }
23
23
 
24
- sig { params(moov_processing: ::String, card_scheme: T.nilable(::String), interchange: T.nilable(::String), discount: T.nilable(::String)).void }
24
+ sig { params(moov_processing: Models::Components::AmountDecimal, card_scheme: T.nilable(Models::Components::AmountDecimal), interchange: T.nilable(Models::Components::AmountDecimal), discount: T.nilable(Models::Components::AmountDecimal)).void }
25
25
  def initialize(moov_processing:, card_scheme: nil, interchange: nil, discount: nil)
26
26
  @moov_processing = moov_processing
27
27
  @card_scheme = card_scheme
@@ -19,6 +19,7 @@ module Moov
19
19
  # Type of a wallet.
20
20
  # - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
21
21
  # - `general`: An additional, user-defined wallet created via API or Dashboard.
22
+ # - `card-issuing`: The system-generated wallet automatically created when an account is granted the card-issuing capability.
22
23
  field :wallet_type, Models::Components::WalletType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletType, false) } }
23
24
 
24
25
  sig { params(wallet_id: ::String, partner_account_id: ::String, wallet_type: Models::Components::WalletType).void }
@@ -0,0 +1,39 @@
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 PullFromCardOptions
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
16
+ field :dynamic_descriptor, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('dynamicDescriptor') } }
17
+ # Specifies the nature and initiator of a transaction.
18
+ #
19
+ # Crucial for recurring and merchant-initiated transactions as per card scheme rules.
20
+ # Omit for customer-initiated e-commerce transactions.
21
+ field :transaction_source, Crystalline::Nilable.new(Models::Components::TransactionSource), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transactionSource'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TransactionSource, true) } }
22
+
23
+ sig { params(dynamic_descriptor: T.nilable(::String), transaction_source: T.nilable(Models::Components::TransactionSource)).void }
24
+ def initialize(dynamic_descriptor: nil, transaction_source: nil)
25
+ @dynamic_descriptor = dynamic_descriptor
26
+ @transaction_source = transaction_source
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 @dynamic_descriptor == other.dynamic_descriptor
33
+ return false unless @transaction_source == other.transaction_source
34
+ true
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PullFromCardOptions
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PullFromCardOptions
11
+ def dynamic_descriptor(); end
12
+ def dynamic_descriptor=(str_); end
13
+ def transaction_source(); end
14
+ def transaction_source=(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 Components
10
+
11
+ class PullFromCardTransferProcessingDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :authorization_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizationCode') } }
17
+
18
+ field :network_transaction_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkTransactionID') } }
19
+
20
+ field :network_response_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkResponseCode') } }
21
+
22
+ field :failure_code, Crystalline::Nilable.new(Models::Components::CardTransactionFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardTransactionFailureCode, true) } }
23
+
24
+ sig { params(authorization_code: T.nilable(::String), network_transaction_id: T.nilable(::String), network_response_code: T.nilable(::String), failure_code: T.nilable(Models::Components::CardTransactionFailureCode)).void }
25
+ def initialize(authorization_code: nil, network_transaction_id: nil, network_response_code: nil, failure_code: nil)
26
+ @authorization_code = authorization_code
27
+ @network_transaction_id = network_transaction_id
28
+ @network_response_code = network_response_code
29
+ @failure_code = failure_code
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 @authorization_code == other.authorization_code
36
+ return false unless @network_transaction_id == other.network_transaction_id
37
+ return false unless @network_response_code == other.network_response_code
38
+ return false unless @failure_code == other.failure_code
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::Components::PullFromCardTransferProcessingDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PullFromCardTransferProcessingDetails
11
+ def authorization_code(); end
12
+ def authorization_code=(str_); end
13
+ def network_transaction_id(); end
14
+ def network_transaction_id=(str_); end
15
+ def network_response_code(); end
16
+ def network_response_code=(str_); end
17
+ def failure_code(); end
18
+ def failure_code=(str_); end
19
+ end
@@ -0,0 +1,32 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class PushToCardOptions
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
16
+ field :dynamic_descriptor, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('dynamicDescriptor') } }
17
+
18
+ sig { params(dynamic_descriptor: T.nilable(::String)).void }
19
+ def initialize(dynamic_descriptor: nil)
20
+ @dynamic_descriptor = dynamic_descriptor
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @dynamic_descriptor == other.dynamic_descriptor
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PushToCardOptions
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PushToCardOptions
11
+ def dynamic_descriptor(); end
12
+ def dynamic_descriptor=(str_); end
13
+ 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 Components
10
+
11
+ class PushToCardTransferProcessingDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :authorization_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizationCode') } }
17
+
18
+ field :network_transaction_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkTransactionID') } }
19
+
20
+ field :network_response_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkResponseCode') } }
21
+
22
+ field :failure_code, Crystalline::Nilable.new(Models::Components::CardTransactionFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardTransactionFailureCode, true) } }
23
+
24
+ sig { params(authorization_code: T.nilable(::String), network_transaction_id: T.nilable(::String), network_response_code: T.nilable(::String), failure_code: T.nilable(Models::Components::CardTransactionFailureCode)).void }
25
+ def initialize(authorization_code: nil, network_transaction_id: nil, network_response_code: nil, failure_code: nil)
26
+ @authorization_code = authorization_code
27
+ @network_transaction_id = network_transaction_id
28
+ @network_response_code = network_response_code
29
+ @failure_code = failure_code
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 @authorization_code == other.authorization_code
36
+ return false unless @network_transaction_id == other.network_transaction_id
37
+ return false unless @network_response_code == other.network_response_code
38
+ return false unless @failure_code == other.failure_code
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::Components::PushToCardTransferProcessingDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PushToCardTransferProcessingDetails
11
+ def authorization_code(); end
12
+ def authorization_code=(str_); end
13
+ def network_transaction_id(); end
14
+ def network_transaction_id=(str_); end
15
+ def network_response_code(); end
16
+ def network_response_code=(str_); end
17
+ def failure_code(); end
18
+ def failure_code=(str_); end
19
+ end
@@ -0,0 +1,32 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class RefundProcessingDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :card_payment, Crystalline::Nilable.new(Models::Components::CardPaymentRefundProcessingDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardPayment') } }
17
+
18
+ sig { params(card_payment: T.nilable(Models::Components::CardPaymentRefundProcessingDetails)).void }
19
+ def initialize(card_payment: nil)
20
+ @card_payment = card_payment
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @card_payment == other.card_payment
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::RefundProcessingDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::RefundProcessingDetails
11
+ def card_payment(); end
12
+ def card_payment=(str_); end
13
+ end
@@ -21,12 +21,15 @@ module Moov
21
21
 
22
22
  field :instant_bank, Crystalline::Nilable.new(Models::Components::SendFundsInstantBank), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('instantBank') } }
23
23
 
24
- sig { params(ach: T.nilable(Models::Components::SendFundsAch), push_to_card: T.nilable(Models::Components::SendFundsPushToCard), rtp: T.nilable(Models::Components::SendFundsRtp), instant_bank: T.nilable(Models::Components::SendFundsInstantBank)).void }
25
- def initialize(ach: nil, push_to_card: nil, rtp: nil, instant_bank: nil)
24
+ field :wire, Crystalline::Nilable.new(Models::Components::SendFundsWire), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('wire') } }
25
+
26
+ sig { params(ach: T.nilable(Models::Components::SendFundsAch), push_to_card: T.nilable(Models::Components::SendFundsPushToCard), rtp: T.nilable(Models::Components::SendFundsRtp), instant_bank: T.nilable(Models::Components::SendFundsInstantBank), wire: T.nilable(Models::Components::SendFundsWire)).void }
27
+ def initialize(ach: nil, push_to_card: nil, rtp: nil, instant_bank: nil, wire: nil)
26
28
  @ach = ach
27
29
  @push_to_card = push_to_card
28
30
  @rtp = rtp
29
31
  @instant_bank = instant_bank
32
+ @wire = wire
30
33
  end
31
34
 
32
35
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -36,6 +39,7 @@ module Moov
36
39
  return false unless @push_to_card == other.push_to_card
37
40
  return false unless @rtp == other.rtp
38
41
  return false unless @instant_bank == other.instant_bank
42
+ return false unless @wire == other.wire
39
43
  true
40
44
  end
41
45
  end
@@ -16,4 +16,6 @@ class Moov::Models::Components::SendFunds
16
16
  def rtp=(str_); end
17
17
  def instant_bank(); end
18
18
  def instant_bank=(str_); end
19
+ def wire(); end
20
+ def wire=(str_); end
19
21
  end
@@ -21,12 +21,15 @@ module Moov
21
21
 
22
22
  field :instant_bank, Crystalline::Nilable.new(Models::Components::SendFundsInstantBankError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('instantBank') } }
23
23
 
24
- sig { params(ach: T.nilable(Models::Components::SendFundsAchError), push_to_card: T.nilable(Models::Components::SendFundsPushToCardError), rtp: T.nilable(Models::Components::SendFundsRtpError), instant_bank: T.nilable(Models::Components::SendFundsInstantBankError)).void }
25
- def initialize(ach: nil, push_to_card: nil, rtp: nil, instant_bank: nil)
24
+ field :wire, Crystalline::Nilable.new(Models::Components::SendFundsWireError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('wire') } }
25
+
26
+ sig { params(ach: T.nilable(Models::Components::SendFundsAchError), push_to_card: T.nilable(Models::Components::SendFundsPushToCardError), rtp: T.nilable(Models::Components::SendFundsRtpError), instant_bank: T.nilable(Models::Components::SendFundsInstantBankError), wire: T.nilable(Models::Components::SendFundsWireError)).void }
27
+ def initialize(ach: nil, push_to_card: nil, rtp: nil, instant_bank: nil, wire: nil)
26
28
  @ach = ach
27
29
  @push_to_card = push_to_card
28
30
  @rtp = rtp
29
31
  @instant_bank = instant_bank
32
+ @wire = wire
30
33
  end
31
34
 
32
35
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -36,6 +39,7 @@ module Moov
36
39
  return false unless @push_to_card == other.push_to_card
37
40
  return false unless @rtp == other.rtp
38
41
  return false unless @instant_bank == other.instant_bank
42
+ return false unless @wire == other.wire
39
43
  true
40
44
  end
41
45
  end
@@ -16,4 +16,6 @@ class Moov::Models::Components::SendFundsError
16
16
  def rtp=(str_); end
17
17
  def instant_bank(); end
18
18
  def instant_bank=(str_); end
19
+ def wire(); end
20
+ def wire=(str_); end
19
21
  end