checkout-intents 0.2.1 → 0.3.0

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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/README.md +27 -1
  4. data/lib/checkout_intents/client.rb +10 -2
  5. data/lib/checkout_intents/internal/type/enum.rb +25 -0
  6. data/lib/checkout_intents/models/base_checkout_intent.rb +40 -1
  7. data/lib/checkout_intents/models/betas/checkout_session_create_params.rb +43 -1
  8. data/lib/checkout_intents/models/checkout_intent_create_params.rb +41 -1
  9. data/lib/checkout_intents/models/checkout_intent_purchase_params.rb +43 -1
  10. data/lib/checkout_intents/models/money.rb +3 -3
  11. data/lib/checkout_intents/models/product.rb +82 -0
  12. data/lib/checkout_intents/models/product_availability.rb +25 -0
  13. data/lib/checkout_intents/models/product_image.rb +21 -0
  14. data/lib/checkout_intents/models/product_lookup_params.rb +20 -0
  15. data/lib/checkout_intents/models.rb +8 -0
  16. data/lib/checkout_intents/resources/products.rb +35 -0
  17. data/lib/checkout_intents/version.rb +1 -1
  18. data/lib/checkout_intents.rb +5 -0
  19. data/rbi/checkout_intents/client.rbi +7 -2
  20. data/rbi/checkout_intents/internal/transport/base_client.rbi +2 -1
  21. data/rbi/checkout_intents/models/base_checkout_intent.rbi +89 -5
  22. data/rbi/checkout_intents/models/betas/checkout_session_create_params.rbi +87 -4
  23. data/rbi/checkout_intents/models/checkout_intent_create_params.rbi +89 -5
  24. data/rbi/checkout_intents/models/checkout_intent_purchase_params.rbi +89 -5
  25. data/rbi/checkout_intents/models/money.rbi +3 -3
  26. data/rbi/checkout_intents/models/product.rbi +100 -0
  27. data/rbi/checkout_intents/models/product_availability.rbi +39 -0
  28. data/rbi/checkout_intents/models/product_image.rbi +31 -0
  29. data/rbi/checkout_intents/models/product_lookup_params.rbi +38 -0
  30. data/rbi/checkout_intents/models.rbi +8 -0
  31. data/rbi/checkout_intents/resources/betas.rbi +3 -1
  32. data/rbi/checkout_intents/resources/brands.rbi +3 -1
  33. data/rbi/checkout_intents/resources/checkout_intents.rbi +3 -1
  34. data/rbi/checkout_intents/resources/products.rbi +24 -0
  35. data/sig/checkout_intents/client.rbs +4 -1
  36. data/sig/checkout_intents/models/base_checkout_intent.rbs +26 -3
  37. data/sig/checkout_intents/models/betas/checkout_session_create_params.rbs +26 -3
  38. data/sig/checkout_intents/models/checkout_intent_create_params.rbs +26 -3
  39. data/sig/checkout_intents/models/checkout_intent_purchase_params.rbs +26 -3
  40. data/sig/checkout_intents/models/money.rbs +4 -4
  41. data/sig/checkout_intents/models/product.rbs +60 -0
  42. data/sig/checkout_intents/models/product_availability.rbs +18 -0
  43. data/sig/checkout_intents/models/product_image.rbs +15 -0
  44. data/sig/checkout_intents/models/product_lookup_params.rbs +23 -0
  45. data/sig/checkout_intents/models.rbs +8 -0
  46. data/sig/checkout_intents/resources/checkout_intents.rbs +8 -4
  47. data/sig/checkout_intents/resources/products.rbs +12 -0
  48. metadata +17 -2
@@ -0,0 +1,38 @@
1
+ # typed: strong
2
+
3
+ module CheckoutIntents
4
+ module Models
5
+ class ProductLookupParams < CheckoutIntents::Internal::Type::BaseModel
6
+ extend CheckoutIntents::Internal::Type::RequestParameters::Converter
7
+ include CheckoutIntents::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ CheckoutIntents::ProductLookupParams,
13
+ CheckoutIntents::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :url
19
+
20
+ sig do
21
+ params(
22
+ url: String,
23
+ request_options: CheckoutIntents::RequestOptions::OrHash
24
+ ).returns(T.attached_class)
25
+ end
26
+ def self.new(url:, request_options: {})
27
+ end
28
+
29
+ sig do
30
+ override.returns(
31
+ { url: String, request_options: CheckoutIntents::RequestOptions }
32
+ )
33
+ end
34
+ def to_hash
35
+ end
36
+ end
37
+ end
38
+ end
@@ -36,5 +36,13 @@ module CheckoutIntents
36
36
 
