moov_ruby 0.0.0.pre.dev.12 → 0.0.0.pre.dev.14

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 (175) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/client.rb +3 -1
  3. data/lib/moov/google_pay.rb +212 -0
  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 +11 -3
  17. data/lib/moov/models/components/createdtransfer.rbi +4 -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/disbursementpaymentmethodtype.rb +2 -0
  37. data/lib/moov/models/components/googlepayassurancedetails.rb +36 -0
  38. data/lib/moov/models/components/googlepayassurancedetails.rbi +15 -0
  39. data/lib/moov/models/components/googlepaybillingaddress.rb +71 -0
  40. data/lib/moov/models/components/googlepaybillingaddress.rbi +31 -0
  41. data/lib/moov/models/components/googlepaycardinfo.rb +52 -0
  42. data/lib/moov/models/components/googlepaycardinfo.rbi +21 -0
  43. data/lib/moov/models/components/googlepaypaymentmethod.rb +40 -0
  44. data/lib/moov/models/components/googlepaypaymentmethod.rbi +17 -0
  45. data/lib/moov/models/components/googlepaypaymentmethod_paymentmethodtype.rb +18 -0
  46. data/lib/moov/models/components/googlepaypaymentmethod_paymentmethodtype.rbi +11 -0
  47. data/lib/moov/models/components/googlepaypaymentmethoddata.rb +48 -0
  48. data/lib/moov/models/components/googlepaypaymentmethoddata.rbi +19 -0
  49. data/lib/moov/models/components/googlepaypaymentmethoddata_type.rb +18 -0
  50. data/lib/moov/models/components/googlepaypaymentmethoddata_type.rbi +11 -0
  51. data/lib/moov/models/components/googlepayresponse.rb +50 -0
  52. data/lib/moov/models/components/googlepayresponse.rbi +21 -0
  53. data/lib/moov/models/components/googlepaytokenizationdata.rb +38 -0
  54. data/lib/moov/models/components/googlepaytokenizationdata.rbi +15 -0
  55. data/lib/moov/models/components/googlepaytokenizationdata_type.rb +18 -0
  56. data/lib/moov/models/components/googlepaytokenizationdata_type.rbi +11 -0
  57. data/lib/moov/models/components/googlepaytransferpaymentmethod.rb +40 -0
  58. data/lib/moov/models/components/googlepaytransferpaymentmethod.rbi +17 -0
  59. data/lib/moov/models/components/googlepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  60. data/lib/moov/models/components/googlepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  61. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +40 -0
  62. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rbi +17 -0
  63. data/lib/moov/models/components/linkgooglepay.rb +43 -0
  64. data/lib/moov/models/components/linkgooglepay.rbi +15 -0
  65. data/lib/moov/models/components/paymentlink.rb +16 -7
  66. data/lib/moov/models/components/paymentlink.rbi +4 -2
  67. data/lib/moov/models/components/paymentlinkamountdetails.rb +32 -0
  68. data/lib/moov/models/components/paymentlinkamountdetails.rbi +13 -0
  69. data/lib/moov/models/components/paymentlinkcustomeroptions.rb +6 -2
  70. data/lib/moov/models/components/paymentlinkcustomeroptions.rbi +2 -0
  71. data/lib/moov/models/components/paymentlinkpaymentdetails.rb +14 -2
  72. data/lib/moov/models/components/paymentlinkpaymentdetails.rbi +6 -0
  73. data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rb +19 -0
  74. data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rbi +11 -0
  75. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rb +14 -2
  76. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rbi +6 -0
  77. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rb +19 -0
  78. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rbi +11 -0
  79. data/lib/moov/models/components/paymentmethodtype.rb +3 -0
  80. data/lib/moov/models/components/pullfromgooglepaypaymentmethod.rb +40 -0
  81. data/lib/moov/models/components/pullfromgooglepaypaymentmethod.rbi +17 -0
  82. data/lib/moov/models/components/pullfromgooglepaypaymentmethod_paymentmethodtype.rb +18 -0
  83. data/lib/moov/models/components/pullfromgooglepaypaymentmethod_paymentmethodtype.rbi +11 -0
  84. data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod.rb +40 -0
  85. data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod.rbi +17 -0
  86. data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  87. data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  88. data/lib/moov/models/components/pushtogooglepaypaymentmethod.rb +40 -0
  89. data/lib/moov/models/components/pushtogooglepaypaymentmethod.rbi +17 -0
  90. data/lib/moov/models/components/pushtogooglepaypaymentmethod_paymentmethodtype.rb +18 -0
  91. data/lib/moov/models/components/pushtogooglepaypaymentmethod_paymentmethodtype.rbi +11 -0
  92. data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod.rb +40 -0
  93. data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod.rbi +17 -0
  94. data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  95. data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  96. data/lib/moov/models/components/puttippresets.rb +42 -0
  97. data/lib/moov/models/components/puttippresets.rbi +17 -0
  98. data/lib/moov/models/components/puttransferconfig.rb +32 -0
  99. data/lib/moov/models/components/puttransferconfig.rbi +13 -0
  100. data/lib/moov/models/components/refundamountdetails.rb +32 -0
  101. data/lib/moov/models/components/refundamountdetails.rbi +13 -0
  102. data/lib/moov/models/components/refundamountdetailsvalidationerror.rb +32 -0
  103. data/lib/moov/models/components/refundamountdetailsvalidationerror.rbi +13 -0
  104. data/lib/moov/models/components/resolutionlink.rb +6 -2
  105. data/lib/moov/models/components/resolutionlink.rbi +2 -0
  106. data/lib/moov/models/components/resolutionlinkstatus.rb +22 -0
  107. data/lib/moov/models/components/resolutionlinkstatus.rbi +11 -0
  108. data/lib/moov/models/components/tipcalculationbasis.rb +21 -0
  109. data/lib/moov/models/components/tipcalculationbasis.rbi +11 -0
  110. data/lib/moov/models/components/tippresets.rb +42 -0
  111. data/lib/moov/models/components/tippresets.rbi +17 -0
  112. data/lib/moov/models/components/transfer.rb +11 -3
  113. data/lib/moov/models/components/transfer.rbi +4 -0
  114. data/lib/moov/models/components/transferamountdetails.rb +36 -0
  115. data/lib/moov/models/components/transferamountdetails.rbi +15 -0
  116. data/lib/moov/models/components/transfercapture.rb +36 -0
  117. data/lib/moov/models/components/transfercapture.rbi +15 -0
  118. data/lib/moov/models/components/transferconfig.rb +32 -0
  119. data/lib/moov/models/components/transferconfig.rbi +13 -0
  120. data/lib/moov/models/components/transferdestination.rb +6 -2
  121. data/lib/moov/models/components/transferdestination.rbi +2 -0
  122. data/lib/moov/models/components/transferoptions.rb +3 -3
  123. data/lib/moov/models/components/transferpaymentmethodtype.rb +3 -0
  124. data/lib/moov/models/components/transfersource.rb +6 -2
  125. data/lib/moov/models/components/transfersource.rbi +2 -0
  126. data/lib/moov/models/components/updatepaymentlink.rb +6 -2
  127. data/lib/moov/models/components/updatepaymentlink.rbi +2 -0
  128. data/lib/moov/models/components/updatepaymentlinkamountdetails.rb +32 -0
  129. data/lib/moov/models/components/updatepaymentlinkamountdetails.rbi +13 -0
  130. data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rb +32 -0
  131. data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rbi +13 -0
  132. data/lib/moov/models/components.rb +47 -0
  133. data/lib/moov/models/errors/cardacquiringrefund_error.rb +6 -2
  134. data/lib/moov/models/errors/cardacquiringrefund_error.rbi +2 -0
  135. data/lib/moov/models/errors/createpaymentlinkerror.rb +6 -2
  136. data/lib/moov/models/errors/createpaymentlinkerror.rbi +2 -0
  137. data/lib/moov/models/errors/linkgooglepayerror.rb +44 -0
  138. data/lib/moov/models/errors/linkgooglepayerror.rbi +19 -0
  139. data/lib/moov/models/errors/refundvalidationerror.rb +6 -2
  140. data/lib/moov/models/errors/refundvalidationerror.rbi +2 -0
  141. data/lib/moov/models/errors/transfer_error.rb +11 -3
  142. data/lib/moov/models/errors/transfer_error.rbi +4 -0
  143. data/lib/moov/models/errors/transferconfigvalidationerror.rb +44 -0
  144. data/lib/moov/models/errors/transferconfigvalidationerror.rbi +19 -0
  145. data/lib/moov/models/errors/transfervalidationerror.rb +6 -2
  146. data/lib/moov/models/errors/transfervalidationerror.rbi +2 -0
  147. data/lib/moov/models/errors/updatepaymentlinkerror.rb +6 -2
  148. data/lib/moov/models/errors/updatepaymentlinkerror.rbi +2 -0
  149. data/lib/moov/models/errors.rb +2 -0
  150. data/lib/moov/models/operations/createtransferconfig_request.rb +36 -0
  151. data/lib/moov/models/operations/createtransferconfig_request.rbi +15 -0
  152. data/lib/moov/models/operations/createtransferconfig_response.rb +48 -0
  153. data/lib/moov/models/operations/createtransferconfig_response.rbi +21 -0
  154. data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
  155. data/lib/moov/models/operations/gettransferconfig_request.rb +32 -0
  156. data/lib/moov/models/operations/gettransferconfig_request.rbi +13 -0
  157. data/lib/moov/models/operations/gettransferconfig_response.rb +48 -0
  158. data/lib/moov/models/operations/gettransferconfig_response.rbi +21 -0
  159. data/lib/moov/models/operations/linkgooglepaytoken_request.rb +36 -0
  160. data/lib/moov/models/operations/linkgooglepaytoken_request.rbi +15 -0
  161. data/lib/moov/models/operations/linkgooglepaytoken_response.rb +48 -0
  162. data/lib/moov/models/operations/linkgooglepaytoken_response.rbi +21 -0
  163. data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
  164. data/lib/moov/models/operations/listtransfers_request.rb +10 -2
  165. data/lib/moov/models/operations/listtransfers_request.rbi +4 -0
  166. data/lib/moov/models/operations/updatetransferconfig_request.rb +36 -0
  167. data/lib/moov/models/operations/updatetransferconfig_request.rbi +15 -0
  168. data/lib/moov/models/operations/updatetransferconfig_response.rb +48 -0
  169. data/lib/moov/models/operations/updatetransferconfig_response.rbi +21 -0
  170. data/lib/moov/models/operations.rb +8 -0
  171. data/lib/moov/payment_methods.rb +2 -2
  172. data/lib/moov/sdkconfiguration.rb +3 -3
  173. data/lib/moov/transfer_config.rb +486 -0
  174. data/lib/moov_ruby.rb +2 -0
  175. metadata +118 -2
