moov_ruby 0.0.0.pre.dev.13 → 0.0.0.pre.dev.15

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 (139) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/client.rb +2 -1
  3. data/lib/moov/google_pay.rb +3 -1
  4. data/lib/moov/models/components/amountdecimalrange.rb +36 -0
  5. data/lib/moov/models/components/amountdecimalrange.rbi +15 -0
  6. data/lib/moov/models/components/amountdecimalrangeupdate.rb +36 -0
  7. data/lib/moov/models/components/amountdecimalrangeupdate.rbi +15 -0
  8. data/lib/moov/models/components/asynccreatedrefund.rb +6 -2
  9. data/lib/moov/models/components/asynccreatedrefund.rbi +2 -0
  10. data/lib/moov/models/components/cardacquiringrefund.rb +6 -2
  11. data/lib/moov/models/components/cardacquiringrefund.rbi +2 -0
  12. data/lib/moov/models/components/cardfundingsource.rb +21 -0
  13. data/lib/moov/models/components/cardfundingsource.rbi +11 -0
  14. data/lib/moov/models/components/cardnetwork.rb +24 -0
  15. data/lib/moov/models/components/cardnetwork.rbi +11 -0
  16. data/lib/moov/models/components/createdtransfer.rb +7 -3
  17. data/lib/moov/models/components/createdtransfer.rbi +2 -0
  18. data/lib/moov/models/components/createpaymentlink.rb +17 -8
  19. data/lib/moov/models/components/createpaymentlink.rbi +4 -2
  20. data/lib/moov/models/components/createpaymentlinkamountdetails.rb +32 -0
  21. data/lib/moov/models/components/createpaymentlinkamountdetails.rbi +13 -0
  22. data/lib/moov/models/components/createpaymentlinkamountdetailsvalidationerror.rb +32 -0
  23. data/lib/moov/models/components/createpaymentlinkamountdetailsvalidationerror.rbi +13 -0
  24. data/lib/moov/models/components/createrefund.rb +6 -2
  25. data/lib/moov/models/components/createrefund.rbi +2 -0
  26. data/lib/moov/models/components/createtippresets.rb +42 -0
  27. data/lib/moov/models/components/createtippresets.rbi +17 -0
  28. data/lib/moov/models/components/createtransfer.rb +7 -3
  29. data/lib/moov/models/components/createtransfer.rbi +2 -0
  30. data/lib/moov/models/components/createtransferamountdetails.rb +36 -0
  31. data/lib/moov/models/components/createtransferamountdetails.rbi +15 -0
  32. data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rb +36 -0
  33. data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rbi +15 -0
  34. data/lib/moov/models/components/createtransferconfig.rb +32 -0
  35. data/lib/moov/models/components/createtransferconfig.rbi +13 -0
  36. data/lib/moov/models/components/fileuploadmetadata.rb +36 -0
  37. data/lib/moov/models/components/fileuploadmetadata.rbi +15 -0
  38. data/lib/moov/models/components/fileuploadrequestmultipart.rb +4 -6
  39. data/lib/moov/models/components/googlepayassurancedetails.rb +36 -0
  40. data/lib/moov/models/components/googlepayassurancedetails.rbi +15 -0
  41. data/lib/moov/models/components/googlepaybillingaddress.rb +71 -0
  42. data/lib/moov/models/components/googlepaybillingaddress.rbi +31 -0
  43. data/lib/moov/models/components/googlepaycardinfo.rb +52 -0
  44. data/lib/moov/models/components/googlepaycardinfo.rbi +21 -0
  45. data/lib/moov/models/components/googlepaypaymentmethoddata.rb +48 -0
  46. data/lib/moov/models/components/googlepaypaymentmethoddata.rbi +19 -0
  47. data/lib/moov/models/components/{linkedgooglepaypaymentmethod_paymentmethodtype.rb → googlepaypaymentmethoddata_type.rb} +3 -3
  48. data/lib/moov/models/components/googlepaypaymentmethoddata_type.rbi +11 -0
  49. data/lib/moov/models/components/googlepaytokenizationdata.rb +38 -0
  50. data/lib/moov/models/components/googlepaytokenizationdata.rbi +15 -0
  51. data/lib/moov/models/components/googlepaytokenizationdata_type.rb +18 -0
  52. data/lib/moov/models/components/googlepaytokenizationdata_type.rbi +11 -0
  53. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +3 -3
  54. data/lib/moov/models/components/linkgooglepay.rb +17 -12
  55. data/lib/moov/models/components/linkgooglepay.rbi +4 -2
  56. data/lib/moov/models/components/paymentlink.rb +16 -7
  57. data/lib/moov/models/components/paymentlink.rbi +4 -2
  58. data/lib/moov/models/components/paymentlinkamountdetails.rb +32 -0
  59. data/lib/moov/models/components/paymentlinkamountdetails.rbi +13 -0
  60. data/lib/moov/models/components/paymentlinkcustomeroptions.rb +6 -2
  61. data/lib/moov/models/components/paymentlinkcustomeroptions.rbi +2 -0
  62. data/lib/moov/models/components/paymentlinkpaymentdetails.rb +14 -2
  63. data/lib/moov/models/components/paymentlinkpaymentdetails.rbi +6 -0
  64. data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rb +19 -0
  65. data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rbi +11 -0
  66. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rb +14 -2
  67. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rbi +6 -0
  68. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rb +19 -0
  69. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rbi +11 -0
  70. data/lib/moov/models/components/puttippresets.rb +42 -0
  71. data/lib/moov/models/components/puttippresets.rbi +17 -0
  72. data/lib/moov/models/components/puttransferconfig.rb +32 -0
  73. data/lib/moov/models/components/puttransferconfig.rbi +13 -0
  74. data/lib/moov/models/components/refundamountdetails.rb +32 -0
  75. data/lib/moov/models/components/refundamountdetails.rbi +13 -0
  76. data/lib/moov/models/components/refundamountdetailsvalidationerror.rb +32 -0
  77. data/lib/moov/models/components/refundamountdetailsvalidationerror.rbi +13 -0
  78. data/lib/moov/models/components/tipcalculationbasis.rb +21 -0
  79. data/lib/moov/models/components/tipcalculationbasis.rbi +11 -0
  80. data/lib/moov/models/components/tippresets.rb +42 -0
  81. data/lib/moov/models/components/tippresets.rbi +17 -0
  82. data/lib/moov/models/components/transfer.rb +7 -3
  83. data/lib/moov/models/components/transfer.rbi +2 -0
  84. data/lib/moov/models/components/transferamountdetails.rb +36 -0
  85. data/lib/moov/models/components/transferamountdetails.rbi +15 -0
  86. data/lib/moov/models/components/transferconfig.rb +32 -0
  87. data/lib/moov/models/components/transferconfig.rbi +13 -0
  88. data/lib/moov/models/components/transferdestination.rb +6 -2
  89. data/lib/moov/models/components/transferdestination.rbi +2 -0
  90. data/lib/moov/models/components/transfersource.rb +6 -2
  91. data/lib/moov/models/components/transfersource.rbi +2 -0
  92. data/lib/moov/models/components/updatepaymentlink.rb +6 -2
  93. data/lib/moov/models/components/updatepaymentlink.rbi +2 -0
  94. data/lib/moov/models/components/updatepaymentlinkamountdetails.rb +32 -0
  95. data/lib/moov/models/components/updatepaymentlinkamountdetails.rbi +13 -0
  96. data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rb +32 -0
  97. data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rbi +13 -0
  98. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +6 -2
  99. data/lib/moov/models/components/webhookdatabankaccountcreated.rbi +2 -0
  100. data/lib/moov/models/components.rb +31 -3
  101. data/lib/moov/models/errors/cardacquiringrefund_error.rb +6 -2
  102. data/lib/moov/models/errors/cardacquiringrefund_error.rbi +2 -0
  103. data/lib/moov/models/errors/createpaymentlinkerror.rb +6 -2
  104. data/lib/moov/models/errors/createpaymentlinkerror.rbi +2 -0
  105. data/lib/moov/models/errors/linkgooglepayerror.rb +10 -6
  106. data/lib/moov/models/errors/linkgooglepayerror.rbi +4 -2
  107. data/lib/moov/models/errors/refundvalidationerror.rb +6 -2
  108. data/lib/moov/models/errors/refundvalidationerror.rbi +2 -0
  109. data/lib/moov/models/errors/transfer_error.rb +7 -3
  110. data/lib/moov/models/errors/transfer_error.rbi +2 -0
  111. data/lib/moov/models/errors/transferconfigvalidationerror.rb +44 -0
  112. data/lib/moov/models/errors/transferconfigvalidationerror.rbi +19 -0
  113. data/lib/moov/models/errors/transfervalidationerror.rb +6 -2
  114. data/lib/moov/models/errors/transfervalidationerror.rbi +2 -0
  115. data/lib/moov/models/errors/updatepaymentlinkerror.rb +6 -2
  116. data/lib/moov/models/errors/updatepaymentlinkerror.rbi +2 -0
  117. data/lib/moov/models/errors.rb +1 -0
  118. data/lib/moov/models/operations/createtransferconfig_request.rb +36 -0
  119. data/lib/moov/models/operations/createtransferconfig_request.rbi +15 -0
  120. data/lib/moov/models/operations/createtransferconfig_response.rb +48 -0
  121. data/lib/moov/models/operations/createtransferconfig_response.rbi +21 -0
  122. data/lib/moov/models/operations/gettransferconfig_request.rb +32 -0
  123. data/lib/moov/models/operations/gettransferconfig_request.rbi +13 -0
  124. data/lib/moov/models/operations/gettransferconfig_response.rb +48 -0
  125. data/lib/moov/models/operations/gettransferconfig_response.rbi +21 -0
  126. data/lib/moov/models/operations/updatetransferconfig_request.rb +36 -0
  127. data/lib/moov/models/operations/updatetransferconfig_request.rbi +15 -0
  128. data/lib/moov/models/operations/updatetransferconfig_response.rb +48 -0
  129. data/lib/moov/models/operations/updatetransferconfig_response.rbi +21 -0
  130. data/lib/moov/models/operations.rb +6 -0
  131. data/lib/moov/sdkconfiguration.rb +3 -3
  132. data/lib/moov/transfer_config.rb +486 -0
  133. data/lib/moov_ruby.rb +1 -0
  134. metadata +79 -8
  135. data/lib/moov/models/components/googlepayintermediatesigningkey.rb +0 -36
  136. data/lib/moov/models/components/googlepayintermediatesigningkey.rbi +0 -15
  137. data/lib/moov/models/components/googlepaytoken.rb +0 -47
  138. data/lib/moov/models/components/googlepaytoken.rbi +0 -19
  139. data/lib/moov/models/components/linkedgooglepaypaymentmethod_paymentmethodtype.rbi +0 -11
