moov_ruby 0.0.0.pre.dev.22 → 0.0.0.pre.dev.24

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 (130) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/avatars.rb +275 -0
  3. data/lib/moov/models/components/allowedscheduleerror.rb +36 -0
  4. data/lib/moov/models/components/allowedscheduleerror.rbi +15 -0
  5. data/lib/moov/models/components/avataruploadrequest.rb +32 -0
  6. data/lib/moov/models/components/avataruploadrequest.rbi +13 -0
  7. data/lib/moov/models/components/avataruploadrequest_file.rb +36 -0
  8. data/lib/moov/models/components/avataruploadrequest_file.rbi +15 -0
  9. data/lib/moov/models/components/capabilityid.rb +1 -0
  10. data/lib/moov/models/components/cardbrandfees.rb +6 -2
  11. data/lib/moov/models/components/cardbrandfees.rbi +2 -0
  12. data/lib/moov/models/components/contributingrule.rb +32 -0
  13. data/lib/moov/models/components/contributingrule.rbi +13 -0
  14. data/lib/moov/models/components/createtransfer.rb +6 -2
  15. data/lib/moov/models/components/createtransfer.rbi +2 -0
  16. data/lib/moov/models/components/feepaidby.rb +19 -0
  17. data/lib/moov/models/components/feepaidby.rbi +11 -0
  18. data/lib/moov/models/components/filedetails.rb +1 -1
  19. data/lib/moov/models/components/filepurpose.rb +1 -1
  20. data/lib/moov/models/components/fullissuedcard.rb +3 -3
  21. data/lib/moov/models/components/incurredfee.rb +6 -2
  22. data/lib/moov/models/components/incurredfee.rbi +2 -0
  23. data/lib/moov/models/components/issuedcard.rb +3 -3
  24. data/lib/moov/models/components/issuedcontrols.rb +52 -0
  25. data/lib/moov/models/components/issuedcontrols.rbi +23 -0
  26. data/lib/moov/models/components/issuedcontrols_allowedschedule.rb +36 -0
  27. data/lib/moov/models/components/issuedcontrols_allowedschedule.rbi +15 -0
  28. data/lib/moov/models/components/issuedvelocitylimit.rb +60 -0
  29. data/lib/moov/models/components/issuedvelocitylimit.rbi +27 -0
  30. data/lib/moov/models/components/issuingcontrols.rb +18 -2
  31. data/lib/moov/models/components/issuingcontrols.rbi +8 -0
  32. data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +36 -0
  33. data/lib/moov/models/components/issuingcontrols_allowedschedule.rbi +15 -0
  34. data/lib/moov/models/components/issuingcontrolserror.rb +18 -2
  35. data/lib/moov/models/components/issuingcontrolserror.rbi +8 -0
  36. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rb +19 -0
  37. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rbi +11 -0
  38. data/lib/moov/models/components/issuingintervallimit.rb +4 -1
  39. data/lib/moov/models/components/issuingmerchantcategory.rb +43 -0
  40. data/lib/moov/models/components/issuingmerchantcategory.rbi +11 -0
  41. data/lib/moov/models/components/issuingscheduleday.rb +24 -0
  42. data/lib/moov/models/components/issuingscheduleday.rbi +11 -0
  43. data/lib/moov/models/components/issuingvelocitylimit.rb +11 -7
  44. data/lib/moov/models/components/issuingvelocitylimit.rbi +4 -2
  45. data/lib/moov/models/components/issuingvelocitylimiterror.rb +6 -2
  46. data/lib/moov/models/components/issuingvelocitylimiterror.rbi +2 -0
  47. data/lib/moov/models/components/merchantcategoryrestrictions.rb +44 -0
  48. data/lib/moov/models/components/merchantcategoryrestrictions.rbi +19 -0
  49. data/lib/moov/models/components/merchantcategoryrestrictionserror.rb +44 -0
  50. data/lib/moov/models/components/merchantcategoryrestrictionserror.rbi +19 -0
  51. data/lib/moov/models/components/merchantentry.rb +40 -0
  52. data/lib/moov/models/components/merchantentry.rbi +17 -0
  53. data/lib/moov/models/components/merchantentryerror.rb +36 -0
  54. data/lib/moov/models/components/merchantentryerror.rbi +15 -0
  55. data/lib/moov/models/components/merchantrestrictions.rb +36 -0
  56. data/lib/moov/models/components/merchantrestrictions.rbi +15 -0
  57. data/lib/moov/models/components/merchantrestrictionserror.rb +36 -0
  58. data/lib/moov/models/components/merchantrestrictionserror.rbi +15 -0
  59. data/lib/moov/models/components/onboardinginvite.rb +1 -1
  60. data/lib/moov/models/components/partnerriskoutcomesresponse.rb +38 -0
  61. data/lib/moov/models/components/partnerriskoutcomesresponse.rbi +15 -0
  62. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +8 -2
  63. data/lib/moov/models/components/paymentlinkpayoutdetails.rbi +2 -0
  64. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +8 -2
  65. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rbi +2 -0
  66. data/lib/moov/models/components/payoutdetailserror.rb +6 -2
  67. data/lib/moov/models/components/payoutdetailserror.rbi +2 -0
  68. data/lib/moov/models/components/product.rb +6 -2
  69. data/lib/moov/models/components/product.rbi +2 -0
  70. data/lib/moov/models/components/productcategories.rb +32 -0
  71. data/lib/moov/models/components/productcategories.rbi +13 -0
  72. data/lib/moov/models/components/productcategory.rb +48 -0
  73. data/lib/moov/models/components/productcategory.rbi +21 -0
  74. data/lib/moov/models/components/productrequest.rb +6 -2
  75. data/lib/moov/models/components/productrequest.rbi +2 -0
  76. data/lib/moov/models/components/schedulewindow.rb +40 -0
  77. data/lib/moov/models/components/schedulewindow.rbi +17 -0
  78. data/lib/moov/models/components/schedulewindowerror.rb +40 -0
  79. data/lib/moov/models/components/schedulewindowerror.rbi +17 -0
  80. data/lib/moov/models/components/schemebasicauth.rb +36 -0
  81. data/lib/moov/models/components/schemebasicauth.rbi +15 -0
  82. data/lib/moov/models/components/schemeoauth2auth.rb +40 -0
  83. data/lib/moov/models/components/schemeoauth2auth.rbi +17 -0
  84. data/lib/moov/models/components/transferfeepaidby.rb +32 -0
  85. data/lib/moov/models/components/transferfeepaidby.rbi +13 -0
  86. data/lib/moov/models/components/updateissuedcard.rb +6 -2
  87. data/lib/moov/models/components/updateissuedcard.rbi +2 -0
  88. data/lib/moov/models/components/updateissuingcontrols.rb +48 -0
  89. data/lib/moov/models/components/updateissuingcontrols.rbi +21 -0
  90. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +36 -0
  91. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rbi +15 -0
  92. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb +44 -0
  93. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rbi +19 -0
  94. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb +36 -0
  95. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rbi +15 -0
  96. data/lib/moov/models/components/updateissuingcontrolserror.rb +48 -0
  97. data/lib/moov/models/components/updateissuingcontrolserror.rbi +21 -0
  98. data/lib/moov/models/components.rb +31 -0
  99. data/lib/moov/models/errors/productrequestvalidationerror.rb +6 -2
  100. data/lib/moov/models/errors/productrequestvalidationerror.rbi +2 -0
  101. data/lib/moov/models/errors/updateissuedcarderror.rb +6 -2
  102. data/lib/moov/models/errors/updateissuedcarderror.rbi +2 -0
  103. data/lib/moov/models/operations/deleteavatar_request.rb +32 -0
  104. data/lib/moov/models/operations/deleteavatar_request.rbi +13 -0
  105. data/lib/moov/models/operations/deleteavatar_response.rb +44 -0
  106. data/lib/moov/models/operations/deleteavatar_response.rbi +19 -0
  107. data/lib/moov/models/operations/deleteavatar_security.rb +36 -0
  108. data/lib/moov/models/operations/deleteavatar_security.rbi +15 -0
  109. data/lib/moov/models/operations/gettransferriskoutcomes_request.rb +37 -0
  110. data/lib/moov/models/operations/gettransferriskoutcomes_request.rbi +15 -0
  111. data/lib/moov/models/operations/gettransferriskoutcomes_response.rb +48 -0
  112. data/lib/moov/models/operations/gettransferriskoutcomes_response.rbi +21 -0
  113. data/lib/moov/models/operations/listproductcategories_response.rb +48 -0
  114. data/lib/moov/models/operations/listproductcategories_response.rbi +21 -0
  115. data/lib/moov/models/operations/listproducts_request.rb +8 -2
  116. data/lib/moov/models/operations/listproducts_request.rbi +2 -0
  117. data/lib/moov/models/operations/uploadavatar_request.rb +36 -0
  118. data/lib/moov/models/operations/uploadavatar_request.rbi +15 -0
  119. data/lib/moov/models/operations/uploadavatar_response.rb +44 -0
  120. data/lib/moov/models/operations/uploadavatar_response.rbi +19 -0
  121. data/lib/moov/models/operations/uploadavatar_security.rb +36 -0
  122. data/lib/moov/models/operations/uploadavatar_security.rbi +15 -0
  123. data/lib/moov/models/operations.rb +9 -0
  124. data/lib/moov/products.rb +113 -8
  125. data/lib/moov/sdk_hooks/clientcredentials.rb +386 -0
  126. data/lib/moov/sdk_hooks/hooks.rb +6 -0
  127. data/lib/moov/sdk_hooks/oauth2scopes.rb +18 -0
  128. data/lib/moov/sdkconfiguration.rb +3 -3
  129. data/lib/moov/transfers.rb +125 -0
  130. metadata +84 -2