@@ -0,0 +1,18 @@
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 PushToGooglePayTransferPaymentMethodPaymentMethodType < T::Enum
12
+ enums do
13
+ PUSH_TO_GOOGLE_PAY = new('push-to-google-pay')
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PushToGooglePayTransferPaymentMethodPaymentMethodType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PushToGooglePayTransferPaymentMethodPaymentMethodType
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
+
11
+ class PutTipPresets
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::PutTipPresets
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PutTipPresets
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
@@ -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 PutTransferConfig
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :tip_presets, Models::Components::PutTipPresets, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tipPresets'), required: true } }
17
+
18
+ sig { params(tip_presets: Models::Components::PutTipPresets).void }
19
+ def initialize(tip_presets:)
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::PutTransferConfig
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PutTransferConfig
11
+ def tip_presets(); end
12
+ def tip_presets=(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 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
@@ -22,6 +22,8 @@ module Moov
22
22
  field :recipient, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recipient'), required: true } }
23
23
  # The URL of the resolution link.
24
24
  field :url, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('url'), required: true } }
25
+ # The current status of the resolution link.
26
+ field :status, Models::Components::ResolutionLinkStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::ResolutionLinkStatus, false) } }
25
27
  # The date and time the resolution link was created.
26
28
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
27
29
  # The date and time the resolution link was last updated.
