# The Price object ## Attributes - `id` (string) Unique identifier for the object. - `object` (string) String representing the object’s type. Objects of the same type share the same value. - `active` (boolean) Whether the price can be used for new purchases. - `billing_scheme` (enum) 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. Possible enum values: - `per_unit` - `tiered` - `created` (timestamp) Time at which the object was created. Measured in seconds since the Unix epoch. - `currency` (enum) Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). - `currency_options` (object, nullable, expandable (can be expanded into an object with the `expand` request parameter)) Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). - `currency_options..custom_unit_amount` (object, nullable) When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. - `currency_options..custom_unit_amount.maximum` (integer, nullable) The maximum unit amount the customer can specify for this item. - `currency_options..custom_unit_amount.minimum` (integer, nullable) The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount. - `currency_options..custom_unit_amount.preset` (integer, nullable) The starting unit amount which can be updated by the customer. - `currency_options..tax_behavior` (enum, nullable) Only required if a [default tax behavior](https://docs.stripe.com/docs/tax/products-prices-tax-categories-tax-behavior.md#setting-a-default-tax-behavior-\(recommended\)) 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. Possible enum values: - `exclusive` - `inclusive` - `unspecified` - `currency_options..tiers` (array of objects, nullable, expandable (can be expanded into an object with the `expand` request parameter)) Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. - `currency_options..tiers.flat_amount` (integer, nullable) Price for the entire tier. - `currency_options..tiers.flat_amount_decimal` (decimal string, nullable) Same as `flat_amount`, but contains a decimal value with at most 12 decimal places. - `currency_options..tiers.unit_amount` (integer, nullable) Per unit price for units relevant to the tier. - `currency_options..tiers.unit_amount_decimal` (decimal string, nullable) Same as `unit_amount`, but contains a decimal value with at most 12 decimal places. - `currency_options..tiers.up_to` (integer, nullable) Up to and including to this quantity will be contained in the tier. - `currency_options..unit_amount` (integer, nullable) The unit amount in cents to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`. - `currency_options..unit_amount_decimal` (decimal string, nullable) The unit amount in cents to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`. - `custom_unit_amount` (object, nullable) When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. - `custom_unit_amount.maximum` (integer, nullable) The maximum unit amount the customer can specify for this item. - `custom_unit_amount.minimum` (integer, nullable) The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount. - `custom_unit_amount.preset` (integer, nullable) The starting unit amount which can be updated by the customer. - `livemode` (boolean) Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - `lookup_key` (string, nullable) A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters. - `metadata` (object) Set of [key-value pairs](https://docs.stripe.com/docs/api/metadata.md) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. - `nickname` (string, nullable) A brief description of the price, hidden from customers. - `product` (string, expandable (can be expanded into an object with the `expand` request parameter)) The ID of the product this price is associated with. - `recurring` (object, nullable) The recurring components of a price such as `interval` and `usage_type`. - `recurring.interval` (enum) The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`. - `recurring.interval_count` (integer) The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. - `recurring.meter` (string, nullable) The meter tracking the usage of a metered price - `recurring.usage_type` (enum) Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`. - `tax_behavior` (enum, nullable) Only required if a [default tax behavior](https://docs.stripe.com/docs/tax/products-prices-tax-categories-tax-behavior.md#setting-a-default-tax-behavior-\(recommended\)) 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. Possible enum values: - `exclusive` - `inclusive` - `unspecified` - `tiers` (array of objects, nullable, expandable (can be expanded into an object with the `expand` request parameter)) Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. - `tiers.flat_amount` (integer, nullable) Price for the entire tier. - `tiers.flat_amount_decimal` (decimal string, nullable) Same as `flat_amount`, but contains a decimal value with at most 12 decimal places. - `tiers.unit_amount` (integer, nullable) Per unit price for units relevant to the tier. - `tiers.unit_amount_decimal` (decimal string, nullable) Same as `unit_amount`, but contains a decimal value with at most 12 decimal places. - `tiers.up_to` (integer, nullable) Up to and including to this quantity will be contained in the tier. - `tiers_mode` (enum, nullable) 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. Possible enum values: - `graduated` - `volume` - `transform_quantity` (object, nullable) Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with `tiers`. - `transform_quantity.divide_by` (integer) Divide usage by this number. - `transform_quantity.round` (enum) After division, either round the result `up` or `down`. - `type` (enum) One of `one_time` or `recurring` depending on whether the price is for a one-time purchase or a recurring (subscription) purchase. Possible enum values: - `one_time` - `recurring` - `unit_amount` (integer, nullable) The unit amount in cents to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`. - `unit_amount_decimal` (decimal string, nullable) The unit amount in cents to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`. ### The Price object ```json { "id": "price_1MoBy5LkdIwHu7ixZhnattbh", "object": "price", "active": true, "billing_scheme": "per_unit", "created": 1679431181, "currency": "usd", "custom_unit_amount": null, "livemode": false, "lookup_key": null, "metadata": {}, "nickname": null, "product": "prod_NZKdYqrwEYx6iK", "recurring": { "aggregate_usage": null, "interval": "month", "interval_count": 1, "trial_period_days": null, "usage_type": "licensed" }, "tax_behavior": "unspecified", "tiers_mode": null, "transform_quantity": null, "type": "recurring", "unit_amount": 1000, "unit_amount_decimal": "1000" } ```