@@ -15,11 +15,14 @@ module Moov
15
15
 
16
16
  field :amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
17
17
 
18
+ field :count, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('count') } }
19
+
18
20
  field :interval, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('interval') } }
19
21
 
20
- sig { params(amount: T.nilable(::String), interval: T.nilable(::String)).void }
21
- def initialize(amount: nil, interval: nil)
22
+ sig { params(amount: T.nilable(::String), count: T.nilable(::String), interval: T.nilable(::String)).void }
23
+ def initialize(amount: nil, count: nil, interval: nil)
22
24
  @amount = amount
25
+ @count = count
23
26
  @interval = interval
24
27
  end
25
28
 
@@ -27,6 +30,7 @@ module Moov
27
30
  def ==(other)
28
31
  return false unless other.is_a? self.class
29
32
  return false unless @amount == other.amount
33
+ return false unless @count == other.count
30
34
  return false unless @interval == other.interval
31
35
  true
32
36
  end
@@ -10,6 +10,8 @@ end
10
10
  class Moov::Models::Components::IssuingVelocityLimitError
11
11
  def amount(); end
12
12
  def amount=(str_); end
13
+ def count(); end
14
+ def count=(str_); end
13
15
  def interval(); end
14
16
  def interval=(str_); end
15
17
  end
