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
@@ -26,8 +26,6 @@ class Moov::Models::Components::PaymentLink
26
26
  def merchant_payment_method_id=(str_); end
27
27
  def link(); end
28
28
  def link=(str_); end
29
- def amount(); end
30
- def amount=(str_); end
31
29
  def uses(); end
32
30
  def uses=(str_); end
33
31
  def display(); end
@@ -38,6 +36,8 @@ class Moov::Models::Components::PaymentLink
38
36
  def created_on=(str_); end
39
37
  def updated_on(); end
40
38
  def updated_on=(str_); end
39
+ def amount(); end
40
+ def amount=(str_); end
41
41
  def sales_tax_amount(); end
42
42
  def sales_tax_amount=(str_); end
43
43
  def max_uses(); end
@@ -54,4 +54,6 @@ class Moov::Models::Components::PaymentLink
54
54
  def line_items=(str_); end
55
55
  def disabled_on(); end
56
56
  def disabled_on=(str_); end
57
+ def amount_details(); end
58
+ def amount_details=(str_); end
57
59
  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 PaymentLinkAmountDetails
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::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::PaymentLinkAmountDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PaymentLinkAmountDetails
11
+ def surcharge(); end
12
+ def surcharge=(str_); end
13
+ end
@@ -16,13 +16,16 @@ module Moov
16
16
  field :require_address, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('requireAddress') } }
17
17
  # If true, a phone number is required when completing the payment form.
18
18
  field :require_phone, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('requirePhone') } }
19
+ # If true, tipping is enabled on the payment form. Defaults to false.
20
+ field :tipping_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tippingEnabled') } }
19
21
  # Optional free-form metadata for the Moov account that will represent this customer.
20
22
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
21
23
 