@@ -31,13 +33,14 @@ module Moov
31
33
  # The date and time the resolution link was disabled, if applicable.
32
34
  field :disabled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disabledOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
33
35
 
34
- sig { params(code: ::String, account_id: ::String, partner_account_id: ::String, recipient: ::String, url: ::String, created_on: ::DateTime, updated_on: ::DateTime, expires_on: ::DateTime, disabled_on: T.nilable(::DateTime)).void }
35
- def initialize(code:, account_id:, partner_account_id:, recipient:, url:, created_on:, updated_on:, expires_on:, disabled_on: nil)
36
+ sig { params(code: ::String, account_id: ::String, partner_account_id: ::String, recipient: ::String, url: ::String, status: Models::Components::ResolutionLinkStatus, created_on: ::DateTime, updated_on: ::DateTime, expires_on: ::DateTime, disabled_on: T.nilable(::DateTime)).void }
37
+ def initialize(code:, account_id:, partner_account_id:, recipient:, url:, status:, created_on:, updated_on:, expires_on:, disabled_on: nil)
36
38
  @code = code
37
39
  @account_id = account_id
38
40
  @partner_account_id = partner_account_id
39
41
  @recipient = recipient
40
42
  @url = url
43
+ @status = status
41
44
  @created_on = created_on
