Steam Payment Declined (failed by provider)
Does anyone know any reasons why payment would be declined? I've followed all of the tutorials for how to setup the Simple IAP for Steam and Playfab. Everything is instantiated correctly. When I go to buy the product (both in Unity and when the game is opened and running through Steam) it waits a moment then pops up a message saying "Payment Declined". I haven't had much luck finding why this might be the case. Any help is appreciated. Thank you.
- When the game is running through Steam, are you able to display the Steam overlay? This is a first indicator that Steam recognizes your integration.
- Did you double check your product identifiers are consistent between Steam and SIS? In Steam product IDs are numbers e.g. "100", "200" etc. so that ID needs to be entered in SIS as well.
- Did you try buying not only products for real money, but also for virtual currency for testing? That would be a good test to see if the connection to PlayFab works.
- Do you see any events in PlayFab when looking at your player? Does the payment declined message show up under purchases?
*I am able to access the Steam overlay when I build the game. I'm assuming you mean the 'Shift + Tab' thing? My game definitely is connecting to Steam, for sure.
*I am able to see the failed purchases on PlayFab under my user's purchases. It displays a message under each failed purchase as "Failed by provider". When I attempted to purchase something for an in-game currency (so without real money), it went through successfully, and it shows up as a successful transaction on the list of purchases under my player's name in PlayFab.
What do you mean when you ask "Did I double check if my product identifiers are consistent between Steam and SIS"? The only place my product IDs are located is on the IAP Settings window provided by the Simple IAP System. Is there somewhere else I need to enter the product identifiers into?
I appreciate your help!
Baroni last edited by Baroni
I am able to access the Steam overlay when I build the game. I'm assuming you mean the 'Shift + Tab' thing?
Exactly, if that comes up, it's fine.
When I attempted to purchase something for an in-game currency (so without real money), it went through successfully
That's great, so the PlayFab title actually recognizes your game and login via Steam works too.
The only place my product IDs are located is on the IAP Settings window provided by the Simple IAP System
Yes, that's the only place where they should be entered. What I meant was to double check the IDs you created in the Steamworks dashboard, do actually match with what you've entered in SIS' IAP Settings window (checking for typing error).
I am able to see the failed purchases on PlayFab under my user's purchases. It displays a message under each failed purchase as "Failed by provider".
We have to investigate deeper here. I've searched the PlayFab forums for "Failed by provider" errors for Steam and found these entries:
Both threads mention the Web API key as a potential issue. The Web API key can be created account-wide, and for a specific group:
Could you please try entering each of them (one after the other) into the PlayFab dashboard > Steam addon configuration and test again? When looking at the group-specific Web API key, please make sure that your app ID is actually part of a group. Then when you open that group, the link to generating the Web API key can be found on the right side.
Maybe one of those Web API key works...
Turns out the Web API Key was the issue. I never submitted an app ID into the group hat the Web API Key came from. I really, really appreciate your help. Thank you very much!
I followed the Playfab and Steam Store guide but when ever I test my game it always says the payment was declined. My product identifiers are the same. I'm able to pull up the steam overlay in my game. In the Playfab Events History it says the payment was declined by the provider. I'm not sure whats wrong. I've also read this thread before and have done everything in it.
Unfortunately the error "failed by provider" is coming from PlayFab, is too generic and does not provide any useful information on what's wrong. I hope you understand that if you write "I did everything", there is not much for me to help out. I can only recommend checking your Web API key and key location (account or group) again as written above. If you could reiterate over the guide and points above, we could start figuring out what is missing - it is going to be a long ping-pong conversation though.
I have tried multiple Web API Keys from groups with my app ID apart of the group and I still get payment declined
While waiting for me to insert screenshots into our written guide, please see this thread for a video I recorded last year:
It basically shows the same settings, just in a video.
You didn't mention using your own login method like the developer in that thread, but he found that not getting a valid Steam login token could be the issue too. Our "UserLogin" sample scene automatically logs in to PlayFab via Steam, so I would recommend using that for testing (if you haven't already).
Okay never mind I decided to use the demo SIS login scene and connect to my store scene instead and now real money purchases work. I feel so dumb.
@PrimePillow7 I haven't touched anything since the last time but now the demo scene doesn't work it always throws a HTTP/1.1 400 Bad Request which results in a "Payment Declined" when I advance to the store and attempt to buy something.
Okay It appears the issue was that I wasn't signed into my developer steam account instead I was in my personal one. I forgot to give my personal a steam override key causing the steam manger to fail as the game isn't released yet. Once again I feel very stupid and I want to thank you for all the help you have given me over the past months. I will leave a positive review on the store now that the asset is working 100% for me :)
Thank you for reporting back with your solution! I'm glad that you've found the issue. Steam definitely is a drama queen when it comes to getting in-app purchases to work, as every single piece could break the whole system. I have cleaned up this thread a bit to keep it focused, thanks again.