Is there a way to use Economy Real Money Purchases on stores other than Apple and GooglePlay?

I am currently developing a game with Mobile and PC (Steam) versions. I want to use Economy through Cloud Code to deal with everything related to IAP, but I got to a dead end related to Real Money purchases:
Is there any way to “fulfill” the real money purchase on stores other than Apple and Google Play?

Because the only methods that I found where “redeemAppleAppStorePurchase” and “redeemGooglePlayPurchase” but on other stores (like Steam) how could I actually receive the items from the Real Money Purchase defined? (and I know that the validation will be up to me)

Hey @Uli_Okm,

Thanks for your question!

We currently do not support direct integration with the Steam store for purchase fulfillment, and we are sorry that support for other platforms is not available at this time.
However, if you plan to process real money transactions on a platform like Steam (or any custom store), you can still handle fulfillment manually by:

• Implementing your own purchase validation logic
• Once validated, calling Cloud Code functions or Economy APIs directly (e.g., AddInventoryItem, GrantCurrency) to grant the purchased content

Thanks!

Thanks for the support!

If anyone else gets to the same problem: To avoid having to manually duplicate the purchases config or having to store these purchases somewhere eles,you can read the RealMoney purchase definition with “GetRealMoneyPurchase” and then iterate over the rewards and add them to the player with the other methods mentioned in the answer above.

is there anything in the documentation about this that I could read? I’m curious about this as well. But I can’t find anything at all about how to add your own validation logic.

That would change a lot based on each use case, but for something like Steam (and usually most platforms works somewhat like it), you would need to:

  • On the client, when the user purchase something (you can implement your own custom store in IAP package: What is a Custom Store | In App Purchasing | 4.12.2 ), you will obtain along the purchase some unique ID that identifies this purchase (usually a receipt ID)
  • You then need a backend API to safely verify it. So in my case I will use Unity Cloud Code. On this server side, you will have some secret API key that can communicate on behalf of your app with the store/provider (Steam for example), communicating with some API endpoint that they offer you, where usually you will send the receiptID/Details that you obtained on the client.
  • Then, these APIs usually answer with all complete details of the purchase, if the receipt exists or something like that. Based on that info you can deal with real or fake purchases, and answer to the client as expected.

Other way that some platforms can work is:

  • Instead of the Client application doing the purchase flow, the whole purchase flows happens on your server (your client sends to your API endpoint all the required details about some desired purchase), and your server will handle the API calls to the store provider (like Steam API).