@@ -0,0 +1,44 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # Restricts card usage by merchant category.
11
+ class MerchantCategoryRestrictions
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Whether the listed categories are the only ones allowed, or the ones to block.
16
+ field :mode, Models::Components::IssuingControlsRestrictionMode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuingControlsRestrictionMode, false) } }
17
+ # Predefined category groups to allow or block.
18
+ field :categories, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::IssuingMerchantCategory)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('categories') } }
19
+ # Individual merchant category codes (MCCs) to allow or block, for codes not covered by a predefined category.
20
+ field :custom_mc_cs, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customMCCs') } }
21
+ # Merchants that are exempt from category restrictions regardless of their category.
22
+ field :exempt_merchants, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::MerchantEntry)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('exemptMerchants') } }
23
+
24
+ sig { params(mode: Models::Components::IssuingControlsRestrictionMode, categories: T.nilable(T::Array[Models::Components::IssuingMerchantCategory]), custom_mc_cs: T.nilable(T::Array[::String]), exempt_merchants: T.nilable(T::Array[Models::Components::MerchantEntry])).void }
25
+ def initialize(mode:, categories: nil, custom_mc_cs: nil, exempt_merchants: nil)
26
+ @mode = mode
27
+ @categories = categories
28
+ @custom_mc_cs = custom_mc_cs
29
+ @exempt_merchants = exempt_merchants
30
+ end
31
+
32
+ sig { params(other: T.untyped).returns(T::Boolean) }
33
+ def ==(other)
34
+ return false unless other.is_a? self.class
35
+ return false unless @mode == other.mode
36
+ return false unless @categories == other.categories
37
+ return false unless @custom_mc_cs == other.custom_mc_cs
38
+ return false unless @exempt_merchants == other.exempt_merchants
39
+ true
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::MerchantCategoryRestrictions
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::MerchantCategoryRestrictions
11
+ def mode(); end
12
+ def mode=(str_); end
13
+ def categories(); end
14
+ def categories=(str_); end
15
+ def custom_mc_cs(); end
16
+ def custom_mc_cs=(str_); end
17
+ def exempt_merchants(); end
18
+ def exempt_merchants=(str_); end
19
+ end
@@ -0,0 +1,44 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class MerchantCategoryRestrictionsError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :mode, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode') } }
17
+
18
+ field :categories, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('categories') } }
19
+
20
+ field :custom_mc_cs, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customMCCs') } }
21
+
22
+ field :exempt_merchants, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::MerchantEntryError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('exemptMerchants') } }
23
+
24
+ sig { params(mode: T.nilable(::String), categories: T.nilable(T::Hash[Symbol, ::String]), custom_mc_cs: T.nilable(T::Hash[Symbol, ::String]), exempt_merchants: T.nilable(T::Hash[Symbol, Models::Components::MerchantEntryError])).void }
25
+ def initialize(mode: nil, categories: nil, custom_mc_cs: nil, exempt_merchants: nil)
26
+ @mode = mode
27
+ @categories = categories
28
+ @custom_mc_cs = custom_mc_cs
29
+ @exempt_merchants = exempt_merchants
30
+ end
31
+
32
+ sig { params(other: T.untyped).returns(T::Boolean) }
33
+ def ==(other)
34
+ return false unless other.is_a? self.class
35
+ return false unless @mode == other.mode
36
+ return false unless @categories == other.categories
37
+ return false unless @custom_mc_cs == other.custom_mc_cs
38
+ return false unless @exempt_merchants == other.exempt_merchants
39
+ true
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::MerchantCategoryRestrictionsError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::MerchantCategoryRestrictionsError
11
+ def mode(); end
12
+ def mode=(str_); end
13
+ def categories(); end
14
+ def categories=(str_); end
15
+ def custom_mc_cs(); end
16
+ def custom_mc_cs=(str_); end
17
+ def exempt_merchants(); end
18
+ def exempt_merchants=(str_); end
19
+ 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
+ # Identifies a merchant by ID, descriptor pattern, or both. At least one of `mid` or `descriptorPattern` must be set.
11
+ class MerchantEntry
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The merchant's unique identifier (ISO 8583 DE42), matched exactly.
16
+ field :mid, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mid') } }
17
+ # A case-insensitive RE2 regular expression matched against the merchant descriptor (ISO 8583 DE43).
18
+ field :descriptor_pattern, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('descriptorPattern') } }
19
+ # An optional label for this entry.
20
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name') } }
21
+
22
+ sig { params(mid: T.nilable(::String), descriptor_pattern: T.nilable(::String), name: T.nilable(::String)).void }
23
+ def initialize(mid: nil, descriptor_pattern: nil, name: nil)
24
+ @mid = mid
25
+ @descriptor_pattern = descriptor_pattern
26
+ @name = name
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 @mid == other.mid
33
+ return false unless @descriptor_pattern == other.descriptor_pattern
34
+ return false unless @name == other.name
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::MerchantEntry
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::MerchantEntry
11
+ def mid(); end
12
+ def mid=(str_); end
13
+ def descriptor_pattern(); end
14
+ def descriptor_pattern=(str_); end
15
+ def name(); end
16
+ def name=(str_); end
17
+ end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class MerchantEntryError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :mid, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mid') } }
17
+
18
+ field :descriptor_pattern, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('descriptorPattern') } }
19
+
20
+ sig { params(mid: T.nilable(::String), descriptor_pattern: T.nilable(::String)).void }
21
+ def initialize(mid: nil, descriptor_pattern: nil)
22
+ @mid = mid
23
+ @descriptor_pattern = descriptor_pattern
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 @mid == other.mid
30
+ return false unless @descriptor_pattern == other.descriptor_pattern
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::MerchantEntryError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::MerchantEntryError
11
+ def mid(); end
12
+ def mid=(str_); end
13
+ def descriptor_pattern(); end
14
+ def descriptor_pattern=(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
+ # Restricts card usage to specific merchants, independent of merchant category.
11
+ class MerchantRestrictions
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Whether the listed merchants are the only ones allowed, or the ones to block.
16
+ field :mode, Models::Components::IssuingControlsRestrictionMode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuingControlsRestrictionMode, false) } }
17
+ # The merchants to allow or block.
18
+ field :merchants, Crystalline::Array.new(Models::Components::MerchantEntry), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchants'), required: true } }
19
+
20
+ sig { params(mode: Models::Components::IssuingControlsRestrictionMode, merchants: T::Array[Models::Components::MerchantEntry]).void }
21
+ def initialize(mode:, merchants:)
22
+ @mode = mode
23
+ @merchants = merchants
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 @mode == other.mode
30
+ return false unless @merchants == other.merchants
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::MerchantRestrictions
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::MerchantRestrictions
11
+ def mode(); end
12
+ def mode=(str_); end
13
+ def merchants(); end
14
+ def merchants=(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
+
11
+ class MerchantRestrictionsError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :mode, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode') } }
17
+
18
+ field :merchants, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::MerchantEntryError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchants') } }
19
+
20
+ sig { params(mode: T.nilable(::String), merchants: T.nilable(T::Hash[Symbol, Models::Components::MerchantEntryError])).void }
21
+ def initialize(mode: nil, merchants: nil)
22
+ @mode = mode
23
+ @merchants = merchants
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 @mode == other.mode
30
+ return false unless @merchants == other.merchants
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::MerchantRestrictionsError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::MerchantRestrictionsError
11
+ def mode(); end
12
+ def mode=(str_); end
13
+ def merchants(); end
14
+ def merchants=(str_); end
15
+ end
@@ -26,7 +26,7 @@ module Moov
26
26
  field :fee_plan_codes, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePlanCodes'), required: true } }
27
27
 
28
28
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
29
- # The scopes requested by the inviter.
29
+ # Optional URL to redirect the user to after they complete the onboarding process.
30
30
  field :return_url, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('returnURL') } }
