From a technology perspective, I would think this probably isn’t something that already has architecture for on the website or on servers, this would be the only event on Roblox that is fired by something happening on the website that I can think of. Generally it’s the other way around, games update the website and then games use the updated website information when they ready things.
I do think it would be really useful to have the ability to subscribe to certain things happening on the website somehow, if the architecture was in place it could be used for some very cool things I bet, but, I don’t believe this is currently a possibility.
For your use case, checking on a loop is bad, I agree there, but, I think that checking when the player respawns or does something, like, open a shop, or, completes progress on something are the cases where you would tend to handle updates to gamepasses from the website if you wanted to, at least, that’s how I would tend to do that. That doesn’t fit every game, but, if you wanted to, you could introduce some mechanic into your game that lets people update their gamepasses, e.g. for a game that has a very open world.
Also, I do have one more question, while I think your use case is valid, why would a player generally buy something on site instead of in game? Doesn’t it make more sense to encourage the player to purchase in game anyway?
If the player can’t purchase something in game at certain times for example mid match, I would think you’d want to check if their gamepasses changed if they open the shop or when they exit out of the round or something.
The only time I see this being a problem where you won’t be able to find a natural place to update is when you’re not providing a way for them to purchase the items in game or if purchasing an item in game is harder than on the website.