This idea is possible.
This was a pain for me, I had to search pages and then use CTRL + F each time to see if they actually purchased what they claimed they purchased. Good idea.
The whole idea with creating your own database to store such information is rather flawed.
If you get connection issues, as roblox tends to get from time to time, then nothing can be stored on datastores.
You will get a HTTP0 message or something similar. But still people will claim they bought this and that, and there’s no way of finding out because there’s a quadbillion purchases! You will have to scroll through a list that takes hours.
Why has there not been a search button added yet? It’s essential to looking up false purchase claims.
As useful as this is, and I do support it, in the meantime you can just have a bot scrape the purchase data and store it in a DB of your own anyway
I really want username/userid search everywhere where there are lists of persons + an action. Sales log, inbox, archive, trades, etc. I’m a small-time dev so I can imagine it would be even more useful for others (if you assume that they shouldn’t have to use an off-site database to accomplish this)
My game’s algorithm is pretty simple and has never failed me.
For gamepasses: Allow purchase any time.
For dev products:
1) Check if we can connect to a dummy datastore key (if we have not successfully connected in the previous 10s)
2) Prompt a purchase
3) Award successful purchase
4) Save their data
I’ve never had anyone report money being eaten with this system
I don’t understand your dev product idea.
What if you cant connect to datastores, so you can’t save any data. Your script simply waits til it can store it.
But then everybody leaves because nobody can load any data when joining leading to a depletion of players in the server. The last player leaves and your server shutsdown without saving the purchased data.
There is no failproof way of doing this. It has to be done by roblox on their website.
That’s why I keep track of the last successful datastore connection. If it was over 10 seconds ago, I throw a junk request just to ping the datastore basically.
If I don’t get any response back, I don’t prompt a purchase. Basically, you check if datastores are working fine (and they almost always are) before prompting. This way you can be nearly certain that if they purchase, it will be saveable.
I don’t have datastore points to waste like that but even if I did; calling every 10 seconds may be very safe, but it’s still a possibility that it crashed inbetween your calls and somebody purchase just then.
If someone claims that happens, how would you know for sure its true or false?
Developer products will spam the purchased event until you as the developer say “Yes, I’ve awarded the user this”. So it sounds like you’re awarding things without actually checking if you are. Award, save data, if it saves, then return PurchaseGranted.
If you’re using approximately 60 + #player * 10 datastore calls per minute, you should seriously fix that because there is no scenario in which I can think of that this is necessary. This right here could be why your data calls are having issues if you’re overloading them
I like your feature request, but if you’re running out of DataStore requests, your DataStore code is bad. Zombie Rush had issues with DataStore code too – they would consistently run out of requests. After they had me work on their game’s data saving, now it never comes close to running out of requests because proper DataStore formatting and intelligent requesting means at the very max the game is making #players requests every 5 seconds. If you’re running into issues with low numbers of available requests, you should work on improving how you use DataStores.
Edit: That doesn’t include purchases, which instantly access the DataStore
I try to keep well beneath limits using only 2 calls to load a players data and 1 to save.
Issue I’v had is that two players claimed they bought a product then disconnected and it didn’t save.
None of them registered any purchase information, which is independent from their stats and should never fail, it just waits til it can save it whether or not the player is in the server.
Eitherway, none of the players had bought said product according to my gui and having a roblox function to confirm this would make me go to bed in peace every night
I’m going to bump this cause this should’ve been added a long time ago.
As a Roblox developer, it is currently too hard to . . .
search for someone you have sold something to, or something you have purchased.
As a Roblox developer, it is currently impossible to . . .
Find out if the person telling you has bought something from you, but not got it, as there’s no search.
If Roblox is able to address your issue, how would it improve your game and/or your development experience? Please be as specific as possible.
It would improve developers view of moderating purchase, and finding out if someone saying they didn’t get what they bough.
Feel free to include any other details.
I belive it would be better to let us search for specific items you are having “free”, the name of the item, or who your suppose to have sold it to, in order to see if you have actually sold something to that person.
If someone is reporting your game saying “i bought X vip but didn’t get it, can i get a refund”,
You can check the search, by name or userID, and find out if you have ACTUALLY sold anything to that person.
As many developers sell many different things, it’s also a good idea to include asset searching, or name of asset, in order to see in that category.
support, i have to go thru pages of transactions just to find a specific one
Was just about to suggest something like this, but yeah I totally support. Searching for transactions can be a pain, especially when you’re trying to resolve an issue.
Support, possibly on group transactions too, so you can quickly source purchases in order to verify them when people make complaints etc.
100% agree, I’m really glad that I actually have a Datastore purchase manager for that. But ROBLOX should allow us to see in our transaction logs (that they provide on the website) and actually use that against such claims.
Although I fully agree they should add this, I could create a chrome extension which adds this.
That would be handy, please do it as I don’t think one exists right now.