Set Up Product Prices

You can manage the prices of a product when it is created and modified.

Each product can have one or more prices. Several prices are used to assign individual prices to a product depending on the purchasing conditions:

  • Product quantity (variants.fromvariants.to) - the price per unit is affected by the quantity of the product put in the shopping cart on the checkout page. You can:
    • Set up quantity ranges and an individual price per range. Quantity ranging defines a limit on how much of a product the customer can buy at a given price per product unit. E.g., 1 up to 5 units are sold at one price, and starting with the 6th unit or more the price is different. In this example, there are two ranges: 1-5 и 6-∞
    • Alternatively, set one price for any quantity of the product
  • Checkout currency (variants.price)  - the price per unit is affected by the currency in which the order is placed. You can:
    • Set an individual price per checkout currency. The list of available sales currencies is decided in accordance with your agreement
    • Alternatively, set a single price in one of the base currencies (USD/EUR/RUB). In this case, if the currency on the checkout page differs from the currency in which you set the price, price conversion takes place at the exchange rate valid for a current date

Using the API, you can set prices similarly to the pricing models available through the portal:

With this pricing model:

  • The price per unit is the same when buying any quantity of the product
  • The product is available for sale in all currencies according to your agreement
  • You set the price in one of the base currencies: USD/EUR/RUB
  • At checkout: If the currency on the checkout page (checkout currency) differs from the currency in which you set the price, price conversion takes place at the exchange rate valid for a current date. The currencies available to the customer are determined in accordance with the Agreement you sign

More details on this pricing model.

To set prices, transfer variants in the request. This array must contain one object with the following parameters:

  • from, to – transfer these parameters having value equal to zero (purchase quantity is unlimited). You can also choose not to transfer these parameters at all
  • price – transfer only one object named common in this parameter. Inside the object, set the parameters as follows:
    • currency – currency code in which the product price will be set. You can only use one of the currencies: USD/EUR/RUB
    • price – product unit price. Depending on the conditions in your Agreement, you must transfer the price with or without VAT
  • Set the rest parameters in which you can transfer additional product identifiers on your end at your discretion
...
"variants": [{
  "from": 0,
  "to": 0,
  "price": {
   "common": {
    "currency": "USD",
    "price": "100.00"
   }
  }
 }
],
...

This example shows that if purchasing any quantity of a product, its unit price will be equal to:

  • When purchasing in dollars: 100 USD
  • When purchasing in a different currency: price will be converted

Example:

  • For 1 product unit in dollars: 100 х 1= 100 USD
  • For 5 product units in dollars: 100 х 5= 500 USD
  • If the checkout currency is changed to EUR, the price is also converted to EUR

With this pricing model:

  • The price per unit depends on the product quantity being purchased. You set quantity ranges and an individual price per range
  • The product is available for sale in all currencies according to your agreement
  • You set the price in one of the base currencies: USD/EUR/RUB
  • At checkout: If the currency on the checkout page (checkout currency) differs from the currency in which you set the price, price conversion takes place at the exchange rate valid for a current date. The currencies available to the customer are determined in accordance with the Agreement you sign

More details on this pricing model.

To set prices, transfer variants in the request. This array must contain one object or several objects.

In each of the objects, transfer prices for a certain product quantity:

  • fromto – transfer in these parameters the minimum quantity and the maximum quantity of a product at which the price will apply. More details on how to set these fields
  • price – transfer only one object named common in this parameter. Inside the object, set the parameters as follows:
    • currency – currency code in which the product price will be set. You can only use one of the currencies: USD/EUR/RUB
    • price – product unit price. Depending on the conditions in your Agreement, you must transfer the price with or without VAT
  • Set the rest parameters in which you can transfer additional product identifiers on your end at your discretion
...
"variants": [{
  "from": 1,
  "to": 5,
  "price": {
   "common": {
    "currency": "USD",
    "price": "100.00"
   }
  }
 }, {
  "from": 6,
  "to": 0,
  "price": {
   "common": {
    "currency": "USD",
    "price": "90.00"
   }
  }
 }
],
...

In this example:

  • When purchasing from 1 to 5 units of a product, the price per unit will be equal to:
    • When purchasing in dollars: 100 USD
    • When purchasing in a different currency: price will be converted
  • When purchasing 6 or more units of a product, the price per unit will be equal to:
    • When purchasing in dollars: 90 USD
    • When purchasing in a different currency: price will be converted

Example:

  • For 1 product unit in dollars: 100 х 1= 100 USD
  • For 10 product units in dollars: 90 х 10= 900 USD
  • If the checkout currency is changed to EUR, the price is also converted to EUR.