42
45
  @updated_on = updated_on
43
46
  @expires_on = expires_on
@@ -52,6 +55,7 @@ module Moov
52
55
  return false unless @partner_account_id == other.partner_account_id
53
56
  return false unless @recipient == other.recipient
54
57
  return false unless @url == other.url
58
+ return false unless @status == other.status
55
59
  return false unless @created_on == other.created_on
56
60
  return false unless @updated_on == other.updated_on
57
61
  return false unless @expires_on == other.expires_on
@@ -18,6 +18,8 @@ class Moov::Models::Components::ResolutionLink
18
18
  def recipient=(str_); end
19
19
  def url(); end
20
20
  def url=(str_); end
21
+ def status(); end
22
+ def status=(str_); end
21
23
  def created_on(); end
22
24
  def created_on=(str_); end
23
25
  def updated_on(); 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
+ # ResolutionLinkStatus - The status of a resolution link.
11
+ class ResolutionLinkStatus < T::Enum
12
+ enums do
13
+ ACTIVE = new('active')
14
+ SUBMITTED = new('submitted')
15
+ COMPLETED = new('completed')
16
+ DISABLED = new('disabled')
17
+ EXPIRED = new('expired')
18
+ end
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::ResolutionLinkStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::ResolutionLinkStatus
11
+ 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') } }
@@ -72,8 +72,12 @@ module Moov
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
74
 
75
- 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)).void }
76
- 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)
75
+ field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
76
+ # The card authorization and capture IDs associated with a transfer.
77
+ field :capture, Crystalline::Nilable.new(Models::Components::TransferCapture), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capture') } }
78
+
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)
77
81
  @transfer_id = transfer_id
78
82
  @created_on = created_on
79
83
  @source = source
@@ -103,6 +107,8 @@ module Moov
103
107
  @foreign_id = foreign_id
104
108
  @line_items = line_items
105
109
  @invoice_id = invoice_id
110
+ @amount_details = amount_details
111
+ @capture = capture
106
112
  end
107
113
 
108
114
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -137,6 +143,8 @@ module Moov
137
143
  return false unless @foreign_id == other.foreign_id
138
144
  return false unless @line_items == other.line_items
139
145
  return false unless @invoice_id == other.invoice_id
146
+ return false unless @amount_details == other.amount_details
147
+ return false unless @capture == other.capture
140
148
  true
141
149
  end
142
150
  end
@@ -66,4 +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
71
+ def capture(); end
72
+ def capture=(str_); end
69
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,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
+ # The card authorization and capture IDs associated with a transfer.
11
+ class TransferCapture
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # ID of the card authorization associated with this transfer.
16
+ field :authorization_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizationID'), required: true } }
17
+ # ID of the card capture associated with this transfer.
18
+ field :capture_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('captureID'), required: true } }
19
+
20
+ sig { params(authorization_id: ::String, capture_id: ::String).void }
21
+ def initialize(authorization_id:, capture_id:)
22
+ @authorization_id = authorization_id
23
+ @capture_id = capture_id
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 @authorization_id == other.authorization_id
30
+ return false unless @capture_id == other.capture_id
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::TransferCapture
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferCapture
11
+ def authorization_id(); end
12
+ def authorization_id=(str_); end
13
+ def capture_id(); end
14
+ def capture_id=(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