@@ -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 RefundAmountDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The amount of surcharge to refund. Should be proportionate to the surcharge on the original transfer
16
+ field :surcharge, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('surcharge') } }
17
+
18
+ sig { params(surcharge: T.nilable(Models::Components::AmountDecimal)).void }
19
+ def initialize(surcharge: nil)
20
+ @surcharge = surcharge
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 @surcharge == other.surcharge
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::RefundAmountDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::RefundAmountDetails
11
+ def surcharge(); end
12
+ def surcharge=(str_); end
13
+ 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 RefundAmountDetailsValidationError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :surcharge, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('surcharge') } }
17
+
18
+ sig { params(surcharge: T.nilable(::String)).void }
19
+ def initialize(surcharge: nil)
20
+ @surcharge = surcharge
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 @surcharge == other.surcharge
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::RefundAmountDetailsValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::RefundAmountDetailsValidationError
11
+ def surcharge(); end
12
+ def surcharge=(str_); end
13
+ end
@@ -0,0 +1,21 @@
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
+ # TipCalculationBasis - Defines which amount should be used when calculating the final payment total. This calculation applies for percentage tip values.
11
+ # - `pre-tax`: Tip amounts are calculated using the subtotal amount before taxes
12
+ # - `post-tax`: Tip amounts are calculated using the subtotal amount + taxes
13
+ class TipCalculationBasis < T::Enum
14
+ enums do
15
+ PRE_TAX = new('pre-tax')
16
+ POST_TAX = new('post-tax')
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TipCalculationBasis
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TipCalculationBasis
11
+ end
@@ -0,0 +1,42 @@
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
+ # Tip presets when calculating tips for a transfer.
11
+ class TipPresets
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Defines which amount should be used when calculating the final payment total. This calculation applies for percentage tip values.
16
+ # - `pre-tax`: Tip amounts are calculated using the subtotal amount before taxes
17
+ # - `post-tax`: Tip amounts are calculated using the subtotal amount + taxes
18
+ field :calculation_basis, Crystalline::Nilable.new(Models::Components::TipCalculationBasis), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('calculationBasis'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TipCalculationBasis, true) } }
19
+ # Defines the set of suggested tip preset values presented to customers. Percentages must be between 0 and 100 (exclusive) and must be unique. A maximum of 3 values are allowed.
20
+ field :percentage_options, Crystalline::Nilable.new(Crystalline::Array.new(::Integer)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('percentageOptions') } }
21
+ # Defines the set of suggested tip preset values presented to customers. Fixed amounts must be positive and unique. A maximum of 3 values are allowed.
22
+ field :fixed_amount_options, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AmountDecimal)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fixedAmountOptions') } }
23
+
24
+ sig { params(calculation_basis: T.nilable(Models::Components::TipCalculationBasis), percentage_options: T.nilable(T::Array[::Integer]), fixed_amount_options: T.nilable(T::Array[Models::Components::AmountDecimal])).void }
25
+ def initialize(calculation_basis: nil, percentage_options: nil, fixed_amount_options: nil)
26
+ @calculation_basis = calculation_basis
27
+ @percentage_options = percentage_options
28
+ @fixed_amount_options = fixed_amount_options
29
+ end
30
+
31
+ sig { params(other: T.untyped).returns(T::Boolean) }
32
+ def ==(other)
33
+ return false unless other.is_a? self.class
34
+ return false unless @calculation_basis == other.calculation_basis
35
+ return false unless @percentage_options == other.percentage_options
36
+ return false unless @fixed_amount_options == other.fixed_amount_options
37
+ true
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TipPresets
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TipPresets
11
+ def calculation_basis(); end
12
+ def calculation_basis=(str_); end
13
+ def percentage_options(); end
14
+ def percentage_options=(str_); end
15
+ def fixed_amount_options(); end
16
+ def fixed_amount_options=(str_); end
17
+ end
@@ -62,7 +62,7 @@ module Moov
62
62
  field :occurrence_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('occurrenceID') } }
