Creates item purchase using virtual currency.
Catalog API (2.0.0)
- Version: 2.0.0
- Servers:
https://store.xsolla.com/api - Contact Us by Email
- Contact URL: https://xsolla.com/
- Required TLS version: 1.2
The Catalog API allows you to configure a catalog of in-game items on the Xsolla side and display the catalog to users in your store.
The API allows you to manage the following catalog entities:
- Virtual items — in-game items such as weapons, skins, boosters.
- Virtual currency — virtual money used to purchase virtual goods.
- Virtual currency packages — predefined bundles of virtual currency.
- Bundles — combined packages of virtual items, currency, or game keys sold as a single SKU.
- Game keys — keys for games and DLCs distributed via platforms like Steam or other DRM providers.
- Groups — logical groupings for organizing and sorting items within the catalog.
The API is divided into the following groups:
Admin — calls for creating, updating, deleting, and configuring catalog items and groups. Authenticated via basic access authentication with your merchant or project credentials. Not intended for storefront use.Catalog — calls for retrieving items and building custom storefronts for end users. Designed to handle high-load scenarios. Support optional user JWT authorization to return personalized data such as user-specific limits and active promotions.
Download OpenAPI description
Languages
Servers
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/api/catalog/
Path
Project ID. You can find this parameter in your Publisher Account next to the name of the project.
Example: 44056
Query
Bodyapplication/jsonPublishing platform the user plays on: xsolla (default), playstation_network, xbox_live, pc_standalone, nintendo_shop, google_play, app_store_ios, android_standalone, ios_standalone, android_other, ios_other, pc_other.
Default "xsolla"
Enum"playstation_network""xbox_live""xsolla""pc_standalone""nintendo_shop""google_play""app_store_ios""android_standalone""ios_standalone""android_other"
Your custom parameters represented as a valid JSON set of key-value pairs.
You can pass additional parameters through this field to configure anti-fraud filters. See Pay Station documentation.
Example: {"custom_parameters":{"string_param":"example","bool_param":true,"int_param":100,"null_param":null}}
- https://store.xsolla.com/api/v2/project/{project_id}/payment/item/{item_sku}/virtual/{virtual_currency_sku}
- Mock serverhttps://xsolla.redocly.app/_mock/api/catalog/v2/project/{project_id}/payment/item/{item_sku}/virtual/{virtual_currency_sku}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://store.xsolla.com/api/v2/project/44056/payment/item/booster_mega_1/virtual/crystal?platform=playstation_network' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"custom_parameters": {
"array_param": [
{
"object1": {
"param": "https://xsolla.com"
},
"property": {
"int_property": 112,
"string_property": "xsolla"
}
},
{
"object2": {
"param": "https://developers.xsolla.com"
},
"property": {
"int_property": 112,
"string_property": "email@example.com"
}
}
],
"object_param": {
"key": "value"
},
"bool_param": true,
"int_param": 100,
"null_param": null
}
}'Response
application/json
{ "order_id": 641 }