checkout-intents 0.0.2

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 (137) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +16 -0
  4. data/README.md +358 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/checkout_intents/client.rb +100 -0
  7. data/lib/checkout_intents/errors.rb +228 -0
  8. data/lib/checkout_intents/file_part.rb +58 -0
  9. data/lib/checkout_intents/internal/cursor_pagination.rb +125 -0
  10. data/lib/checkout_intents/internal/transport/base_client.rb +577 -0
  11. data/lib/checkout_intents/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/checkout_intents/internal/type/array_of.rb +168 -0
  13. data/lib/checkout_intents/internal/type/base_model.rb +536 -0
  14. data/lib/checkout_intents/internal/type/base_page.rb +55 -0
  15. data/lib/checkout_intents/internal/type/boolean.rb +77 -0
  16. data/lib/checkout_intents/internal/type/converter.rb +327 -0
  17. data/lib/checkout_intents/internal/type/enum.rb +131 -0
  18. data/lib/checkout_intents/internal/type/file_input.rb +111 -0
  19. data/lib/checkout_intents/internal/type/hash_of.rb +188 -0
  20. data/lib/checkout_intents/internal/type/request_parameters.rb +42 -0
  21. data/lib/checkout_intents/internal/type/union.rb +258 -0
  22. data/lib/checkout_intents/internal/type/unknown.rb +81 -0
  23. data/lib/checkout_intents/internal/util.rb +920 -0
  24. data/lib/checkout_intents/internal.rb +20 -0
  25. data/lib/checkout_intents/models/base_checkout_intent.rb +76 -0
  26. data/lib/checkout_intents/models/betas/checkout_session_create_params.rb +148 -0
  27. data/lib/checkout_intents/models/brand_retrieve_params.rb +14 -0
  28. data/lib/checkout_intents/models/brand_retrieve_response.rb +52 -0
  29. data/lib/checkout_intents/models/buyer.rb +69 -0
  30. data/lib/checkout_intents/models/checkout_intent.rb +230 -0
  31. data/lib/checkout_intents/models/checkout_intent_add_payment_params.rb +20 -0
  32. data/lib/checkout_intents/models/checkout_intent_confirm_params.rb +20 -0
  33. data/lib/checkout_intents/models/checkout_intent_create_params.rb +68 -0
  34. data/lib/checkout_intents/models/checkout_intent_list_params.rb +58 -0
  35. data/lib/checkout_intents/models/checkout_intent_purchase_params.rb +74 -0
  36. data/lib/checkout_intents/models/checkout_intent_retrieve_params.rb +14 -0
  37. data/lib/checkout_intents/models/checkout_session.rb +23 -0
  38. data/lib/checkout_intents/models/money.rb +21 -0
  39. data/lib/checkout_intents/models/offer.rb +113 -0
  40. data/lib/checkout_intents/models/payment_method.rb +120 -0
  41. data/lib/checkout_intents/models/variant_selection.rb +33 -0
  42. data/lib/checkout_intents/models.rb +76 -0
  43. data/lib/checkout_intents/request_options.rb +78 -0
  44. data/lib/checkout_intents/resources/betas/checkout_sessions.rb +54 -0
  45. data/lib/checkout_intents/resources/betas.rb +18 -0
  46. data/lib/checkout_intents/resources/brands.rb +37 -0
  47. data/lib/checkout_intents/resources/checkout_intents.rb +173 -0
  48. data/lib/checkout_intents/version.rb +5 -0
  49. data/lib/checkout_intents.rb +77 -0
  50. data/manifest.yaml +17 -0
  51. data/rbi/checkout_intents/client.rbi +74 -0
  52. data/rbi/checkout_intents/errors.rbi +205 -0
  53. data/rbi/checkout_intents/file_part.rbi +37 -0
  54. data/rbi/checkout_intents/internal/cursor_pagination.rbi +74 -0
  55. data/rbi/checkout_intents/internal/transport/base_client.rbi +309 -0
  56. data/rbi/checkout_intents/internal/transport/pooled_net_requester.rbi +84 -0
  57. data/rbi/checkout_intents/internal/type/array_of.rbi +108 -0
  58. data/rbi/checkout_intents/internal/type/base_model.rbi +314 -0
  59. data/rbi/checkout_intents/internal/type/base_page.rbi +43 -0
  60. data/rbi/checkout_intents/internal/type/boolean.rbi +58 -0
  61. data/rbi/checkout_intents/internal/type/converter.rbi +225 -0
  62. data/rbi/checkout_intents/internal/type/enum.rbi +82 -0
  63. data/rbi/checkout_intents/internal/type/file_input.rbi +59 -0
  64. data/rbi/checkout_intents/internal/type/hash_of.rbi +108 -0
  65. data/rbi/checkout_intents/internal/type/request_parameters.rbi +31 -0
  66. data/rbi/checkout_intents/internal/type/union.rbi +134 -0
  67. data/rbi/checkout_intents/internal/type/unknown.rbi +58 -0
  68. data/rbi/checkout_intents/internal/util.rbi +487 -0
  69. data/rbi/checkout_intents/internal.rbi +18 -0
  70. data/rbi/checkout_intents/models/base_checkout_intent.rbi +142 -0
  71. data/rbi/checkout_intents/models/betas/checkout_session_create_params.rbi +281 -0
  72. data/rbi/checkout_intents/models/brand_retrieve_params.rbi +32 -0
  73. data/rbi/checkout_intents/models/brand_retrieve_response.rbi +109 -0
  74. data/rbi/checkout_intents/models/buyer.rbi +92 -0
  75. data/rbi/checkout_intents/models/checkout_intent.rbi +653 -0
  76. data/rbi/checkout_intents/models/checkout_intent_add_payment_params.rbi +59 -0
  77. data/rbi/checkout_intents/models/checkout_intent_confirm_params.rbi +59 -0
  78. data/rbi/checkout_intents/models/checkout_intent_create_params.rbi +141 -0
  79. data/rbi/checkout_intents/models/checkout_intent_list_params.rbi +146 -0
  80. data/rbi/checkout_intents/models/checkout_intent_purchase_params.rbi +165 -0
  81. data/rbi/checkout_intents/models/checkout_intent_retrieve_params.rbi +32 -0
  82. data/rbi/checkout_intents/models/checkout_session.rbi +36 -0
  83. data/rbi/checkout_intents/models/money.rbi +32 -0
  84. data/rbi/checkout_intents/models/offer.rbi +225 -0
  85. data/rbi/checkout_intents/models/payment_method.rbi +292 -0
  86. data/rbi/checkout_intents/models/variant_selection.rbi +55 -0
  87. data/rbi/checkout_intents/models.rbi +40 -0
  88. data/rbi/checkout_intents/request_options.rbi +64 -0
  89. data/rbi/checkout_intents/resources/betas/checkout_sessions.rbi +47 -0
  90. data/rbi/checkout_intents/resources/betas.rbi +15 -0
  91. data/rbi/checkout_intents/resources/brands.rbi +29 -0
  92. data/rbi/checkout_intents/resources/checkout_intents.rbi +165 -0
  93. data/rbi/checkout_intents/version.rbi +5 -0
  94. data/sig/checkout_intents/client.rbs +36 -0
  95. data/sig/checkout_intents/errors.rbs +117 -0
  96. data/sig/checkout_intents/file_part.rbs +21 -0
  97. data/sig/checkout_intents/internal/cursor_pagination.rbs +48 -0
  98. data/sig/checkout_intents/internal/transport/base_client.rbs +133 -0
  99. data/sig/checkout_intents/internal/transport/pooled_net_requester.rbs +48 -0
  100. data/sig/checkout_intents/internal/type/array_of.rbs +48 -0
  101. data/sig/checkout_intents/internal/type/base_model.rbs +104 -0
  102. data/sig/checkout_intents/internal/type/base_page.rbs +24 -0
  103. data/sig/checkout_intents/internal/type/boolean.rbs +26 -0
  104. data/sig/checkout_intents/internal/type/converter.rbs +79 -0
  105. data/sig/checkout_intents/internal/type/enum.rbs +32 -0
  106. data/sig/checkout_intents/internal/type/file_input.rbs +25 -0
  107. data/sig/checkout_intents/internal/type/hash_of.rbs +48 -0
  108. data/sig/checkout_intents/internal/type/request_parameters.rbs +20 -0
  109. data/sig/checkout_intents/internal/type/union.rbs +52 -0
  110. data/sig/checkout_intents/internal/type/unknown.rbs +26 -0
  111. data/sig/checkout_intents/internal/util.rbs +185 -0
  112. data/sig/checkout_intents/internal.rbs +10 -0
  113. data/sig/checkout_intents/models/base_checkout_intent.rbs +88 -0
  114. data/sig/checkout_intents/models/betas/checkout_session_create_params.rbs +172 -0
  115. data/sig/checkout_intents/models/brand_retrieve_params.rbs +15 -0
  116. data/sig/checkout_intents/models/brand_retrieve_response.rbs +43 -0
  117. data/sig/checkout_intents/models/buyer.rbs +67 -0
  118. data/sig/checkout_intents/models/checkout_intent.rbs +324 -0
  119. data/sig/checkout_intents/models/checkout_intent_add_payment_params.rbs +24 -0
  120. data/sig/checkout_intents/models/checkout_intent_confirm_params.rbs +24 -0
  121. data/sig/checkout_intents/models/checkout_intent_create_params.rbs +84 -0
  122. data/sig/checkout_intents/models/checkout_intent_list_params.rbs +77 -0
  123. data/sig/checkout_intents/models/checkout_intent_purchase_params.rbs +89 -0
  124. data/sig/checkout_intents/models/checkout_intent_retrieve_params.rbs +15 -0
  125. data/sig/checkout_intents/models/checkout_session.rbs +13 -0
  126. data/sig/checkout_intents/models/money.rbs +15 -0
  127. data/sig/checkout_intents/models/offer.rbs +135 -0
  128. data/sig/checkout_intents/models/payment_method.rbs +127 -0
  129. data/sig/checkout_intents/models/variant_selection.rbs +30 -0
  130. data/sig/checkout_intents/models.rbs +33 -0
  131. data/sig/checkout_intents/request_options.rbs +36 -0
  132. data/sig/checkout_intents/resources/betas/checkout_sessions.rbs +19 -0
  133. data/sig/checkout_intents/resources/betas.rbs +9 -0
  134. data/sig/checkout_intents/resources/brands.rbs +12 -0
  135. data/sig/checkout_intents/resources/checkout_intents.rbs +54 -0
  136. data/sig/checkout_intents/version.rbs +3 -0
  137. metadata +194 -0
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutIntents
4
+ module Internal
5
+ extend CheckoutIntents::Internal::Util::SorbetRuntimeSupport
6
+
7
+ OMIT =
8
+ Object.new.tap do
9
+ _1.define_singleton_method(:inspect) { "#<#{CheckoutIntents::Internal}::OMIT>" }
10
+ end
11
+ .freeze
12
+
13
+ define_sorbet_constant!(:AnyHash) do
14
+ T.type_alias { T::Hash[Symbol, T.anything] }
15
+ end
16
+ define_sorbet_constant!(:FileInput) do
17
+ T.type_alias { T.any(Pathname, StringIO, IO, String, CheckoutIntents::FilePart) }
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutIntents
4
+ module Models
5
+ class BaseCheckoutIntent < CheckoutIntents::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ #
8
+ # @return [String]
9
+ required :id, String
10
+
11
+ # @!attribute buyer
12
+ #
13
+ # @return [CheckoutIntents::Models::Buyer]
14
+ required :buyer, -> { CheckoutIntents::Buyer }
15
+
16
+ # @!attribute created_at
17
+ #
18
+ # @return [Time]
19
+ required :created_at, Time, api_name: :createdAt
20
+
21
+ # @!attribute product_url
22
+ #
23
+ # @return [String]
24
+ required :product_url, String, api_name: :productUrl
25
+
26
+ # @!attribute quantity
27
+ #
28
+ # @return [Float]
29
+ required :quantity, Float
30
+
31
+ # @!attribute constraints
32
+ #
33
+ # @return [CheckoutIntents::Models::BaseCheckoutIntent::Constraints, nil]
34
+ optional :constraints, -> { CheckoutIntents::BaseCheckoutIntent::Constraints }
35
+
36
+ # @!attribute promo_codes
37
+ #
38
+ # @return [Array<String>, nil]
39
+ optional :promo_codes, CheckoutIntents::Internal::Type::ArrayOf[String], api_name: :promoCodes
40
+
41
+ # @!attribute variant_selections
42
+ #
43
+ # @return [Array<CheckoutIntents::Models::VariantSelection>, nil]
44
+ optional :variant_selections,
45
+ -> { CheckoutIntents::Internal::Type::ArrayOf[CheckoutIntents::VariantSelection] },
46
+ api_name: :variantSelections
47
+
48
+ # @!method initialize(id:, buyer:, created_at:, product_url:, quantity:, constraints: nil, promo_codes: nil, variant_selections: nil)
49
+ # @param id [String]
50
+ # @param buyer [CheckoutIntents::Models::Buyer]
51
+ # @param created_at [Time]
52
+ # @param product_url [String]
53
+ # @param quantity [Float]
54
+ # @param constraints [CheckoutIntents::Models::BaseCheckoutIntent::Constraints]
55
+ # @param promo_codes [Array<String>]
56
+ # @param variant_selections [Array<CheckoutIntents::Models::VariantSelection>]
57
+
58
+ # @see CheckoutIntents::Models::BaseCheckoutIntent#constraints
59
+ class Constraints < CheckoutIntents::Internal::Type::BaseModel
60
+ # @!attribute max_shipping_price
61
+ #
62
+ # @return [Integer, nil]
63
+ optional :max_shipping_price, Integer, api_name: :maxShippingPrice
64
+
65
+ # @!attribute max_total_price
66
+ #
67
+ # @return [Integer, nil]
68
+ optional :max_total_price, Integer, api_name: :maxTotalPrice
69
+
70
+ # @!method initialize(max_shipping_price: nil, max_total_price: nil)
71
+ # @param max_shipping_price [Integer]
72
+ # @param max_total_price [Integer]
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,148 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutIntents
4
+ module Models
5
+ module Betas
6
+ # @see CheckoutIntents::Resources::Betas::CheckoutSessions#create
7
+ class CheckoutSessionCreateParams < CheckoutIntents::Internal::Type::BaseModel
8
+ extend CheckoutIntents::Internal::Type::RequestParameters::Converter
9
+ include CheckoutIntents::Internal::Type::RequestParameters
10
+
11
+ # @!attribute product_url
12
+ #
13
+ # @return [String]
14
+ required :product_url, String, api_name: :productUrl
15
+
16
+ # @!attribute quantity
17
+ #
18
+ # @return [Float]
19
+ required :quantity, Float
20
+
21
+ # @!attribute buyer
22
+ # Optional buyer information, used to pre-fill the checkout form with the buyer's
23
+ # information.
24
+ #
25
+ # @return [CheckoutIntents::Models::Betas::CheckoutSessionCreateParams::Buyer, nil]
26
+ optional :buyer, -> { CheckoutIntents::Betas::CheckoutSessionCreateParams::Buyer }
27
+
28
+ # @!attribute constraints
29
+ #
30
+ # @return [CheckoutIntents::Models::Betas::CheckoutSessionCreateParams::Constraints, nil]
31
+ optional :constraints, -> { CheckoutIntents::Betas::CheckoutSessionCreateParams::Constraints }
32
+
33
+ # @!attribute promo_codes
34
+ #
35
+ # @return [Array<String>, nil]
36
+ optional :promo_codes, CheckoutIntents::Internal::Type::ArrayOf[String], api_name: :promoCodes
37
+
38
+ # @!attribute variant_selections
39
+ #
40
+ # @return [Array<CheckoutIntents::Models::VariantSelection>, nil]
41
+ optional :variant_selections,
42
+ -> { CheckoutIntents::Internal::Type::ArrayOf[CheckoutIntents::VariantSelection] },
43
+ api_name: :variantSelections
44
+
45
+ # @!method initialize(product_url:, quantity:, buyer: nil, constraints: nil, promo_codes: nil, variant_selections: nil, request_options: {})
46
+ # Some parameter documentations has been truncated, see
47
+ # {CheckoutIntents::Models::Betas::CheckoutSessionCreateParams} for more details.
48
+ #
49
+ # @param product_url [String]
50
+ #
51
+ # @param quantity [Float]
52
+ #
53
+ # @param buyer [CheckoutIntents::Models::Betas::CheckoutSessionCreateParams::Buyer] Optional buyer information, used to pre-fill the checkout form with the buyer's
54
+ #
55
+ # @param constraints [CheckoutIntents::Models::Betas::CheckoutSessionCreateParams::Constraints]
56
+ #
57
+ # @param promo_codes [Array<String>]
58
+ #
59
+ # @param variant_selections [Array<CheckoutIntents::Models::VariantSelection>]
60
+ #
61
+ # @param request_options [CheckoutIntents::RequestOptions, Hash{Symbol=>Object}]
62
+
63
+ class Buyer < CheckoutIntents::Internal::Type::BaseModel
64
+ # @!attribute address1
65
+ #
66
+ # @return [String, nil]
67
+ optional :address1, String
68
+
69
+ # @!attribute address2
70
+ #
71
+ # @return [String, nil]
72
+ optional :address2, String
73
+
74
+ # @!attribute city
75
+ #
76
+ # @return [String, nil]
77
+ optional :city, String
78
+
79
+ # @!attribute country
80
+ #
81
+ # @return [String, nil]
82
+ optional :country, String
83
+
84
+ # @!attribute email
85
+ #
86
+ # @return [String, nil]
87
+ optional :email, String
88
+
89
+ # @!attribute first_name
90
+ #
91
+ # @return [String, nil]
92
+ optional :first_name, String, api_name: :firstName
93
+
94
+ # @!attribute last_name
95
+ #
96
+ # @return [String, nil]
97
+ optional :last_name, String, api_name: :lastName
98
+
99
+ # @!attribute phone
100
+ #
101
+ # @return [String, nil]
102
+ optional :phone, String
103
+
104
+ # @!attribute postal_code
105
+ #
106
+ # @return [String, nil]
107
+ optional :postal_code, String, api_name: :postalCode
108
+
109
+ # @!attribute province
110
+ #
111
+ # @return [String, nil]
112
+ optional :province, String
113
+
114
+ # @!method initialize(address1: nil, address2: nil, city: nil, country: nil, email: nil, first_name: nil, last_name: nil, phone: nil, postal_code: nil, province: nil)
115
+ # Optional buyer information, used to pre-fill the checkout form with the buyer's
116
+ # information.
117
+ #
118
+ # @param address1 [String]
119
+ # @param address2 [String]
120
+ # @param city [String]
121
+ # @param country [String]
122
+ # @param email [String]
123
+ # @param first_name [String]
124
+ # @param last_name [String]
125
+ # @param phone [String]
126
+ # @param postal_code [String]
127
+ # @param province [String]
128
+ end
129
+
130
+ class Constraints < CheckoutIntents::Internal::Type::BaseModel
131
+ # @!attribute max_shipping_price
132
+ #
133
+ # @return [Integer, nil]
134
+ optional :max_shipping_price, Integer, api_name: :maxShippingPrice
135
+
136
+ # @!attribute max_total_price
137
+ #
138
+ # @return [Integer, nil]
139
+ optional :max_total_price, Integer, api_name: :maxTotalPrice
140
+
141
+ # @!method initialize(max_shipping_price: nil, max_total_price: nil)
142
+ # @param max_shipping_price [Integer]
143
+ # @param max_total_price [Integer]
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutIntents
4
+ module Models
5
+ # @see CheckoutIntents::Resources::Brands#retrieve
6
+ class BrandRetrieveParams < CheckoutIntents::Internal::Type::BaseModel
7
+ extend CheckoutIntents::Internal::Type::RequestParameters::Converter
8
+ include CheckoutIntents::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [CheckoutIntents::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutIntents
4
+ module Models
5
+ # @see CheckoutIntents::Resources::Brands#retrieve
6
+ class BrandRetrieveResponse < CheckoutIntents::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # A unique identifier for the brand.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute marketplace
14
+ # Indicates what ecommerce platform the brand uses.
15
+ #
16
+ # @return [Symbol, CheckoutIntents::Models::BrandRetrieveResponse::Marketplace]
17
+ required :marketplace, enum: -> { CheckoutIntents::Models::BrandRetrieveResponse::Marketplace }
18
+
19
+ # @!attribute supported
20
+ # If `false`, then products from this brand cannot be purchased through the Sell
21
+ # Anything API.
22
+ #
23
+ # @return [Boolean]
24
+ required :supported, CheckoutIntents::Internal::Type::Boolean
25
+
26
+ # @!method initialize(id:, marketplace:, supported:)
27
+ # Some parameter documentations has been truncated, see
28
+ # {CheckoutIntents::Models::BrandRetrieveResponse} for more details.
29
+ #
30
+ # @param id [String] A unique identifier for the brand.
31
+ #
32
+ # @param marketplace [Symbol, CheckoutIntents::Models::BrandRetrieveResponse::Marketplace] Indicates what ecommerce platform the brand uses.
33
+ #
34
+ # @param supported [Boolean] If `false`, then products from this brand cannot be purchased through the
35
+
36
+ # Indicates what ecommerce platform the brand uses.
37
+ #
38
+ # @see CheckoutIntents::Models::BrandRetrieveResponse#marketplace
39
+ module Marketplace
40
+ extend CheckoutIntents::Internal::Type::Enum
41
+
42
+ AMAZON = :AMAZON
43
+ SHOPIFY = :SHOPIFY
44
+ BESTBUY = :BESTBUY
45
+ UNKNOWN = :UNKNOWN
46
+
47
+ # @!method self.values
48
+ # @return [Array<Symbol>]
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutIntents
4
+ module Models
5
+ class Buyer < CheckoutIntents::Internal::Type::BaseModel
6
+ # @!attribute address1
7
+ #
8
+ # @return [String]
9
+ required :address1, String
10
+
11
+ # @!attribute city
12
+ #
13
+ # @return [String]
14
+ required :city, String
15
+
16
+ # @!attribute country
17
+ #
18
+ # @return [String]
19
+ required :country, String
20
+
21
+ # @!attribute email
22
+ #
23
+ # @return [String]
24
+ required :email, String
25
+
26
+ # @!attribute first_name
27
+ #
28
+ # @return [String]
29
+ required :first_name, String, api_name: :firstName
30
+
31
+ # @!attribute last_name
32
+ #
33
+ # @return [String]
34
+ required :last_name, String, api_name: :lastName
35
+
36
+ # @!attribute phone
37
+ #
38
+ # @return [String]
39
+ required :phone, String
40
+
41
+ # @!attribute postal_code
42
+ #
43
+ # @return [String]
44
+ required :postal_code, String, api_name: :postalCode
45
+
46
+ # @!attribute province
47
+ #
48
+ # @return [String]
49
+ required :province, String
50
+
51
+ # @!attribute address2
52
+ #
53
+ # @return [String, nil]
54
+ optional :address2, String
55
+
56
+ # @!method initialize(address1:, city:, country:, email:, first_name:, last_name:, phone:, postal_code:, province:, address2: nil)
57
+ # @param address1 [String]
58
+ # @param city [String]
59
+ # @param country [String]
60
+ # @param email [String]
61
+ # @param first_name [String]
62
+ # @param last_name [String]
63
+ # @param phone [String]
64
+ # @param postal_code [String]
65
+ # @param province [String]
66
+ # @param address2 [String]
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,230 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutIntents
4
+ module Models
5
+ # @see CheckoutIntents::Resources::CheckoutIntents#create
6
+ module CheckoutIntent
7
+ extend CheckoutIntents::Internal::Type::Union
8
+
9
+ variant -> { CheckoutIntents::CheckoutIntent::RetrievingOfferCheckoutIntent }
10
+
11
+ variant -> { CheckoutIntents::CheckoutIntent::AwaitingConfirmationCheckoutIntent }
12
+
13
+ variant -> { CheckoutIntents::CheckoutIntent::PlacingOrderCheckoutIntent }
14
+
15
+ variant -> { CheckoutIntents::CheckoutIntent::CompletedCheckoutIntent }
16
+
17
+ variant -> { CheckoutIntents::CheckoutIntent::FailedCheckoutIntent }
18
+
19
+ class RetrievingOfferCheckoutIntent < CheckoutIntents::Models::BaseCheckoutIntent
20
+ # @!attribute state
21
+ #
22
+ # @return [Symbol, CheckoutIntents::Models::CheckoutIntent::RetrievingOfferCheckoutIntent::State]
23
+ required :state, enum: -> { CheckoutIntents::CheckoutIntent::RetrievingOfferCheckoutIntent::State }
24
+
25
+ # @!method initialize(state:)
26
+ # @param state [Symbol, CheckoutIntents::Models::CheckoutIntent::RetrievingOfferCheckoutIntent::State]
27
+
28
+ module State
29
+ extend CheckoutIntents::Internal::Type::Enum
30
+
31
+ RETRIEVING_OFFER = :retrieving_offer
32
+
33
+ # @!method self.values
34
+ # @return [Array<Symbol>]
35
+ end
36
+ end
37
+
38
+ class AwaitingConfirmationCheckoutIntent < CheckoutIntents::Models::BaseCheckoutIntent
39
+ # @!attribute offer
40
+ #
41
+ # @return [CheckoutIntents::Models::Offer]
42
+ required :offer, -> { CheckoutIntents::Offer }
43
+
44
+ # @!attribute state
45
+ #
46
+ # @return [Symbol, CheckoutIntents::Models::CheckoutIntent::AwaitingConfirmationCheckoutIntent::State]
47
+ required :state, enum: -> { CheckoutIntents::CheckoutIntent::AwaitingConfirmationCheckoutIntent::State }
48
+
49
+ # @!attribute payment_method
50
+ #
51
+ # @return [CheckoutIntents::Models::PaymentMethod::StripeTokenPaymentMethod, CheckoutIntents::Models::PaymentMethod::BasisTheoryPaymentMethod, CheckoutIntents::Models::PaymentMethod::NekudaPaymentMethod, nil]
52
+ optional :payment_method, union: -> { CheckoutIntents::PaymentMethod }, api_name: :paymentMethod
53
+
54
+ # @!method initialize(offer:, state:, payment_method: nil)
55
+ # @param offer [CheckoutIntents::Models::Offer]
56
+ # @param state [Symbol, CheckoutIntents::Models::CheckoutIntent::AwaitingConfirmationCheckoutIntent::State]
57
+ # @param payment_method [CheckoutIntents::Models::PaymentMethod::StripeTokenPaymentMethod, CheckoutIntents::Models::PaymentMethod::BasisTheoryPaymentMethod, CheckoutIntents::Models::PaymentMethod::NekudaPaymentMethod]
58
+
59
+ module State
60
+ extend CheckoutIntents::Internal::Type::Enum
61
+
62
+ AWAITING_CONFIRMATION = :awaiting_confirmation
63
+
64
+ # @!method self.values
65
+ # @return [Array<Symbol>]
66
+ end
67
+ end
68
+
69
+ class PlacingOrderCheckoutIntent < CheckoutIntents::Models::BaseCheckoutIntent
70
+ # @!attribute offer
71
+ #
72
+ # @return [CheckoutIntents::Models::Offer]
73
+ required :offer, -> { CheckoutIntents::Offer }
74
+
75
+ # @!attribute payment_method
76
+ #
77
+ # @return [CheckoutIntents::Models::PaymentMethod::StripeTokenPaymentMethod, CheckoutIntents::Models::PaymentMethod::BasisTheoryPaymentMethod, CheckoutIntents::Models::PaymentMethod::NekudaPaymentMethod]
78
+ required :payment_method, union: -> { CheckoutIntents::PaymentMethod }, api_name: :paymentMethod
79
+
80
+ # @!attribute state
81
+ #
82
+ # @return [Symbol, CheckoutIntents::Models::CheckoutIntent::PlacingOrderCheckoutIntent::State]
83
+ required :state, enum: -> { CheckoutIntents::CheckoutIntent::PlacingOrderCheckoutIntent::State }
84
+
85
+ # @!method initialize(offer:, payment_method:, state:)
86
+ # @param offer [CheckoutIntents::Models::Offer]
87
+ # @param payment_method [CheckoutIntents::Models::PaymentMethod::StripeTokenPaymentMethod, CheckoutIntents::Models::PaymentMethod::BasisTheoryPaymentMethod, CheckoutIntents::Models::PaymentMethod::NekudaPaymentMethod]
88
+ # @param state [Symbol, CheckoutIntents::Models::CheckoutIntent::PlacingOrderCheckoutIntent::State]
89
+
90
+ module State
91
+ extend CheckoutIntents::Internal::Type::Enum
92
+
93
+ PLACING_ORDER = :placing_order
94
+
95
+ # @!method self.values
96
+ # @return [Array<Symbol>]
97
+ end
98
+ end
99
+
100
+ class CompletedCheckoutIntent < CheckoutIntents::Models::BaseCheckoutIntent
101
+ # @!attribute offer
102
+ #
103
+ # @return [CheckoutIntents::Models::Offer]
104
+ required :offer, -> { CheckoutIntents::Offer }
105
+
106
+ # @!attribute order_id
107
+ #
108
+ # @return [String, nil]
109
+ required :order_id, String, api_name: :orderId, nil?: true
110
+
111
+ # @!attribute payment_method
112
+ #
113
+ # @return [CheckoutIntents::Models::PaymentMethod::StripeTokenPaymentMethod, CheckoutIntents::Models::PaymentMethod::BasisTheoryPaymentMethod, CheckoutIntents::Models::PaymentMethod::NekudaPaymentMethod]
114
+ required :payment_method, union: -> { CheckoutIntents::PaymentMethod }, api_name: :paymentMethod
115
+
116
+ # @!attribute state
117
+ #
118
+ # @return [Symbol, CheckoutIntents::Models::CheckoutIntent::CompletedCheckoutIntent::State]
119
+ required :state, enum: -> { CheckoutIntents::CheckoutIntent::CompletedCheckoutIntent::State }
120
+
121
+ # @!method initialize(offer:, order_id:, payment_method:, state:)
122
+ # @param offer [CheckoutIntents::Models::Offer]
123
+ # @param order_id [String, nil]
124
+ # @param payment_method [CheckoutIntents::Models::PaymentMethod::StripeTokenPaymentMethod, CheckoutIntents::Models::PaymentMethod::BasisTheoryPaymentMethod, CheckoutIntents::Models::PaymentMethod::NekudaPaymentMethod]
125
+ # @param state [Symbol, CheckoutIntents::Models::CheckoutIntent::CompletedCheckoutIntent::State]
126
+
127
+ module State
128
+ extend CheckoutIntents::Internal::Type::Enum
129
+
130
+ COMPLETED = :completed
131
+
132
+ # @!method self.values
133
+ # @return [Array<Symbol>]
134
+ end
135
+ end
136
+
137
+ class FailedCheckoutIntent < CheckoutIntents::Models::BaseCheckoutIntent
138
+ # @!attribute failure_reason
139
+ #
140
+ # @return [CheckoutIntents::Models::CheckoutIntent::FailedCheckoutIntent::FailureReason]
141
+ required :failure_reason,
142
+ -> { CheckoutIntents::CheckoutIntent::FailedCheckoutIntent::FailureReason },
143
+ api_name: :failureReason
144
+
145
+ # @!attribute state
146
+ #
147
+ # @return [Symbol, CheckoutIntents::Models::CheckoutIntent::FailedCheckoutIntent::State]
148
+ required :state, enum: -> { CheckoutIntents::CheckoutIntent::FailedCheckoutIntent::State }
149
+
150
+ # @!attribute offer
151
+ #
152
+ # @return [CheckoutIntents::Models::Offer, nil]
153
+ optional :offer, -> { CheckoutIntents::Offer }
154
+
155
+ # @!attribute payment_method
156
+ #
157
+ # @return [CheckoutIntents::Models::PaymentMethod::StripeTokenPaymentMethod, CheckoutIntents::Models::PaymentMethod::BasisTheoryPaymentMethod, CheckoutIntents::Models::PaymentMethod::NekudaPaymentMethod, nil]
158
+ optional :payment_method, union: -> { CheckoutIntents::PaymentMethod }, api_name: :paymentMethod
159
+
160
+ # @!method initialize(failure_reason:, state:, offer: nil, payment_method: nil)
161
+ # @param failure_reason [CheckoutIntents::Models::CheckoutIntent::FailedCheckoutIntent::FailureReason]
162
+ # @param state [Symbol, CheckoutIntents::Models::CheckoutIntent::FailedCheckoutIntent::State]
163
+ # @param offer [CheckoutIntents::Models::Offer]
164
+ # @param payment_method [CheckoutIntents::Models::PaymentMethod::StripeTokenPaymentMethod, CheckoutIntents::Models::PaymentMethod::BasisTheoryPaymentMethod, CheckoutIntents::Models::PaymentMethod::NekudaPaymentMethod]
165
+
166
+ class FailureReason < CheckoutIntents::Internal::Type::BaseModel
167
+ # @!attribute code
168
+ # Type derived from runtime array - always in sync
169
+ #
170
+ # @return [Symbol, CheckoutIntents::Models::CheckoutIntent::FailedCheckoutIntent::FailureReason::Code]
171
+ required :code, enum: -> { CheckoutIntents::CheckoutIntent::FailedCheckoutIntent::FailureReason::Code }
172
+
173
+ # @!attribute message
174
+ #
175
+ # @return [String]
176
+ required :message, String
177
+
178
+ # @!method initialize(code:, message:)
179
+ # @param code [Symbol, CheckoutIntents::Models::CheckoutIntent::FailedCheckoutIntent::FailureReason::Code] Type derived from runtime array - always in sync
180
+ #
181
+ # @param message [String]
182
+
183
+ # Type derived from runtime array - always in sync
184
+ #
185
+ # @see CheckoutIntents::Models::CheckoutIntent::FailedCheckoutIntent::FailureReason#code
186
+ module Code
187
+ extend CheckoutIntents::Internal::Type::Enum
188
+
189
+ CHECKOUT_INTENT_EXPIRED = :checkout_intent_expired
190
+ PAYMENT_FAILED = :payment_failed
191
+ INSUFFICIENT_STOCK = :insufficient_stock
192
+ PRODUCT_OUT_OF_STOCK = :product_out_of_stock
193
+ OFFER_RETRIEVAL_FAILED = :offer_retrieval_failed
194
+ ORDER_PLACEMENT_FAILED = :order_placement_failed
195
+ DEVELOPER_NOT_FOUND = :developer_not_found
196
+ MISSING_SHIPPING_METHOD = :missing_shipping_method
197
+ UNSUPPORTED_CURRENCY = :unsupported_currency
198
+ INVALID_INPUT = :invalid_input
199
+ INCORRECT_COST_BREAKDOWN = :incorrect_cost_breakdown
200
+ UNSUPPORTED_STORE_NO_GUEST_CHECKOUT = :unsupported_store_no_guest_checkout
201
+ WORKFLOW_INVOCATION_FAILED = :workflow_invocation_failed
202
+ VARIANT_SELECTIONS_INVALID = :variant_selections_invalid
203
+ VARIANT_SELECTIONS_REQUIRED = :variant_selections_required
204
+ FORM_VALIDATION_ERROR = :form_validation_error
205
+ CAPTCHA_BLOCKED = :captcha_blocked
206
+ BOT_PROTECTION_BLOCKED = :bot_protection_blocked
207
+ CONSTRAINT_TOTAL_PRICE_EXCEEDED = :constraint_total_price_exceeded
208
+ CONSTRAINT_SHIPPING_COST_EXCEEDED = :constraint_shipping_cost_exceeded
209
+ UNKNOWN = :unknown
210
+
211
+ # @!method self.values
212
+ # @return [Array<Symbol>]
213
+ end
214
+ end
215
+
216
+ module State
217
+ extend CheckoutIntents::Internal::Type::Enum
218
+
219
+ FAILED = :failed
220
+
221
+ # @!method self.values
222
+ # @return [Array<Symbol>]
223
+ end
224
+ end
225
+
226
+ # @!method self.variants
227
+ # @return [Array(CheckoutIntents::Models::CheckoutIntent::RetrievingOfferCheckoutIntent, CheckoutIntents::Models::CheckoutIntent::AwaitingConfirmationCheckoutIntent, CheckoutIntents::Models::CheckoutIntent::PlacingOrderCheckoutIntent, CheckoutIntents::Models::CheckoutIntent::CompletedCheckoutIntent, CheckoutIntents::Models::CheckoutIntent::FailedCheckoutIntent)]
228
+ end
229
+ end
230
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutIntents
4
+ module Models
5
+ # @see CheckoutIntents::Resources::CheckoutIntents#add_payment
6
+ class CheckoutIntentAddPaymentParams < CheckoutIntents::Internal::Type::BaseModel
7
+ extend CheckoutIntents::Internal::Type::RequestParameters::Converter
8
+ include CheckoutIntents::Internal::Type::RequestParameters
9
+
10
+ # @!attribute payment_method
11
+ #
12
+ # @return [CheckoutIntents::Models::PaymentMethod::StripeTokenPaymentMethod, CheckoutIntents::Models::PaymentMethod::BasisTheoryPaymentMethod, CheckoutIntents::Models::PaymentMethod::NekudaPaymentMethod]
13
+ required :payment_method, union: -> { CheckoutIntents::PaymentMethod }, api_name: :paymentMethod
14
+
15
+ # @!method initialize(payment_method:, request_options: {})
16
+ # @param payment_method [CheckoutIntents::Models::PaymentMethod::StripeTokenPaymentMethod, CheckoutIntents::Models::PaymentMethod::BasisTheoryPaymentMethod, CheckoutIntents::Models::PaymentMethod::NekudaPaymentMethod]
17
+ # @param request_options [CheckoutIntents::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CheckoutIntents
4
+ module Models
5
+ # @see CheckoutIntents::Resources::CheckoutIntents#confirm
6
+ class CheckoutIntentConfirmParams < CheckoutIntents::Internal::Type::BaseModel
7
+ extend CheckoutIntents::Internal::Type::RequestParameters::Converter
8
+ include CheckoutIntents::Internal::Type::RequestParameters
9
+
10
+ # @!attribute payment_method
11
+ #
12
+ # @return [CheckoutIntents::Models::PaymentMethod::StripeTokenPaymentMethod, CheckoutIntents::Models::PaymentMethod::BasisTheoryPaymentMethod, CheckoutIntents::Models::PaymentMethod::NekudaPaymentMethod]
13
+ required :payment_method, union: -> { CheckoutIntents::PaymentMethod }, api_name: :paymentMethod
14
+
15
+ # @!method initialize(payment_method:, request_options: {})
16
+ # @param payment_method [CheckoutIntents::Models::PaymentMethod::StripeTokenPaymentMethod, CheckoutIntents::Models::PaymentMethod::BasisTheoryPaymentMethod, CheckoutIntents::Models::PaymentMethod::NekudaPaymentMethod]
17
+ # @param request_options [CheckoutIntents::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end