37
37
  PaymentMethod = CheckoutIntents::Models::PaymentMethod
38
38
 
39
+ Product = CheckoutIntents::Models::Product
40
+
41
+ ProductAvailability = CheckoutIntents::Models::ProductAvailability
42
+
43
+ ProductImage = CheckoutIntents::Models::ProductImage
44
+
45
+ ProductLookupParams = CheckoutIntents::Models::ProductLookupParams
46
+
39
47
  VariantSelection = CheckoutIntents::Models::VariantSelection
40
48
  end
@@ -7,7 +7,9 @@ module CheckoutIntents
7
7
  attr_reader :checkout_sessions
8
8
 
9
9
  # @api private
10
- sig { params(client: ::CheckoutIntents::Client).returns(T.attached_class) }
10
+ sig do
11
+ params(client: ::CheckoutIntents::Client).returns(T.attached_class)
12
+ end
11
13
  def self.new(client:)
12
14
  end
13
15
  end
@@ -21,7 +21,9 @@ module CheckoutIntents
21
21
  end
22
22
 
23
23
  # @api private
24
- sig { params(client: ::CheckoutIntents::Client).returns(T.attached_class) }
24
+ sig do
25
+ params(client: ::CheckoutIntents::Client).returns(T.attached_class)
26
+ end
25
27
  def self.new(client:)
26
28
  end
27
29
  end
@@ -270,7 +270,9 @@ module CheckoutIntents
270
270
  end
271
271
 
272
272
  # @api private
273
- sig { params(client: ::CheckoutIntents::Client).returns(T.attached_class) }
273
+ sig do
274
+ params(client: ::CheckoutIntents::Client).returns(T.attached_class)
275
+ end
274
276
  def self.new(client:)
275
277
  end
276
278
  end
@@ -0,0 +1,24 @@
1
+ # typed: strong
2
+
3
+ module CheckoutIntents
4
+ module Resources
5
+ class Products
6
+ # Retrieve a product's information by URL.
7
+ sig do
8
+ params(
9
+ url: String,
10
+ request_options: ::CheckoutIntents::RequestOptions::OrHash
11
+ ).returns(::CheckoutIntents::Product)
12
+ end
13
+ def lookup(url:, request_options: {})
14
+ end
15
+
16
+ # @api private
17
+ sig do
18
+ params(client: ::CheckoutIntents::Client).returns(T.attached_class)
19
+ end
20
+ def self.new(client:)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -21,6 +21,8 @@ module CheckoutIntents
21
21
 
22
22
  attr_reader brands: CheckoutIntents::Resources::Brands
23
23
 
24
+ attr_reader products: CheckoutIntents::Resources::Products
25
+
24
26
  private def auth_headers: -> ::Hash[String, String]
25
27
 
26
28
  def initialize: (
@@ -30,7 +32,8 @@ module CheckoutIntents
30
32
  ?max_retries: Integer,
31
33
  ?timeout: Float,
32
34
  ?initial_retry_delay: Float,
33
- ?max_retry_delay: Float
35
+ ?max_retry_delay: Float,
36
+ ?idempotency_header: String
34
37
  ) -> void
35
38
  end
36
39
  end
@@ -62,7 +62,11 @@ module CheckoutIntents
62
62
  }
63
63
 
64
64
  type constraints =
65
- { max_shipping_price: Integer, max_total_price: Integer }
65
+ {
66
+ max_shipping_price: Integer,
67
+ max_total_price: Integer,
68
+ offer_retrieval_effort: CheckoutIntents::Models::BaseCheckoutIntent::Constraints::offer_retrieval_effort
69
+ }
66
70
 
67
71
  class Constraints < CheckoutIntents::Internal::Type::BaseModel
