Regional Pricing Issues Left Unaddressed: Game-Breaking

:information_source: This bug report is being reposted due to engineers marking the original issue as “fixed,” despite providing a private solution exclusively to the top donation game, PLS DONATE, and neglecting the broader Roblox developer community. As a result, developers of thousands of games that utilize donation functionality remain without an official and effective solution. This repost seeks immediate attention and an appropriate, publicly available resolution to the Regional Pricing issue impacting all developers equitably.

PLS DONATE has mitigated this issue by preventing gamepasses with regional pricing enabled from being prompted to purchase. If Roblox provided PLS DONATE developers with a publicly accessible, non-cookie-restricted API that checks whether regional pricing is active on a gamepass, this solution must be shared openly with the developer community. If their solution is different, the exact resolution that engineers provided to them should still be publicly disclosed.

Regional pricing is a great feature, but the way it was rolled out has caused serious, game-breaking issues—not just for PLS DONATE, but for an entire category of donation-based games on Roblox.

I say this with full respect, but the rollout felt rushed and lacked proper consideration for experiences heavily reliant on gamepasses. Popular games like PLS DONATE, Clip It, and Starving Artists are severely impacted.

PLS DONATE in particular is entirely built around gamepasses and Robux transactions, so when regional pricing modifies the actual Robux spent—but the server can only see the full base price—it breaks the donation logic, global effects, Robux leaderboards, and overall game integrity.

Although the dynamic price check tool issue was partially addressed, it doesn’t fully resolve the core problem. Developers still lack a method to reliably know the actual Robux amount spent server-side, nor can they detect if regional pricing is active.

Adding client-side price checks isn’t a secure or real solution—it can be easily bypassed by exploiters. This forces developers, myself included, to disable critical game features to prevent abuse, directly harming player counts and revenue.

We weren’t warned or provided solutions beforehand, leaving us dealing with consequences beyond our control. Leaderboards represent real Robux spent, not arbitrary estimates, and without accurate data, our games don’t function correctly.

I understand the intent behind regional pricing and its broader benefits, but I genuinely believe the Roblox team underestimated the severe negative impact on donation-based games. This isn’t just inconvenient—it’s actively harming our player communities and our revenues.

We urgently need:

  • The ability to know the actual Robux amount spent server-side.

Until this is implemented, the issue will continue severely harming games like ours, negatively affecting player experience, trust, and developer revenue.

Expected behavior

When functioning correctly, the game server would receive the exact Robux amount spent on each gamepass purchase, regardless of regional pricing. This accuracy would allow games to reliably trigger donation-related features, maintain accurate leaderboards, and preserve the integrity of player stats and overall gameplay.

A private message is associated with this bug report

7 Likes

image

In my opinion the other topic should get locked or this should get renamed as this is very confusing. Bug reports get closed without reasoning is the exact reason why i made the feature request to get bug reports reopened…

1 Like

I’ll see what I can do. I’ll rename this one for now

3 Likes

simple fix.
https://apis.roblox.com/game-passes/v1/game-passes/{GAMEPASS_ID}/details
image

1 Like

I agree, there needs to be a way to access the currency spent, just like Developer Products.

You can use Developer Products as a way to combat this (Purchases of Developer Products never used to work within experiences, but around a year ago, roblox enabled purchases of this kind.)

BUT, the issue with this is, game creators dont collect a 10% commissions fee from Developer Products. Meaning all of their revenue they’d revieve from donations flies out the door.

I wanted to figure out how PLS DONATE has resolved this issue, so I tested a bunch within the game.

And I found that instead of checking if the actual pass has regional pricing enabled, they check the price of the gamepass on the client to see if it matches up with the server.

You can test this yourself:

  1. Create a gamepass & set its price as 1
  2. Click the gamepass so it appears on your screen as 1.
  3. Reprice it to 1k, and refresh
  4. Then click it again

Even without Regional Pricing enabled, it will not work & tell you to disable regional pricing.
So this wasn’t really the work of Roblox, they have just found their own way around it.

My best guess is that they use GetProductInfo on the client, because it will always return the price that the gamepass appears as for the local player.

1 Like

This api requires an authentification cookie, and roblox killed that a very long time ago

So unless you’re rich enough to host an entire donation game on your own proxy, this is not a fix.

1 Like

hmm that’s unfortunate.
ill try find an alternative

1 Like

A “simple” fix is one that does not require a cookie, and have strict, account-based rate limits. This API has all of the above. I don’t see how this would be a suitable and scalable solution for a game like PLS DONATE.

I’d been aware of this endpoint for a while but I’m assuming engineers provided them more than just this, because this API existed well before the original bug report was filed.

