PlayFab is excited to welcome Xsolla into our Add-Ons Marketplace. This payment provider joins PayPal in providing a platform-agnostic way to receive and process payments in your game – from anywhere in the world! With in-game promotions, over 100 currencies, over 600 payment options, and industry-leading anti-fraud technology, Xsolla facilitates your business in every market.
Integrating with Xsolla and PlayFab is easy. Simply sign up for an Xsolla account, drop their PayStation UI into your game, and let PlayFab know the relevant API key. Then, all of the existing economy functions in the PlayFab backend will be able to use Xsolla as a payment provider in your title!
Detailed setup instructions are as follows:
- Sign up for an account at https://publisher.xsolla.com/signup
- Configure your merchant details – record your Merchant ID
- Go to Settings -> Company to set or retrieve a Merchant API key
- Create and configure a new project – record your Project ID
- Go to the Xsolla page in the PlayFab Game Manager Add-ons Marketplace, enable Xsolla, and input those IDs
- Complete registration and hit submit
- Once the agreement with Xsolla has been signed, you are done!
For integrating into your game, you will be using the Simple Checkout flow, as PlayFab is acting as your shopping cart. You can retrieve the PayStation UI from https://github.com/xsolla/paystation-embed. Detailed steps on how to make a real money purchase using PlayFab can be found here, but the short version is included below.
To actually make a purchase, your game should use the PlayFab Client purchasing API methods. Specifically, you will use the cart-based solution of StartPurchase/PayForPurchase/ConfirmPurchase.
- Begin by creating a cart with StartPurchase. This cart should contain the list of items and the catalog + stores that these items are from. This will return an OrderId and a list of PaymentOptions.
- When the user has confirmed they would like to continue, proceed to PayForPurchase. Provide the OrderId and the Xsolla PaymentProvider name (which should have been provided to you in the PaymentOptions array returned from your StartPurchase call), as well as the currency. PlayFab will then initiate the transaction with the Xsolla servers. This will return a transaction token from Xsolla. This token will be used to generate the proper Xsolla Payment UI in your game.
- Display the Payment UI, so that the player can input payment information.
- Assuming all has gone well, finally call ConfirmPurchase. This will grant the items to the player, assuming all parts of the transaction have succeeded. Please note that this is a pull operation, as payments are asynchronous in the Xsolla system.
The Xsolla management website contains a great deal of information about purchases and revenue, and about transactions that are pending, completed, or disputed. Please go to https://publisher.xsolla.com for details about those transactions, which will supplement the revenue reports provided by PlayFab.
Please let us know if you have any questions or run into difficulties via our community forums, and look to this space in the coming weeks for the addition of subscriptions to Xsolla’s offerings through the PlayFab API!