Class: Stripe::V2::Billing::RateCards::RateCreateParams

Inherits:
RequestParams
  • Object
show all
Defined in:
lib/stripe/params/v2/billing/rate_cards/rate_create_params.rb

Defined Under Namespace

Classes: CustomPricingUnitAmount, Tier, TransformQuantity

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from RequestParams

attr_accessor, coerce_params, coerce_value, new, #to_h

Constructor Details

#initialize(custom_pricing_unit_amount: nil, metadata: nil, metered_item: nil, tiering_mode: nil, tiers: nil, transform_quantity: nil, unit_amount: nil) ⇒ RateCreateParams

Returns a new instance of RateCreateParams.



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/stripe/params/v2/billing/rate_cards/rate_create_params.rb', line 78

def initialize(
  custom_pricing_unit_amount: nil,
  metadata: nil,
  metered_item: nil,
  tiering_mode: nil,
  tiers: nil,
  transform_quantity: nil,
  unit_amount: nil
)
  @custom_pricing_unit_amount = custom_pricing_unit_amount
  @metadata = 
  @metered_item = metered_item
  @tiering_mode = tiering_mode
  @tiers = tiers
  @transform_quantity = transform_quantity
  @unit_amount = unit_amount
end

Instance Attribute Details

#custom_pricing_unit_amountObject

The custom pricing unit that this rate binds to. One of ‘unit_amount`, `tiers`, or `custom_pricing_unit_amount` is required.



61
62
63
# File 'lib/stripe/params/v2/billing/rate_cards/rate_create_params.rb', line 61

def custom_pricing_unit_amount
  @custom_pricing_unit_amount
end

#metadataObject

Set of [key-value pairs](/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.



63
64
65
# File 'lib/stripe/params/v2/billing/rate_cards/rate_create_params.rb', line 63

def 
  @metadata
end

#metered_itemObject

The Metered Item that this rate binds to.



65
66
67
# File 'lib/stripe/params/v2/billing/rate_cards/rate_create_params.rb', line 65

def metered_item
  @metered_item
end

#tiering_modeObject

Defines whether the tiered price should be graduated or volume-based. In volume-based tiering, the maximum quantity within a period determines the per-unit price. In graduated tiering, the pricing changes as the quantity grows into new tiers. One of ‘unit_amount`, `tiers`, or `custom_pricing_unit_amount` is required.



69
70
71
# File 'lib/stripe/params/v2/billing/rate_cards/rate_create_params.rb', line 69

def tiering_mode
  @tiering_mode
end

#tiersObject

Each element represents a pricing tier. One of ‘unit_amount`, `tiers`, or `custom_pricing_unit_amount` is required.



71
72
73
# File 'lib/stripe/params/v2/billing/rate_cards/rate_create_params.rb', line 71

def tiers
  @tiers
end

#transform_quantityObject

Apply a transformation to the reported usage or set quantity before computing the amount billed.



73
74
75
# File 'lib/stripe/params/v2/billing/rate_cards/rate_create_params.rb', line 73

def transform_quantity
  @transform_quantity
end

#unit_amountObject

The per-unit amount to be charged, represented as a decimal string in minor currency units with at most 12 decimal places. One of ‘unit_amount`, `tiers`, or `custom_pricing_unit_amount` is required.



76
77
78
# File 'lib/stripe/params/v2/billing/rate_cards/rate_create_params.rb', line 76

def unit_amount
  @unit_amount
end

Class Method Details

.field_encodingsObject



96
97
98
99
100
101
102
103
104
# File 'lib/stripe/params/v2/billing/rate_cards/rate_create_params.rb', line 96

def self.field_encodings
  @field_encodings = {
    tiers: {
      kind: :array,
      element: { kind: :object, fields: { up_to_decimal: :decimal_string } },
    },
    transform_quantity: { kind: :object, fields: { divide_by: :int64_string } },
  }
end