The regional pricing should’ve been applied to the process of buying robux instead, it wouldn’t make developers lose, it would be easier to validate since they could base it off the currency the user paid using, and stuff like this won’t happen.
The fix they released yesterday basically prevents gamepasses from being purchased when the Dynamic Price Check tool is active. Now, the tool is only meant to let users preview how the updated pricing appears on buttons and prompts — without actually allowing them to buy the item.
However, this doesn’t truly fix the problem. Regional pricing can still be enabled, and while users can no longer buy a gamepass worth millions of Robux for just one, like before the initial patch, they can still purchase high-priced gamepasses for up to 30% less than the actual price. Developers have no way of knowing if the user received a discount — they appear to have paid the full, original price. This creates a major issue for PLS DONATE, as it compromises the accuracy of statistics and leaderboards.
The lengths developers had to go to — even before this update — just to verify that a gamepass purchase was legitimate were already extreme. It required complex code and multiple calls to Roblox’s API, all to make sure a purchase wasn’t spoofed before awarding in-game stats. Developers have worked hard to maintain the integrity of their games’ data, yet it’s clear that the engineers behind these systems are unaware of these ongoing struggles.
This problem has become so widespread that some developers were offering to sell “patches” to prevent these exploits — for thousands of dollars. Yes, thousands — just to get accurate pricing information that Roblox should be providing through engine methods already.
The latest update has completely broken the security of the purchase validation systems that many developers spent months building and refining. There are dozens of possible solutions — some as simple as limiting Regional Pricing to only work within the experience the gamepasses are tied to (although even that could be bypassed), and others that require more time but would offer long-term benefits. For example, including the actual purchase price as a parameter in the MarketplaceService.PromptGamePassPurchaseFinished event. But Roblox either refuses to make meaningful changes here, or simply doesn’t prioritize it. Developers have been asking for this kind of transparency in purchase data for years, and it should not be this difficult.
The core issues are:
Engineers don’t understand how hard it is to verify that a purchase actually happened and determine how much was paid, due to how limited the current engine’s purchase confirmation functions are.
There are not enough resources being allocated to fixing this. The core engine methods for validating purchases haven’t been updated in years, all while engineers push out new platform features that seriously affect pricing (like Regional Pricing) without considering how certain games will be affected. If this were taken seriously, a proper solution could be shipped in a matter of days. But clearly, this has been sitting on the backburner for far too long.
And then engineers have the nerve to block even small fixes in the name of backwards compatibility…?
These are among the most creative and popular games on the platform. If Roblox doesn’t take action soon, this update will have single-handedly ruined the economies of these games — and thousands of others in the same genre. It seems like the majority of users who have turned this feature on are those trying to EXPLOIT it to fake donations, rather than developers looking to implement it with good intent.
I daily drive this game (playing on Pls donate everyday) and had to take a forced break because of a Roblox change, and as Hazem said, impacting out revenue (I can still buy robux on my own tho but the issue is how im gonna donate my friends back)
I’m not a developer but a 2-3 year long player for Hazem’s game, I really can’t wait for it to be restored after Roblox implements suggested fixes to make everyone’s donation game working as usual
Has this been fixed? I noticed pls donate was able to re-enable donations but I don’t see any announcements or updates from roblox themselves on a solution.
Pls donate uses a custom proxy (like Roproxy) to handle their Http requests. My theory is that they managed to setup a system to detect if regional price is active for specific gamepass. They probably use a vpn in the proxy or something to make a price request as if it was made from another country, and if it’s different to the “global” price of the gamepass then the regional price is enabled for that one.
So Roblox has marked this as “fixed”, meaning they provided a fix privately to PLS DONATE and simultaneously told developers of all other games that have a donations feature in them to get stuffed. Amazing, will be filing a new report on this when I get a chance. The absolute least they could have done is provided the solution publicly
Agreed. Although its possible PLS DONATE is beta testing a feature that will be implemented to everyone. Regardless we should be getting more transparency if that is the case. There are developers that just got their entire games bricked to something completely out of their control and we literally cannot fix it. We are at the mercy of roblox right now and its awful.
If it does help the others struggling with this issue the best thing we can do temporarily is just do a client check on the price and compare it with the servers price. Only downside is exploiters can abuse this still. I also thought of having a verification system where you also check the price on all clients in a server so it cant be easily exploited. There still isn’t a 100% fool-proof method to stop this however.
Roblox obviously gave them somewhat of a resolution here because the report was silently marked as “fixed”. Transparency is absolutely IMPERATIVE here, this thread has nearly 30 different replies from many developers affected by this same issue and engineers believe it’s fair and equitable to provide a solution to the OP and the OP alone