63
63
 
64
64
  field :payment_link_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentLinkCode') } }
65
- # Optional sales tax amount. `transfer.amount.value` should be inclusive of any sales tax and represents the total amount charged.
65
+
66
66
  field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
67
67
  # Optional alias from a foreign/external system which can be used to reference this resource.
68
68
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
@@ -71,11 +71,13 @@ module Moov
71
71
  field :line_items, Crystalline::Nilable.new(Models::Components::TransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
72
72
  # ID of the invoice that the transfer is associated with.
73
73
  field :invoice_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoiceID') } }
74
+
75
+ field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
74
76
  # The card authorization and capture IDs associated with a transfer.
75
77
  field :capture, Crystalline::Nilable.new(Models::Components::TransferCapture), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capture') } }
76
78
 
77
- sig { params(transfer_id: ::String, created_on: ::DateTime, source: Models::Components::TransferSource, destination: Models::Components::TransferDestination, status: Models::Components::TransferStatus, amount: Models::Components::Amount, completed_on: T.nilable(::DateTime), failure_reason: T.nilable(Models::Components::TransferFailureReason), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), facilitator_fee: T.nilable(Models::Components::FacilitatorFee), moov_fee: T.nilable(::Integer), moov_fee_decimal: T.nilable(::String), moov_fee_details: T.nilable(Models::Components::MoovFeeDetails), moov_fees: T.nilable(T::Array[Models::Components::MoovFee]), group_id: T.nilable(::String), cancellations: T.nilable(T::Array[Models::Components::Cancellation]), refunded_amount: T.nilable(Models::Components::Amount), refunds: T.nilable(T::Array[Models::Components::CardAcquiringRefund]), disputed_amount: T.nilable(Models::Components::Amount), disputes: T.nilable(T::Array[Models::Components::CardAcquiringDispute]), sweep_id: T.nilable(::String), schedule_id: T.nilable(::String), occurrence_id: T.nilable(::String), payment_link_code: T.nilable(::String), sales_tax_amount: T.nilable(Models::Components::Amount), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItems), invoice_id: T.nilable(::String), capture: T.nilable(Models::Components::TransferCapture)).void }
78
- def initialize(transfer_id:, created_on:, source:, destination:, status:, amount:, completed_on: nil, failure_reason: nil, description: nil, metadata: nil, facilitator_fee: nil, moov_fee: nil, moov_fee_decimal: nil, moov_fee_details: nil, moov_fees: nil, group_id: nil, cancellations: nil, refunded_amount: nil, refunds: nil, disputed_amount: nil, disputes: nil, sweep_id: nil, schedule_id: nil, occurrence_id: nil, payment_link_code: nil, sales_tax_amount: nil, foreign_id: nil, line_items: nil, invoice_id: nil, capture: nil)
79
+ sig { params(transfer_id: ::String, created_on: ::DateTime, source: Models::Components::TransferSource, destination: Models::Components::TransferDestination, status: Models::Components::TransferStatus, amount: Models::Components::Amount, completed_on: T.nilable(::DateTime), failure_reason: T.nilable(Models::Components::TransferFailureReason), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), facilitator_fee: T.nilable(Models::Components::FacilitatorFee), moov_fee: T.nilable(::Integer), moov_fee_decimal: T.nilable(::String), moov_fee_details: T.nilable(Models::Components::MoovFeeDetails), moov_fees: T.nilable(T::Array[Models::Components::MoovFee]), group_id: T.nilable(::String), cancellations: T.nilable(T::Array[Models::Components::Cancellation]), refunded_amount: T.nilable(Models::Components::Amount), refunds: T.nilable(T::Array[Models::Components::CardAcquiringRefund]), disputed_amount: T.nilable(Models::Components::Amount), disputes: T.nilable(T::Array[Models::Components::CardAcquiringDispute]), sweep_id: T.nilable(::String), schedule_id: T.nilable(::String), occurrence_id: T.nilable(::String), payment_link_code: T.nilable(::String), sales_tax_amount: T.nilable(Models::Components::Amount), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItems), invoice_id: T.nilable(::String), amount_details: T.nilable(Models::Components::TransferAmountDetails), capture: T.nilable(Models::Components::TransferCapture)).void }
80
+ def initialize(transfer_id:, created_on:, source:, destination:, status:, amount:, completed_on: nil, failure_reason: nil, description: nil, metadata: nil, facilitator_fee: nil, moov_fee: nil, moov_fee_decimal: nil, moov_fee_details: nil, moov_fees: nil, group_id: nil, cancellations: nil, refunded_amount: nil, refunds: nil, disputed_amount: nil, disputes: nil, sweep_id: nil, schedule_id: nil, occurrence_id: nil, payment_link_code: nil, sales_tax_amount: nil, foreign_id: nil, line_items: nil, invoice_id: nil, amount_details: nil, capture: nil)
79
81
  @transfer_id = transfer_id
