You can generate and save your API key here: Publisher Account → Company Settings → API Key.
Each project has its own key – called either a secret key or a project key – that’s part of your digital signature, which is necessary for secure payments. To generate your digital signature we concatenate the request's JSON body with your project's secret key and apply SHA-1 hashing to the resulting string.
The API key is the same for all projects in your account and is used for API calls you make to the Xsolla server. Your API key should only be held on your own server, never inside your game binaries or frontends.
Your project ID is the number above the selected project name in Publisher Account and can also be found here.
The merchant ID and publisher ID are simply 2 different terms for the same thing.
Yes, via the payment system provider (PSP) list: Game (Project) → Pay Station → Payment Methods → Status → On / Off, for each individual method. However, we do not recommend to limit the payment options for players.
Gateways let you receive payouts directly from payment systems available within Pay Station. Under this model, the interface won’t change, and Xsolla simply serves as a Technical Service Provider, taking a reduced revenue share. That means you’ll receive full-scale Xsolla solutions, with these exceptions:
To display a gateway in Pay Station, configure it in Publisher Account and sign the agreement. Find more information here.
Our system supports flexible coverage configurations, in order to simultaneously give gamers access to all available payment methods and let developers choose a balanced payout percentage. You can define the percentage of the commission to cover. If the total commission percentage exceeds the maximum rate you’ve chosen, the difference is passed on to the user. In that case, the user can choose their payment method, and you won’t pay high fees.
You can assign different access levels based on team members’ role, from among these:
Owner can view and edit everything in Publisher Account
Developer can
Junior developer can
Accounting can
Support engineer can
Junior support engineer can
Connect Pre-orders in Game Keys. Create new Game Key packages, and follow the wizard to finish the setup process.
Game Keys → Select the package you would like to edit → Keys & Distributives → Turn on Imported Game Key Delivery→ Upload keys in either TXT or CSV, using a line break as the separator.
Yes, you can simply go through the Game Key Package setup and select Imported Game Key Delivery but elect to not upload anything. Be sure to upload keys prior to release!
You can also set up placeholder keys or enable Distribution of Keys Is Performed by Partner.
In the Payouts report.
If it's the first project, click the Let’s Start button on the welcome page, then:
If it's not the first project, Click the green ( + ) button in the left sidebar.
The Xsolla ID is your ID for every transaction in Xsolla. The Invoice ID is the optional ID for each transaction in your game. For testing, you can use any numeric value.
Settings → Users in your Publisher Account
These errors mean that a valid user ID is required. Please check that you’re using a user ID from your database and that you’re returning a 200 response code to the user_validation webhook.
The UI token for this user has expired. Default expiration time is 24 hours.Please fetch a new token for each new user payment session initiated.
This means that you need to sign the agreement with us in order to receive your payouts. Please contact your account manager or onboarding@xsolla.com for assistance.
Yes. Use our Pay Station Embed JavaScript library to embed Pay Station and catch events from inside it.
The user ID is a way of identifying a user in your game. You can store user IDs in a database. If an invalid user ID is used, you should throw an exception. Here is an example of how to handle user validation.
Check that you’ve installed and included all required files and that the relative paths are valid. You’ll find more setup information on our Github page.
We currently only provide test credit cards, listed here.
You need to activate a module for your project. Or for Simple Checkout, you could be missing the purchase parameter.
Make sure you’ve included all required files and that your webhook server is set up to handle the types of webhook requests you’ll receive.
Yes, almost anyone on your team (owners, developers, accounting, and support engineers) can do it from Publisher Account. If needed, our support team can manually trigger a re-send for payment webhooks, and we can also re-send others by request.
Game Key Package → DRM Info → Select only the DRM-free Key option. Then upload your Steam keys in Keys and Distributives. Then upload the launcher you’ll be using as the distributive in Distributive Upload.
When a customer purchases a title, they’ll receive a link to download the launcher and both a DRM-free game key and a Steam key. The customer can redeem the DRM-free key in the launcher for this early access version of the game. Once a title’s been released, the customer can them redeem their Steam key for the Steam version of the game. Remember you’ll need to request a custom email telling customers the key is usable on Steam.
No, this sentence is a bit wrong. When game developer setup DRM Free key, he can additionally setup a steam key. In this case player will receive Steam key as a gift. The typical use case looks like:
This use case implemented by our partner Game Labs.
We currently offer PHP SDK, Unity SDK, and Unreal SDK. You can build your own SDK using any language / platform, as long as it has HTTPS request functionality. You’ll find more help here.
Set up the CSV file with 2 keys on the same line. It could look like: XXXXXXXSTEAMKEY1XXXXX, XXXXXXBOGOSTEAMKEY1XXXXXXX
Your customer will receive both keys once they buy.