Class: Pago::V2026_04::Models::DiscountFixedOnceForeverDurationBase

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])
{
  duration: "duration",
  type: "type",
  amount: "amount",
  currency: "currency",
  amounts: "amounts",
  created_at: "created_at",
  modified_at: "modified_at",
  id: "id",
  metadata: "metadata",
  name: "name",
  code: "code",
  starts_at: "starts_at",
  ends_at: "ends_at",
  max_redemptions: "max_redemptions",
  redemptions_count: "redemptions_count",
  organization_id: "organization_id"
}.freeze
REQUIRED_KEYS =

Returns:

  • (Array[String])
["duration", "type", "amount", "currency", "amounts", "created_at", "modified_at", "id", "metadata", "name", "code", "starts_at", "ends_at", "max_redemptions", "redemptions_count", "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(duration:, type:, amount:, currency:, amounts:, created_at:, modified_at:, id:, metadata:, name:, code:, starts_at:, ends_at:, max_redemptions:, redemptions_count:, organization_id:) ⇒ DiscountFixedOnceForeverDurationBase

Returns a new instance of DiscountFixedOnceForeverDurationBase.

Parameters:

  • duration: (String)
  • type: (String)
  • amount: (Integer)
  • currency: (String)
  • amounts: (Hash[String, Integer])
  • created_at: (String)
  • modified_at: (String, nil)
  • id: (String)
  • metadata: (Hash[String, untyped])
  • name: (String)
  • code: (String, nil)
  • starts_at: (String, nil)
  • ends_at: (String, nil)
  • max_redemptions: (Integer, nil)
  • redemptions_count: (Integer)
  • organization_id: (String)


22741
22742
22743
22744
22745
22746
22747
22748
22749
22750
22751
22752
22753
22754
22755
22756
22757
22758
22759
22760
22761
22762
22763
22764
22765
22766
22767
22768
22769
22770
22771
22772
22773
22774
22775
22776
# File 'lib/pago/v2026_04/models.rb', line 22741

def initialize(
  duration:,
  type:,
  amount:,
  currency:,
  amounts:,
  created_at:,
  modified_at:,
  id:,
  metadata:,
  name:,
  code:,
  starts_at:,
  ends_at:,
  max_redemptions:,
  redemptions_count:,
  organization_id:
)
  super()
  assign(:duration, duration)
  assign(:type, type)
  assign(:amount, amount)
  assign(:currency, currency)
  assign(:amounts, amounts)
  assign(:created_at, created_at)
  assign(:modified_at, modified_at)
  assign(:id, id)
  assign(:metadata, )
  assign(:name, name)
  assign(:code, code)
  assign(:starts_at, starts_at)
  assign(:ends_at, ends_at)
  assign(:max_redemptions, max_redemptions)
  assign(:redemptions_count, redemptions_count)
  assign(:organization_id, organization_id)
end

Instance Attribute Details

#amountInteger (readonly)

Deprecated.

Returns:

  • (Integer)


22688
22689
22690
# File 'lib/pago/v2026_04/models.rb', line 22688

def amount
  @amount
end

#amountsHash{String => Integer} (readonly)

Map of currency to fixed amount to discount from the total.

Returns:

  • (Hash{String => Integer})


22696
22697
22698
# File 'lib/pago/v2026_04/models.rb', line 22696

def amounts
  @amounts
end

#codeString? (readonly)

Code customers can use to apply the discount during checkout.

Returns:

  • (String, nil)


22719
22720
22721
# File 'lib/pago/v2026_04/models.rb', line 22719

def code
  @code
end

#created_atString (readonly)

Creation timestamp of the object.

Returns:

  • (String)


22700
22701
22702
# File 'lib/pago/v2026_04/models.rb', line 22700

def created_at
  @created_at
end

#currencyString (readonly)

Deprecated.

Returns:

  • (String)


22692
22693
22694
# File 'lib/pago/v2026_04/models.rb', line 22692

def currency
  @currency
end

#durationString (readonly)

Returns:

  • (String)


22681
22682
22683
# File 'lib/pago/v2026_04/models.rb', line 22681

def duration
  @duration
end

#ends_atString? (readonly)

Timestamp after which the discount is no longer redeemable.

Returns:

  • (String, nil)


22727
22728
22729
# File 'lib/pago/v2026_04/models.rb', line 22727

def ends_at
  @ends_at
end

#idString (readonly)

The ID of the object.

Returns:

  • (String)


22708
22709
22710
# File 'lib/pago/v2026_04/models.rb', line 22708

def id
  @id
end

#max_redemptionsInteger? (readonly)

Maximum number of times the discount can be redeemed.

Returns:

  • (Integer, nil)


22731
22732
22733
# File 'lib/pago/v2026_04/models.rb', line 22731

def max_redemptions
  @max_redemptions
end

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

Returns:

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


22711
22712
22713
# File 'lib/pago/v2026_04/models.rb', line 22711

def 
  @metadata
end

#modified_atString? (readonly)

Last modification timestamp of the object.

Returns:

  • (String, nil)


22704
22705
22706
# File 'lib/pago/v2026_04/models.rb', line 22704

def modified_at
  @modified_at
end

#nameString (readonly)

Name of the discount. Will be displayed to the customer when the discount is applied.

Returns:

  • (String)


22715
22716
22717
# File 'lib/pago/v2026_04/models.rb', line 22715

def name
  @name
end

#organization_idString (readonly)

The organization ID.

Returns:

  • (String)


22739
22740
22741
# File 'lib/pago/v2026_04/models.rb', line 22739

def organization_id
  @organization_id
end

#redemptions_countInteger (readonly)

Number of times the discount has been redeemed.

Returns:

  • (Integer)


22735
22736
22737
# File 'lib/pago/v2026_04/models.rb', line 22735

def redemptions_count
  @redemptions_count
end

#starts_atString? (readonly)

Timestamp after which the discount is redeemable.

Returns:

  • (String, nil)


22723
22724
22725
# File 'lib/pago/v2026_04/models.rb', line 22723

def starts_at
  @starts_at
end

#typeString (readonly)

Returns:

  • (String)


22684
22685
22686
# File 'lib/pago/v2026_04/models.rb', line 22684

def type
  @type
end

Class Method Details

.from_json(data) ⇒ DiscountFixedOnceForeverDurationBase?

Parameters:

  • data (Hash, String, nil)

Returns:



22780
22781
22782
22783
22784
22785
22786
22787
22788
22789
22790
22791
22792
22793
22794
22795
22796
22797
22798
22799
22800
22801
22802
22803
22804
22805
22806
# File 'lib/pago/v2026_04/models.rb', line 22780

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(
      duration: (data.key?("duration") ? data["duration"] : ::Pago::UNSET),
      type: (data.key?("type") ? data["type"] : ::Pago::UNSET),
      amount: (data.key?("amount") ? data["amount"] : ::Pago::UNSET),
      currency: (data.key?("currency") ? data["currency"] : ::Pago::UNSET),
      amounts: (data.key?("amounts") ? data["amounts"] : ::Pago::UNSET),
      created_at: (data.key?("created_at") ? data["created_at"] : ::Pago::UNSET),
      modified_at: (data.key?("modified_at") ? data["modified_at"] : ::Pago::UNSET),
      id: (data.key?("id") ? data["id"] : ::Pago::UNSET),
      metadata: (data.key?("metadata") ? data["metadata"] : ::Pago::UNSET),
      name: (data.key?("name") ? data["name"] : ::Pago::UNSET),
      code: (data.key?("code") ? data["code"] : ::Pago::UNSET),
      starts_at: (data.key?("starts_at") ? data["starts_at"] : ::Pago::UNSET),
      ends_at: (data.key?("ends_at") ? data["ends_at"] : ::Pago::UNSET),
      max_redemptions: (data.key?("max_redemptions") ? data["max_redemptions"] : ::Pago::UNSET),
      redemptions_count: (data.key?("redemptions_count") ? data["redemptions_count"] : ::Pago::UNSET),
      organization_id: (data.key?("organization_id") ? data["organization_id"] : ::Pago::UNSET)
    ),
    data
  )
end