| 1 |
<?php |
| 2 |
|
| 3 |
// File generated from our OpenAPI spec |
| 4 |
|
| 5 |
namespace Stripe; |
| 6 |
|
| 7 |
/** |
| 8 |
* Prices define the unit cost, currency, and (optional) billing cycle for both |
| 9 |
* recurring and one-time purchases of products. <a |
| 10 |
* href="https://stripe.com/docs/api#products">Products</a> help you track |
| 11 |
* inventory or provisioning, and prices help you track payment terms. Different |
| 12 |
* physical goods or levels of service should be represented by products, and |
| 13 |
* pricing options should be represented by prices. This approach lets you change |
| 14 |
* prices without having to change your provisioning scheme. |
| 15 |
* |
| 16 |
* For example, you might have a single "gold" product that has prices |
| 17 |
* for $10/month, $100/year, and €9 once. |
| 18 |
* |
| 19 |
* Related guides: <a |
| 20 |
* href="https://stripe.com/docs/billing/subscriptions/set-up-subscription">Set up |
| 21 |
* a subscription</a>, <a |
| 22 |
* href="https://stripe.com/docs/billing/invoices/create">create an invoice</a>, |
| 23 |
* and more about <a |
| 24 |
* href="https://stripe.com/docs/products-prices/overview">products and prices</a>. |
| 25 |
* |
| 26 |
* @property string $id Unique identifier for the object. |
| 27 |
* @property string $object String representing the object's type. Objects of the same type share the same value. |
| 28 |
* @property bool $active Whether the price can be used for new purchases. |
| 29 |
* @property string $billing_scheme Describes how to compute the price per period. Either <code>per_unit</code> or <code>tiered</code>. <code>per_unit</code> indicates that the fixed amount (specified in <code>unit_amount</code> or <code>unit_amount_decimal</code>) will be charged per unit in <code>quantity</code> (for prices with <code>usage_type=licensed</code>), or per unit of total usage (for prices with <code>usage_type=metered</code>). <code>tiered</code> indicates that the unit pricing will be computed using a tiering strategy as defined using the <code>tiers</code> and <code>tiers_mode</code> attributes. |
| 30 |
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. |
| 31 |
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>. |
| 32 |
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode. |
| 33 |
* @property null|string $lookup_key A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters. |
| 34 |
* @property \Stripe\StripeObject $metadata Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach to an object. This can be useful for storing additional information about the object in a structured format. |
| 35 |
* @property null|string $nickname A brief description of the price, hidden from customers. |
| 36 |
* @property string|\Stripe\Product $product The ID of the product this price is associated with. |
| 37 |
* @property null|\Stripe\StripeObject $recurring The recurring components of a price such as <code>interval</code> and <code>usage_type</code>. |
| 38 |
* @property null|string $tax_behavior Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of <code>inclusive</code>, <code>exclusive</code>, or <code>unspecified</code>. Once specified as either <code>inclusive</code> or <code>exclusive</code>, it cannot be changed. |
| 39 |
* @property \Stripe\StripeObject[] $tiers Each element represents a pricing tier. This parameter requires <code>billing_scheme</code> to be set to <code>tiered</code>. See also the documentation for <code>billing_scheme</code>. |
| 40 |
* @property null|string $tiers_mode Defines if the tiering price should be <code>graduated</code> or <code>volume</code> based. In <code>volume</code>-based tiering, the maximum quantity within a period determines the per unit price. In <code>graduated</code> tiering, pricing can change as the quantity grows. |
| 41 |
* @property null|\Stripe\StripeObject $transform_quantity Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with <code>tiers</code>. |
| 42 |
* @property string $type One of <code>one_time</code> or <code>recurring</code> depending on whether the price is for a one-time purchase or a recurring (subscription) purchase. |
| 43 |
* @property null|int $unit_amount The unit amount in %s to be charged, represented as a whole integer if possible. Only set if <code>billing_scheme=per_unit</code>. |
| 44 |
* @property null|string $unit_amount_decimal The unit amount in %s to be charged, represented as a decimal string with at most 12 decimal places. Only set if <code>billing_scheme=per_unit</code>. |
| 45 |
*/ |
| 46 |
class Price extends ApiResource |
| 47 |
{ |
| 48 |
const OBJECT_NAME = 'price'; |
| 49 |
|
| 50 |
use ApiOperations\All; |
| 51 |
use ApiOperations\Create; |
| 52 |
use ApiOperations\Retrieve; |
| 53 |
use ApiOperations\Search; |
| 54 |
use ApiOperations\Update; |
| 55 |
|
| 56 |
const BILLING_SCHEME_PER_UNIT = 'per_unit'; |
| 57 |
const BILLING_SCHEME_TIERED = 'tiered'; |
| 58 |
|
| 59 |
const TAX_BEHAVIOR_EXCLUSIVE = 'exclusive'; |
| 60 |
const TAX_BEHAVIOR_INCLUSIVE = 'inclusive'; |
| 61 |
const TAX_BEHAVIOR_UNSPECIFIED = 'unspecified'; |
| 62 |
|
| 63 |
const TIERS_MODE_GRADUATED = 'graduated'; |
| 64 |
const TIERS_MODE_VOLUME = 'volume'; |
| 65 |
|
| 66 |
const TYPE_ONE_TIME = 'one_time'; |
| 67 |
const TYPE_RECURRING = 'recurring'; |
| 68 |
|
| 69 |
/** |
| 70 |
* @param null|array $params |
| 71 |
* @param null|array|string $opts |
| 72 |
* |
| 73 |
* @throws \Stripe\Exception\ApiErrorException if the request fails |
| 74 |
* |
| 75 |
* @return \Stripe\SearchResult<Price> the price search results |
| 76 |
*/ |
| 77 |
public static function search($params = null, $opts = null) |
| 78 |
{ |
| 79 |
$url = '/v1/prices/search'; |
| 80 |
|
| 81 |
return self::_searchResource($url, $params, $opts); |
| 82 |
} |
| 83 |
} |
| 84 |
|