Class: Pago::V2026_04::Models::CheckoutLinkProduct
- Defined in:
- lib/pago/v2026_04/models.rb,
sig/pago/v2026_04/generated.rbs
Overview
Product data for a checkout link.
Constant Summary collapse
- JSON_KEYS =
{ metadata: "metadata", id: "id", created_at: "created_at", modified_at: "modified_at", trial_interval: "trial_interval", trial_interval_count: "trial_interval_count", name: "name", description: "description", visibility: "visibility", recurring_interval: "recurring_interval", recurring_interval_count: "recurring_interval_count", meter_interval: "meter_interval", meter_interval_count: "meter_interval_count", is_recurring: "is_recurring", is_archived: "is_archived", organization_id: "organization_id", prices: "prices", benefits: "benefits", medias: "medias" }.freeze
- REQUIRED_KEYS =
["metadata", "id", "created_at", "modified_at", "trial_interval", "trial_interval_count", "name", "description", "visibility", "recurring_interval", "recurring_interval_count", "meter_interval", "meter_interval_count", "is_recurring", "is_archived", "organization_id", "prices", "benefits", "medias"].freeze
Instance Attribute Summary collapse
-
#benefits ⇒ Array<Models::BenefitPublic>
readonly
List of benefits granted by the product.
-
#created_at ⇒ String
readonly
Creation timestamp of the object.
-
#description ⇒ String?
readonly
The description of the product.
-
#id ⇒ String
readonly
The ID of the object.
-
#is_archived ⇒ Boolean
readonly
Whether the product is archived and no longer available.
-
#is_recurring ⇒ Boolean
readonly
Whether the product is a subscription.
-
#medias ⇒ Array<Models::ProductMediaFileRead>
readonly
List of medias associated to the product.
- #metadata ⇒ Hash{String => String, Integer, Float, Boolean} readonly
-
#meter_interval ⇒ String?
readonly
The meter cycle of the product, independent of the billing interval.
-
#meter_interval_count ⇒ Integer?
readonly
Number of meter interval units.
-
#modified_at ⇒ String?
readonly
Last modification timestamp of the object.
-
#name ⇒ String
readonly
The name of the product.
-
#organization_id ⇒ String
readonly
The ID of the organization owning the product.
-
#prices ⇒ Array<Object>
readonly
List of prices for this product.
-
#recurring_interval ⇒ String?
readonly
The recurring interval of the product.
-
#recurring_interval_count ⇒ Integer?
readonly
Number of interval units of the subscription.
-
#trial_interval ⇒ String?
readonly
The interval unit for the trial period.
-
#trial_interval_count ⇒ Integer?
readonly
The number of interval units for the trial period.
- #visibility ⇒ String readonly
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(metadata:, id:, created_at:, modified_at:, trial_interval:, trial_interval_count:, name:, description:, visibility:, recurring_interval:, recurring_interval_count:, meter_interval:, meter_interval_count:, is_recurring:, is_archived:, organization_id:, prices:, benefits:, medias:) ⇒ CheckoutLinkProduct
constructor
A new instance of CheckoutLinkProduct.
Methods inherited from Model
#==, #[], #field_set?, #hash, #inspect, json_keys, required_json_keys, #to_json, #to_json_hash, wrap_raw
Constructor Details
#initialize(metadata:, id:, created_at:, modified_at:, trial_interval:, trial_interval_count:, name:, description:, visibility:, recurring_interval:, recurring_interval_count:, meter_interval:, meter_interval_count:, is_recurring:, is_archived:, organization_id:, prices:, benefits:, medias:) ⇒ CheckoutLinkProduct
Returns a new instance of CheckoutLinkProduct.
11234 11235 11236 11237 11238 11239 11240 11241 11242 11243 11244 11245 11246 11247 11248 11249 11250 11251 11252 11253 11254 11255 11256 11257 11258 11259 11260 11261 11262 11263 11264 11265 11266 11267 11268 11269 11270 11271 11272 11273 11274 11275 |
# File 'lib/pago/v2026_04/models.rb', line 11234 def initialize( metadata:, id:, created_at:, modified_at:, trial_interval:, trial_interval_count:, name:, description:, visibility:, recurring_interval:, recurring_interval_count:, meter_interval:, meter_interval_count:, is_recurring:, is_archived:, organization_id:, prices:, benefits:, medias: ) super() assign(:metadata, ) assign(:id, id) assign(:created_at, created_at) assign(:modified_at, modified_at) assign(:trial_interval, trial_interval) assign(:trial_interval_count, trial_interval_count) assign(:name, name) assign(:description, description) assign(:visibility, visibility) assign(:recurring_interval, recurring_interval) assign(:recurring_interval_count, recurring_interval_count) assign(:meter_interval, meter_interval) assign(:meter_interval_count, meter_interval_count) assign(:is_recurring, is_recurring) assign(:is_archived, is_archived) assign(:organization_id, organization_id) assign(:prices, prices) assign(:benefits, benefits) assign(:medias, medias) end |
Instance Attribute Details
#benefits ⇒ Array<Models::BenefitPublic> (readonly)
List of benefits granted by the product.
11228 11229 11230 |
# File 'lib/pago/v2026_04/models.rb', line 11228 def benefits @benefits end |
#created_at ⇒ String (readonly)
Creation timestamp of the object.
11169 11170 11171 |
# File 'lib/pago/v2026_04/models.rb', line 11169 def created_at @created_at end |
#description ⇒ String? (readonly)
The description of the product.
11189 11190 11191 |
# File 'lib/pago/v2026_04/models.rb', line 11189 def description @description end |
#id ⇒ String (readonly)
The ID of the object.
11165 11166 11167 |
# File 'lib/pago/v2026_04/models.rb', line 11165 def id @id end |
#is_archived ⇒ Boolean (readonly)
Whether the product is archived and no longer available.
11216 11217 11218 |
# File 'lib/pago/v2026_04/models.rb', line 11216 def is_archived @is_archived end |
#is_recurring ⇒ Boolean (readonly)
Whether the product is a subscription.
11212 11213 11214 |
# File 'lib/pago/v2026_04/models.rb', line 11212 def is_recurring @is_recurring end |
#medias ⇒ Array<Models::ProductMediaFileRead> (readonly)
List of medias associated to the product.
11232 11233 11234 |
# File 'lib/pago/v2026_04/models.rb', line 11232 def medias @medias end |
#metadata ⇒ Hash{String => String, Integer, Float, Boolean} (readonly)
11161 11162 11163 |
# File 'lib/pago/v2026_04/models.rb', line 11161 def @metadata end |
#meter_interval ⇒ String? (readonly)
The meter cycle of the product, independent of the billing interval. If None, metered concerns follow the billing interval.
11204 11205 11206 |
# File 'lib/pago/v2026_04/models.rb', line 11204 def meter_interval @meter_interval end |
#meter_interval_count ⇒ Integer? (readonly)
Number of meter interval units. None when no meter cycle is set.
11208 11209 11210 |
# File 'lib/pago/v2026_04/models.rb', line 11208 def meter_interval_count @meter_interval_count end |
#modified_at ⇒ String? (readonly)
Last modification timestamp of the object.
11173 11174 11175 |
# File 'lib/pago/v2026_04/models.rb', line 11173 def modified_at @modified_at end |
#name ⇒ String (readonly)
The name of the product.
11185 11186 11187 |
# File 'lib/pago/v2026_04/models.rb', line 11185 def name @name end |
#organization_id ⇒ String (readonly)
The ID of the organization owning the product.
11220 11221 11222 |
# File 'lib/pago/v2026_04/models.rb', line 11220 def organization_id @organization_id end |
#prices ⇒ Array<Object> (readonly)
List of prices for this product.
11224 11225 11226 |
# File 'lib/pago/v2026_04/models.rb', line 11224 def prices @prices end |
#recurring_interval ⇒ String? (readonly)
The recurring interval of the product. If None, the product is a one-time purchase.
11196 11197 11198 |
# File 'lib/pago/v2026_04/models.rb', line 11196 def recurring_interval @recurring_interval end |
#recurring_interval_count ⇒ Integer? (readonly)
Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products.
11200 11201 11202 |
# File 'lib/pago/v2026_04/models.rb', line 11200 def recurring_interval_count @recurring_interval_count end |
#trial_interval ⇒ String? (readonly)
The interval unit for the trial period.
11177 11178 11179 |
# File 'lib/pago/v2026_04/models.rb', line 11177 def trial_interval @trial_interval end |
#trial_interval_count ⇒ Integer? (readonly)
The number of interval units for the trial period.
11181 11182 11183 |
# File 'lib/pago/v2026_04/models.rb', line 11181 def trial_interval_count @trial_interval_count end |
#visibility ⇒ String (readonly)
11192 11193 11194 |
# File 'lib/pago/v2026_04/models.rb', line 11192 def visibility @visibility end |
Class Method Details
.from_json(data) ⇒ CheckoutLinkProduct?
11279 11280 11281 11282 11283 11284 11285 11286 11287 11288 11289 11290 11291 11292 11293 11294 11295 11296 11297 11298 11299 11300 11301 11302 11303 11304 11305 11306 11307 11308 |
# File 'lib/pago/v2026_04/models.rb', line 11279 def self.from_json(data) data = ::JSON.parse(data) if data.is_a?(String) data = ::Pago::Serde.object(data) return nil if data.nil? wrap_raw( new( metadata: (data.key?("metadata") ? data["metadata"] : ::Pago::UNSET), id: (data.key?("id") ? data["id"] : ::Pago::UNSET), created_at: (data.key?("created_at") ? data["created_at"] : ::Pago::UNSET), modified_at: (data.key?("modified_at") ? data["modified_at"] : ::Pago::UNSET), trial_interval: (data.key?("trial_interval") ? data["trial_interval"] : ::Pago::UNSET), trial_interval_count: (data.key?("trial_interval_count") ? data["trial_interval_count"] : ::Pago::UNSET), name: (data.key?("name") ? data["name"] : ::Pago::UNSET), description: (data.key?("description") ? data["description"] : ::Pago::UNSET), visibility: (data.key?("visibility") ? data["visibility"] : ::Pago::UNSET), recurring_interval: (data.key?("recurring_interval") ? data["recurring_interval"] : ::Pago::UNSET), recurring_interval_count: (data.key?("recurring_interval_count") ? data["recurring_interval_count"] : ::Pago::UNSET), meter_interval: (data.key?("meter_interval") ? data["meter_interval"] : ::Pago::UNSET), meter_interval_count: (data.key?("meter_interval_count") ? data["meter_interval_count"] : ::Pago::UNSET), is_recurring: (data.key?("is_recurring") ? data["is_recurring"] : ::Pago::UNSET), is_archived: (data.key?("is_archived") ? data["is_archived"] : ::Pago::UNSET), organization_id: (data.key?("organization_id") ? data["organization_id"] : ::Pago::UNSET), prices: (data.key?("prices") ? ::Pago::Serde.array(data["prices"]) { |item0| ::Pago::Serde.union(item0, variants: [Unions::LegacyRecurringProductPrice, Unions::ProductPrice]) } : ::Pago::UNSET), benefits: (data.key?("benefits") ? ::Pago::Serde.array(data["benefits"]) { |item0| Models::BenefitPublic.from_json(item0) } : ::Pago::UNSET), medias: (data.key?("medias") ? ::Pago::Serde.array(data["medias"]) { |item0| Models::ProductMediaFileRead.from_json(item0) } : ::Pago::UNSET) ), data ) end |