Class: Pago::V2026_04::Models::OrderProduct

Inherits:
Model
  • Object
show all
Defined in:
lib/pago/v2026_04/models.rb,
sig/pago/v2026_04/generated.rbs

Constant Summary collapse

JSON_KEYS =

Returns:

  • (Hash[Symbol, String])
{
  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"
}.freeze
REQUIRED_KEYS =

Returns:

  • (Array[String])
["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"].freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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:) ⇒ OrderProduct

Returns a new instance of OrderProduct.

Parameters:

  • metadata: (Hash[String, untyped])
  • id: (String)
  • created_at: (String)
  • modified_at: (String, nil)
  • trial_interval: (String, nil)
  • trial_interval_count: (Integer, nil)
  • name: (String)
  • description: (String, nil)
  • visibility: (String)
  • recurring_interval: (String, nil)
  • recurring_interval_count: (Integer, nil)
  • meter_interval: (String, nil)
  • meter_interval_count: (Integer, nil)
  • is_recurring: (Boolean)
  • is_archived: (Boolean)
  • organization_id: (String)


33051
33052
33053
33054
33055
33056
33057
33058
33059
33060
33061
33062
33063
33064
33065
33066
33067
33068
33069
33070
33071
33072
33073
33074
33075
33076
33077
33078
33079
33080
33081
33082
33083
33084
33085
33086
# File 'lib/pago/v2026_04/models.rb', line 33051

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:
)
  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)
end

Instance Attribute Details

#created_atString (readonly)

Creation timestamp of the object.

Returns:

  • (String)


32998
32999
33000
# File 'lib/pago/v2026_04/models.rb', line 32998

def created_at
  @created_at
end

#descriptionString? (readonly)

The description of the product.

Returns:

  • (String, nil)


33018
33019
33020
# File 'lib/pago/v2026_04/models.rb', line 33018

def description
  @description
end

#idString (readonly)

The ID of the object.

Returns:

  • (String)


32994
32995
32996
# File 'lib/pago/v2026_04/models.rb', line 32994

def id
  @id
end

#is_archivedBoolean (readonly)

Whether the product is archived and no longer available.

Returns:

  • (Boolean)


33045
33046
33047
# File 'lib/pago/v2026_04/models.rb', line 33045

def is_archived
  @is_archived
end

#is_recurringBoolean (readonly)

Whether the product is a subscription.

Returns:

  • (Boolean)


33041
33042
33043
# File 'lib/pago/v2026_04/models.rb', line 33041

def is_recurring
  @is_recurring
end

#metadataHash{String => String, Integer, Float, Boolean} (readonly)

Returns:

  • (Hash{String => String, Integer, Float, Boolean})


32990
32991
32992
# File 'lib/pago/v2026_04/models.rb', line 32990

def 
  @metadata
end

#meter_intervalString? (readonly)

The meter cycle of the product, independent of the billing interval. If None, metered concerns follow the billing interval.

Returns:

  • (String, nil)


33033
33034
33035
# File 'lib/pago/v2026_04/models.rb', line 33033

def meter_interval
  @meter_interval
end

#meter_interval_countInteger? (readonly)

Number of meter interval units. None when no meter cycle is set.

Returns:

  • (Integer, nil)


33037
33038
33039
# File 'lib/pago/v2026_04/models.rb', line 33037

def meter_interval_count
  @meter_interval_count
end

#modified_atString? (readonly)

Last modification timestamp of the object.

Returns:

  • (String, nil)


33002
33003
33004
# File 'lib/pago/v2026_04/models.rb', line 33002

def modified_at
  @modified_at
end

#nameString (readonly)

The name of the product.

Returns:

  • (String)


33014
33015
33016
# File 'lib/pago/v2026_04/models.rb', line 33014

def name
  @name
end

#organization_idString (readonly)

The ID of the organization owning the product.

Returns:

  • (String)


33049
33050
33051
# File 'lib/pago/v2026_04/models.rb', line 33049

def organization_id
  @organization_id
end

#recurring_intervalString? (readonly)

The recurring interval of the product. If None, the product is a one-time purchase.

Returns:

  • (String, nil)


33025
33026
33027
# File 'lib/pago/v2026_04/models.rb', line 33025

def recurring_interval
  @recurring_interval
end

#recurring_interval_countInteger? (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.

Returns:

  • (Integer, nil)


33029
33030
33031
# File 'lib/pago/v2026_04/models.rb', line 33029

def recurring_interval_count
  @recurring_interval_count
end

#trial_intervalString? (readonly)

The interval unit for the trial period.

Returns:

  • (String, nil)


33006
33007
33008
# File 'lib/pago/v2026_04/models.rb', line 33006

def trial_interval
  @trial_interval
end

#trial_interval_countInteger? (readonly)

The number of interval units for the trial period.

Returns:

  • (Integer, nil)


33010
33011
33012
# File 'lib/pago/v2026_04/models.rb', line 33010

def trial_interval_count
  @trial_interval_count
end

#visibilityString (readonly)

Returns:

  • (String)


33021
33022
33023
# File 'lib/pago/v2026_04/models.rb', line 33021

def visibility
  @visibility
end

Class Method Details

.from_json(data) ⇒ OrderProduct?

Parameters:

  • data (Hash, String, nil)

Returns:



33090
33091
33092
33093
33094
33095
33096
33097
33098
33099
33100
33101
33102
33103
33104
33105
33106
33107
33108
33109
33110
33111
33112
33113
33114
33115
33116
# File 'lib/pago/v2026_04/models.rb', line 33090

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)
    ),
    data
  )
end