Class: Pago::V2026_04::Models::CheckoutProduct
- Defined in:
- lib/pago/v2026_04/models.rb,
sig/pago/v2026_04/generated.rbs
Overview
Product data for a checkout session.
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" }.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"].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_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:) ⇒ CheckoutProduct
constructor
A new instance of CheckoutProduct.
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:) ⇒ CheckoutProduct
Returns a new instance of CheckoutProduct.
11617 11618 11619 11620 11621 11622 11623 11624 11625 11626 11627 11628 11629 11630 11631 11632 11633 11634 11635 11636 11637 11638 11639 11640 11641 11642 11643 11644 11645 11646 11647 11648 11649 11650 11651 11652 11653 11654 11655 11656 |
# File 'lib/pago/v2026_04/models.rb', line 11617 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: ) 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) end |
Instance Attribute Details
#benefits ⇒ Array<Models::BenefitPublic> (readonly)
List of benefits granted by the product.
11611 11612 11613 |
# File 'lib/pago/v2026_04/models.rb', line 11611 def benefits @benefits end |
#created_at ⇒ String (readonly)
Creation timestamp of the object.
11552 11553 11554 |
# File 'lib/pago/v2026_04/models.rb', line 11552 def created_at @created_at end |
#description ⇒ String? (readonly)
The description of the product.
11572 11573 11574 |
# File 'lib/pago/v2026_04/models.rb', line 11572 def description @description end |
#id ⇒ String (readonly)
The ID of the object.
11548 11549 11550 |
# File 'lib/pago/v2026_04/models.rb', line 11548 def id @id end |
#is_archived ⇒ Boolean (readonly)
Whether the product is archived and no longer available.
11599 11600 11601 |
# File 'lib/pago/v2026_04/models.rb', line 11599 def is_archived @is_archived end |
#is_recurring ⇒ Boolean (readonly)
Whether the product is a subscription.
11595 11596 11597 |
# File 'lib/pago/v2026_04/models.rb', line 11595 def is_recurring @is_recurring end |
#medias ⇒ Array<Models::ProductMediaFileRead> (readonly)
List of medias associated to the product.
11615 11616 11617 |
# File 'lib/pago/v2026_04/models.rb', line 11615 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.
11587 11588 11589 |
# File 'lib/pago/v2026_04/models.rb', line 11587 def meter_interval @meter_interval end |
#meter_interval_count ⇒ Integer? (readonly)
Number of meter interval units. None when no meter cycle is set.
11591 11592 11593 |
# File 'lib/pago/v2026_04/models.rb', line 11591 def meter_interval_count @meter_interval_count end |
#modified_at ⇒ String? (readonly)
Last modification timestamp of the object.
11556 11557 11558 |
# File 'lib/pago/v2026_04/models.rb', line 11556 def modified_at @modified_at end |
#name ⇒ String (readonly)
The name of the product.
11568 11569 11570 |
# File 'lib/pago/v2026_04/models.rb', line 11568 def name @name end |
#organization_id ⇒ String (readonly)
The ID of the organization owning the product.
11603 11604 11605 |
# File 'lib/pago/v2026_04/models.rb', line 11603 def organization_id @organization_id end |
#prices ⇒ Array<Object> (readonly)
List of prices for this product.
11607 11608 11609 |
# File 'lib/pago/v2026_04/models.rb', line 11607 def prices @prices end |
#recurring_interval ⇒ String? (readonly)
The recurring interval of the product. If None, the product is a one-time purchase.
11579 11580 11581 |
# File 'lib/pago/v2026_04/models.rb', line 11579 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.
11583 11584 11585 |
# File 'lib/pago/v2026_04/models.rb', line 11583 def recurring_interval_count @recurring_interval_count end |
#trial_interval ⇒ String? (readonly)
The interval unit for the trial period.
11560 11561 11562 |
# File 'lib/pago/v2026_04/models.rb', line 11560 def trial_interval @trial_interval end |
#trial_interval_count ⇒ Integer? (readonly)
The number of interval units for the trial period.
11564 11565 11566 |
# File 'lib/pago/v2026_04/models.rb', line 11564 def trial_interval_count @trial_interval_count end |
#visibility ⇒ String (readonly)
11575 11576 11577 |
# File 'lib/pago/v2026_04/models.rb', line 11575 def visibility @visibility end |
Class Method Details
.from_json(data) ⇒ CheckoutProduct?
11660 11661 11662 11663 11664 11665 11666 11667 11668 11669 11670 11671 11672 11673 11674 11675 11676 11677 11678 11679 11680 11681 11682 11683 11684 11685 11686 11687 11688 |
# File 'lib/pago/v2026_04/models.rb', line 11660 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) ), data ) end |