80
82
  @created_on = created_on
81
83
  @source = source
@@ -105,6 +107,7 @@ module Moov
105
107
  @foreign_id = foreign_id
106
108
  @line_items = line_items
107
109
  @invoice_id = invoice_id
110
+ @amount_details = amount_details
108
111
  @capture = capture
109
112
  end
110
113
 
@@ -140,6 +143,7 @@ module Moov
140
143
  return false unless @foreign_id == other.foreign_id
141
144
  return false unless @line_items == other.line_items
142
145
  return false unless @invoice_id == other.invoice_id
146
+ return false unless @amount_details == other.amount_details
143
147
  return false unless @capture == other.capture
144
148
  true
145
149
  end
@@ -66,6 +66,8 @@ class Moov::Models::Components::Transfer
66
66
  def line_items=(str_); end
67
67
  def invoice_id(); end
68
68
  def invoice_id=(str_); end
69
+ def amount_details(); end
70
+ def amount_details=(str_); end
69
71
  def capture(); end
70
72
  def capture=(str_); end
71
73
  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 TransferAmountDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The amount of tip applied to the transfer.
16
+ field :tip, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tip') } }
17
+ # The amount of surcharge applied to the transfer.
18
+ field :surcharge, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('surcharge') } }
19
+
20
+ sig { params(tip: T.nilable(Models::Components::AmountDecimal), surcharge: T.nilable(Models::Components::AmountDecimal)).void }
21
+ def initialize(tip: nil, surcharge: nil)
22
+ @tip = tip
23
+ @surcharge = surcharge
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 @tip == other.tip
30
+ return false unless @surcharge == other.surcharge
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::TransferAmountDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferAmountDetails
11
+ def tip(); end
12
+ def tip=(str_); end
13
+ def surcharge(); end
14
+ def surcharge=(str_); end
15
+ 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
+ # Configurable options for a transfer.
11
+ class TransferConfig
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Tip presets when calculating tips for a transfer.
16
+ field :tip_presets, Crystalline::Nilable.new(Models::Components::TipPresets), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tipPresets') } }
17
+
18
+ sig { params(tip_presets: T.nilable(Models::Components::TipPresets)).void }
19
+ def initialize(tip_presets: nil)
20
+ @tip_presets = tip_presets
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 @tip_presets == other.tip_presets
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::TransferConfig
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferConfig
11
+ def tip_presets(); end
12
+ def tip_presets=(str_); end
13
+ end
@@ -28,6 +28,8 @@ module Moov
28
28
  field :ach_details, Crystalline::Nilable.new(Models::Components::ACHTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
29
29
  # Describes an Apple Pay token on a Moov account.
30
30
  field :apple_pay, Crystalline::Nilable.new(Models::Components::ApplePayResponse), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('applePay') } }
