Hi, I'm trying to set up in-app purchases via Steam and running into trouble. I'm using this guide as a reference: https://docs.microsoft.com/en-us/gaming/playfab/features/commerce/economy/non-receipt-payment-processing#last-step-confirm-the-purchase
I've configured my Steam Application ID and Steam Web API Key on the Add-Ons page. I triple checked to make sure that these values are correct. "Use Steam Payments sandbox endpoints for test transactions" is currently set to True, although I have also tried it setting it to False with no change.
I'm using the Facepunch library in Unity to handle Steamworks calls.
When the game starts, I call Steamworks.SteamClient.Init ("appid"); with my game's app ID. At this point I can see that I am playing my game in the Steam friends list via rich presence.
I can then successfully initiate the purchase via a PlayFabClientAPI.StartPurchase call.
Unfortunately, when I follow up with a PlayFabClientAPI.PayForPurchase call, I always receive " PurchaseInitializationFailure / Failed to initiate transaction with payment provider ". My PayForPurchase call is structured like this:
PlayFab.ClientModels.PayForPurchaseRequest request = new PlayFab.ClientModels.PayForPurchaseRequest () {
OrderId = orderID,
ProviderName = "Steam",
Currency = "RM"
};
I thought that perhaps this was failing while testing in the Unity editor because the Steam overlay cannot open in this context. I also tried compiling a game build, manually adding it to steam, and testing there; although I am able to open the Steam overlay normally in this context, I receive the same PurchaseInitializationFailure. I even tried distributing a proper game build via Steampipe and testing via a full Steam launch... same error, no dice.
What am I missing here? Is it mandatory for me to also link a steamID to a user's playfab account in order for these calls to work, for example?
I've thoroughly exhaused all of the threads on this topic that I could find at this point. Would really appreciate some help.
Thanks!