22
- sig { params(require_address: T.nilable(T::Boolean), require_phone: T.nilable(T::Boolean), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
23
- def initialize(require_address: nil, require_phone: nil, metadata: nil)
24
+ sig { params(require_address: T.nilable(T::Boolean), require_phone: T.nilable(T::Boolean), tipping_enabled: T.nilable(T::Boolean), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
25
+ def initialize(require_address: nil, require_phone: nil, tipping_enabled: nil, metadata: nil)
24
26
  @require_address = require_address
25
27
  @require_phone = require_phone
28
+ @tipping_enabled = tipping_enabled
26
29
  @metadata = metadata
27
30
  end
28
31
 
@@ -31,6 +34,7 @@ module Moov
31
34
  return false unless other.is_a? self.class
32
35
  return false unless @require_address == other.require_address
33
36
  return false unless @require_phone == other.require_phone
37
+ return false unless @tipping_enabled == other.tipping_enabled
34
38
  return false unless @metadata == other.metadata
35
39
  true
36
40
  end
@@ -12,6 +12,8 @@ class Moov::Models::Components::PaymentLinkCustomerOptions
12
12
  def require_address=(str_); end
13
13
  def require_phone(); end
14
14
  def require_phone=(str_); end
15
+ def tipping_enabled(); end
16
+ def tipping_enabled=(str_); end
15
17
  def metadata(); end
16
18
  def metadata=(str_); end
17
19
  end
@@ -14,28 +14,40 @@ module Moov
14
14
 
15
15
  # A list of payment methods that should be supported for this payment link.
16
16
  field :allowed_methods, Crystalline::Array.new(Models::Components::CollectionPaymentMethodType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedMethods'), required: true } }
17
+ # The minimum and maximum amounts the buyer can specify when `amountType` is `open`.
18
+ field :amount_range, Crystalline::Nilable.new(Models::Components::AmountDecimalRange), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountRange') } }
19
+ # Optional preset amounts displayed to the buyer when `amountType` is `open`.
20
+ field :suggested_amounts, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AmountDecimal)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('suggestedAmounts') } }
17
21
  # Options for payment links used to collect a card payment.
18
22
  field :card_details, Crystalline::Nilable.new(Models::Components::CardPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
19
23
  # Options for payment links used to collect an ACH payment.
20
24
  field :ach_details, Crystalline::Nilable.new(Models::Components::ACHPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
21
25
  # Optional free-form metadata for the transfer.
22
26
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
27
+ # Indicates whether the payment amount is fixed by the merchant or open for the buyer to choose.
28
+ field :amount_type, Crystalline::Nilable.new(Models::Components::PaymentLinkPaymentDetailsAmountType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PaymentLinkPaymentDetailsAmountType, true) } }
23
29
 
24
- sig { params(allowed_methods: T::Array[Models::Components::CollectionPaymentMethodType], card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
25
- def initialize(allowed_methods:, card_details: nil, ach_details: nil, metadata: nil)
30
+ sig { params(allowed_methods: T::Array[Models::Components::CollectionPaymentMethodType], amount_range: T.nilable(Models::Components::AmountDecimalRange), suggested_amounts: T.nilable(T::Array[Models::Components::AmountDecimal]), card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails), metadata: T.nilable(T::Hash[Symbol, ::String]), amount_type: T.nilable(Models::Components::PaymentLinkPaymentDetailsAmountType)).void }
31
+ def initialize(allowed_methods:, amount_range: nil, suggested_amounts: nil, card_details: nil, ach_details: nil, metadata: nil, amount_type: Models::Components::PaymentLinkPaymentDetailsAmountType::FIXED)
26
32
  @allowed_methods = allowed_methods
33
+ @amount_range = amount_range
34
+ @suggested_amounts = suggested_amounts
27
35
  @card_details = card_details
28
36
  @ach_details = ach_details
29
37
  @metadata = metadata
38
+ @amount_type = amount_type
30
39
  end
31
40
 
32
41
  sig { params(other: T.untyped).returns(T::Boolean) }
33
42
  def ==(other)
34
43
  return false unless other.is_a? self.class
35
44
  return false unless @allowed_methods == other.allowed_methods
45
+ return false unless @amount_range == other.amount_range
46
+ return false unless @suggested_amounts == other.suggested_amounts
36
47
  return false unless @card_details == other.card_details
37
48
  return false unless @ach_details == other.ach_details
38
49
  return false unless @metadata == other.metadata
50
+ return false unless @amount_type == other.amount_type
39
51
  true
40
52
  end
41
53
  end
@@ -10,10 +10,16 @@ end
10
10
  class Moov::Models::Components::PaymentLinkPaymentDetails
11
11
  def allowed_methods(); end
12
12
  def allowed_methods=(str_); end
13
+ def amount_range(); end
14
+ def amount_range=(str_); end
15
+ def suggested_amounts(); end
16
+ def suggested_amounts=(str_); end
13
17
  def card_details(); end
14
18
  def card_details=(str_); end
15
19
  def ach_details(); end
16
20
  def ach_details=(str_); end
17
21
  def metadata(); end
18
22
  def metadata=(str_); end
23
+ def amount_type(); end
24
+ def amount_type=(str_); end
19
25
  end
@@ -0,0 +1,19 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # PaymentLinkPaymentDetailsAmountType - Indicates whether the payment amount is fixed by the merchant or open for the buyer to choose.
11
+ class PaymentLinkPaymentDetailsAmountType < T::Enum
12
+ enums do
13
+ FIXED = new('fixed')
14
+ OPEN = new('open')
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PaymentLinkPaymentDetailsAmountType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PaymentLinkPaymentDetailsAmountType
11
+ end
@@ -14,28 +14,40 @@ module Moov
14
14
 
15
15
  # A list of payment methods that should be supported for this payment link.
16
16
  field :allowed_methods, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::CollectionPaymentMethodType)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedMethods') } }
17
+ # The minimum and maximum amounts the buyer can specify when `amountType` is `open`.
18
+ field :amount_range, Crystalline::Nilable.new(Models::Components::AmountDecimalRangeUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountRange') } }
19
+ # Optional preset amounts displayed to the buyer when `amountType` is `open`.
20
+ field :suggested_amounts, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AmountDecimal)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('suggestedAmounts') } }
17
21
  # Options for payment links used to collect a card payment.
18
22
  field :card_details, Crystalline::Nilable.new(Models::Components::CardPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
19
23
  # Options for payment links used to collect an ACH payment.
20
24
  field :ach_details, Crystalline::Nilable.new(Models::Components::ACHPaymentDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
21
25
  # Optional free-form metadata for the transfer.
22
26
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
27
+ # Indicates whether the payment amount is fixed by the merchant or open for the buyer to choose.
28
+ field :amount_type, Crystalline::Nilable.new(Models::Components::PaymentLinkPaymentDetailsUpdateAmountType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PaymentLinkPaymentDetailsUpdateAmountType, true) } }
23
29
 