31
+ # Describes a Google Pay token on a Moov account.
32
+ field :google_pay, Crystalline::Nilable.new(Models::Components::GooglePayResponse), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay') } }
31
33
  # Card-specific details about the transaction.
32
34
  field :card_details, Crystalline::Nilable.new(Models::Components::CardTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
33
35
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
@@ -35,8 +37,8 @@ module Moov
35
37
  # Instant-bank specific details about the transaction.
36
38
  field :instant_bank_details, Crystalline::Nilable.new(Models::Components::InstantBankTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('instantBankDetails') } }
37
39
 
38
- 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::RtpDetails), instant_bank_details: T.nilable(Models::Components::InstantBankTransactionDetails)).void }
39
- 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, instant_bank_details: nil)
40
+ 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), google_pay: T.nilable(Models::Components::GooglePayResponse), card_details: T.nilable(Models::Components::CardTransactionDetails), rtp_details: T.nilable(Models::Components::RtpDetails), instant_bank_details: T.nilable(Models::Components::InstantBankTransactionDetails)).void }
41
+ def initialize(payment_method_id:, payment_method_type:, account:, bank_account: nil, wallet: nil, card: nil, ach_details: nil, apple_pay: nil, google_pay: nil, card_details: nil, rtp_details: nil, instant_bank_details: nil)
40
42
  @payment_method_id = payment_method_id
