In my game I check if every player in the game owns certain gamepasses, for example Double Speed. To do so, I use the MarketplaceService:UserOwnsGamePassAsync function and it works fine most of the time but very rarely it throws the error InternalServerError with no more information given.
With no more information given about the error I’m confused on why it happens sometimes. My best guess is that I’m going over the amount of requests I can make in a certain amount of time but this is unlikely because the wiki page for the function says:
“On Release 350 (August 2018), this function was changed so that the result is cached. Previously, it made a request every time it was called.”
How should I handle this error? Should I wrap it in a pcall and if it throws an error, try the request again? But if the reason for the error is what I stated above then it would throw the error again because I’m still over the amount of requests I can make. If I wrap it in a pcall to catch then error and then simply print it and move on, the player wont get their gamepass benefits for that round since it didn’t return true.
Any information about why this error is being thrown and how to handle it would be great, thanks.