24
- sig { params(allowed_methods: T.nilable(T::Array[Models::Components::CollectionPaymentMethodType]), card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
25
- def initialize(allowed_methods: nil, card_details: nil, ach_details: nil, metadata: nil)
30
+ sig { params(allowed_methods: T.nilable(T::Array[Models::Components::CollectionPaymentMethodType]), amount_range: T.nilable(Models::Components::AmountDecimalRangeUpdate), suggested_amounts: T.nilable(T::Array[Models::Components::AmountDecimal]), card_details: T.nilable(Models::Components::CardPaymentDetails), ach_details: T.nilable(Models::Components::ACHPaymentDetails), metadata: T.nilable(T::Hash[Symbol, ::String]), amount_type: T.nilable(Models::Components::PaymentLinkPaymentDetailsUpdateAmountType)).void }
31
+ def initialize(allowed_methods: nil, amount_range: nil, suggested_amounts: nil, card_details: nil, ach_details: nil, metadata: nil, amount_type: Models::Components::PaymentLinkPaymentDetailsUpdateAmountType::FIXED)
26
32
  @allowed_methods = allowed_methods
33
+ @amount_range = amount_range
34
+ @suggested_amounts = suggested_amounts
27
35
  @card_details = card_details
28
36
  @ach_details = ach_details
29
37
  @metadata = metadata
38
+ @amount_type = amount_type
30
39
  end
31
40
 
32
41
  sig { params(other: T.untyped).returns(T::Boolean) }
33
42
  def ==(other)
34
43
  return false unless other.is_a? self.class
35
44
  return false unless @allowed_methods == other.allowed_methods
45
+ return false unless @amount_range == other.amount_range
46
+ return false unless @suggested_amounts == other.suggested_amounts
36
47
  return false unless @card_details == other.card_details
37
48
  return false unless @ach_details == other.ach_details
38
49
  return false unless @metadata == other.metadata
50
+ return false unless @amount_type == other.amount_type
39
51
  true
40
52
  end
41
53
  end
@@ -10,10 +10,16 @@ end
10
10
  class Moov::Models::Components::PaymentLinkPaymentDetailsUpdate
11
11
  def allowed_methods(); end
12
12
  def allowed_methods=(str_); end
13
+ def amount_range(); end
14
+ def amount_range=(str_); end
15
+ def suggested_amounts(); end
16
+ def suggested_amounts=(str_); end
13
17
  def card_details(); end
14
18
  def card_details=(str_); end
15
19
  def ach_details(); end
16
20
  def ach_details=(str_); end
17
21
  def metadata(); end
18
22
  def metadata=(str_); end
23
+ def amount_type(); end
24
+ def amount_type=(str_); end
19
25
  end
@@ -0,0 +1,19 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # PaymentLinkPaymentDetailsUpdateAmountType - Indicates whether the payment amount is fixed by the merchant or open for the buyer to choose.
11
+ class PaymentLinkPaymentDetailsUpdateAmountType < T::Enum
12
+ enums do
13
+ FIXED = new('fixed')
14
+ OPEN = new('open')
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PaymentLinkPaymentDetailsUpdateAmountType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PaymentLinkPaymentDetailsUpdateAmountType
11
+ end
@@ -24,6 +24,9 @@ module Moov
24
24
  INSTANT_BANK_CREDIT = new('instant-bank-credit')
25
25
  PUSH_TO_APPLE_PAY = new('push-to-apple-pay')
26
26
  PULL_FROM_APPLE_PAY = new('pull-from-apple-pay')
27
+ GOOGLE_PAY = new('google-pay')
28
+ PUSH_TO_GOOGLE_PAY = new('push-to-google-pay')
29
+ PULL_FROM_GOOGLE_PAY = new('pull-from-google-pay')
27
30
  end
28
31
  end
29
32
  end
@@ -0,0 +1,40 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class PullFromGooglePayPaymentMethod
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # ID of the payment method.
16
+ field :payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID'), required: true } }
17
+
18
+ field :payment_method_type, Models::Components::PullFromGooglePayPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PullFromGooglePayPaymentMethodPaymentMethodType, false) } }
19
+ # Describes a Google Pay token on a Moov account.
20
+ field :google_pay, Models::Components::GooglePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay'), required: true } }
21
+
22
+ sig { params(payment_method_id: ::String, payment_method_type: Models::Components::PullFromGooglePayPaymentMethodPaymentMethodType, google_pay: Models::Components::GooglePayResponse).void }
23
+ def initialize(payment_method_id:, payment_method_type:, google_pay:)
24
+ @payment_method_id = payment_method_id
25
+ @payment_method_type = payment_method_type
26
+ @google_pay = google_pay
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 @payment_method_id == other.payment_method_id
33
+ return false unless @payment_method_type == other.payment_method_type
34
+ return false unless @google_pay == other.google_pay
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PullFromGooglePayPaymentMethod
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PullFromGooglePayPaymentMethod
11
+ def payment_method_id(); end
12
+ def payment_method_id=(str_); end
13
+ def payment_method_type(); end
14
+ def payment_method_type=(str_); end
15
+ def google_pay(); end
16
+ def google_pay=(str_); end
17
+ end
@@ -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 PullFromGooglePayPaymentMethodPaymentMethodType < T::Enum
12
+ enums do
13
+ PULL_FROM_GOOGLE_PAY = new('pull-from-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::PullFromGooglePayPaymentMethodPaymentMethodType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PullFromGooglePayPaymentMethodPaymentMethodType
11
+ end
@@ -0,0 +1,40 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class PullFromGooglePayTransferPaymentMethod
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # ID of the payment method.
16
+ field :payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID'), required: true } }
17
+
18
+ field :payment_method_type, Models::Components::PullFromGooglePayTransferPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PullFromGooglePayTransferPaymentMethodPaymentMethodType, false) } }
19
+ # Describes a Google Pay token on a Moov account.
20
+ field :google_pay, Models::Components::GooglePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay'), required: true } }
21
+
22
+ sig { params(payment_method_id: ::String, payment_method_type: Models::Components::PullFromGooglePayTransferPaymentMethodPaymentMethodType, google_pay: Models::Components::GooglePayResponse).void }
23
+ def initialize(payment_method_id:, payment_method_type:, google_pay:)
24
+ @payment_method_id = payment_method_id
25
+ @payment_method_type = payment_method_type
26
+ @google_pay = google_pay
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 @payment_method_id == other.payment_method_id
33
+ return false unless @payment_method_type == other.payment_method_type
34
+ return false unless @google_pay == other.google_pay
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PullFromGooglePayTransferPaymentMethod
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PullFromGooglePayTransferPaymentMethod
11
+ def payment_method_id(); end
12
+ def payment_method_id=(str_); end
13
+ def payment_method_type(); end
14
+ def payment_method_type=(str_); end
15
+ def google_pay(); end
16
+ def google_pay=(str_); end
17
+ end
@@ -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 PullFromGooglePayTransferPaymentMethodPaymentMethodType < T::Enum
12
+ enums do
13
+ PULL_FROM_GOOGLE_PAY = new('pull-from-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::PullFromGooglePayTransferPaymentMethodPaymentMethodType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PullFromGooglePayTransferPaymentMethodPaymentMethodType
11
+ end
@@ -0,0 +1,40 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class PushToGooglePayPaymentMethod
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # ID of the payment method.
16
+ field :payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID'), required: true } }
17
+
18
+ field :payment_method_type, Models::Components::PushToGooglePayPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PushToGooglePayPaymentMethodPaymentMethodType, false) } }
19
+ # Describes a Google Pay token on a Moov account.
20
+ field :google_pay, Models::Components::GooglePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay'), required: true } }
21
+
22
+ sig { params(payment_method_id: ::String, payment_method_type: Models::Components::PushToGooglePayPaymentMethodPaymentMethodType, google_pay: Models::Components::GooglePayResponse).void }
23
+ def initialize(payment_method_id:, payment_method_type:, google_pay:)
24
+ @payment_method_id = payment_method_id
25
+ @payment_method_type = payment_method_type
26
+ @google_pay = google_pay
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 @payment_method_id == other.payment_method_id
33
+ return false unless @payment_method_type == other.payment_method_type
34
+ return false unless @google_pay == other.google_pay
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PushToGooglePayPaymentMethod
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PushToGooglePayPaymentMethod
11
+ def payment_method_id(); end
12
+ def payment_method_id=(str_); end
13
+ def payment_method_type(); end
14
+ def payment_method_type=(str_); end
15
+ def google_pay(); end
16
+ def google_pay=(str_); end
17
+ end
@@ -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 PushToGooglePayPaymentMethodPaymentMethodType < 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::PushToGooglePayPaymentMethodPaymentMethodType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PushToGooglePayPaymentMethodPaymentMethodType
11
+ end
@@ -0,0 +1,40 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class PushToGooglePayTransferPaymentMethod
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # ID of the payment method.
16
+ field :payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID'), required: true } }
17
+
18
+ field :payment_method_type, Models::Components::PushToGooglePayTransferPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PushToGooglePayTransferPaymentMethodPaymentMethodType, false) } }
19
+ # Describes a Google Pay token on a Moov account.
20
+ field :google_pay, Models::Components::GooglePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay'), required: true } }
21
+
22
+ sig { params(payment_method_id: ::String, payment_method_type: Models::Components::PushToGooglePayTransferPaymentMethodPaymentMethodType, google_pay: Models::Components::GooglePayResponse).void }
23
+ def initialize(payment_method_id:, payment_method_type:, google_pay:)
24
+ @payment_method_id = payment_method_id
25
+ @payment_method_type = payment_method_type
26
+ @google_pay = google_pay
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 @payment_method_id == other.payment_method_id
33
+ return false unless @payment_method_type == other.payment_method_type
34
+ return false unless @google_pay == other.google_pay
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PushToGooglePayTransferPaymentMethod
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PushToGooglePayTransferPaymentMethod
11
+ def payment_method_id(); end
12
+ def payment_method_id=(str_); end
13
+ def payment_method_type(); end
14
+ def payment_method_type=(str_); end
15
+ def google_pay(); end
16
+ def google_pay=(str_); end
17
+ end