class

Stripe::Price

Inherits OpenApi::Json < OpenApi::Validatable < JSON::Serializable::Unmapped < JSON::Serializable < Reference < Object

Prices define the unit cost, currency, and (optional) billing cycle for both recurring and one-time purchases of products. Products help you track inventory or provisioning, and prices help you track payment terms. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices. This approach lets you change prices without having to change your provisioning scheme. For example, you might have a single "gold" product that has prices for $10/month, $100/year, and €9 once. Related guides: Set up a subscription, create an invoice, and more about products and prices.

Constants

ERROR_MESSAGE_FOR__TYPE = "invalid value for \"_type\", must be one of [one_time, recurring]."
ERROR_MESSAGE_FOR_BILLING_SCHEME = "invalid value for \"billing_scheme\", must be one of [per_unit, tiered]."
ERROR_MESSAGE_FOR_OBJECT = "invalid value for \"object\", must be one of [price]."
ERROR_MESSAGE_FOR_TAX_BEHAVIOR = "invalid value for \"tax_behavior\", must be one of [exclusive, inclusive, unspecified]."
ERROR_MESSAGE_FOR_TIERS_MODE = "invalid value for \"tiers_mode\", must be one of [graduated, volume]."
MAX_LENGTH_FOR_ID = 5000
MAX_LENGTH_FOR_LOOKUP_KEY = 5000
MAX_LENGTH_FOR_NICKNAME = 5000
VALID_VALUES_FOR__TYPE = String.static_array("one_time", "recurring")
VALID_VALUES_FOR_BILLING_SCHEME = String.static_array("per_unit", "tiered")
VALID_VALUES_FOR_OBJECT = String.static_array("price")
VALID_VALUES_FOR_TAX_BEHAVIOR = String.static_array("exclusive", "inclusive", "unspecified")
VALID_VALUES_FOR_TIERS_MODE = String.static_array("graduated", "volume")

Constructors

new(*, __pull_for_json_serializable pull : JSON::PullParser)
Source
new(*, active : Bool | Nil = nil, billing_scheme : String | Nil = nil, created : Int64 | Nil = nil, currency : String | Nil = nil, custom_unit_amount : Stripe::CurrencyOptionCustomUnitAmount | Nil = nil, id : String | Nil = nil, livemode : Bool | Nil = nil, lookup_key : String | Nil = nil, metadata : Hash(String, String) | Nil = nil, nickname : String | Nil = nil, object : String | Nil = nil, product : Stripe::PriceProduct | Nil = nil, recurring : Stripe::PriceRecurring | Nil = nil, tax_behavior : String | Nil = nil, tiers_mode : String | Nil = nil, transform_quantity : Stripe::PriceTransformQuantity | Nil = nil, _type : String | Nil = nil, unit_amount : Int64 | Nil = nil, unit_amount_decimal : BigDecimal | Nil = nil, currency_options : Hash(String, Stripe::CurrencyOption) | Nil = nil, tiers : Array(Stripe::PriceTier) | Nil = nil)

Initializes the object @param [Hash] attributes Model attributes in the form of hash

Source

Instance methods

==(other : self)

Generates #hash and #== methods from all fields #== @return [Bool] #hash calculates hash code according to all attributes. #hash @return [UInt64] Hash code

_type

One of one_time or recurring depending on whether the price is for a one-time purchase or a recurring (subscription) purchase.

Source
_type=(new_value : String | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] _type Object to be assigned

Source
active

Whether the price can be used for new purchases.

Source
active=(new_value : Bool | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] active Object to be assigned

Source
billing_scheme

Describes how to compute the price per period. Either per_unit or tiered. per_unit indicates that the fixed amount (specified in unit_amount or unit_amount_decimal) will be charged per unit in quantity (for prices with usage_type=licensed), or per unit of total usage (for prices with usage_type=metered). tiered indicates that the unit pricing will be computed using a tiering strategy as defined using the tiers and tiers_mode attributes.

Source
billing_scheme=(new_value : String | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] billing_scheme Object to be assigned

Source
created

Time at which the object was created. Measured in seconds since the Unix epoch.

Source
created=(new_value : Int64 | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] created Object to be assigned

Source
currency

Three-letter ISO currency code, in lowercase. Must be a supported currency.

Source
currency=(new_value : String | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] currency Object to be assigned

Source
currency_options
Source
currency_options=(new_value : Hash(String, Stripe::CurrencyOption) | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] currency_options Object to be assigned

Source
custom_unit_amount
Source
custom_unit_amount=(new_value : Stripe::CurrencyOptionCustomUnitAmount | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] custom_unit_amount Object to be assigned

Source
hash(hasher)

Generates #hash and #== methods from all fields #== @return [Bool] #hash calculates hash code according to all attributes. #hash @return [UInt64] Hash code

id

Unique identifier for the object.

Source
id=(new_value : String | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] id Object to be assigned

Source
list_invalid_properties

Show invalid properties with the reasons. Usually used together with valid? @return Array for valid properties with the reasons

Source
livemode

Has the value true if the object exists in live mode or the value false if the object exists in test mode.

Source
livemode=(new_value : Bool | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] livemode Object to be assigned

Source
lookup_key

A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters.

Source
lookup_key=(new_value : String | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] lookup_key Object to be assigned

Source
metadata
Source
metadata=(new_value : Hash(String, String) | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] metadata Object to be assigned

Source
nickname

A brief description of the price, hidden from customers.

Source
nickname=(new_value : String | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] nickname Object to be assigned

Source
object

String representing the object's type. Objects of the same type share the same value.

Source
object=(new_value : String | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] object Object to be assigned

Source
product
Source
product=(new_value : Stripe::PriceProduct | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] product Object to be assigned

Source
recurring
Source
recurring=(new_value : Stripe::PriceRecurring | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] recurring Object to be assigned

Source
tax_behavior

Only required if a default tax behavior was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of inclusive, exclusive, or unspecified. Once specified as either inclusive or exclusive, it cannot be changed.

Source
tax_behavior=(new_value : String | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] tax_behavior Object to be assigned

Source
tiers

Each element represents a pricing tier. This parameter requires billing_scheme to be set to tiered. See also the documentation for billing_scheme.

Source
tiers=(new_value : Array(Stripe::PriceTier) | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] tiers Object to be assigned

Source
tiers_mode

Defines if the tiering 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, pricing can change as the quantity grows.

Source
tiers_mode=(new_value : String | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] tiers_mode Object to be assigned

Source
transform_quantity
Source
transform_quantity=(new_value : Stripe::PriceTransformQuantity | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] transform_quantity Object to be assigned

Source
unit_amount

The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if billing_scheme=per_unit.

Source
unit_amount=(new_value : Int64 | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] unit_amount Object to be assigned

Source
unit_amount_decimal

The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if billing_scheme=per_unit.

Source
unit_amount_decimal=(new_value : BigDecimal | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] unit_amount_decimal Object to be assigned

Source
valid?

Check to see if the all the properties in the model are valid @return true if the model is valid

Source