68
72
  attr_reader max_shipping_price: Integer?
@@ -73,15 +77,34 @@ module CheckoutIntents
73
77
 
74
78
  def max_total_price=: (Integer) -> Integer
75
79
 
80
+ attr_reader offer_retrieval_effort: CheckoutIntents::Models::BaseCheckoutIntent::Constraints::offer_retrieval_effort?
81
+
82
+ def offer_retrieval_effort=: (
83
+ CheckoutIntents::Models::BaseCheckoutIntent::Constraints::offer_retrieval_effort
84
+ ) -> CheckoutIntents::Models::BaseCheckoutIntent::Constraints::offer_retrieval_effort
85
+
76
86
  def initialize: (
77
87
  ?max_shipping_price: Integer,
78
- ?max_total_price: Integer
88
+ ?max_total_price: Integer,
89
+ ?offer_retrieval_effort: CheckoutIntents::Models::BaseCheckoutIntent::Constraints::offer_retrieval_effort
79
90
  ) -> void
80
91
 
81
92
  def to_hash: -> {
82
93
  max_shipping_price: Integer,
83
- max_total_price: Integer
94
+ max_total_price: Integer,
95
+ offer_retrieval_effort: CheckoutIntents::Models::BaseCheckoutIntent::Constraints::offer_retrieval_effort
84
96
  }
97
+
98
+ type offer_retrieval_effort = :max | :low
99
+
100
+ module OfferRetrievalEffort
101
+ extend CheckoutIntents::Internal::Type::Enum
102
+
103
+ MAX: :max
104
+ LOW: :low
105
+
106
+ def self?.values: -> ::Array[CheckoutIntents::Models::BaseCheckoutIntent::Constraints::offer_retrieval_effort]
107
+ end
85
108
  end
86
109
  end
87
110
  end
@@ -145,7 +145,11 @@ module CheckoutIntents
145
145
  end
146
146
 
147
147
  type constraints =
148
- { max_shipping_price: Integer, max_total_price: Integer }
148
+ {
149
+ max_shipping_price: Integer,
150
+ max_total_price: Integer,
151
+ offer_retrieval_effort: CheckoutIntents::Models::Betas::CheckoutSessionCreateParams::Constraints::offer_retrieval_effort
152
+ }
149
153
 
150
154
  class Constraints < CheckoutIntents::Internal::Type::BaseModel
151
155
  attr_reader max_shipping_price: Integer?
@@ -156,15 +160,34 @@ module CheckoutIntents
156
160
 
157
161
  def max_total_price=: (Integer) -> Integer
158
162
 
163
+ attr_reader offer_retrieval_effort: CheckoutIntents::Models::Betas::CheckoutSessionCreateParams::Constraints::offer_retrieval_effort?
164
+
165
+ def offer_retrieval_effort=: (
166
+ CheckoutIntents::Models::Betas::CheckoutSessionCreateParams::Constraints::offer_retrieval_effort
167
+ ) -> CheckoutIntents::Models::Betas::CheckoutSessionCreateParams::Constraints::offer_retrieval_effort
168
+
159
169
  def initialize: (
160
170
  ?max_shipping_price: Integer,
161
- ?max_total_price: Integer
171
+ ?max_total_price: Integer,
172
+ ?offer_retrieval_effort: CheckoutIntents::Models::Betas::CheckoutSessionCreateParams::Constraints::offer_retrieval_effort
162
173
  ) -> void
163
174
 
164
175
  def to_hash: -> {
165
176
  max_shipping_price: Integer,
166
- max_total_price: Integer
177
+ max_total_price: Integer,
178
+ offer_retrieval_effort: CheckoutIntents::Models::Betas::CheckoutSessionCreateParams::Constraints::offer_retrieval_effort
167
179
  }
180
+
181
+ type offer_retrieval_effort = :max | :low
182
+
183
+ module OfferRetrievalEffort
184
+ extend CheckoutIntents::Internal::Type::Enum
185
+
186
+ MAX: :max
187
+ LOW: :low
188
+
189
+ def self?.values: -> ::Array[CheckoutIntents::Models::Betas::CheckoutSessionCreateParams::Constraints::offer_retrieval_effort]
190
+ end
168
191
  end
