The PlayerHasPass method has seemingly been broken since October 2021.
On the documentation it claims to only function on legacy asset id gamepass IDs, although the reality is the complete opposite as the function only queries the modern gamepass ID system. This has broken many games with old code that call the function with an asset ID gamepass.
In addition, if a gamepass ID exists with the same asset ID as an old gamepass, you can buy that one and PlayerHasPass will return true, meaning you can obtain privileges in old games for prices the game developer has no control over.