Skip to main content

Price

A Price directly impacts the revenue generated by its sales. When setting the price for a subscription, businesses must consider factors such as affordability, perceived value, and competitiveness in the market. The Price also govern the term and period of the price. Prices are componentized by a price model and a consumption model. In addition, a Prices governed by a purchase type.
Plude is multi-currency by design. However whether you decide on using multi-currency per price, or an indivual price per currency is subject to your business model.

Term

In subscription businesses, the price always corresponds to a term and value. Therefore, a price defines the term. Unlike a subscription term, a price term manages the billing period iteration. To assign the term, specify the termUnit of either value day, week, month or year and an iterator of termCount.
Whether you bill once or recurring, a term must be applied.

Purchase type

  • Recurring (recurring). A recurring purchase is advanding according to the term (termCount of termUnit) of the subscriptionItem.
  • One time (one_time). A one time purchase is billed once whent the subscriptionItem.billAt is due and then sets the subscriptionItem.status = billed.
There is no option to reactivate a billed one time item. Add a new subscriptionItem to the subscription to trigger a new one time charge.

Price Models

Price objects support different price models for your products and services. As price and product are separated, you only need to define the type of price which may be applied with multiple products. The following price models are supported.
  • Fee (unit and fixed fee).
  • Package with support for package quantities.
  • Graduated to provide stair-case based pricing with free tiers.
  • Volume allowing programmatic discount and/or free tiers.

Consumption models

Three consumption models are supported. Amount, Usage or Metered. Only one consumption per price is supported.
consumption modelvalid fordescriptionproration
Amountarrears, advancePrice is calculated by quantity of the subscriptionItem. Quantity is carried over to future periods.yes
Usagearrears, advancePrice is calculated by quantity of subscriptionItem. Unlike Amount, Usage will reset quantity to the minimum commitment.yes
Meteredarrears onlyPrice is calculated by usageData.no

Properties of a price

propertydescriptionmandatory
nameAn internal name of the price.yes
priceModeleither fee, volume, graduated or packageyes
purchaserecurring or one_timeyes
methodarrears, advance or eventyes
termCountIterator of termUnit in number. Ex. 7 of termUnit.day will be a week.yes
termUnitEither day, week, month or year.yes

Creating a price

To create a price use the following snippet:
curl -X POST \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer {your_token_here}" \
     -H "x-environment: {your_environment_id_here}" \
     -H "x-version: 2022-03" \
     -d '{
          "name": "Monthly recurring fixed fee",
          "priceModel": "fee",
          "purchase": "recurring",
          "termCount": 1,
          "termUnit": "month",
          "method" : "advance",
          "pricing": {
               "eur": {
                    "feeAmount" : 5000,
                    "unitAmount" : 0
               }
          }
     }' \
     https://api.plude.io/prices/