169
192
  end
170
193
  end
@@ -58,7 +58,11 @@ module CheckoutIntents
58
58
  }
59
59
 
60
60
  type constraints =
61
- { max_shipping_price: Integer, max_total_price: Integer }
61
+ {
62
+ max_shipping_price: Integer,
63
+ max_total_price: Integer,
64
+ offer_retrieval_effort: CheckoutIntents::Models::CheckoutIntentCreateParams::Constraints::offer_retrieval_effort
65
+ }
62
66
 
63
67
  class Constraints < CheckoutIntents::Internal::Type::BaseModel
64
68
  attr_reader max_shipping_price: Integer?
@@ -69,15 +73,34 @@ module CheckoutIntents
69
73
 
70
74
  def max_total_price=: (Integer) -> Integer
71
75
 
76
+ attr_reader offer_retrieval_effort: CheckoutIntents::Models::CheckoutIntentCreateParams::Constraints::offer_retrieval_effort?
77
+
78
+ def offer_retrieval_effort=: (
79
+ CheckoutIntents::Models::CheckoutIntentCreateParams::Constraints::offer_retrieval_effort
80
+ ) -> CheckoutIntents::Models::CheckoutIntentCreateParams::Constraints::offer_retrieval_effort
81
+
72
82
  def initialize: (
73
83
  ?max_shipping_price: Integer,
74
- ?max_total_price: Integer
84
+ ?max_total_price: Integer,
85
+ ?offer_retrieval_effort: CheckoutIntents::Models::CheckoutIntentCreateParams::Constraints::offer_retrieval_effort
75
86
  ) -> void
76
87
 
77
88
  def to_hash: -> {
78
89
  max_shipping_price: Integer,
79
- max_total_price: Integer
90
+ max_total_price: Integer,
91
+ offer_retrieval_effort: CheckoutIntents::Models::CheckoutIntentCreateParams::Constraints::offer_retrieval_effort
80
92
  }
93
+
94
+ type offer_retrieval_effort = :max | :low
95
+
96
+ module OfferRetrievalEffort
97
+ extend CheckoutIntents::Internal::Type::Enum
98
+
99
+ MAX: :max
100
+ LOW: :low
101
+
102
+ def self?.values: -> ::Array[CheckoutIntents::Models::CheckoutIntentCreateParams::Constraints::offer_retrieval_effort]
103
+ end
81
104
  end
82
105
  end
83
106
  end
@@ -63,7 +63,11 @@ module CheckoutIntents
63
63
  }
64
64
 
65
65
  type constraints =
66
- { max_shipping_price: Integer, max_total_price: Integer }
66
+ {
67
+ max_shipping_price: Integer,
68
+ max_total_price: Integer,
69
+ offer_retrieval_effort: CheckoutIntents::Models::CheckoutIntentPurchaseParams::Constraints::offer_retrieval_effort
70
+ }
67
71
 
68
72
  class Constraints < CheckoutIntents::Internal::Type::BaseModel
69
73
  attr_reader max_shipping_price: Integer?
@@ -74,15 +78,34 @@ module CheckoutIntents
74
78
 
75
79
  def max_total_price=: (Integer) -> Integer
76
80
 
81
+ attr_reader offer_retrieval_effort: CheckoutIntents::Models::CheckoutIntentPurchaseParams::Constraints::offer_retrieval_effort?
82
+
83
+ def offer_retrieval_effort=: (
84
+ CheckoutIntents::Models::CheckoutIntentPurchaseParams::Constraints::offer_retrieval_effort
85
+ ) -> CheckoutIntents::Models::CheckoutIntentPurchaseParams::Constraints::offer_retrieval_effort
86
+
77
87
  def initialize: (
78
88
  ?max_shipping_price: Integer,
79
- ?max_total_price: Integer
89
+ ?max_total_price: Integer,
90
+ ?offer_retrieval_effort: CheckoutIntents::Models::CheckoutIntentPurchaseParams::Constraints::offer_retrieval_effort
80
91
  ) -> void
81
92
 
