ChargebeeAPI

Differential prices

Differential pricing helps implement a pricing strategy for addons and charges based on the plans they're purchased with. A differential price a specific price for an addon- or charge-item price when purchased along with a particular plan.

Differential pricing for addons

Consider an addon called 24x7 Customer Support provided with a cloud storage service. You can configure differential prices for each of the addon-item prices based on the plan they are purchased with, as follows:

Addon item pricePrice when applied to Standard PlanPrice when applied to Enterprise Plan
124x7 Customer Support, USD, Monthly, Flat fee, $100$90$150
224x7 Customer Support, USD, Yearly, Flat fee, $1000$900$1500

Differential pricing for charges

Consider a charge, called Setup fee, for installing and configuring a cloud-based project management platform. There are two modes in which you can set up differential pricing for a charge:

Mode A: One charge differential price per plan-item

This mode is used to specify one differential price for the charge-item price per plan-item it is applied to.

Charge-item pricePrice when applied to Standard planPrice when applied to Enterprise plan
Setup fee, USD, Flat fee $500$400$700

Mode B: Multiple charge differential prices per plan item

This mode is used to specify multiple differential prices for the charge per plan-item, based on the plan period.

Charge-item pricePrice when applied to Standard plan, 6 monthsPrice when applied to Standard plan, yearly
Setup fee, USD, Flat fee $500$400$300

In the above example, even if the "6 month" or "yearly" plan-item prices do not exist, the differential prices for the charge can still be created. They take effect whenever the plan-item prices are eventually created and used in subscriptions.

Sample Differential priceJSON

Differential prices attributes

id
required, string, max chars=100

A unique and immutable ID for the differential price. It is auto-generated when the differential price is created.

item_price_id
required, string, max chars=100

The ID of the item price (addon or charge ) whose price should change according to the plan-item it is applied to.

parent_item_id
required, string, max chars=100

The ID of the plan-item, in relation to which, the differential pricing for the addon or charge is defined. For example, this would be the id of the Standard or Enterprise plans-items mentioned in the examples above .

price
optional, in cents, min=0

The differential price. If the pricing model of the item_price_id is tiered , volume , or stairstep , pass tiers instead of this.

price_in_decimal
optional, string, max chars=39

The price of the item when the pricing_model is flat_fee. When the pricing model is per_unit , it is the price per unit quantity of the item. Not applicable for the other pricing models. The value is in decimal and in major units of the currency. Also, this is only applicable when multi-decimal pricing is enabled.

status
optional, enumerated string

The item family state.

Possible Enum Values
active

New items can be created with the item family.

deleted

No items allowed for the item family.

resource_version
optional, long

Version number of this resource. The resource_version is updated with a new timestamp in milliseconds for every change made to the resource. This attribute will be present only if the resource has been updated after 2016-09-28.

updated_at
optional, timestamp(UTC) in seconds

Timestamp when this differential price was last updated.

created_at
required, timestamp(UTC) in seconds

Timestamp at which this differential price was created.

modified_at
required, timestamp(UTC) in seconds

Timestamp at which this differential price was last modified.

currency_code
required, string, max chars=3

The currency code (ISO 4217 format) of the plan

business_entity_id
optional, string, max chars=50

The unique ID of the business entity of this subscription. This is applicable only when multiple business entities have been created for the site. The value of this attribute indicates that the resource is specific to the given business entity.

deleted
required, boolean

Indicates whether the differential price has been deleted or not.

tiers
optional, list of tier

List of quantity-based pricing tiers for the differential price. Applicable only for tiered , volume , and stairstep pricing_model s. The tiers are exactly the same as those set for the item price. Only the price attribute for the various tiers can be overridden for the differential price.

parent_periods
optional, list of parent_period

When item_price_id is a charge-item, you can specify the plan period for which the price applies. Although an array, currently you can specify only one period. In other words, only index 0 is allowed. Create another differential price to specify another period. Is permitted only when item_price_id is a charge-item.