41
43
  @payment_method_type = payment_method_type
42
44
  @account = account
@@ -45,6 +47,7 @@ module Moov
45
47
  @card = card
46
48
  @ach_details = ach_details
47
49
  @apple_pay = apple_pay
50
+ @google_pay = google_pay
48
51
  @card_details = card_details
49
52
  @rtp_details = rtp_details
50
53
  @instant_bank_details = instant_bank_details
@@ -61,6 +64,7 @@ module Moov
61
64
  return false unless @card == other.card
62
65
  return false unless @ach_details == other.ach_details
63
66
  return false unless @apple_pay == other.apple_pay
67
+ return false unless @google_pay == other.google_pay
64
68
  return false unless @card_details == other.card_details
65
69
  return false unless @rtp_details == other.rtp_details
66
70
  return false unless @instant_bank_details == other.instant_bank_details
@@ -24,6 +24,8 @@ class Moov::Models::Components::TransferDestination
24
24
  def ach_details=(str_); end
25
25
  def apple_pay(); end
26
26
  def apple_pay=(str_); end
27
+ def google_pay(); end
28
+ def google_pay=(str_); end
27
29
  def card_details(); end
28
30
  def card_details=(str_); end
29
31
  def rtp_details(); end
@@ -28,6 +28,8 @@ module Moov
28
28
  field :card, Crystalline::Nilable.new(Models::Components::TransferPaymentMethodsCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('card') } }
29
29
  # Describes an Apple Pay token on a Moov account.
30
30
  field :apple_pay, Crystalline::Nilable.new(Models::Components::ApplePayResponse), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('applePay') } }
31
+ # Describes a Google Pay token on a Moov account.
32
+ field :google_pay, Crystalline::Nilable.new(Models::Components::GooglePayResponse), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay') } }
31
33
  # Describes payment card details captured with tap or in-person payment.
32
34
  field :terminal_card, Crystalline::Nilable.new(Models::Components::TransferTerminalCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('terminalCard') } }