With this pricing model:

  • The price per unit is the same when purchasing any product quantity.
  • The product is available for sale only in the currencies for which you entered the price.
  • You set an individual price per checkout currency.

More details on this pricing model.

To set prices, transfer variants. This array must contain one object with the following parameters:

  • from, to – transfer these parameters having value equal to zero (purchase quantity is unlimited). You can also choose not to transfer these parameters at all
  • price – transfer one or more objects in this parameter. Each of the objects must contain a price for the currency in which a product must be available for sale at checkout. Set object parameters:
    • Transfer a checkout currency code of the product in the name of an object
    • currency – currency code in which the product price will be set for the transferred checkout currency.
      We recommend that you transfer the price set in the checkout currency to fully comply with the pricing model: One price for each currency. You can also set prices in USD/EUR/RUB but with some limitations. More details on this option
    • price – product unit price. Depending on the conditions in your Agreement, you must transfer the price with or without VAT
  • Set the rest parameters in which you can transfer additional product identifiers on your end at your discretion
...
"variants": [{
  "from": 0,
  "to": 0,
  "price": {
   "USD": {
    "currency": "USD",
    "price": "100.00"
   },
   "PLN": {
    "currency": "PLN",
    "price": "400.00"
   }
  }
 }
],
...

In this example, when purchasing any quantity of a product, the price per unit will be equal to:

  • When purchasing in dollars: 100 USD
  • When purchasing in złoty: 400 PLN
  • If other currencies are available at checkout, the product cannot be purchased using these currencies for payment

Example:

  • For 1 product unit in dollars: 100 х 1= 100 USD
  • For 5 product units in dollars: 100 х 5= 500 USD
  • For 1 product unit in złoty: 400 х 1= 400 PLN
  • For 5 product units in złoty: 400 х 5= 2000 PLN
  • The product cannot be purchased in EUR

With this pricing model:

  • The price per unit depends on the product quantity being purchased. You set quantity ranges and an individual prices per range.
  • The product is available for sale only in the currencies for which you entered the price.
  • You set individual prices per unit for each checkout currency in each quantity range.

More details on this pricing model.

To set prices, transfer variants in the request. This array must contain one object or several objects.

In each of the objects, transfer prices for a certain product quantity:

  • fromto – transfer in these parameters the minimum quantity and the maximum quantity of a product at which the price will apply. More details on how to set these fields
  • price – transfer one or more objects in this parameter. Each of the objects must contain a price for the currency in which a product must be available for sale at checkout. Set object parameters:
    • Transfer a checkout currency code of the product in the name of an object
    • currency – currency code in which the product price will be set for the transferred checkout currency.
      We recommend that you transfer the price set in the checkout currency to fully comply with the pricing model: One price for each currency. You can also set prices in USD/EUR/RUB but with some limitations. More details on this option
    • price – product unit price. Depending on the conditions in your Agreement, you must transfer the price with or without VAT
  • Set the rest parameters in which you can transfer additional product identifiers on your end at your discretion
...
"variants": [{
  "from": 1,
  "to": 5,
  "price": {
   "USD": {
    "currency": "USD",
    "price": "100.00"
   },
   "PLN": {
    "currency": "PLN",
    "price": "400.00"
   }
  }
 },
 {
  "from": 6,
  "to": 0,
  "price": {
   "USD": {
    "currency": "USD",
    "price": "90.00"
   },
   "PLN": {
    "currency": "PLN",
    "price": "350.00"
   }
  }
 }
],
...

In this example:

  • When purchasing from 1 to 5 units  of a product, the price per unit will be equal to:
    • In dollars: 100 USD
    • In złoty: 400 PLN
  • When purchasing 6 or more units of a product, the price per unit will be equal to:
    • In dollars: 90 USD
    • In złoty: 350 PLN
  • If other currencies are available at checkout, the product cannot be purchased using these currencies for payment

Example:

  • For 1 product unit in dollars: 100 х 1= 100 USD
  • For 10 product units in dollars: 90 х 10= 900 USD
  • For 1 product unit in zloty: 400 х 1= 400 PLN
  • For 10 product units in zloty: 350 х 10= 3500 PLN
  • The product cannot be purchased in EUR

You can set product prices in a checkout currency or in a base currency (USD/EUR). Moreover, if the currency in which a price is set differs from the currency at checkout, conversion takes place at checkout at the rate valid for a current date.

