Class: Pago::V2026_04::Models::DiscountProduct
- Defined in:
- lib/pago/v2026_04/models.rb,
sig/pago/v2026_04/generated.rbs
Overview
A product that a discount can be applied to.
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" }.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"].freeze
Instance Attribute Summary collapse
-
#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.
- #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.
-
#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:) ⇒ DiscountProduct
constructor
A new instance of DiscountProduct.
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:) ⇒ DiscountProduct
Returns a new instance of DiscountProduct.
23920 23921 23922 23923 23924 23925 23926 23927 23928 23929 23930 23931 23932 23933 23934 23935 23936 23937 23938 23939 23940 23941 23942 23943 23944 23945 23946 23947 23948 23949 23950 23951 23952 23953 23954 23955 |
# File 'lib/pago/v2026_04/models.rb', line 23920 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_at ⇒ String (readonly)
Creation timestamp of the object.
23867 23868 23869 |
# File 'lib/pago/v2026_04/models.rb', line 23867 def created_at @created_at end |
#description ⇒ String? (readonly)
The description of the product.
23887 23888 23889 |
# File 'lib/pago/v2026_04/models.rb', line 23887 def description @description end |
#id ⇒ String (readonly)
The ID of the object.
23863 23864 23865 |
# File 'lib/pago/v2026_04/models.rb', line 23863 def id @id end |
#is_archived ⇒ Boolean (readonly)
Whether the product is archived and no longer available.
23914 23915 23916 |
# File 'lib/pago/v2026_04/models.rb', line 23914 def is_archived @is_archived end |
#is_recurring ⇒ Boolean (readonly)
Whether the product is a subscription.
23910 23911 23912 |
# File 'lib/pago/v2026_04/models.rb', line 23910 def is_recurring @is_recurring end |
#metadata ⇒ Hash{String => String, Integer, Float, Boolean} (readonly)
23859 23860 23861 |
# File 'lib/pago/v2026_04/models.rb', line 23859 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.
23902 23903 23904 |
# File 'lib/pago/v2026_04/models.rb', line 23902 def meter_interval @meter_interval end |
#meter_interval_count ⇒ Integer? (readonly)
Number of meter interval units. None when no meter cycle is set.
23906 23907 23908 |
# File 'lib/pago/v2026_04/models.rb', line 23906 def meter_interval_count @meter_interval_count end |
#modified_at ⇒ String? (readonly)
Last modification timestamp of the object.
23871 23872 23873 |
# File 'lib/pago/v2026_04/models.rb', line 23871 def modified_at @modified_at end |
#name ⇒ String (readonly)
The name of the product.
23883 23884 23885 |
# File 'lib/pago/v2026_04/models.rb', line 23883 def name @name end |
#organization_id ⇒ String (readonly)
The ID of the organization owning the product.
23918 23919 23920 |
# File 'lib/pago/v2026_04/models.rb', line 23918 def organization_id @organization_id end |
#recurring_interval ⇒ String? (readonly)
The recurring interval of the product. If None, the product is a one-time purchase.
23894 23895 23896 |
# File 'lib/pago/v2026_04/models.rb', line 23894 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.
23898 23899 23900 |
# File 'lib/pago/v2026_04/models.rb', line 23898 def recurring_interval_count @recurring_interval_count end |
#trial_interval ⇒ String? (readonly)
The interval unit for the trial period.
23875 23876 23877 |
# File 'lib/pago/v2026_04/models.rb', line 23875 def trial_interval @trial_interval end |
#trial_interval_count ⇒ Integer? (readonly)
The number of interval units for the trial period.
23879 23880 23881 |
# File 'lib/pago/v2026_04/models.rb', line 23879 def trial_interval_count @trial_interval_count end |
#visibility ⇒ String (readonly)
23890 23891 23892 |
# File 'lib/pago/v2026_04/models.rb', line 23890 def visibility @visibility end |
Class Method Details
.from_json(data) ⇒ DiscountProduct?
23959 23960 23961 23962 23963 23964 23965 23966 23967 23968 23969 23970 23971 23972 23973 23974 23975 23976 23977 23978 23979 23980 23981 23982 23983 23984 23985 |
# File 'lib/pago/v2026_04/models.rb', line 23959 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 |