31
31
  # The terms of service URL set by the inviter.
32
32
  field :terms_of_service_url, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('termsOfServiceURL') } }
@@ -0,0 +1,38 @@
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 risk rules that contributed to a transfer's risk decision.
11
+ #
12
+ # This information has limited availability and must be enabled for your account by Moov.
13
+ class PartnerRiskOutcomesResponse
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+ # Identifier of the transfer these outcomes belong to.
18
+ field :transfer_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID'), required: true } }
19
+ # The risk rules that contributed to the decision. May be empty when no rules are disclosed.
20
+ field :contributing_rules, Crystalline::Array.new(Models::Components::ContributingRule), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('contributingRules'), required: true } }
21
+
22
+ sig { params(transfer_id: ::String, contributing_rules: T::Array[Models::Components::ContributingRule]).void }
23
+ def initialize(transfer_id:, contributing_rules:)
24
+ @transfer_id = transfer_id
25
+ @contributing_rules = contributing_rules
26
+ end
27
+
28
+ sig { params(other: T.untyped).returns(T::Boolean) }
29
+ def ==(other)
30
+ return false unless other.is_a? self.class
31
+ return false unless @transfer_id == other.transfer_id
32
+ return false unless @contributing_rules == other.contributing_rules
33
+ true
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PartnerRiskOutcomesResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PartnerRiskOutcomesResponse
11
+ def transfer_id(); end
12
+ def transfer_id=(str_); end
13
+ def contributing_rules(); end
14
+ def contributing_rules=(str_); end
15
+ end
@@ -26,13 +26,18 @@ module Moov
26
26
  # The `deferred` speed and `deferredBy` apply to `push-to-card` only. Other push methods