How to set prices:

  • If a product does not have individual prices set for each checkout currency (One priceVolume pricing), its price can only be set in a base currency
    "common": {
     "currency": "[price has been set in this currency: one of the base currencies]",
     "price": "[price]"
    }
    
  • If a product has prices set individually for each checkout currency (One price for each currency, Volume pricing and options), then:
    • A price can be set in the checkout currency (i.e., the currency in which the price has been set is the same as the currency at checkout).
      "[checkout currency]": {
       "currency": "[price has been set in this currency: matches the currency at checkout]",
       "price": "[price]"
      }
      
    • The price can be set in a base currency. This option has limitations: you can work with such prices only through the API, editing of products having such prices will be unavailable through the portal / may work incorrectly.
      Use this option if you keep your price list in only one currency but want prices in other currencies to be set individually (e.g., for one of the currencies, you want a product to be more expensive).
      "[checkout currency]": {
       "currency": "[price has been set in this currency: one of the base currencies]",
       "price": "[price]"
      }
      
...
"variants": [{
  "from": 0,
  "to": 0,
  "price": {
   "CZK": {
    "currency": "USD",
    "price": "100.00"
   },
   "PLN": {
    "currency": "USD",
    "price": "90.00"
   }
  }
 }
],
...

If you sell products in several currencies and have separate Agreements concluded for these currencies, you need to take this peculiarity into account when creating and modifying products:

  • When setting individual prices for each checkout currency (One price for each currency, Volume pricing and options), you must create separate products for each of your Agreements. One product should not have prices using checkout currencies from different Agreements.
  • The use of common prices in base currencies (One price, Volume pricing) can be available only for one of your Agreements (to be negotiated when connecting).

For example, if you have two contracts:

  • Agreement 1 for sale in USD and CAD
  • Agreement 2 for sale in EUR 

You must create two products:

  • Product 1 for sale in USD и CAD
  • Product 2 for sale in EUR 

You must not create a product that will be sold in all three currencies at once.

When setting prices, you can specify the product quantity (from-to) purchasing which, the price per unit will be applied. Several quantity ranges having individual prices can be set for one product. 

To set product quantity ranges, transfer one or more objects using variants. Each of the objects must contain a corresponding range. In each object, transfer the minimum quantity of a product in variants.from and transfer the maximum quantity in variants.to

For example, if you want the price to be 100 USD when purchasing from 1 to 5 units of a product, and 90 USD when purchasing from 6 to 10 units, you have to:

Each from-to quantity range must meet the following conditions:

  • Parameters from and to can only be an integer (whole number) or zero
  • If the parameter value is equal to zero, this corresponds to the absence of a limit on the quantity
  • It is possible not to transfer the parameter, thus zero will be stored as its value
  • If from > 0, then to ≥ from or to = 0 or not transferred
  • If to > 0, then 0 < from ≤ to
  • Ranges from - to of different prices should not intersect

If you use several quantity ranges for a product, there must not be a value among them that does not have a price set (see examples below).

With quantity ranges, you can limit product amounts that can be purchased. To do this, start/end your quantity ranges with this value.

Example:

  • To prevent your customer from purchasing less than 2 units of a product, start your quantity ranges with variants.from = 2 (i.e. you will not have a range that starts with value 1)
  • To prevent your customer from purchasing more than 10 units of a product, end your quantity ranges with variants.to = 10 (i.e., you will not have a range that ends with a number greater than 10 or ends with 0)
From To Description
0 0 There is no quantity limit. This price will be applied for any quantity of a product at checkout. Note that in this case the product can have only one quantity range, i.e. only one object in array variants
1 0 The example is similar to the one above
1 10 The price will be applied if the quantity of product units at checkout is between 1 and 10, including 1 or 10. If a product has no other quantity ranges, the customer will not be able to purchase more than 10 units of the product
0 10 Error. The minimum product quantity must be set if variants.to is transferred
Price 1 Price 2 Description

from=1,
to=2,
price=100

from=3,
to=0
price=90

  • One unit of a product costs 100 when purchasing from 1 to 2 product units
  • One unit of a product costs 90 when purchasing from 3 or more product units

from=2,
to=2,
price=100

from=3,
to=10
price=90

The example is similar to the previous one, but:

  • The minimum quantity of a product available for purchasing starts from 2 units.
  • The maximum quantity of a product available for purchasing ends with 10 units.

This means that the customer will not be able to purchase 1 unit or more than 10 units of the product.

from=2,
to=2,
price=100

from=2,
to=4,
price=90

Error. The quantity ranges for price 1 and price 2 intersect. If you add 2 units of a product to the checkout page, it will not be possible to determine the price of the product distinctly

from=2,
to=2,
price=100

from=2,
to=4,
price=90

Error. There is a quantity of products for which no price has been set. You can add 3 product units to the checkout page, however there is no price per unit that can be used