33
35
  # Card-specific details about the transaction.
@@ -35,8 +37,8 @@ module Moov
35
37
  # ACH specific details about the transaction.
36
38
  field :ach_details, Crystalline::Nilable.new(Models::Components::ACHTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
37
39
 
38
- sig { params(payment_method_id: ::String, payment_method_type: Models::Components::TransferPaymentMethodType, account: Models::Components::TransferAccount, transfer_id: T.nilable(::String), bank_account: T.nilable(Models::Components::TransferPaymentMethodsBankAccount), wallet: T.nilable(Models::Components::TransferPaymentMethodsWallet), card: T.nilable(Models::Components::TransferPaymentMethodsCard), apple_pay: T.nilable(Models::Components::ApplePayResponse), terminal_card: T.nilable(Models::Components::TransferTerminalCard), card_details: T.nilable(Models::Components::CardTransactionDetails), ach_details: T.nilable(Models::Components::ACHTransactionDetails)).void }
39
- def initialize(payment_method_id:, payment_method_type:, account:, transfer_id: nil, bank_account: nil, wallet: nil, card: nil, apple_pay: nil, terminal_card: nil, card_details: nil, ach_details: nil)
40
+ sig { params(payment_method_id: ::String, payment_method_type: Models::Components::TransferPaymentMethodType, account: Models::Components::TransferAccount, transfer_id: T.nilable(::String), bank_account: T.nilable(Models::Components::TransferPaymentMethodsBankAccount), wallet: T.nilable(Models::Components::TransferPaymentMethodsWallet), card: T.nilable(Models::Components::TransferPaymentMethodsCard), apple_pay: T.nilable(Models::Components::ApplePayResponse), google_pay: T.nilable(Models::Components::GooglePayResponse), terminal_card: T.nilable(Models::Components::TransferTerminalCard), card_details: T.nilable(Models::Components::CardTransactionDetails), ach_details: T.nilable(Models::Components::ACHTransactionDetails)).void }
41
+ def initialize(payment_method_id:, payment_method_type:, account:, transfer_id: nil, bank_account: nil, wallet: nil, card: nil, apple_pay: nil, google_pay: nil, terminal_card: nil, card_details: nil, ach_details: nil)
40
42
  @payment_method_id = payment_method_id
41
43
  @payment_method_type = payment_method_type
42
44
  @account = account
@@ -45,6 +47,7 @@ module Moov
45
47
  @wallet = wallet
46
48
  @card = card
47
49
  @apple_pay = apple_pay
50
+ @google_pay = google_pay
48
51
  @terminal_card = terminal_card
49
52
  @card_details = card_details
50
53
  @ach_details = ach_details
@@ -61,6 +64,7 @@ module Moov
61
64
  return false unless @wallet == other.wallet
62
65
  return false unless @card == other.card
63
66
  return false unless @apple_pay == other.apple_pay
67
+ return false unless @google_pay == other.google_pay
64
68
  return false unless @terminal_card == other.terminal_card
65
69
  return false unless @card_details == other.card_details
66
70
  return false unless @ach_details == other.ach_details
@@ -24,6 +24,8 @@ class Moov::Models::Components::TransferSource
24
24
  def card=(str_); end
25
25
  def apple_pay(); end
26
26
  def apple_pay=(str_); end
27
+ def google_pay(); end
28
+ def google_pay=(str_); end
27
29
  def terminal_card(); end
28
30
  def terminal_card=(str_); end
29
31
  def card_details(); end
@@ -28,10 +28,12 @@ module Moov
28
28
  # When line items are provided, their total plus sales tax must equal the payment link amount.
29
29
  field :line_items, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkLineItemsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
30
30
 
31
+ field :amount_details, Crystalline::Nilable.new(Models::Components::UpdatePaymentLinkAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
32
+
31
33
  field :expires_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiresOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
32
34
 
33
- sig { params(amount: T.nilable(Models::Components::AmountUpdate), sales_tax_amount: T.nilable(Models::Components::AmountUpdate), display: T.nilable(Models::Components::PaymentLinkDisplayOptionsUpdate), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetailsUpdate), payout: T.nilable(Models::Components::PaymentLinkPayoutDetailsUpdate), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItemsUpdate), expires_on: T.nilable(::DateTime)).void }
34
- def initialize(amount: nil, sales_tax_amount: nil, display: nil, customer: nil, payment: nil, payout: nil, line_items: nil, expires_on: nil)
35
+ sig { params(amount: T.nilable(Models::Components::AmountUpdate), sales_tax_amount: T.nilable(Models::Components::AmountUpdate), display: T.nilable(Models::Components::PaymentLinkDisplayOptionsUpdate), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetailsUpdate), payout: T.nilable(Models::Components::PaymentLinkPayoutDetailsUpdate), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItemsUpdate), amount_details: T.nilable(Models::Components::UpdatePaymentLinkAmountDetails), expires_on: T.nilable(::DateTime)).void }
36
+ def initialize(amount: nil, sales_tax_amount: nil, display: nil, customer: nil, payment: nil, payout: nil, line_items: nil, amount_details: nil, expires_on: nil)
35
37
  @amount = amount
