Class: Pago::V2026_04::Models::CustomerSubscriptionProduct
- Defined in:
- lib/pago/v2026_04/models.rb,
sig/pago/v2026_04/generated.rbs
Constant Summary collapse
- JSON_KEYS =
{ 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", organization: "organization" }.freeze
- REQUIRED_KEYS =
["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", "organization"].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.
-
#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 ⇒ Models::CustomerOrganization readonly
-
#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(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:, organization:) ⇒ CustomerSubscriptionProduct
constructor
A new instance of CustomerSubscriptionProduct.
Methods inherited from Model
#==, #[], #field_set?, #hash, #inspect, json_keys, required_json_keys, #to_json, #to_json_hash, wrap_raw
Constructor Details
#initialize(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:, organization:) ⇒ CustomerSubscriptionProduct
Returns a new instance of CustomerSubscriptionProduct.
21362 21363 21364 21365 21366 21367 21368 21369 21370 21371 21372 21373 21374 21375 21376 21377 21378 21379 21380 21381 21382 21383 21384 21385 21386 21387 21388 21389 21390 21391 21392 21393 21394 21395 21396 21397 21398 21399 21400 21401 21402 21403 |
# File 'lib/pago/v2026_04/models.rb', line 21362 def initialize( 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:, organization: ) super() 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) assign(:organization, organization) end |
Instance Attribute Details
#benefits ⇒ Array<Models::BenefitPublic> (readonly)
List of benefits granted by the product.
21353 21354 21355 |
# File 'lib/pago/v2026_04/models.rb', line 21353 def benefits @benefits end |
#created_at ⇒ String (readonly)
Creation timestamp of the object.
21294 21295 21296 |
# File 'lib/pago/v2026_04/models.rb', line 21294 def created_at @created_at end |
#description ⇒ String? (readonly)
The description of the product.
21314 21315 21316 |
# File 'lib/pago/v2026_04/models.rb', line 21314 def description @description end |
#id ⇒ String (readonly)
The ID of the object.
21290 21291 21292 |
# File 'lib/pago/v2026_04/models.rb', line 21290 def id @id end |
#is_archived ⇒ Boolean (readonly)
Whether the product is archived and no longer available.
21341 21342 21343 |
# File 'lib/pago/v2026_04/models.rb', line 21341 def is_archived @is_archived end |
#is_recurring ⇒ Boolean (readonly)
Whether the product is a subscription.
21337 21338 21339 |
# File 'lib/pago/v2026_04/models.rb', line 21337 def is_recurring @is_recurring end |
#medias ⇒ Array<Models::ProductMediaFileRead> (readonly)
List of medias associated to the product.
21357 21358 21359 |
# File 'lib/pago/v2026_04/models.rb', line 21357 def medias @medias end |
#meter_interval ⇒ String? (readonly)
The meter cycle of the product, independent of the billing interval. If None, metered concerns follow the billing interval.
21329 21330 21331 |
# File 'lib/pago/v2026_04/models.rb', line 21329 def meter_interval @meter_interval end |
#meter_interval_count ⇒ Integer? (readonly)
Number of meter interval units. None when no meter cycle is set.
21333 21334 21335 |
# File 'lib/pago/v2026_04/models.rb', line 21333 def meter_interval_count @meter_interval_count end |
#modified_at ⇒ String? (readonly)
Last modification timestamp of the object.
21298 21299 21300 |
# File 'lib/pago/v2026_04/models.rb', line 21298 def modified_at @modified_at end |
#name ⇒ String (readonly)
The name of the product.
21310 21311 21312 |
# File 'lib/pago/v2026_04/models.rb', line 21310 def name @name end |
#organization ⇒ Models::CustomerOrganization (readonly)
21360 21361 21362 |
# File 'lib/pago/v2026_04/models.rb', line 21360 def organization @organization end |
#organization_id ⇒ String (readonly)
The ID of the organization owning the product.
21345 21346 21347 |
# File 'lib/pago/v2026_04/models.rb', line 21345 def organization_id @organization_id end |
#prices ⇒ Array<Object> (readonly)
List of prices for this product.
21349 21350 21351 |
# File 'lib/pago/v2026_04/models.rb', line 21349 def prices @prices end |
#recurring_interval ⇒ String? (readonly)
The recurring interval of the product. If None, the product is a one-time purchase.
21321 21322 21323 |
# File 'lib/pago/v2026_04/models.rb', line 21321 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.
21325 21326 21327 |
# File 'lib/pago/v2026_04/models.rb', line 21325 def recurring_interval_count @recurring_interval_count end |
#trial_interval ⇒ String? (readonly)
The interval unit for the trial period.
21302 21303 21304 |
# File 'lib/pago/v2026_04/models.rb', line 21302 def trial_interval @trial_interval end |
#trial_interval_count ⇒ Integer? (readonly)
The number of interval units for the trial period.
21306 21307 21308 |
# File 'lib/pago/v2026_04/models.rb', line 21306 def trial_interval_count @trial_interval_count end |
#visibility ⇒ String (readonly)
21317 21318 21319 |
# File 'lib/pago/v2026_04/models.rb', line 21317 def visibility @visibility end |
Class Method Details
.from_json(data) ⇒ CustomerSubscriptionProduct?
21407 21408 21409 21410 21411 21412 21413 21414 21415 21416 21417 21418 21419 21420 21421 21422 21423 21424 21425 21426 21427 21428 21429 21430 21431 21432 21433 21434 21435 21436 |
# File 'lib/pago/v2026_04/models.rb', line 21407 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( 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), organization: (data.key?("organization") ? Models::CustomerOrganization.from_json(data["organization"]) : ::Pago::UNSET) ), data ) end |