82
93
  def to_hash: -> {
83
94
  max_shipping_price: Integer,
84
- max_total_price: Integer
95
+ max_total_price: Integer,
96
+ offer_retrieval_effort: CheckoutIntents::Models::CheckoutIntentPurchaseParams::Constraints::offer_retrieval_effort
85
97
  }
98
+
99
+ type offer_retrieval_effort = :max | :low
100
+
101
+ module OfferRetrievalEffort
102
+ extend CheckoutIntents::Internal::Type::Enum
103
+
104
+ MAX: :max
105
+ LOW: :low
106
+
107
+ def self?.values: -> ::Array[CheckoutIntents::Models::CheckoutIntentPurchaseParams::Constraints::offer_retrieval_effort]
108
+ end
86
109
  end
87
110
  end
88
111
  end
@@ -1,15 +1,15 @@
1
1
  module CheckoutIntents
2
2
  module Models
3
- type money = { amount_subunits: Float, currency_code: String }
3
+ type money = { amount_subunits: Integer, currency_code: String }
4
4
 
5
5
  class Money < CheckoutIntents::Internal::Type::BaseModel
6
- attr_accessor amount_subunits: Float
6
+ attr_accessor amount_subunits: Integer
7
7
 
8
8
  attr_accessor currency_code: String
9
9
 
10
- def initialize: (amount_subunits: Float, currency_code: String) -> void
10
+ def initialize: (amount_subunits: Integer, currency_code: String) -> void
11
11
 
12
- def to_hash: -> { amount_subunits: Float, currency_code: String }
12
+ def to_hash: -> { amount_subunits: Integer, currency_code: String }
13
13
  end
14
14
  end
15
15
  end
@@ -0,0 +1,60 @@
1
+ module CheckoutIntents
2
+ module Models
3
+ type product =
4
+ {
5
+ id: String,
6
+ availability: CheckoutIntents::Models::product_availability,
7
+ brand: String?,
8
+ description: String?,
9
+ images: ::Array[CheckoutIntents::ProductImage],
10
+ name: String,
11
+ price: CheckoutIntents::Money,
12
+ sku: String?,
13
+ url: String
14
+ }
15
+
16
+ class Product < CheckoutIntents::Internal::Type::BaseModel
17
+ attr_accessor id: String
18
+
19
+ attr_accessor availability: CheckoutIntents::Models::product_availability
20
+
21
+ attr_accessor brand: String?
22
+
23
+ attr_accessor description: String?
24
+
25
+ attr_accessor images: ::Array[CheckoutIntents::ProductImage]
26
+
27
+ attr_accessor name: String
28
+
29
+ attr_accessor price: CheckoutIntents::Money
30
+
31
+ attr_accessor sku: String?
32
+
33
+ attr_accessor url: String
34
+
35
+ def initialize: (
36
+ id: String,
37
+ availability: CheckoutIntents::Models::product_availability,
38
+ brand: String?,
39
+ description: String?,
40
+ images: ::Array[CheckoutIntents::ProductImage],
41
+ name: String,
42
+ price: CheckoutIntents::Money,
43
+ sku: String?,
44
+ url: String
45
+ ) -> void
46
+
47
+ def to_hash: -> {
48
+ id: String,
49
+ availability: CheckoutIntents::Models::product_availability,
50
+ brand: String?,
51
+ description: String?,
52
+ images: ::Array[CheckoutIntents::ProductImage],
53
+ name: String,
54
+ price: CheckoutIntents::Money,
55
+ sku: String?,
56
+ url: String
57
+ }
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,18 @@
1
+ module CheckoutIntents
2
+ module Models
3
+ type product_availability =
4
+ :in_stock | :out_of_stock | :preorder | :backorder | :unknown
5
+
6
+ module ProductAvailability
7
+ extend CheckoutIntents::Internal::Type::Enum
8
+
9
+ IN_STOCK: :in_stock
10
+ OUT_OF_STOCK: :out_of_stock
11
+ PREORDER: :preorder
12
+ BACKORDER: :backorder
13
+ UNKNOWN: :unknown
14
+
15
+ def self?.values: -> ::Array[CheckoutIntents::Models::product_availability]
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,15 @@
1
+ module CheckoutIntents
2
+ module Models
3
+ type product_image = { is_featured: bool, url: String }
4
+
5
+ class ProductImage < CheckoutIntents::Internal::Type::BaseModel
6
+ attr_accessor is_featured: bool
7
+
8
+ attr_accessor url: String
9
+
10
+ def initialize: (is_featured: bool, url: String) -> void
11
+
12
+ def to_hash: -> { is_featured: bool, url: String }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,23 @@
1
+ module CheckoutIntents
2
+ module Models
3
+ type product_lookup_params =
4
+ { url: String } & CheckoutIntents::Internal::Type::request_parameters
5
+
6
+ class ProductLookupParams < CheckoutIntents::Internal::Type::BaseModel
7
+ extend CheckoutIntents::Internal::Type::RequestParameters::Converter
8
+ include CheckoutIntents::Internal::Type::RequestParameters
9
+
10
+ attr_accessor url: String
11
+
12
+ def initialize: (
13
+ url: String,
14
+ ?request_options: CheckoutIntents::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ url: String,
19
+ request_options: CheckoutIntents::RequestOptions
20
+ }
21
+ end
22
+ end
23
+ end
@@ -29,5 +29,13 @@ module CheckoutIntents
29
29
 
