Players able to test regional pricing of their gamepasses outside of their experience

Roblox recently released a new feature “Localized Pricing” but that came with a serious bug!

The Bug

So you can test the regional pricing of your gamepasses using the Dynamic Price Check feature, but the thing is that it’s not limited to the game in which the gamepass resides under where it states in the page that its meant for "your Roblox experience"
image
Many roblox games have been impacted by this bug including the well known Pls Donate where they had to disable global events as you can easily set your alt as a tester, set the price point to 1 and buy the main account’s gamepass which will give you many in-game perks reserved for real high purchases!
image

Step-by step guide on reproducing the issue.

  1. Create a gamepass under any owned experience
  2. Set the price to an ridiculus amount like 999999999 and enable regional pricing. image
  3. Click on Dynamic Price Check image
  4. Add an alternate account as a tester
  5. Select price pinned as the testing type and choose the lowest amount (1 robux)
  6. Click on Enable and wait for it to finish the process.
  7. Buy the gamepass from the alternate account in a game owned by somebody else like for example haz3mn's Pls Donate
  8. You bought the gamepass for 1 robux when you should’ve paid the full price instead as you bought the gamepass in a game to which it dosen’t belong!

Expected behavior

If everything was working correctly you would’ve had to pay full price for the gamepass as you bought the game pass in an expirience to which it dosent reside under!

13 Likes

What is the actual problem though? Is the purchase receipt saying that a gamepass was purchased for 99999 when you actually bought it for 1?

2 Likes

Yep, exactly and it’s hard to detect as you can never trust the client

1 Like

ngl i thought it was supposed to tell the server how much the player paid for an item but i guess it just returns the price of the item instead

Is there any way to prevent this in these donation games while the bug is still being fixed by Roblox?

I mean you could make a localscript that sends product prices for product ids via a remoteevent and a server script that compares the prices that the server sees vs the prices the player sees, you would have to somehow encrypt the remote as exploiters could easily send their own data thru the remote

You’d think that the fact that three separate bug reports have been made on this problem would signal to engineers that this is a critical issue:

… but apparently not. This issue was brought up to them internally by developers of Pls Donate, yet so far all they’ve been doing is downplaying the issue’s significance and refusing to provide any meaningful solution.

Feel free to like my reply here that goes into more detail on the issue:

2 Likes

All we can hope for is that the issue becomes so bad that Roblox will have to eventually fix it.

1 Like

The problem is — and always has been — that Roblox either refuses or is technically unable to return the price paid via their parameters.

So far, we only receive the following information:

  • player: [Instance]
  • gamePassId: [number]
  • wasPurchased: [boolean]

Unfortunately, we do not receive the wasPurchasedAtPrice! This is the only piece of information missing. Please, Roblox — add this parameter!

2 Likes

Funny thing to note:

Also, cross-posting this reply here:

1 Like