27
27
  # (`push-to-apple-pay`, `push-to-google-pay`) are always delivered instantly regardless of these options.
28
28
  field :push_options, Crystalline::Nilable.new(Models::Components::PushOptions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
29
+ # Indicates which party bears the fee, keyed by disbursement payment method (`DisbursementPaymentMethodType`).
30
+ #
31
+ # Sparse — include only the methods you want to attribute. Any method left unset defaults to `source`.
32
+ field :fee_paid_by, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::FeePaidBy)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy') } }
29
33
 
30
- sig { params(allowed_methods: T::Array[Models::Components::DisbursementPaymentMethodType], recipient: Models::Components::PayoutRecipient, metadata: T.nilable(T::Hash[Symbol, ::String]), push_options: T.nilable(Models::Components::PushOptions)).void }
31
- def initialize(allowed_methods:, recipient:, metadata: nil, push_options: nil)
34
+ sig { params(allowed_methods: T::Array[Models::Components::DisbursementPaymentMethodType], recipient: Models::Components::PayoutRecipient, metadata: T.nilable(T::Hash[Symbol, ::String]), push_options: T.nilable(Models::Components::PushOptions), fee_paid_by: T.nilable(T::Hash[Symbol, Models::Components::FeePaidBy])).void }
35
+ def initialize(allowed_methods:, recipient:, metadata: nil, push_options: nil, fee_paid_by: nil)
32
36
  @allowed_methods = allowed_methods