30
30
  module PaymentMethod = CheckoutIntents::Models::PaymentMethod
31
31
 
32
+ class Product = CheckoutIntents::Models::Product
33
+
34
+ module ProductAvailability = CheckoutIntents::Models::ProductAvailability
35
+
36
+ class ProductImage = CheckoutIntents::Models::ProductImage
37
+
38
+ class ProductLookupParams = CheckoutIntents::Models::ProductLookupParams
39
+
32
40
  class VariantSelection = CheckoutIntents::Models::VariantSelection
33
41
  end
@@ -53,14 +53,16 @@ module CheckoutIntents
53
53
  ?poll_interval: Float,
54
54
  ?max_attempts: Integer,
55
55
  ?request_options: CheckoutIntents::request_opts
56
- ) -> (CheckoutIntents::CheckoutIntent::CompletedCheckoutIntent | CheckoutIntents::CheckoutIntent::FailedCheckoutIntent)
56
+ ) -> (CheckoutIntents::CheckoutIntent::CompletedCheckoutIntent
57
+ | CheckoutIntents::CheckoutIntent::FailedCheckoutIntent)
57
58
 
58
59
  def poll_until_awaiting_confirmation: (
59
60
  String id,
60
61
  ?poll_interval: Float,
61
62
  ?max_attempts: Integer,
62
63
  ?request_options: CheckoutIntents::request_opts
63
- ) -> (CheckoutIntents::CheckoutIntent::AwaitingConfirmationCheckoutIntent | CheckoutIntents::CheckoutIntent::FailedCheckoutIntent)
64
+ ) -> (CheckoutIntents::CheckoutIntent::AwaitingConfirmationCheckoutIntent
65
+ | CheckoutIntents::CheckoutIntent::FailedCheckoutIntent)
64
66
 
65
67
  def create_and_poll: (
66
68
  buyer: CheckoutIntents::Buyer,
@@ -72,7 +74,8 @@ module CheckoutIntents
72
74
  ?poll_interval: Float,
73
75
  ?max_attempts: Integer,
74
76
  ?request_options: CheckoutIntents::request_opts
75
- ) -> (CheckoutIntents::CheckoutIntent::AwaitingConfirmationCheckoutIntent | CheckoutIntents::CheckoutIntent::FailedCheckoutIntent)
77
+ ) -> (CheckoutIntents::CheckoutIntent::AwaitingConfirmationCheckoutIntent
78
+ | CheckoutIntents::CheckoutIntent::FailedCheckoutIntent)
76
79
 
77
80
  def confirm_and_poll: (
78
81
  String id,
@@ -80,7 +83,8 @@ module CheckoutIntents
80
83
  ?poll_interval: Float,
81
84
  ?max_attempts: Integer,
82
85
  ?request_options: CheckoutIntents::request_opts
83
- ) -> (CheckoutIntents::CheckoutIntent::CompletedCheckoutIntent | CheckoutIntents::CheckoutIntent::FailedCheckoutIntent)
86
+ ) -> (CheckoutIntents::CheckoutIntent::CompletedCheckoutIntent
87
+ | CheckoutIntents::CheckoutIntent::FailedCheckoutIntent)
84
88
 
