Yeah I’ve gotten these messages before. I see I got their robux, and I check their savefiles and they never reflect that a purchase happened(I would be able to tell). I’ve racked my brain trying to find any hypothetical script errors, but it’s pretty clean. This was from the past month.
It’s happening waaaay too frequently now. Read the comments of any Top Earning game – you’ll see tons of people complaining among all the typical spam.
I’m panicking a little bit, because there are so many people asking for refunds that I don’t have resources to check and complete.
It’s inconsistent, as I bought products in Murder Mystery and they work for me just fine.
Yeah, I get periodic reports of dev product purchases failing (all the time, not just right now). I think it’s because of how ProcessReceipt works and how it used to be poorly documented. I was under the impression that ProcessReceipt fired repeatedly during 1 game session until it was successful, but it turns out it actually only fired again upon rejoining the game or making another purchase. That was only clarified very recently.
I’ve guessed that players believe they’ve lost their purchases until they rejoin the game and finally receive the product they purchased earlier.
Do any of you manually retry DataStore calls within your ProcessReceipt callbacks, or did you assume that ProcessReceipt would keep firing in the same game session until it was successful?
After getting someone to update the wiki with the real behavior (because I had initially recoded my purchase system under the assumption that it’d just keep trying over and over) I went back and re-recoded it to either more aggressively try to save the data or be more upfront with the player about the status of the purchase.
If a DataStore call in your ProcessReceipt callback fails (doesn’t have to be due to total downtime, could just be a random failure) and you don’t manually retry that DataStore call again, the ProcessReceipt callback would just return a failure and then not run again until the player rejoins.
I suppose there may be something else going on as well, if @TwentyTwoPilots has already fixed his ProcessReceipt callback and there are still failure issues.
I’m currently redoing the way I handle errors so I can gather more helpful information on the issue. It may be my fault still, but given how it seems more people than just myself have been experiencing something like this for a while, it might really be on Roblox’s end.