36
38
  @sales_tax_amount = sales_tax_amount
37
39
  @display = display
@@ -39,6 +41,7 @@ module Moov
39
41
  @payment = payment
40
42
  @payout = payout
41
43
  @line_items = line_items
44
+ @amount_details = amount_details
42
45
  @expires_on = expires_on
43
46
  end
44
47
 
@@ -52,6 +55,7 @@ module Moov
52
55
  return false unless @payment == other.payment
53
56
  return false unless @payout == other.payout
54
57
  return false unless @line_items == other.line_items
58
+ return false unless @amount_details == other.amount_details
55
59
  return false unless @expires_on == other.expires_on
56
60
  true
57
61
  end
@@ -22,6 +22,8 @@ class Moov::Models::Components::UpdatePaymentLink
22
22
  def payout=(str_); end
23
23
  def line_items(); end
24
24
  def line_items=(str_); end
25
+ def amount_details(); end
26
+ def amount_details=(str_); end
25
27
  def expires_on(); end
26
28
  def expires_on=(str_); end
27
29
  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 UpdatePaymentLinkAmountDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The amount of surcharge applied to the payment link.
16
+ field :surcharge, Crystalline::Nilable.new(Models::Components::AmountDecimalUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('surcharge') } }
17
+
18
+ sig { params(surcharge: T.nilable(Models::Components::AmountDecimalUpdate)).void }
19
+ def initialize(surcharge: nil)
20
+ @surcharge = surcharge
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 @surcharge == other.surcharge
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::UpdatePaymentLinkAmountDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::UpdatePaymentLinkAmountDetails
11
+ def surcharge(); end
12
+ def surcharge=(str_); end
13
+ 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 UpdatePaymentLinkAmountDetailsValidationError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :surcharge, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('surcharge') } }
17
+
18
+ sig { params(surcharge: T.nilable(::String)).void }
19
+ def initialize(surcharge: nil)
20
+ @surcharge = surcharge
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 @surcharge == other.surcharge
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::UpdatePaymentLinkAmountDetailsValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::UpdatePaymentLinkAmountDetailsValidationError
11
+ def surcharge(); end
12
+ def surcharge=(str_); end
13
+ end
@@ -17,10 +17,13 @@ module Moov
17
17
 
18
18
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
19
19
 
20
- sig { params(bank_account_id: ::String, account_id: ::String).void }
21
- def initialize(bank_account_id:, account_id:)
20
+ field :status, Models::Components::BankAccountStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountStatus, false) } }
21
+
22
+ sig { params(bank_account_id: ::String, account_id: ::String, status: Models::Components::BankAccountStatus).void }
23
+ def initialize(bank_account_id:, account_id:, status:)
22
24
  @bank_account_id = bank_account_id
23
25
  @account_id = account_id
26
+ @status = status
24
27
  end
25
28
 
26
29
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -28,6 +31,7 @@ module Moov
28
31
  return false unless other.is_a? self.class
29
32
  return false unless @bank_account_id == other.bank_account_id
30
33
  return false unless @account_id == other.account_id
34
+ return false unless @status == other.status
31
35
  true
32
36
  end
33
37
  end
@@ -12,4 +12,6 @@ class Moov::Models::Components::WebhookDataBankAccountCreated
12
12
  def bank_account_id=(str_); end
13
13
  def account_id(); end
14
14
  def account_id=(str_); end
15
+ def status(); end
16
+ def status=(str_); end
15
17
  end