class Stripe::Price

Overview

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.

Included Modules

Defined in:

stripe/models/price.cr

Constant Summary

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

Instance Method Summary

Instance methods inherited from module OpenApi::Json

after_initialize after_initialize, clone clone, eql?(o : self) eql?, to_hash : Hash(String, JSON::Any) to_hash, to_json_any : JSON::Any to_json_any

Class methods inherited from module OpenApi::Json

build_from_hash(hash : Hash) build_from_hash, build_from_json_any(json_any : JSON::Any) build_from_json_any

Instance methods inherited from module OpenApi::Validatable

list_invalid_properties : Array(String) list_invalid_properties, list_invalid_properties_for(key : String) : Array(String) list_invalid_properties_for, valid? : Bool valid?, validate : Nil validate

Constructor Detail

def self.new(pull : JSON::PullParser) #

[View source]
def self.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


[View source]

Instance Method Detail

def ==(other : self) #

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


def _type : String | Nil #

[View source]
def _type=(new_value : String | Nil) #

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


[View source]
def active : Bool | Nil #

[View source]
def active=(new_value : Bool | Nil) #

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


[View source]
def billing_scheme : String | Nil #

[View source]
def billing_scheme=(new_value : String | Nil) #

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


[View source]
def created : Int64 | Nil #

[View source]
def created=(new_value : Int64 | Nil) #

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


[View source]
def currency : String | Nil #

[View source]
def currency=(new_value : String | Nil) #

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


[View source]
def currency_options : Hash(String, Stripe::CurrencyOption) | Nil #

[View source]
def 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


[View source]
def custom_unit_amount : Stripe::CurrencyOptionCustomUnitAmount | Nil #

[View source]
def 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


[View source]
def hash(hasher) #

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


def id : String | Nil #

[View source]
def id=(new_value : String | Nil) #

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


[View source]
def list_invalid_properties : Array(String) #

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


[View source]
def livemode : Bool | Nil #

[View source]
def livemode=(new_value : Bool | Nil) #

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


[View source]
def lookup_key : String | Nil #

[View source]
def lookup_key=(new_value : String | Nil) #

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


[View source]
def metadata : Hash(String, String) | Nil #

[View source]
def metadata=(new_value : Hash(String, String) | Nil) #

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


[View source]
def nickname : String | Nil #

[View source]
def nickname=(new_value : String | Nil) #

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


[View source]
def object : String | Nil #

[View source]
def object=(new_value : String | Nil) #

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


[View source]
def product : Stripe::PriceProduct | Nil #

[View source]
def product=(new_value : Stripe::PriceProduct | Nil) #

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


[View source]
def recurring : Stripe::PriceRecurring | Nil #

[View source]
def recurring=(new_value : Stripe::PriceRecurring | Nil) #

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


[View source]
def tax_behavior : String | Nil #

[View source]
def tax_behavior=(new_value : String | Nil) #

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


[View source]
def tiers : Array(Stripe::PriceTier) | Nil #

[View source]
def tiers=(new_value : Array(Stripe::PriceTier) | Nil) #

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


[View source]
def tiers_mode : String | Nil #

[View source]
def tiers_mode=(new_value : String | Nil) #

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


[View source]
def transform_quantity : Stripe::PriceTransformQuantity | Nil #

[View source]
def transform_quantity=(new_value : Stripe::PriceTransformQuantity | Nil) #

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


[View source]
def unit_amount : Int64 | Nil #

[View source]
def unit_amount=(new_value : Int64 | Nil) #

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


[View source]
def unit_amount_decimal : BigDecimal | Nil #

[View source]
def unit_amount_decimal=(new_value : BigDecimal | Nil) #

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


[View source]
def valid? : Bool #

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


[View source]