33
37
  @recipient = recipient
34
38
  @metadata = metadata
35
39
  @push_options = push_options
40
+ @fee_paid_by = fee_paid_by
36
41
  end
37
42
 
38
43
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -42,6 +47,7 @@ module Moov
42
47
  return false unless @recipient == other.recipient
43
48
  return false unless @metadata == other.metadata
44
49
  return false unless @push_options == other.push_options
50
+ return false unless @fee_paid_by == other.fee_paid_by
45
51
  true
46
52
  end
47
53
  end
@@ -16,4 +16,6 @@ class Moov::Models::Components::PaymentLinkPayoutDetails
16
16
  def metadata=(str_); end
17
17
  def push_options(); end
18
18
  def push_options=(str_); end
19
+ def fee_paid_by(); end
20
+ def fee_paid_by=(str_); end
19
21
  end
@@ -26,13 +26,18 @@ module Moov
26
26
  # The `deferred` speed and `deferredBy` apply to `push-to-card` only. Other push methods
27
27
  # (`push-to-apple-pay`, `push-to-google-pay`) are always delivered instantly regardless of these options.
28
28
  field :push_options, Crystalline::Nilable.new(Models::Components::PushOptionsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
29
+ # Indicates which party bears the fee, keyed by disbursement payment method (`DisbursementPaymentMethodType`).
30
+ #
31
+ # Sparse — include only the methods you want to attribute. Any method left unset defaults to `source`.
32
+ field :fee_paid_by, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::FeePaidBy)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy') } }
29
33
 
30
- sig { params(allowed_methods: T.nilable(T::Array[Models::Components::DisbursementPaymentMethodType]), recipient: T.nilable(Models::Components::PayoutRecipient), metadata: T.nilable(T::Hash[Symbol, ::String]), push_options: T.nilable(Models::Components::PushOptionsUpdate)).void }
31
- def initialize(allowed_methods: nil, recipient: nil, metadata: nil, push_options: nil)
34
+ sig { params(allowed_methods: T.nilable(T::Array[Models::Components::DisbursementPaymentMethodType]), recipient: T.nilable(Models::Components::PayoutRecipient), metadata: T.nilable(T::Hash[Symbol, ::String]), push_options: T.nilable(Models::Components::PushOptionsUpdate), fee_paid_by: T.nilable(T::Hash[Symbol, Models::Components::FeePaidBy])).void }
35
+ def initialize(allowed_methods: nil, recipient: nil, metadata: nil, push_options: nil, fee_paid_by: nil)
32
36
  @allowed_methods = allowed_methods
33
37
  @recipient = recipient
34
38
  @metadata = metadata
35
39
  @push_options = push_options
40
+ @fee_paid_by = fee_paid_by
36
41
  end
37
42
 
38
43
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -42,6 +47,7 @@ module Moov
42
47
  return false unless @recipient == other.recipient
43
48
  return false unless @metadata == other.metadata
44
49
  return false unless @push_options == other.push_options
50
+ return false unless @fee_paid_by == other.fee_paid_by
45
51
  true
46
52
  end
47
53
  end
@@ -16,4 +16,6 @@ class Moov::Models::Components::PaymentLinkPayoutDetailsUpdate
16
16
  def metadata=(str_); end
17
17
  def push_options(); end
18
18
  def push_options=(str_); end
19
+ def fee_paid_by(); end
20
+ def fee_paid_by=(str_); end
19
21
  end
@@ -21,12 +21,15 @@ module Moov
21
21
 
