Regional prices
When setting up an item catalog, you can configure pricing policies for users from different countries (regional pricing) for virtual items and game key packages. The price for each item or game keys package is set in USD by default. You can set regional restrictions and regional prices at the same time.
How it works
Prices in the catalog are based on the user’s country.
During the purchase via Pay Station, the price of an item is converted into the currency of the user’s country and includes taxes, if applicable.
Country determination
- When requesting an item catalog, the user’s country is passed in the
country
parameter in the methods of the Catalog subsection from the Virtual Items & Currency or Game keys methods group.
If the country is not specified, it will be determined based on the user’s IP address. Then, prices for the item catalog are selected for the user’s country. - When purchasing an item:
- If you use the client methods to obtain a payment token, it is important to use them only from the client side and not from the server side. The country and currency in client methods are determined by the user’s IP address. Using this method from the server side may cause incorrect currency determination and affect payment methods in Pay Station.
- If you use the Create payment token for purchase server method, you need to pass the
country
object in the request body or the user’s IP address in theX-User-Ip
header.
- If the country in the country.value parameter and the IP address in the
X-User-Ip
header are passed, the country value in the country.value parameter takes precedence.
- If the country in the country.value parameter and the IP address in the
Principles of price display in the item catalog
For all items in the catalog, you should use the same list of currencies in which the prices are specified.
This is necessary so that all items in the catalog are displayed in the same currency. If the price is not specified for one of the items in one of the countries, the prices for the entire catalog in that country is displayed in the default currency.
If the default currency is different for items, then prices are displayed in the default currency of the first item in the catalog. If one of the items does not have a price in this currency, a price value of null
will be returned for it in the response. This will lead to an incorrect display of the item price and may affect the display of the catalog as a whole.
Examples:
Who can use it
Partners who want to increase sales in countries with low purchasing power by setting the store’s pricing policy for users from different countries.
How to get it
You can add, edit, and delete regional prices:
- through Publisher Account when creating/editing an item
- through Publisher Account when importing prices via a file
- using API methods
Setting up through the Publisher Account when creating and editing item
To create a virtual item with a regional price:- Open your project in Publisher Account.
- Click Store in the side menu.
- In the Virtual Items pane, click Configure.
- Click + and select Create item from the drop-down list.
- Specify:
- image
- SKU
- one or several groups the item should belong to
- name
- description
- item property — consumable, non-consumable, or time-limited items
- In the Price settings block, choose Paid item.
- Switch the Pricing in real currency toggle to On and specify the price. If you do not set regional prices, the price of an item will be the same for all countries and in US dollars.
- Set up prices:
- If you want to set up the price of an item in different currencies, click + and specify the currency and price.
- If you want to set special prices for countries, click Add pricing and specify the country, currency, and quantity. You can set the number of regional prices you need.
- If you want to add the price in virtual currency, switch the Pricing in virtual currency toggle to On and specify the price.
- If you want to limit the availability of items to specific users, switch the Limit number of times one user can buy this item toggle to On and specify the number.
- If you want to show an item in the store, set the Show item in store toggle to On.
- Click Create item.
Import from file in the Publisher Account
You can import regional prices from a file for pre-created items.
Features
- Upload or update regional prices for multiple items at once.
- Support for items of all types:
- virtual items
- virtual currency
- virtual currency packages
- bundles
- packages of game keys on a specific platform
Validation of uploaded data. If the file’s structure or data format does not meet the requirements, you will see a list of errors during the import.
File structure
The file must be in CSV format and contain the following columns:SKU — the item SKU for which regional prices need to be set.Country — the country code in ISO 3166-1 alpha-2 format. Check the list of countries supported by Xsolla before uploading the CSV file. Filling in cells in this column is optional. You can see examples of price display if the country is not specified.Currency — the currency code is in ISO 4217 format.Amount — the price of the item. Use a period for decimal points.IsDefault — whether this is the default price. Specify:1
— this is for the row with the default price. It is displayed in all countries with no regional prices.0
— for all other rows. You can also leave the cell in the IsDefault column empty.
The default price should not be regional - leave the cell in the
EXAMPLE
Correctly filled file (several items, 3 currencies, regional prices are available).
Incorrectly filled file (several items, 3 currencies, regional prices are available).
Error: In virtual-item-1 and bundle-1 the groups cells in the Country column aren’t empty.
When adding each new item, you must set the price in the default currency. If not specified, an error will be displayed when importing the file.
EXAMPLE
Correctly filled file (several items, 3 currencies, regional prices are available).
Incorrectly filled file (several items, 3 currencies, regional prices are available).
Error: There isn’t any default currency for virtual-item-1 and bundle-1 groups.
Platform — the platform SKU. It is used when setting regional prices for game keys but is not used for other items.
Available platforms.
Platform SKU Platform name steam Steam playstation PlayStation xbox Xbox uplay Uplay origin Origin drmfree DRM Free gog GOG epicgames Epic Games Store nintendo_eshop Nintendo Switch eShop discord_game_store Discord Game Store oculus Oculus viveport Viveport stadia Google Stadia
Game keys with the same SKU but different platforms are considered different entities. Each entity must have a price specified in the default currency.
EXAMPLE
Correctly filled file (several game keys, 3 currencies, regional prices are available, 2 platforms).
Incorrectly filled file (several game keys, 3 currencies, regional prices are available, 2 platforms).
Error 1: Incorrect grouping of game keys by SKU and Platform, resulting in nine entities being found instead of three.
Error 2: Groups 3, 4, 5, and 6 do not have a default price due to incorrect grouping.
Error 3: Group 9 will overwrite the data of group 7 because they have a full set of prices for the same entity. As a result, the game-key-2 for the playstation platform will only have a price in MYR after import.
Examples of file completion and possible errors
Examples of the correct filling of the CSV file for import:File import
To import prices from a file:- Open your project in Publisher Account.
- Click Store in the side menu and go to the section with any type of product.
- Click Import prices.
- In the import window, you can download the file template and add the values.
- Upload the file to the corresponding field in the import window.
- If there are any errors during the import, the import window displays a list of these errors and recommendations for correction. Make the necessary changes to the file and upload it again.
After successful upload, regional prices for items with the specified SKUs will be updated according to the prices in the file. Previously specified prices will be deleted.
Example:
There are several prices in different currencies and several regional prices for the item in the Publisher Account. In the imported file, there is only one price in EUR. After importing the file, only one price in EUR will be specified for this item in the Publisher Account.
Setting up using API methods
To set up regional prices through API methods, pass an array of objects with price settings for countries:- in the methods for creating and updating virtual items
- in the methods for creating and updating virtual currency
- in the methods for creating and updating virtual currency packages
- in the methods for creating and updating bundles
- http
"prices": [
{
"amount": 100,
"currency": "USD",
"is_enabled": true,
"is_default": true
},
{
"amount": 200,
"currency": "CZK",
"country_iso": "CZ",
"is_enabled": false,
"is_default": false
}
]
Found a typo or other text error? Select the text and press Ctrl+Enter.