85
89
  def initialize: (client: CheckoutIntents::Client) -> void
86
90
  end
@@ -0,0 +1,12 @@
1
+ module CheckoutIntents
2
+ module Resources
3
+ class Products
4
+ def lookup: (
5
+ url: String,
6
+ ?request_options: CheckoutIntents::request_opts
7
+ ) -> CheckoutIntents::Product
8
+
9
+ def initialize: (client: CheckoutIntents::Client) -> void
10
+ end
11
+ end
12
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: checkout-intents
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Checkout Intents
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-01-13 00:00:00.000000000 Z
11
+ date: 2026-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -86,12 +86,17 @@ files:
86
86
  - lib/checkout_intents/models/money.rb
87
87
  - lib/checkout_intents/models/offer.rb
88
88
  - lib/checkout_intents/models/payment_method.rb
89
+ - lib/checkout_intents/models/product.rb
90
+ - lib/checkout_intents/models/product_availability.rb
91
+ - lib/checkout_intents/models/product_image.rb
92
+ - lib/checkout_intents/models/product_lookup_params.rb
89
93
  - lib/checkout_intents/models/variant_selection.rb
90
94
  - lib/checkout_intents/request_options.rb
91
95
  - lib/checkout_intents/resources/betas.rb
92
96
  - lib/checkout_intents/resources/betas/checkout_sessions.rb
93
97
  - lib/checkout_intents/resources/brands.rb
94
98
  - lib/checkout_intents/resources/checkout_intents.rb
99
+ - lib/checkout_intents/resources/products.rb
95
100
  - lib/checkout_intents/version.rb
96
101
  - manifest.yaml
97
102
  - rbi/checkout_intents/client.rbi
@@ -130,12 +135,17 @@ files:
130
135
  - rbi/checkout_intents/models/money.rbi
131
136
  - rbi/checkout_intents/models/offer.rbi
132
137
  - rbi/checkout_intents/models/payment_method.rbi
138
+ - rbi/checkout_intents/models/product.rbi
139
+ - rbi/checkout_intents/models/product_availability.rbi
140
+ - rbi/checkout_intents/models/product_image.rbi
141
+ - rbi/checkout_intents/models/product_lookup_params.rbi
133
142
  - rbi/checkout_intents/models/variant_selection.rbi
134
143
  - rbi/checkout_intents/request_options.rbi
135
144
  - rbi/checkout_intents/resources/betas.rbi
136
145
  - rbi/checkout_intents/resources/betas/checkout_sessions.rbi
137
146
  - rbi/checkout_intents/resources/brands.rbi
138
147
  - rbi/checkout_intents/resources/checkout_intents.rbi
148
+ - rbi/checkout_intents/resources/products.rbi
139
149
  - rbi/checkout_intents/version.rbi
140
150
  - sig/checkout_intents/client.rbs
141
151
  - sig/checkout_intents/errors.rbs
@@ -173,12 +183,17 @@ files:
173
183
  - sig/checkout_intents/models/money.rbs
174
184
  - sig/checkout_intents/models/offer.rbs
175
185
  - sig/checkout_intents/models/payment_method.rbs
186
+ - sig/checkout_intents/models/product.rbs
187
+ - sig/checkout_intents/models/product_availability.rbs
188
+ - sig/checkout_intents/models/product_image.rbs
189
+ - sig/checkout_intents/models/product_lookup_params.rbs
176
190
  - sig/checkout_intents/models/variant_selection.rbs
177
191
  - sig/checkout_intents/request_options.rbs
178
192
  - sig/checkout_intents/resources/betas.rbs
179
193
  - sig/checkout_intents/resources/betas/checkout_sessions.rbs
180
194
  - sig/checkout_intents/resources/brands.rbs
181
195
  - sig/checkout_intents/resources/checkout_intents.rbs
196
+ - sig/checkout_intents/resources/products.rbs
182
197
  - sig/checkout_intents/version.rbs
183
198
  homepage: https://gemdocs.org/gems/checkout-intents
184
199
  licenses: []