22
22
  field :push_options, Crystalline::Nilable.new(Models::Components::PushOptionsError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
23
23
 
24
- sig { params(allowed_methods: T.nilable(::String), recipient: T.nilable(Models::Components::PayoutRecipientError), metadata: T.nilable(::String), push_options: T.nilable(Models::Components::PushOptionsError)).void }
25
- def initialize(allowed_methods: nil, recipient: nil, metadata: nil, push_options: nil)
24
+ field :fee_paid_by, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy') } }
25
+
26
+ sig { params(allowed_methods: T.nilable(::String), recipient: T.nilable(Models::Components::PayoutRecipientError), metadata: T.nilable(::String), push_options: T.nilable(Models::Components::PushOptionsError), fee_paid_by: T.nilable(::String)).void }
27
+ def initialize(allowed_methods: nil, recipient: nil, metadata: nil, push_options: nil, fee_paid_by: nil)
26
28
  @allowed_methods = allowed_methods
27
29
  @recipient = recipient
28
30
  @metadata = metadata
29
31
  @push_options = push_options
32
+ @fee_paid_by = fee_paid_by
30
33
  end
31
34
 
32
35
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -36,6 +39,7 @@ module Moov
36
39
  return false unless @recipient == other.recipient
37
40
  return false unless @metadata == other.metadata
38
41
  return false unless @push_options == other.push_options
42
+ return false unless @fee_paid_by == other.fee_paid_by
39
43
  true
40
44
  end
41
45
  end
@@ -16,4 +16,6 @@ class Moov::Models::Components::PayoutDetailsError
16
16
  def metadata=(str_); end
17
17
  def push_options(); end
18
18
  def push_options=(str_); end
19
+ def fee_paid_by(); end
20
+ def fee_paid_by=(str_); end
19
21
  end
@@ -32,11 +32,13 @@ module Moov
32
32
  field :option_groups, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ProductOptionGroup)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('optionGroups') } }
33
33
  # Optional images associated with the product.
34
34
  field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ProductImageMetadata)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
35
+ # The product taxonomy category associated with the product, if any.
36
+ field :category, Crystalline::Nilable.new(Models::Components::ProductCategory), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('category') } }
35
37
  # The date and time when the product was disabled.
36
38
  field :disabled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disabledOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
37
39
 
38
- sig { params(product_id: ::String, title: ::String, base_price: Models::Components::AmountDecimal, created_on: ::DateTime, updated_on: ::DateTime, description: T.nilable(::String), option_groups: T.nilable(T::Array[Models::Components::ProductOptionGroup]), images: T.nilable(T::Array[Models::Components::ProductImageMetadata]), disabled_on: T.nilable(::DateTime)).void }
39
- def initialize(product_id:, title:, base_price:, created_on:, updated_on:, description: nil, option_groups: nil, images: nil, disabled_on: nil)
40
+ sig { params(product_id: ::String, title: ::String, base_price: Models::Components::AmountDecimal, created_on: ::DateTime, updated_on: ::DateTime, description: T.nilable(::String), option_groups: T.nilable(T::Array[Models::Components::ProductOptionGroup]), images: T.nilable(T::Array[Models::Components::ProductImageMetadata]), category: T.nilable(Models::Components::ProductCategory), disabled_on: T.nilable(::DateTime)).void }
41
+ def initialize(product_id:, title:, base_price:, created_on:, updated_on:, description: nil, option_groups: nil, images: nil, category: nil, disabled_on: nil)
40
42
  @product_id = product_id
41
43
  @title = title
42
44
  @base_price = base_price
@@ -45,6 +47,7 @@ module Moov
45
47
  @description = description
46
48
  @option_groups = option_groups
47
49
  @images = images
50
+ @category = category
48
51
  @disabled_on = disabled_on
49
52
  end
50
53
 
@@ -59,6 +62,7 @@ module Moov
59
62
  return false unless @description == other.description
60
63
  return false unless @option_groups == other.option_groups
61
64
  return false unless @images == other.images
65
+ return false unless @category == other.category
62
66
  return false unless @disabled_on == other.disabled_on
63
67
  true
64
68
  end
@@ -24,6 +24,8 @@ class Moov::Models::Components::Product
24
24
  def option_groups=(str_); end
25
25
  def images(); end
26
26
  def images=(str_); end
27
+ def category(); end
28
+ def category=(str_); end
27
29
  def disabled_on(); end
28
30
  def disabled_on=(str_); end
29
31
  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
+ # A list of product categories from the product taxonomy.
11
+ class ProductCategories
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :categories, Crystalline::Array.new(Models::Components::ProductCategory), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('categories'), required: true } }
17
+
18
+ sig { params(categories: T::Array[Models::Components::ProductCategory]).void }
19
+ def initialize(categories:)
20
+ @categories = categories
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @categories == other.categories
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::ProductCategories
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::ProductCategories
11
+ def categories(); end
12
+ def categories=(str_); end
13
+ end