It’s also important to note that this is easily bypassable because people can fiddle with it during prompting and get around it (flicking it on and off, etc etc).

1 Like

This is not true. This isn’t a fool-proof method as exploiters can get around it. I had actually thought of this the day the issue occured before hazems post. I had messaged him privately with this solution and this was his response:

I had then replied telling him to put a good word in to roblox staff to simply give us a parameter on gamepass purchased to tell us the amount spent and he liked the reply. Later I asked what solution he had used once I noticed donations were back up on his game and I got no reply.

For those that need a bandaid fix this is the right solution I haven’t had an incident since I implemented it. If you want extra security you can make it verify the gamepasses price on all clients in the server to make it even harder for exploiters to bypass it. Currently there is no fool-proof method of patching this.

Edit: misread your proposed solution, sorry.

Yes, checking on the client (what Roblox recommends you do with this Regional Pricing update) will never suffice because everything on the client can be spoofed, changed and manipulated with publicly available exploiting software. If you want a secure donation game, never trust the client with anything purchase-related.

2 Likes

Yes, it’s a terrible way to check for false donations. I don’t disagree, but it IS how PLS DONATE is checking.


image

See how it still appears, despite regional pricing being enabled.

However, if you change the price after opening it as :robux_light:1 (REGIONAL PRICING IS DISABLED, SAME WITH THE PRICE CHECK. THIS IS JUST ME SIMPLY CHANGING THE PRICE TO SOMETHING DIFFERENT)
image

It will still say that it’s enabled.


image

1 Like

This is the method they even recommended on their updated regional pricing post :man_facepalming:

It should be common sense to give us a reliable and secure method to monitor how much somebody is spending on your game. This should’ve been a thing from the get go we shouldn’t have to put up so much of a fight just to get a damn parameter. People have discussed this for years atp.

Originally this would only benefit donation games as a developer would obviously know what their gamepass were priced at so they could hardcode it in. But now that regional pricing exists even the developers themselves have no idea what a person spends on their gamepasses so hopefully this encourages roblox to actually implement a parameter.

2 Likes

You might be right. Unfortunately, however, I live in Australia where everything is super expensive so I can’t test regional pricing myself.

My only issue with this is that engineers would not have marked the original post as “fixed” if they didn’t provide Hazem a somewhat foolproof solution to this issue.

Edit: I’m probably going to stop replying to this report now because I feel like these replies are cluttering it up a little. Other viewers are more than welcome to chime in if they wish

2 Likes

Maybe he applied it as a bandaid fix or actually has a reliable method of checking regional pricing?
Regardless given PLS DONATE’s size it would be insane to think that someone hasn’t exploited this already if hes using the fix we are talking about. For exploiters its as simple as changing a value.

I highly doubt he is solely using the solution mentioned. As I stated before he even said himself he did not want to use that method because it wasn’t fool-proof. Due to that statement its safe to say he has a different fool-proof method.

The reason why this system works for PLS DONATE, is because they’re checking the price of the gamepass on the server using an API Link, and then they’re double checking it by seeing what the price would be on the client using GPI (GetProductInfo).

Because when you even open the product as a certain price without using GPI, it will always return the current price that is shown on the Purchase Prompt.

I have tested this with an autoclicker in PLS DONATE, the prompt only showed up when the server price & client price matched up.

The only people able to exploit this feature would be exploiters, and they would have to edit whatever script they have the function in & make it return a fake price.

I’m not saying they’re using GPI to consistently check the price while the prompt is being shown.
I’m certain they would only use it to check the initial price before opening the prompt.

1 Like

You’re straying off here into more general fake donation prevention. I think you guys should create a separate thread to discuss this further, these replies are becoming a bit spammy :sob:

If you do, let me know and I’ll try to get a moderator to move your replies over

2 Likes

I’m sorry, I was only explaining the fix that Hazem has implemented, to clear up any confusion & anger that would be targeted towards Roblox; cause they haven’t only supplied him with the fix. :slightly_smiling_face:

3 Likes

Hey! I’m very sorry to hear that you’re still experiencing trouble regarding this situation. Some of us are already looking into this. Again, I’m very sorry about this whole situation, but we’re working on it diligently!

4 Likes

I appreciate the swift response. Due to the severity this is something needed urgently. It effects revenue and breaks our games. I’m not even sure a MarketplaceService revamp is even necessary. All we need is a parameter on the purchased events with the price that they’ve spent.

Even outside of donation games it is impossible for developers to accurately determine how much a player has spent on gamepasses in their game with regional pricing now that the price can fluctuate. A simple parameter would fix this issue. It’s data you guys already have since you obviously subtract it from the players robux balance.

Thanks!

1 Like

Your acknowledgement means so much! Thanks a lot for this. Looking forward to it.

2 Likes